
:root{
  --c-ink:#1b1712;
  --c-paper:#faf6ef;
  --c-primary:#5b3a29;
  --c-secondary:#2e5c46;
  --c-accent:#e8a63c;
  --c-accent2:#8c6bff;

  --c-surface: color-mix(in oklch, var(--c-paper), white 45%);
  --c-surface-2: color-mix(in oklch, var(--c-paper), white 20%);
  --c-surface-dark: color-mix(in oklch, var(--c-ink), black 8%);
  --c-surface-dark-2: color-mix(in oklch, var(--c-ink), black 22%);

  --c-text: color-mix(in oklch, var(--c-ink), var(--c-paper) 6%);
  --c-text-soft: color-mix(in oklch, var(--c-ink), var(--c-paper) 38%);
  --c-text-inverse: color-mix(in oklch, var(--c-paper), white 8%);
  --c-text-inverse-soft: color-mix(in oklch, var(--c-paper), var(--c-ink) 22%);

  --c-border: color-mix(in oklch, var(--c-ink), var(--c-paper) 84%);
  --c-border-dark: color-mix(in oklch, var(--c-paper), var(--c-ink) 74%);

  --c-primary-light: color-mix(in oklch, var(--c-primary), white 30%);
  --c-primary-dark: color-mix(in oklch, var(--c-primary), black 20%);
  --c-secondary-light: color-mix(in oklch, var(--c-secondary), white 35%);
  --c-accent-light: color-mix(in oklch, var(--c-accent), white 25%);
  --c-accent-dark: color-mix(in oklch, var(--c-accent), black 15%);
  --c-accent2-light: color-mix(in oklch, var(--c-accent2), white 25%);

  --glow-amber: color-mix(in oklch, var(--c-accent), transparent 25%);
  --glow-green: color-mix(in oklch, var(--c-secondary), transparent 20%);
  --glow-violet: color-mix(in oklch, var(--c-accent2), transparent 25%);

  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--c-ink), transparent 92%), 0 1px 1px color-mix(in oklch, var(--c-ink), transparent 95%);
  --shadow-md: 0 10px 24px -8px color-mix(in oklch, var(--c-ink), transparent 82%), 0 3px 8px -3px color-mix(in oklch, var(--c-ink), transparent 88%);
  --shadow-lg: 0 26px 54px -18px color-mix(in oklch, var(--c-ink), transparent 76%), 0 10px 20px -10px color-mix(in oklch, var(--c-ink), transparent 84%);

  --shadow-glow-amber: 0 14px 34px -10px var(--glow-amber), 0 4px 14px -4px color-mix(in oklch, var(--c-accent), transparent 55%);
  --shadow-glow-green: 0 14px 34px -10px var(--glow-green), 0 4px 14px -4px color-mix(in oklch, var(--c-secondary), transparent 55%);
  --shadow-glow-violet: 0 14px 34px -10px var(--glow-violet), 0 4px 14px -4px color-mix(in oklch, var(--c-accent2), transparent 55%);

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:2.5rem; --sp-8:3rem; --sp-9:4rem; --sp-10:5rem;
  --sp-11:6.5rem; --sp-12:8rem;

  --r-xs:8px; --r-sm:12px; --r-md:18px; --r-lg:26px; --r-xl:36px; --r-full:999px;

  --fs-hero: clamp(2.6rem, 1.7rem + 4vw, 5.4rem);
  --fs-h1: clamp(2.2rem, 1.7rem + 2.2vw, 3.4rem);
  --fs-h2: clamp(1.75rem, 1.4rem + 1.5vw, 2.6rem);
  --fs-h3: clamp(1.25rem, 1.1rem + .8vw, 1.6rem);
  --fs-body: clamp(1rem, .96rem + .2vw, 1.1rem);

  --ff-head: 'Clash Display','DM Sans',sans-serif;
  --ff-body: 'Satoshi','DM Sans',sans-serif;

  --ease: cubic-bezier(.22,.9,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--c-text);
  background:var(--c-paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--ff-head);font-weight:600;line-height:1.12;margin:0 0 var(--sp-4);color:var(--c-text);letter-spacing:-.01em;}
p{margin:0 0 var(--sp-4);}
ul{margin:0;padding:0;list-style:none;}
input,textarea{font-family:inherit;font-size:1rem;}

.c-container{max-width:1240px;margin:0 auto;padding:0 var(--sp-5);}
@media(min-width:900px){.c-container{padding:0 var(--sp-8);}}

.u-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.u-text-center{text-align:center;}

.c-eyebrow{
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color: var(--c-accent-light); margin-bottom:var(--sp-4);
}
.c-eyebrow--dark{color: var(--c-primary);}


