/* Minimal utility layer for published front.
   Replaces Tailwind runtime on generated sites. */

html,body{margin:0;padding:0}
body{
  display:block;
  overflow-x:hidden;
  font-family:var(--font-body,'Segoe UI','Helvetica Neue',Arial,sans-serif);
  color:var(--color-text,#111827);
  background:var(--color-canvas,#fff);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading,Georgia,serif);
  text-rendering:optimizeLegibility;
  letter-spacing:-0.018em;
}

.container{width:min(100%,var(--container,1200px));margin-inline:auto;padding-inline:24px}
.block{display:block}.flex{display:flex}.grid{display:grid}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-row{flex-direction:row}
.items-center{align-items:center}.justify-center{justify-content:center}
.relative{position:relative}.absolute{position:absolute}
.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}
.w-full{width:100%}.w-1\/3{width:33.333333%}.w-5{width:1.25rem}
.h-full{height:100%}.h-48{height:12rem}.h-5{height:1.25rem}
.shrink-0{flex-shrink:0}
.max-w-5xl{max-width:64rem}.mx-auto{margin-inline:auto}
.px-6{padding-inline:1.5rem}.py-16{padding-block:4rem}.p-5{padding:1.25rem}
.pl-6{padding-left:1.5rem}.pt-3{padding-top:.75rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.gap-2{gap:.5rem}.space-y-2>*+*{margin-top:.5rem}
.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}
.border{border:1px solid var(--color-border,#E7E5E4)}
.border-t{border-top:1px solid var(--color-border,#E7E5E4)}
.border-stone-100{border-color:#e7e5e4}.border-white\/30{border-color:rgba(255,255,255,.3)}
.bg-white{background:#fff}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}
.via-black\/30{--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.3),var(--tw-gradient-to,rgba(0,0,0,0))}
.to-transparent{--tw-gradient-to:transparent}
.text-white{color:#fff}.text-white\/70{color:rgba(255,255,255,.7)}.text-white\/80{color:rgba(255,255,255,.8)}
.text-primary{color:var(--color-text,#1C1917)}.text-secondary{color:var(--color-text-muted,#78716C)}
.text-accent{color:var(--color-accent,#D97706)}.text-dark{color:var(--color-text,#1C1917)}.text-gray-500{color:#6b7280}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}
.font-serif{font-family:var(--font-heading),serif}
.leading-snug{line-height:1.375}
.object-cover{object-fit:cover}
.overflow-hidden{overflow:hidden}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.1)}
.transition-colors{transition:color .2s ease}.transition-shadow{transition:box-shadow .3s ease}.transition-transform{transition:transform .3s ease}
.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.aspect-\[4\/5\]{aspect-ratio:4/5}

.hover\:underline:hover{text-decoration:underline}
.hover\:text-accent:hover{color:var(--color-accent,#D97706)}
.hover\:shadow-lg:hover{box-shadow:0 16px 40px rgba(15,23,42,.18)}
.hover\:scale-105:hover{transform:scale(1.05)}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}

@media (min-width:768px){
  .md\:py-24{padding-block:6rem}
}
