:root{
  --ground:#0b0a0c;--surface:#151119;--surface-2:#0f1b3d;--ink:#f4eeea;--muted:#9a8f97;
  --accent:#9c1b33;--on-accent:#ffffff;--accent-2:#c9a464;--on-accent-2:#1a1416;
  --line:rgba(244,238,234,.14);
  --font-display:"Frank Ruhl Libre",serif;--font-text:"Heebo",sans-serif;
  --h1-weight:700;--h2-weight:500;
  --h1:clamp(2.6rem,6.2vw,5.4rem);--h1-lh:1.06;--h1-track:-0.01em;
  --r-sm:2px;--r-md:4px;--r-lg:6px;--r-btn:4px;
  --border:1px solid var(--line);--shadow:0 1px 2px rgba(0,0,0,.4);
  --ease:ease-out;--dur:160ms;
  --section-pad:clamp(60px,9vw,120px);
  --body:clamp(16px,.3vw + 15px,18px);--body-lh:1.65;
  --gap:clamp(22px,3.6vw,52px);
  --grade:grayscale(.1) sepia(.3) hue-rotate(312deg) saturate(1.5) brightness(.82) contrast(1.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--font-text);font-size:var(--body);line-height:var(--body-lh);
  letter-spacing:0;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em}
.muted{color:var(--muted)}
.muted-note{color:var(--muted);font-size:.95em}
.accent-word{color:var(--accent-2)}

.skip-link{
  position:absolute;right:1em;top:-4em;background:var(--accent-2);color:var(--on-accent-2);
  padding:.6em 1em;z-index:200;border-radius:var(--r-sm);
  transition:top var(--dur) var(--ease);
}
.skip-link:focus{top:1em}

a:focus-visible,button:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px;border-radius:var(--r-sm)}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(11,10,12,.86);
  backdrop-filter:blur(8px);border-bottom:var(--border);
}
.site-header__inner{
  max-width:1280px;margin:0 auto;padding:16px clamp(20px,4vw,48px);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{
  font-family:var(--font-display);font-weight:700;font-size:1.3rem;
  text-decoration:none;color:var(--ink);white-space:pre;
  display:inline-flex;align-items:center;min-height:44px;
}
.brand span{color:var(--accent-2)}
.brand--footer{font-size:1.4rem;margin-bottom:.3em}

.main-nav{display:flex;align-items:center}
.main-nav__list{
  display:flex;gap:clamp(16px,2.4vw,32px);list-style:none;margin:0;padding:0;
}
.main-nav__list a{
  text-decoration:none;color:var(--ink);font-weight:500;font-size:.96rem;
  padding:.4em 0;border-bottom:2px solid transparent;transition:border-color var(--dur) var(--ease);
}
.main-nav__list a:hover,.main-nav__list a[aria-current]{border-color:var(--accent-2)}

.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;border:var(--border);background:var(--surface);
  border-radius:var(--r-sm);cursor:pointer;padding:0;
}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:0 auto}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.85em 1.6em;border-radius:var(--r-btn);text-decoration:none;
  font-weight:600;font-size:1rem;border:1px solid transparent;cursor:pointer;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.btn:hover{transform:translateY(-1px)}
.btn--accent{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow)}
.btn--accent:hover{box-shadow:0 4px 18px rgba(156,27,51,.45)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent-2);color:var(--accent-2)}
.btn--lg{padding:1em 2em;font-size:1.05rem}
.btn--small{padding:.55em 1.1em;font-size:.9rem}
.header-cta{display:inline-flex}

/* SPLIT LAYOUT (signature) */
.split{
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  min-height:clamp(480px,70vh,760px);
}
.split__media{position:relative;overflow:hidden;background:var(--surface)}
.split__media img{width:100%;height:100%;object-fit:cover;min-height:320px;filter:var(--grade)}
.split__text{
  display:flex;flex-direction:column;justify-content:center;gap:0;
  padding:var(--section-pad) clamp(24px,5vw,80px);
}
.hero.split{grid-template-columns:1.4fr 1.1fr}
.hero .split__text{order:1}
.hero .split__media{order:2}