.c-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.6rem; border-radius:var(--r-full); font-weight:600; font-size:.95rem;
  border:1px solid transparent; transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
  min-height:44px;
}
.c-btn--primary{background:linear-gradient(135deg, var(--c-accent), var(--c-accent-dark)); color:var(--c-ink); box-shadow:var(--shadow-glow-amber);}
.c-btn--primary:hover{transform:translateY(-3px); box-shadow:0 20px 44px -12px var(--glow-amber), 0 6px 18px -4px color-mix(in oklch, var(--c-accent), transparent 40%);}
.c-btn--ghost{background:transparent; color:var(--c-text-inverse); border-color:color-mix(in oklch, var(--c-text-inverse), transparent 60%);}
.c-btn--ghost:hover{background:color-mix(in oklch, var(--c-text-inverse), transparent 90%); transform:translateY(-3px);}
.c-btn--outline{background:transparent; color:var(--c-primary); border-color:var(--c-border);}
.c-btn--outline:hover{background:var(--c-surface-2); transform:translateY(-2px); box-shadow:var(--shadow-md);}
.c-btn--lg{padding:1.05rem 2.1rem; font-size:1.02rem;}
.c-btn--primary-sm{background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark)); color:var(--c-ink); padding:.6rem 1.2rem; border-radius:var(--r-full); font-weight:600; font-size:.85rem; box-shadow:var(--shadow-sm); transition:box-shadow .3s var(--ease), transform .3s var(--ease);}
.c-btn--primary-sm:hover{transform:translateY(-2px); box-shadow:var(--shadow-md);}
.c-btn--outline-sm{background:var(--c-surface-2); color:var(--c-text); border:1px solid var(--c-border); padding:.6rem 1.2rem; border-radius:var(--r-full); font-weight:600; font-size:.85rem; transition:background .3s var(--ease), transform .3s var(--ease);}
.c-btn--outline-sm:hover{background:var(--c-surface-2); transform:translateY(-2px);}
.c-btn--ghost-sm{background:transparent; color:var(--c-text-soft); border:none; padding:.6rem 1rem; font-weight:600; font-size:.85rem; transition:color .3s var(--ease);}
.c-btn--ghost-sm:hover{color:var(--c-text);}


.c-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:color-mix(in oklch, var(--c-paper), transparent 8%);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--c-border);
  transition:transform .5s var(--ease), opacity .5s var(--ease);
}
.c-nav.is-condensed{ transform:translateY(-110%); opacity:0; pointer-events:none; }
.c-nav__inner{
  max-width:1320px; margin:0 auto; padding:var(--sp-4) var(--sp-5);
  display:flex; align-items:center; gap:var(--sp-6);
}
.c-nav__logo{display:flex; align-items:center; gap:.6rem; font-family:var(--ff-head); font-weight:600; font-size:1.15rem; color:var(--c-text); flex-shrink:0;}
.c-nav__links{display:none; align-items:center; gap:var(--sp-6); flex:1;}
.c-nav__link{font-weight:600; font-size:.95rem; color:var(--c-text-soft); padding:.4rem 0; position:relative; transition:color .3s var(--ease); display:flex; align-items:center; gap:.3rem;}
.c-nav__link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--c-accent);transition:width .35s var(--ease);}
.c-nav__link:hover, .c-nav__link.is-active{color:var(--c-text);}
.c-nav__link:hover::after, .c-nav__link.is-active::after{width:100%;}
.c-nav__mega-trigger{background:none;border:none;}
.c-nav__mega-wrap{position:relative;}
.c-nav__mega{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(10px);
  width:min(640px,80vw); background:var(--c-surface); border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg); border:1px solid var(--c-border);
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-5); padding:var(--sp-6);
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.c-nav__mega-wrap:hover .c-nav__mega, .c-nav__mega-wrap.is-open .c-nav__mega{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.c-nav__mega-col{display:flex; flex-direction:column; gap:.7rem;}
.c-nav__mega-title{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--c-text-soft); margin-bottom:.2rem;}
.c-nav__mega-col a{display:flex; align-items:center; gap:.6rem; font-size:.9rem; font-weight:600; color:var(--c-text); padding:.35rem 0; transition:color .3s var(--ease), transform .3s var(--ease);}
.c-nav__mega-col a i{color:var(--c-accent-dark); width:16px;}
.c-nav__mega-col a:hover{color:var(--c-primary); transform:translateX(4px);}
.c-nav__cta{display:none; flex-shrink:0;}
.c-nav__burger{background:var(--c-surface-2); border:1px solid var(--c-border); border-radius:var(--r-full); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--c-text); transition:background .3s var(--ease), transform .3s var(--ease);}
.c-nav__burger:hover{background:var(--c-surface); transform:scale(1.05);}

