.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:transparent;color:var(--white);
  transition:background .3s ease, color .3s ease, border-color .3s ease}
.site-header.is-solid{background:var(--white);color:var(--text-on-light);
  border-bottom:1px solid var(--border-light);backdrop-filter:saturate(1.15) blur(6px)}
.site-header .container{width:100%;max-width:none;padding-inline:6vw}   /* align header edges with the cinematic (right:6vw) */
.site-header__row{display:flex;align-items:center;justify-content:space-between;padding-block:1rem}
.brand{display:flex;align-items:center;gap:.55rem;color:inherit;font-weight:700;letter-spacing:-0.01em}
.brand__mark{width:28px;height:28px;filter:brightness(0) invert(1)}
.site-header.is-solid .brand__mark{filter:none}
.brand__word{font-size:1.05rem}
.site-nav{display:flex;align-items:center;gap:1.6rem}
.site-nav__link{color:inherit;font-weight:600;font-size:var(--step--1);opacity:.85;letter-spacing:.01em;transition:opacity .15s ease}
.site-nav__link:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent)}
/* header CTA: dark + compact (loud coral CTAs stay in hero/sections) */
.site-nav .btn--primary{padding:.5rem 1.1rem;font-size:var(--step--1);background:var(--ink-900);color:var(--white);border:1px solid transparent}
.site-nav .btn--primary:hover{background:var(--ink-700);transform:translateY(-1px)}
@media(min-width:881px){
  .site-header:not(.is-solid) .site-nav .btn--primary{background:transparent;border-color:currentColor;color:inherit}
  .site-header:not(.is-solid) .site-nav .btn--primary:hover{background:rgba(255,255,255,.14)}
}
.site-nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;color:inherit;cursor:pointer;padding:6px}
.site-nav__toggle span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease, opacity .2s ease}
.site-header.is-nav-open .site-nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.is-nav-open .site-nav__toggle span:nth-child(2){opacity:0}
.site-header.is-nav-open .site-nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header__left{display:flex;align-items:center;gap:1.25rem}
.langswitch{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--step--1);font-weight:600}
.langswitch button{background:none;border:0;color:inherit;cursor:pointer;padding:.15rem .1rem;opacity:.5;font-weight:600;letter-spacing:.02em}
.langswitch button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.langswitch__sep{opacity:.35}
.site-footer{background:var(--ink-900);color:var(--white);padding-block:var(--space-l)}
.site-footer__row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.site-footer__links{display:flex;gap:1.5rem}
.manifesto{background:var(--bg-light)}
.manifesto__inner{max-width:62ch;margin-inline:auto;text-align:center}
.manifesto .eyebrow{margin-bottom:.6rem}
.manifesto h2{font-size:var(--step-3);margin:0 auto 1.4rem;max-width:22ch}
.lead{font-size:var(--step-1);color:var(--text-muted-light);max-width:52ch;margin-bottom:2rem}
.manifesto .lead{margin-inline:auto}
.proof{background:var(--bg-muted)}
.proof h2{font-size:var(--step-3);margin-block:.5rem 1rem}
.proof__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.proof__card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:2rem;transition:transform .2s ease, box-shadow .2s ease}
.proof__card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(90,59,41,.10)}
.proof__ico{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:14px;background:var(--sand);color:var(--accent);margin-bottom:1.1rem}
.proof__ico svg{width:24px;height:24px}
.proof__card h3{font-size:var(--step-1);margin-bottom:.6rem}
.proof__card p{color:var(--text-muted-light)}
@media(max-width:820px){.proof__grid{grid-template-columns:1fr}}
.process h2{font-size:var(--step-3);margin-block:.5rem 2.5rem}
.process__steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s}
.process__steps li{border-top:2px solid var(--accent);padding-top:1rem}
.process__n{font-size:var(--step--1);color:var(--accent);font-weight:700;letter-spacing:.1em}
.process__steps h3{font-size:var(--step-1);margin-block:.4rem}
.process__steps p{color:var(--text-muted-light)}
@media(max-width:820px){.process__steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.process__steps{grid-template-columns:1fr}}
.price{background:var(--ink-900);color:var(--white);position:relative;overflow:hidden}
.price>*{position:relative;z-index:1}
.price::before{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 80% at 26% 20%, rgba(255,255,255,.07), transparent 60%),
    radial-gradient(55% 75% at 80% 74%, rgba(255,255,255,.05), transparent 60%),
    radial-gradient(45% 65% at 58% 46%, rgba(0,0,0,.5), transparent 62%),
    conic-gradient(from 210deg at 50% 40%, rgba(255,255,255,.04), transparent 25%, rgba(0,0,0,.25) 55%, transparent 80%);
  filter:blur(50px);animation:materia 22s ease-in-out infinite alternate}