.split--rev{grid-template-columns:1.4fr 1.1fr}
.split--rev .split__media{order:2}
.split--rev .split__text{order:1}

/* HERO SIGNATURE MARK — a precision/cut line, not a reusable badge */
.hero__mark{display:flex;align-items:center;gap:.9em;margin:0 0 1.1em;color:var(--accent-2)}
.hero__mark svg{flex:none}
.hero__mark span{font-size:.92rem;letter-spacing:.14em;font-weight:600}

h1{font-size:var(--h1);font-weight:var(--h1-weight);line-height:var(--h1-lh);letter-spacing:var(--h1-track)}
.lede{font-size:1.15rem;color:var(--muted);max-width:34ch}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:var(--h2-weight)}

.hero__actions{display:flex;gap:16px;flex-wrap:wrap;margin:1.4em 0}
.hero__note{font-size:.95rem;color:var(--muted)}
.hero__note a{color:var(--accent-2);text-decoration:underline}

@media (max-width:860px){
  .main-nav__list{
    position:fixed;right:0;top:0;height:100vh;width:min(78vw,320px);
    background:var(--surface);flex-direction:column;padding:88px 28px 28px;
    box-shadow:-8px 0 24px rgba(0,0,0,.4);
    clip-path:inset(0 0 0 100%);pointer-events:none;
    transition:clip-path var(--dur) var(--ease);gap:20px;
  }
  .main-nav__list.is-open{clip-path:inset(0 0 0 0);pointer-events:auto}
  .nav-toggle{display:flex}
  .header-cta{display:none}
  .split,.hero.split,.split--rev{grid-template-columns:1fr;min-height:auto}
  .split__media{order:1 !important;min-height:260px}
  .split__text{order:2 !important;padding:44px 24px}
  .lede{max-width:none}
}

/* MARQUEE — hero's signature moment per recipe */
.fx-marquee{overflow:hidden;border-block:1px solid rgba(201,164,100,.25);padding:1em clamp(20px,4vw,48px);direction:ltr;background:var(--surface-2)}
.fx-marquee__track{display:flex;width:max-content;animation:fx-marquee 32s linear infinite}
.fx-marquee:hover .fx-marquee__track,.fx-marquee:focus-within .fx-marquee__track{animation-play-state:paused}
.fx-marquee__set{display:flex;gap:2.4em;margin:0;padding:0 1.2em;list-style:none;font:var(--h2-weight) clamp(1.3rem,3.2vw,2rem)/1.1 var(--font-display);white-space:nowrap}
.fx-marquee__set li{direction:rtl;display:flex;align-items:center;gap:2.4em;color:var(--ink)}
.fx-marquee__set li::after{content:"";width:.45em;height:.45em;border-radius:50%;background:var(--accent-2);flex:none}
@keyframes fx-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fx-marquee{overflow-x:auto}.fx-marquee__track{animation:none}}

/* STATEMENT BAND — distinct composition between hero and about */
.statement-band{
  background:var(--surface-2);color:var(--ink);text-align:center;
  padding:clamp(56px,8vw,96px) clamp(24px,6vw,80px);
}
.statement-band p{
  margin:0 auto;max-width:42ch;font-family:var(--font-display);font-style:italic;
  font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.5;color:var(--ink);font-weight:500;
}
.statement-band__rule{width:48px;height:2px;background:var(--accent-2);margin:0 auto 1.4em}

/* ABOUT */
.split__text .kicker{color:var(--muted);font-style:italic;font-size:1.02rem;margin:1em 0 0;max-width:34ch}

/* TEAM LIST (asymmetric, not cards) */
.team-list{list-style:none;margin:1.6em 0 0;padding:1.4em 0 0;border-top:var(--border);display:flex;flex-direction:column;gap:1em}
.team-list__item{display:flex;align-items:baseline;gap:1.2em;flex-wrap:wrap}
.team-list__name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;min-width:8em;color:var(--accent-2)}
.team-list__role{color:var(--muted)}

/* SERVICE SECTION */
#services .split__text{justify-content:center}