.c-nav__pill{
  position:fixed; top:22px; right:22px; z-index:210;
  width:52px; height:52px; border-radius:var(--r-full); border:none;
  background:linear-gradient(140deg, var(--c-accent), var(--c-primary));
  color:var(--c-ink); font-size:1.2rem; box-shadow:var(--shadow-glow-amber);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.7) translateY(-8px); pointer-events:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.c-nav__pill.is-visible{opacity:1; transform:scale(1) translateY(0); pointer-events:auto;}
.c-nav__pill:hover{box-shadow:0 20px 46px -10px var(--glow-amber);}

@media(min-width:1080px){
  .c-nav__links{display:flex;}
  .c-nav__cta{display:inline-flex;}
  .c-nav__burger{display:none;}
}


.c-mobile-menu{
  position:fixed; inset:0; z-index:300; display:flex;
  opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility .5s;
}
.c-mobile-menu.is-open{opacity:1; visibility:visible;}
.c-mobile-menu__links{
  flex:1 1 55%; background:linear-gradient(160deg, var(--c-primary-dark), var(--c-secondary));
  padding:var(--sp-9) var(--sp-6); display:flex; flex-direction:column; justify-content:center; gap:var(--sp-3); position:relative;
}
.c-mobile-menu__links a{
  font-family:var(--ff-head); font-size:clamp(1.8rem,7vw,3rem); font-weight:600; color:var(--c-text-inverse);
  opacity:.85; transition:opacity .3s var(--ease), transform .3s var(--ease), color .3s var(--ease);
  transform:translateX(-16px);
}
.c-mobile-menu.is-open .c-mobile-menu__links a{transform:translateX(0);}
.c-mobile-menu__links a:hover{opacity:1; color:var(--c-accent); transform:translateX(8px);}
.c-mobile-menu__close{
  position:absolute; top:24px; left:24px; width:44px; height:44px; border-radius:var(--r-full);
  background:color-mix(in oklch, var(--c-paper), transparent 80%); border:1px solid color-mix(in oklch, var(--c-paper), transparent 60%);
  color:var(--c-text-inverse); font-size:1.1rem; display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.c-mobile-menu__close:hover{background:color-mix(in oklch, var(--c-paper), transparent 65%); transform:rotate(90deg);}
.c-mobile-menu__visual{flex:1 1 45%; position:relative; overflow:hidden; display:none;}
.c-mobile-menu__visual img{width:100%; height:100%; object-fit:cover;}
@media(min-width:640px){.c-mobile-menu__visual{display:block;}}


.s-hero{position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:var(--sp-11) 0 var(--sp-9);}
.s-hero__bg{position:absolute; inset:0; z-index:0;}
.s-hero__bg img{width:100%; height:100%; object-fit:cover;}
.s-hero__overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, color-mix(in oklch, var(--c-ink), transparent 8%) 0%, color-mix(in oklch, var(--c-ink), transparent 30%) 55%, color-mix(in oklch, var(--c-ink), transparent 5%) 100%);}
.s-hero__content{position:relative; z-index:2; max-width:820px; margin:0 auto; padding:0 var(--sp-5); text-align:center;}
.s-hero__title{font-size:var(--fs-hero); color:var(--c-text-inverse); margin-bottom:var(--sp-5);}
.s-hero__lede{font-size:1.15rem; color:var(--c-text-inverse-soft); max-width:640px; margin:0 auto var(--sp-7);}
.s-hero__actions{display:flex; flex-wrap:wrap; gap:var(--sp-4); justify-content:center;}
.s-hero__tags{position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:var(--sp-3); justify-content:center; margin-top:var(--sp-9); padding:0 var(--sp-5);}
.s-hero__tags span{
  display:flex; align-items:center; gap:.5rem; padding:.65rem 1.1rem; border-radius:var(--r-full);
  background:color-mix(in oklch, var(--c-paper), transparent 82%); border:1px solid color-mix(in oklch, var(--c-paper), transparent 65%);
  color:var(--c-text-inverse); font-size:.85rem; font-weight:600; backdrop-filter:blur(6px);
}


.s-section-head{max-width:640px; margin:0 auto var(--sp-9); text-align:center;}
.s-section-head--light h2, .s-section-head--light .c-eyebrow{color:var(--c-text-inverse);}
.s-section-head--light .c-eyebrow{color:var(--c-accent-light);}
.s-section-head h2{font-size:var(--fs-h2);}