@keyframes materia{
  0%{transform:translate3d(-3%,-1%,0) scale(1) rotate(0deg)}
  50%{transform:translate3d(3%,2%,0) scale(1.14) rotate(5deg)}
  100%{transform:translate3d(-1%,1%,0) scale(1.06) rotate(-4deg)}}
.price__anchor{text-align:center;max-width:46ch;margin-inline:auto;margin-bottom:4rem}
.price__anchor h2{font-size:var(--step-2)}
.price__big{color:var(--accent)}
.price .lead{color:var(--text-muted-dark);margin-inline:auto}
.price__packages-title{text-align:center;font-size:var(--step-2);margin-bottom:2rem}
.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pkg{background:var(--ink-800);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);
  padding:2rem;display:grid;gap:.8rem;align-content:start}
.pkg--flag{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.pkg h4{font-size:var(--step-1)}
.pkg__price{font-size:var(--step-2);color:var(--accent);font-weight:700}
.pkg p:not(.pkg__price){color:var(--text-muted-dark)}
.pkg .btn{margin-top:.5rem;justify-content:center}
@media(max-width:820px){.packages{grid-template-columns:1fr}}
.projects h2{font-size:var(--step-3);margin-block:.5rem 2.5rem}
.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pcard{display:grid;gap:.8rem;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border-light);transition:transform .2s ease}
.pcard:hover{transform:translateY(-4px)}
.pcard__media{aspect-ratio:16/10;background:var(--bg-muted);overflow:hidden}
.pcard__media img{width:100%;height:100%;object-fit:cover}
.pcard__meta{display:flex;justify-content:space-between;align-items:center;padding:0 1rem 1rem}
.pcard__meta em{color:var(--accent);font-style:normal;font-size:var(--step--1)}
@media(max-width:820px){.projects__grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.projects__grid{grid-template-columns:1fr}}
.faq h2{font-size:var(--step-3);margin-bottom:2rem}
.faq details{border-top:1px solid var(--border-light);padding:1.2rem 0}
.faq summary{font-size:var(--step-1);font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:"+";color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--text-muted-light);margin-top:.8rem;max-width:60ch}
.cta{background:var(--ink-900);color:var(--white);text-align:center}
.cta h2{font-size:var(--step-4);max-width:18ch;margin:0 auto 2rem}
.cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.legal__back{color:var(--accent);font-weight:600;display:inline-block;margin-bottom:1.5rem}
.legal h1{font-size:var(--step-3);margin-bottom:.5rem}
.legal__updated{color:var(--text-muted-light);margin-bottom:2rem}
.legal__body{max-width:70ch}.legal__body h2{font-size:var(--step-1);margin-block:1.5rem .5rem}
.legal__body p{margin-bottom:1rem;color:var(--text-muted-light)}
.legal__body ul,.legal__body ol{padding-left:1.4em;margin-bottom:1rem}
.legal__body li{margin-bottom:.4rem;color:var(--text-muted-light)}
@media(max-width:640px){
  .site-footer__row{flex-direction:column;justify-content:center;text-align:center}
  .site-footer__links{justify-content:center}
}
.section{scroll-margin-top:84px}
@media(max-width:880px){
  .site-nav__toggle{display:flex}
  /* while the menu is open the header bar is opaque, so the panel reads as
     sliding out from underneath it */
  .site-header.is-nav-open{background:var(--white);color:var(--text-on-light);border-bottom:1px solid var(--border-light)}
  .site-header.is-nav-open .brand__mark{filter:none}
  .site-nav{position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--white);color:var(--text-on-light);box-shadow:0 16px 30px rgba(60,40,30,.14);
    padding-inline:6vw;padding-block:0;max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .45s cubic-bezier(.22,.8,.24,1), padding-block .45s cubic-bezier(.22,.8,.24,1), opacity .3s ease}
  .site-header.is-nav-open .site-nav{max-height:380px;padding-block:.4rem 1.5rem;opacity:1;pointer-events:auto}
  .site-nav__link{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.85rem 0;font-size:var(--step-0);opacity:1}
  .site-nav__link::after{content:"";flex:none;width:56px;height:1px;background:var(--gray-400)}
  .site-nav .btn--primary{margin-top:1rem;justify-content:center}
}