/* GALLERY */
.gallery{padding:var(--section-pad) clamp(24px,5vw,80px);max-width:1280px;margin:0 auto}
.section-title{text-align:center;max-width:26ch;margin:0 auto 1.2em}
.gallery__grid{
  display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;
  gap:var(--gap);margin-top:2em;
}
.gallery__item{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.gallery__item img{width:100%;height:100%;object-fit:cover;min-height:260px;filter:var(--grade)}
.gallery__item--tall{grid-row:1 / 3}
@media (max-width:760px){
  .gallery__grid{grid-template-columns:1fr;grid-template-rows:none}
  .gallery__item--tall{grid-row:auto}
}

/* FAQ */
.faq-section{padding:var(--section-pad) clamp(24px,5vw,80px);background:var(--surface);border-top:var(--border);border-bottom:var(--border)}
.faq-section__intro{text-align:center;max-width:36ch;margin:0 auto 1.6em;color:var(--muted)}
.fx-faq{max-width:46rem;margin:0 auto;border-top:var(--border)}
.fx-faq details{border-bottom:var(--border)}
.fx-faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:1em;padding:1.1em 0;font:600 1.1rem/1.3 var(--font-display);min-height:48px;color:var(--ink);
}
.fx-faq summary::-webkit-details-marker{display:none}
.fx-faq summary::after{
  content:"";flex:none;width:.65em;height:.65em;border-inline-end:2px solid var(--accent-2);
  border-bottom:2px solid var(--accent-2);transform:rotate(45deg);transition:transform .3s;
}
.fx-faq details[open] summary::after{transform:rotate(-135deg)}
.fx-faq summary:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px;border-radius:4px}
.fx-faq details>div{padding:0 0 1.2em;color:var(--muted);max-width:62ch}
@supports (interpolate-size:allow-keywords){
  .fx-faq{interpolate-size:allow-keywords}
  .fx-faq details::details-content{height:0;overflow:clip;transition:height .35s ease,content-visibility .35s allow-discrete}
  .fx-faq details[open]::details-content{height:auto}
}
@media (prefers-reduced-motion:reduce){.fx-faq details::details-content,.fx-faq summary::after{transition:none}}

/* CTA BAND */
.cta-band{
  text-align:center;padding:var(--section-pad) clamp(24px,5vw,80px);
  background:linear-gradient(180deg,var(--surface-2),var(--ground));color:var(--ink);
}
.cta-band h2{color:var(--ink)}
.cta-band p{color:var(--muted);max-width:36ch;margin:0 auto 1.6em}

/* FOOTER */
.site-footer{background:var(--surface);border-top:var(--border)}
.site-footer__inner{
  max-width:1280px;margin:0 auto;padding:56px clamp(24px,5vw,80px) 32px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;
}
.site-footer__col p{margin:0 0 .5em}
.site-footer__col a{text-decoration:none}
.site-footer__col a:hover{color:var(--accent-2)}
.site-footer__legal{
  max-width:1280px;margin:0 auto;padding:0 clamp(24px,5vw,80px) 32px;
  border-top:var(--border);padding-top:20px;font-size:.9rem;color:var(--muted);
}
.site-footer__legal p{margin:0 0 .5em;max-width:90ch}
.site-footer__legal a{text-decoration:underline}
@media (max-width:760px){.site-footer__inner{grid-template-columns:1fr;gap:20px}}

/* FLOATING ACTIONS */
.floating-actions{
  position:fixed;inset-inline-start:20px;bottom:20px;z-index:150;
  display:flex;flex-direction:column;gap:12px;
  opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);
}
.floating-actions.is-visible{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.floating-actions{transition:none}}
.floating-actions__btn{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(0,0,0,.45);transition:transform var(--dur) var(--ease);
}
.floating-actions__btn:hover{transform:scale(1.06)}
.floating-actions__btn--whatsapp{background:#25D366;color:#0b3d19}
.floating-actions__btn--phone{background:var(--accent);color:var(--on-accent)}
@media (prefers-reduced-motion:reduce){.btn:hover,.floating-actions__btn:hover{transform:none}}

/* 404 */
.error-mark{
  position:relative;font-family:var(--font-display);font-weight:900;
  font-size:clamp(5rem,16vw,11rem);color:var(--surface);line-height:1;margin:0 0 -.4em;
  -webkit-text-stroke:1px rgba(244,238,234,.14);
}