.s-intro{padding:var(--sp-10) 0;}
.s-intro__grid{display:grid; gap:var(--sp-7);}
.s-intro__title{font-size:var(--fs-h2); margin-bottom:var(--sp-4);}
.s-intro__text{color:var(--c-text-soft); max-width:56ch;}
.s-intro__facts{display:flex; flex-direction:column; gap:var(--sp-3);}
.c-fact-pill{
  display:flex; align-items:center; gap:.9rem; background:var(--c-surface); border:1px solid var(--c-border);
  border-radius:var(--r-md); padding:var(--sp-4) var(--sp-5); box-shadow:var(--shadow-sm); font-weight:600;
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.c-fact-pill:hover{box-shadow:var(--shadow-md); transform:translateY(-2px);}
.c-fact-pill i{color:var(--c-accent-dark); font-size:1.2rem;}
@media(min-width:900px){.s-intro__grid{grid-template-columns:1.2fr .8fr; align-items:center;}}


.s-why{padding:var(--sp-10) 0; background:var(--c-surface-2);}
.s-why__grid{display:grid; gap:var(--sp-5); grid-template-columns:1fr;}
@media(min-width:640px){.s-why__grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.s-why__grid{grid-template-columns:repeat(4,1fr);}}

.c-icon-card{
  background:var(--c-surface); border-radius:var(--r-lg); padding:var(--sp-6); border:1px solid var(--c-border);
  box-shadow:var(--shadow-md); transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  position:relative;
}
.c-icon-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.c-icon-card__icon{
  width:56px; height:56px; border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin-bottom:var(--sp-4); color:var(--c-ink);
}
.c-icon-card__icon--amber{background:linear-gradient(135deg, var(--c-accent-light), var(--c-accent)); box-shadow:var(--shadow-glow-amber);}
.c-icon-card__icon--green{background:linear-gradient(135deg, var(--c-secondary-light), var(--c-secondary)); color:var(--c-text-inverse); box-shadow:var(--shadow-glow-green);}
.c-icon-card__icon--violet{background:linear-gradient(135deg, var(--c-accent2-light), var(--c-accent2)); color:var(--c-text-inverse); box-shadow:var(--shadow-glow-violet);}
.c-icon-card h3{font-size:1.15rem; margin-bottom:var(--sp-2);}
.c-icon-card p{color:var(--c-text-soft); font-size:.95rem; margin:0;}


.c-icon-card--animated{position:relative;}
.c-icon-card--animated::before{
  content:""; position:absolute; inset:-1.5px; border-radius:inherit; padding:1.5px;
  background:conic-gradient(from 0deg, transparent 0%, var(--c-accent) 12%, transparent 26%, transparent 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .4s var(--ease); pointer-events:none;
}
.c-icon-card--animated:hover::before{opacity:1; animation:cBorderDraw 2.2s linear infinite;}
@keyframes cBorderDraw{ to{ background:conic-gradient(from 360deg, transparent 0%, var(--c-accent) 12%, transparent 26%, transparent 100%);} }


.s-how{padding:var(--sp-11) 0; background:linear-gradient(165deg, var(--c-surface-dark), var(--c-surface-dark-2)); position:relative; overflow:hidden;}
.s-how__grid{display:grid; gap:var(--sp-6); grid-template-columns:1fr;}
@media(min-width:900px){.s-how__grid{grid-template-columns:repeat(3,1fr);}}
.c-step-card{
  background:color-mix(in oklch, var(--c-paper), transparent 92%); border:1px solid color-mix(in oklch, var(--c-paper), transparent 82%);
  border-radius:var(--r-lg); padding:var(--sp-7) var(--sp-6); position:relative; backdrop-filter:blur(8px);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
}
.c-step-card:hover{transform:translateY(-8px); background:color-mix(in oklch, var(--c-paper), transparent 86%); box-shadow:var(--shadow-glow-amber);}
.c-step-card__num{font-family:var(--ff-head); font-size:3rem; font-weight:600; color:color-mix(in oklch, var(--c-accent), transparent 25%); display:block; margin-bottom:var(--sp-3);}
.c-step-card__icon{width:52px; height:52px; border-radius:var(--r-md); background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark)); display:flex; align-items:center; justify-content:center; color:var(--c-ink); font-size:1.25rem; margin-bottom:var(--sp-4); box-shadow:var(--shadow-glow-amber);}
.c-step-card h3{color:var(--c-text-inverse); font-size:1.25rem;}
.c-step-card p{color:var(--c-text-inverse-soft); margin:0; font-size:.95rem;}
.c-step-card--animated{position:relative;}
.c-step-card--animated::before{
  content:""; position:absolute; inset:-2px; border-radius:inherit; padding:2px;
  background:conic-gradient(from 0deg, transparent 0%, var(--c-accent) 10%, var(--c-accent2) 20%, transparent 32%, transparent 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
}
.c-step-card--animated:hover::before{opacity:1; animation:cBorderDraw 2.6s linear infinite;}


.s-gallery{padding:var(--sp-10) 0;}
.s-gallery__grid{display:grid; gap:var(--sp-5); grid-template-columns:1fr;}
@media(min-width:900px){.s-gallery__grid{grid-template-columns:1.1fr 1fr 1fr; grid-template-rows:auto auto;}
  .c-gallery-item--tall{grid-row:span 2;}
}
.c-gallery-item{border-radius:var(--r-lg); overflow:hidden; position:relative; box-shadow:var(--shadow-md); background:var(--c-ink);}
.c-gallery-item img{width:100%; height:100%; object-fit:cover; min-height:220px;}
.c-gallery-item figcaption{position:absolute; left:0; right:0; bottom:0; padding:var(--sp-5); font-size:.85rem; font-weight:600; color:var(--c-text-inverse);
  background:linear-gradient(0deg, color-mix(in oklch, var(--c-ink), transparent 10%), transparent);}


.s-cities{padding:var(--sp-10) 0; background:var(--c-surface-2);}
.s-cities__grid{display:grid; gap:var(--sp-6); grid-template-columns:1fr;}
@media(min-width:900px){.s-cities__grid{grid-template-columns:repeat(2,1fr);}}
.c-city-card{border-radius:var(--r-lg); overflow:hidden; background:var(--c-surface); box-shadow:var(--shadow-md); transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
.c-city-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.c-city-card img{height:240px; object-fit:cover; width:100%;}
.c-city-card__body{padding:var(--sp-6);}
.c-city-card__body h3{display:flex; align-items:center; gap:.5rem; font-size:1.2rem; color:var(--c-primary);}
.c-city-card__body p{color:var(--c-text-soft); margin:0;}


.s-model-teaser{padding:var(--sp-10) 0; background:linear-gradient(120deg, var(--c-primary), var(--c-secondary)); color:var(--c-text-inverse);}
.s-model-teaser__inner{display:flex; flex-direction:column; gap:var(--sp-6); align-items:flex-start;}
.s-model-teaser h2{color:var(--c-text-inverse); font-size:var(--fs-h2); max-width:640px;}
.s-model-teaser p{color:var(--c-text-inverse-soft); max-width:56ch;}
@media(min-width:900px){.s-model-teaser__inner{flex-direction:row; align-items:center; justify-content:space-between;}}


.s-newsletter{padding:var(--sp-8) 0; background:var(--c-surface-dark);}
.s-newsletter__inner{display:flex; flex-direction:column; gap:var(--sp-5); align-items:flex-start;}
.s-newsletter__text h2{color:var(--c-text-inverse); font-size:1.5rem; margin-bottom:.3rem;}
.s-newsletter__text p{color:var(--c-text-inverse-soft); margin:0;}
.c-newsletter-form{display:flex; gap:var(--sp-3); width:100%; flex-wrap:wrap;}
.c-newsletter-form input{flex:1 1 220px; min-width:0; padding:.9rem 1.2rem; border-radius:var(--r-full); border:1px solid color-mix(in oklch, var(--c-paper), transparent 60%); background:color-mix(in oklch, var(--c-paper), transparent 88%); color:var(--c-text-inverse); transition:background .3s var(--ease), border-color .3s var(--ease);}
.c-newsletter-form input::placeholder{color:var(--c-text-inverse-soft);}
.c-newsletter-form input:focus{outline:none; background:color-mix(in oklch, var(--c-paper), transparent 78%); border-color:var(--c-accent);}
@media(min-width:900px){.s-newsletter__inner{flex-direction:row; align-items:center; justify-content:space-between;} .c-newsletter-form{width:auto;}}


.c-footer{background:var(--c-surface-dark); color:var(--c-text-inverse); margin-top:auto;}
.c-footer__quote-wrap{padding:var(--sp-11) 0 var(--sp-9); border-bottom:1px solid color-mix(in oklch, var(--c-paper), transparent 88%);}
.c-footer__quote{max-width:820px; margin:0 auto; padding:0 var(--sp-5); text-align:center;}
.c-footer__quote i{font-size:1.6rem; color:var(--c-accent); margin-bottom:var(--sp-4); display:block;}
.c-footer__quote p{font-family:var(--ff-head); font-size:clamp(1.4rem,3vw,2.1rem); font-weight:500; line-height:1.35; color:var(--c-text-inverse); margin-bottom:var(--sp-4);}
.c-footer__quote span{font-size:.9rem; color:var(--c-text-inverse-soft); font-weight:600;}
.c-footer__main{padding:var(--sp-9) 0;}
.c-footer__grid{display:grid; gap:var(--sp-7); grid-template-columns:1fr;}
@media(min-width:720px){.c-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.c-footer__col{display:flex; flex-direction:column; gap:.7rem;}
.c-footer__col h4{color:var(--c-text-inverse); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.3rem;}
.c-footer__col a, .c-footer__col span{color:var(--c-text-inverse-soft); font-size:.92rem; display:flex; align-items:center; gap:.5rem; transition:color .3s var(--ease);}
.c-footer__col a:hover{color:var(--c-accent-light);}
.c-footer__logo{color:var(--c-text-inverse); margin-bottom:.3rem;}
.c-footer__col p{color:var(--c-text-inverse-soft); font-size:.9rem;}
.c-footer__bottom{border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 88%); padding:var(--sp-5) 0;}
.c-footer__bottom-inner{display:flex; flex-direction:column; gap:.5rem; font-size:.82rem; color:var(--c-text-inverse-soft);}
@media(min-width:720px){.c-footer__bottom-inner{flex-direction:row; justify-content:space-between;}}


.s-page-hero{padding:calc(var(--sp-11) + 40px) 0 var(--sp-9); background:var(--c-surface-2); text-align:left;}
.s-page-hero h1{font-size:var(--fs-h1); max-width:820px;}
.s-page-hero p{color:var(--c-text-soft); max-width:60ch; font-size:1.1rem;}
.s-page-hero--dark{background:linear-gradient(160deg, var(--c-surface-dark), var(--c-surface-dark-2));}
.s-page-hero--dark h1, .s-page-hero--dark .c-eyebrow{color:var(--c-text-inverse);}
.s-page-hero--dark .c-eyebrow{color:var(--c-accent-light);}
.s-page-hero--dark p{color:var(--c-text-inverse-soft);}


.c-media-frame{border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); margin:0;}
.c-media-frame img{width:100%; height:100%; object-fit:cover;}


.s-story-narrative, .s-story-team{padding:var(--sp-10) 0;}
.s-story-narrative__grid, .s-story-team__grid{display:grid; gap:var(--sp-7); align-items:center; grid-template-columns:1fr;}
@media(min-width:900px){.s-story-narrative__grid, .s-story-team__grid{grid-template-columns:1fr 1fr;}}
.s-story-values{padding:var(--sp-10) 0; background:linear-gradient(160deg, var(--c-surface-dark), var(--c-surface-dark-2));}
.s-story-values__list{display:flex; flex-direction:column; gap:var(--sp-5); max-width:820px; margin:0 auto;}
.c-value-row{display:flex; gap:var(--sp-5); align-items:flex-start; background:color-mix(in oklch, var(--c-paper), transparent 92%); border:1px solid color-mix(in oklch, var(--c-paper), transparent 84%); border-radius:var(--r-lg); padding:var(--sp-6); transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
.c-value-row:hover{transform:translateX(6px); box-shadow:var(--shadow-glow-green);}
.c-value-row__num{font-family:var(--ff-head); font-size:1.8rem; color:var(--c-accent-light); flex-shrink:0;}
.c-value-row h3{color:var(--c-text-inverse); font-size:1.1rem; margin-bottom:.3rem;}
.c-value-row p{color:var(--c-text-inverse-soft); margin:0; font-size:.95rem;}


.s-build-type{padding:var(--sp-10) 0;}
.s-build-type--alt{background:var(--c-surface-2);}
.s-build-type__grid{display:grid; gap:var(--sp-7); align-items:center; grid-template-columns:1fr;}
@media(min-width:900px){.s-build-type__grid{grid-template-columns:1fr 1fr;}
  .s-build-type__grid--reverse{direction:rtl;}
  .s-build-type__grid--reverse > *{direction:ltr;}
}
.c-check-list{display:flex; flex-direction:column; gap:.7rem; margin-top:var(--sp-5);}
.c-check-list li{display:flex; align-items:flex-start; gap:.6rem; color:var(--c-text-soft); font-size:.95rem;}
.c-check-list i{color:var(--c-secondary); margin-top:.25rem;}

.s-inside-room{padding:var(--sp-10) 0; background:var(--c-surface-2);}
.s-inside-room__grid{display:grid; gap:var(--sp-5); grid-template-columns:1fr;}
@media(min-width:640px){.s-inside-room__grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.s-inside-room__grid{grid-template-columns:repeat(4,1fr);}}

.s-species{padding:var(--sp-10) 0;}
.s-species__grid{display:grid; gap:var(--sp-7); align-items:center; grid-template-columns:1fr;}
@media(min-width:900px){.s-species__grid{grid-template-columns:1.1fr .9fr;}}


.s-cta-band{padding:var(--sp-10) 0; background:linear-gradient(120deg, var(--c-secondary), var(--c-primary));}
.s-cta-band__inner{text-align:center; max-width:640px; margin:0 auto;}
.s-cta-band__inner h2{color:var(--c-text-inverse); font-size:var(--fs-h2);}
.s-cta-band__inner p{color:var(--c-text-inverse-soft); margin-bottom:var(--sp-6);}


.s-pricing-model{padding:var(--sp-10) 0; background:var(--c-surface-2);}
.s-pricing-model__grid{display:grid; gap:var(--sp-6); grid-template-columns:1fr; max-width:900px; margin:0 auto;}
@media(min-width:720px){.s-pricing-model__grid{grid-template-columns:repeat(2,1fr);}}
.c-price-card{background:var(--c-surface); border-radius:var(--r-lg); padding:var(--sp-7); border:1px solid var(--c-border); box-shadow:var(--shadow-md); transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
.c-price-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-glow-amber);}
.c-price-card__tag{display:inline-block; background:var(--c-primary); color:var(--c-text-inverse); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:.3rem .8rem; border-radius:var(--r-full); margin-bottom:var(--sp-4);}
.c-price-card p{color:var(--c-text-soft); margin:0;}
.s-pricing-model__note{max-width:900px; margin:var(--sp-6) auto 0; text-align:center; font-size:.9rem; color:var(--c-text-soft); font-style:italic;}

.s-training, .s-substrate-service{padding:var(--sp-10) 0;}


.s-who-for{padding:var(--sp-10) 0; background:var(--c-surface-2);}
.s-who-for__grid{display:grid; gap:var(--sp-5); grid-template-columns:1fr;}
@media(min-width:640px){.s-who-for__grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.s-who-for__grid{grid-template-columns:repeat(4,1fr);}}


.s-faq{padding:var(--sp-10) 0; background:linear-gradient(160deg, var(--c-surface-dark), var(--c-surface-dark-2));}
.c-faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:var(--sp-4);}
.c-faq-item{background:color-mix(in oklch, var(--c-paper), transparent 92%); border:1px solid color-mix(in oklch, var(--c-paper), transparent 84%); border-radius:var(--r-md); overflow:hidden; transition:box-shadow .3s var(--ease);}
.c-faq-item__q{width:100%; text-align:left; background:none; border:none; padding:var(--sp-5) var(--sp-6); display:flex; justify-content:space-between; align-items:center; color:var(--c-text-inverse); font-weight:600; font-size:1rem;}
.c-faq-item__q i{transition:transform .35s var(--ease); color:var(--c-accent-light);}
.c-faq-item.is-open .c-faq-item__q i{transform:rotate(45deg);}
.c-faq-item__a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease), padding .4s var(--ease); padding:0 var(--sp-6);}
.c-faq-item.is-open .c-faq-item__a{max-height:260px; padding:0 var(--sp-6) var(--sp-5);}
.c-faq-item__a p{color:var(--c-text-inverse-soft); margin:0; font-size:.94rem;}


.s-contact-split{padding:var(--sp-10) 0;}
.s-contact-split__grid{display:grid; gap:var(--sp-6); grid-template-columns:1fr;}
@media(min-width:900px){.s-contact-split__grid{grid-template-columns:1fr 1fr;}}
.c-map-frame{border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); min-height:340px;}
.c-map-frame iframe{width:100%; height:100%; min-height:340px;}
.c-form-panel{background:var(--c-surface); border-radius:var(--r-lg); padding:var(--sp-7); box-shadow:var(--shadow-lg); border:1px solid var(--c-border);}
.c-form-panel h2{font-size:1.6rem;}
.c-form-panel__lede{color:var(--c-text-soft); margin-bottom:var(--sp-6);}
.c-field{margin-bottom:var(--sp-5);}
.c-field label{display:block; font-weight:600; margin-bottom:.4rem; font-size:.92rem;}
.c-field input, .c-field textarea{
  width:100%; padding:.85rem 1rem; border-radius:var(--r-sm); border:1px solid var(--c-border);
  background:var(--c-surface-2); color:var(--c-text); transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.c-field input:focus, .c-field textarea:focus{outline:none; border-color:var(--c-accent); box-shadow:0 0 0 4px color-mix(in oklch, var(--c-accent), transparent 78%);}
.c-field--checkbox{display:flex; align-items:flex-start; gap:.7rem;}
.c-field--checkbox input{width:20px; height:20px; margin-top:.15rem; flex-shrink:0;}
.c-field--checkbox label{font-weight:400; font-size:.88rem; margin:0;}

.s-response-note{padding:var(--sp-9) 0; background:var(--c-surface-2);}
.s-response-note__inner{display:flex; gap:var(--sp-5); align-items:flex-start; max-width:820px; margin:0 auto;}
.s-response-note__inner h3{margin-bottom:.4rem;}
.s-response-note__inner p{color:var(--c-text-soft); margin:0;}
.s-response-note .c-icon-card__icon{flex-shrink:0;}


.s-thanks-hero{padding:calc(var(--sp-11) + 40px) 0 var(--sp-10); background:linear-gradient(120deg, var(--c-secondary), var(--c-primary), var(--c-accent-dark)); text-align:center;}
.s-thanks-hero__icon{font-size:3rem; color:var(--c-text-inverse); margin-bottom:var(--sp-5); display:block;}
.s-thanks-hero h1{color:var(--c-text-inverse); font-size:var(--fs-h1);}
.s-thanks-hero p{color:var(--c-text-inverse-soft); max-width:520px; margin:0 auto; font-size:1.1rem;}
.s-thanks-next{padding:var(--sp-10) 0;}
.s-thanks-next__inner{max-width:640px; margin:0 auto; text-align:center;}
.s-thanks-next__inner p{color:var(--c-text-soft); margin-bottom:var(--sp-6);}


.s-legal-hero{padding:calc(var(--sp-11) + 40px) 0 var(--sp-8); background:var(--c-surface-2);}
.s-legal-hero--alt{background:linear-gradient(160deg, var(--c-surface-dark), var(--c-surface-dark-2));}
.s-legal-hero--alt h1, .s-legal-hero--alt p, .s-legal-hero--alt .c-eyebrow{color:var(--c-text-inverse);}
.s-legal-hero--soft{background:var(--c-surface);}
.s-legal-body{padding:var(--sp-9) 0 var(--sp-11);}
.c-legal-stack{display:flex; flex-direction:column; gap:var(--sp-6); max-width:880px; margin:0 auto;}
.c-legal-card{background:var(--c-surface); border-radius:var(--r-lg); padding:var(--sp-7); box-shadow:var(--shadow-md); border:1px solid var(--c-border); transition:box-shadow .35s var(--ease);}
.c-legal-card:hover{box-shadow:var(--shadow-lg);}
.c-legal-card h2{font-size:1.3rem; margin-bottom:var(--sp-3);}
.c-legal-card p{color:var(--c-text-soft); margin:0;}


.c-cookie-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:400; background:var(--c-surface-dark);
  color:var(--c-text-inverse); border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 85%);
  box-shadow:0 -14px 40px -14px color-mix(in oklch, var(--c-ink), transparent 60%);
  transform:translateY(110%); transition:transform .5s var(--ease);
}
.c-cookie-bar.is-visible{transform:translateY(0);}
.c-cookie-bar__row{max-width:1240px; margin:0 auto; padding:var(--sp-5); display:flex; flex-direction:column; gap:var(--sp-4);}
.c-cookie-bar__row p{margin:0; font-size:.9rem; color:var(--c-text-inverse-soft); max-width:640px;}
.c-cookie-bar__actions{display:flex; gap:var(--sp-3); flex-wrap:wrap;}
@media(min-width:900px){.c-cookie-bar__row{flex-direction:row; align-items:center; justify-content:space-between;}}
.c-cookie-bar__panel{max-height:0; overflow:hidden; transition:max-height .5s var(--ease); max-width:1240px; margin:0 auto;}
.c-cookie-bar.is-customizing .c-cookie-bar__panel{max-height:420px;}
.c-cookie-bar__cat{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); padding:var(--sp-4) var(--sp-5); border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 88%);}
.c-cookie-bar__cat strong{font-size:.92rem;}
.c-cookie-bar__cat p{margin:.2rem 0 0; font-size:.82rem; color:var(--c-text-inverse-soft);}
#cookieSave{margin:var(--sp-4) var(--sp-5) var(--sp-5);}
.c-toggle{position:relative; display:inline-block; width:46px; height:26px; flex-shrink:0;}
.c-toggle input{opacity:0; width:0; height:0;}
.c-toggle span{position:absolute; inset:0; background:color-mix(in oklch, var(--c-paper), transparent 70%); border-radius:var(--r-full); transition:background .3s var(--ease);}
.c-toggle span::before{content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:var(--c-paper); border-radius:50%; transition:transform .3s var(--ease);}
.c-toggle input:checked + span{background:var(--c-accent);}
.c-toggle input:checked + span::before{transform:translateX(20px);}


[data-aos]{transition-timing-function:var(--ease) !important;}