
:root{
  --c-primary:#ff5a3c;
  --c-secondary:#33453c;
  --c-accent:#ffb648;
  --c-ink:#201d1a;
  --c-paper:#faf6ef;

  --c-primary-dark: color-mix(in oklch, var(--c-primary), black 25%);
  --c-primary-light: color-mix(in oklch, var(--c-primary), white 35%);
  --c-primary-soft: color-mix(in oklch, var(--c-primary), white 88%);
  --c-secondary-dark: color-mix(in oklch, var(--c-secondary), black 22%);
  --c-secondary-light: color-mix(in oklch, var(--c-secondary), white 55%);
  --c-secondary-soft: color-mix(in oklch, var(--c-secondary), white 92%);
  --c-accent-dark: color-mix(in oklch, var(--c-accent), black 20%);
  --c-accent-soft: color-mix(in oklch, var(--c-accent), white 82%);
  --c-ink-soft: color-mix(in oklch, var(--c-ink), white 30%);
  --c-surface: color-mix(in oklch, var(--c-paper), var(--c-secondary) 3%);
  --c-surface-alt: color-mix(in oklch, var(--c-paper), var(--c-primary) 4%);
  --c-border: color-mix(in oklch, var(--c-ink), white 82%);

  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--c-ink), transparent 90%), 0 1px 1px color-mix(in oklch, var(--c-ink), transparent 94%);
  --shadow-md: 0 10px 24px color-mix(in oklch, var(--c-ink), transparent 88%), 0 2px 8px color-mix(in oklch, var(--c-ink), transparent 92%);
  --shadow-lg: 0 28px 56px color-mix(in oklch, var(--c-ink), transparent 85%), 0 10px 20px color-mix(in oklch, var(--c-ink), transparent 90%);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-full: 999px;

  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --space-8: 8rem;

  --section-pad: clamp(4rem, 8vw, 8rem);
  --container-w: 1200px;

  --ff-heading:'Outfit', sans-serif;
  --ff-body:'Work Sans', sans-serif;

  --ease: cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--ff-body);
  color:var(--c-ink);
  background:var(--c-paper);
  line-height:1.65;
  font-size:16px;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
h1,h2,h3,h4{ font-family:var(--ff-heading); color:var(--c-ink); line-height:1.15; font-weight:700; }

.u-container{ max-width:var(--container-w); margin:0 auto; padding:0 var(--space-4); }
.u-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.u-text-center{ text-align:center; }


.u-reveal{ opacity:1; }
.c-step-card, .c-founder-card, .c-value-card, .c-day-card, .c-topic-row, .c-framework-card, .c-suited-card, .c-news-card, .c-info-list li{
  opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.c-step-card.is-visible, .c-founder-card.is-visible, .c-value-card.is-visible, .c-day-card.is-visible, .c-topic-row.is-visible, .c-framework-card.is-visible, .c-suited-card.is-visible, .c-news-card.is-visible, .c-info-list li.is-visible{
  opacity:1; transform:translateY(0);
}


.c-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.95rem 2rem; border-radius:var(--radius-full);
  font-family:var(--ff-heading); font-weight:600; font-size:.98rem;
  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:var(--c-primary); color:var(--c-paper); box-shadow:var(--shadow-md); }
.c-btn--primary:hover{ background:var(--c-primary-dark); transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.c-btn--ghost{ background:transparent; color:var(--c-paper); border:1.5px solid color-mix(in oklch, var(--c-paper), transparent 40%); }
.c-btn--ghost:hover{ background:color-mix(in oklch, var(--c-paper), transparent 88%); transform:translateY(-3px); }
.c-btn--paper{ background:var(--c-paper); color:var(--c-secondary-dark); box-shadow:var(--shadow-md); }
.c-btn--paper:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); }

.c-tag{
  display:inline-block; font-family:var(--ff-heading); font-weight:600; font-size:.8rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--c-primary-dark);
  background:var(--c-primary-soft); padding:.4rem 1rem; border-radius:var(--radius-full);
  margin-bottom:var(--space-3);
}
.c-tag--light{ color:var(--c-accent); background:color-mix(in oklch, var(--c-paper), transparent 88%); }


.c-nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease);
  padding:var(--space-3) 0;
}
.c-nav.is-solid{
  background:color-mix(in oklch, var(--c-paper), transparent 4%);
  box-shadow:var(--shadow-sm);
  padding:var(--space-2) 0;
  backdrop-filter:blur(8px);
}
.c-nav__inner{
  max-width:var(--container-w); margin:0 auto; padding:0 var(--space-4);
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-3);
}
.c-nav__side{ display:flex; align-items:center; gap:var(--space-4); flex:1; }
.c-nav__side--right{ justify-content:flex-end; }
.c-nav__link{
  font-family:var(--ff-heading); font-weight:500; font-size:.95rem;
  color:var(--c-paper); position:relative; transition:color .3s var(--ease);
  white-space:nowrap;
}
.c-nav.is-solid .c-nav__link{ color:var(--c-ink-soft); }
.c-nav__link::after{
  content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
  background:var(--c-primary); transition:width .3s var(--ease);
}
.c-nav__link:hover::after, .c-nav__link.is-active::after{ width:100%; }
.c-nav__link.is-active{ color:var(--c-primary); }
.c-nav.is-solid .c-nav__link.is-active{ color:var(--c-primary-dark); }
.c-nav__logo{
  display:flex; align-items:center; gap:.6rem; font-family:var(--ff-heading);
  font-weight:800; font-size:1.35rem; color:var(--c-paper); flex-shrink:0;
  transition:color .3s var(--ease);
}
.c-nav.is-solid .c-nav__logo{ color:var(--c-ink); }
.c-nav__cta{
  font-family:var(--ff-heading); font-weight:600; font-size:.9rem;
  padding:.7rem 1.5rem; border-radius:var(--radius-full);
  background:var(--c-primary); color:var(--c-paper); white-space:nowrap;
  transition:background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  min-height:44px; display:inline-flex; align-items:center;
}
.c-nav__cta:hover{ background:var(--c-primary-dark); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.c-nav__toggle{
  display:none; flex-direction:column; gap:5px; width:44px; height:44px;
  align-items:center; justify-content:center; flex-shrink:0;
}
.c-nav__toggle span{
  display:block; width:24px; height:2px; background:var(--c-paper);
  transition:background .3s var(--ease);
}
.c-nav.is-solid .c-nav__toggle span{ background:var(--c-ink); }


.c-mobile-menu{
  position:fixed; top:0; right:0; width:min(88vw, 380px); height:100vh;
  background:var(--c-secondary-dark); z-index:1200;
  transform:translateX(100%); transition:transform .5s var(--ease);
  display:flex; flex-direction:column; padding:var(--space-5) var(--space-4);
}
.c-mobile-menu.is-active{ transform:translateX(0); }
.c-mobile-menu__close{
  align-self:flex-end; width:44px; height:44px; border-radius:var(--radius-full);
  color:var(--c-paper); font-size:1.4rem; display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease);
}
.c-mobile-menu__close:hover{ background:color-mix(in oklch, var(--c-paper), transparent 88%); }
.c-mobile-menu__links{
  display:flex; flex-direction:column; gap:var(--space-4); margin-top:var(--space-6);
}
.c-mobile-menu__links a{
  font-family:var(--ff-heading); font-weight:600; font-size:1.4rem; color:var(--c-paper);
  padding:.4rem 0; transition:color .3s var(--ease), padding-left .3s var(--ease);
}
.c-mobile-menu__links a:hover{ color:var(--c-accent); padding-left:.5rem; }
.c-mobile-menu__overlay{
  position:fixed; inset:0; background:color-mix(in oklch, var(--c-ink), transparent 40%);
  z-index:1100; opacity:0; pointer-events:none; transition:opacity .5s var(--ease);
}
.c-mobile-menu__overlay.is-active{ opacity:1; pointer-events:auto; }


.s-hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; overflow:hidden;
  color:var(--c-paper);
}
.s-hero__bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
.s-hero__overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(160deg, color-mix(in oklch, var(--c-ink), transparent 8%) 10%, color-mix(in oklch, var(--c-secondary-dark), transparent 25%) 55%, color-mix(in oklch, var(--c-primary-dark), transparent 35%) 100%);
}
.s-hero__inner{
  position:relative; z-index:2; max-width:900px; padding:0 var(--space-4);
  text-align:center; animation:hero-in 1.1s var(--ease) both;
}
@keyframes hero-in{
  from{ opacity:0; transform:translateY(28px); }
  to{ opacity:1; transform:translateY(0); }
}
.s-hero__eyebrow{
  font-family:var(--ff-heading); font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  font-size:.85rem; color:var(--c-accent); margin-bottom:var(--space-3);
}
.s-hero__title{
  font-size:clamp(2.6rem, 6.5vw, 5.2rem); font-weight:700; letter-spacing:-.01em; margin-bottom:var(--space-4); color: white;
}
.u-kinetic-weight{ display:inline-block; animation:kinetic-weight 7s ease-in-out infinite; }
@keyframes kinetic-weight{
  0%,100%{ font-weight:600; letter-spacing:0em; }
  50%{ font-weight:800; letter-spacing:.015em; }
}
.u-kinetic-color{ display:inline-block; animation:kinetic-color 9s ease-in-out infinite; }
@keyframes kinetic-color{
  0%,100%{ color: var(--c-accent); }
  50%{ color: color-mix(in oklch, var(--c-primary), white 20%); }
}
.s-hero__sub{
  font-size:clamp(1rem, 1.4vw, 1.2rem); max-width:640px; margin:0 auto var(--space-5);
  color:color-mix(in oklch, var(--c-paper), transparent 8%);
}
.s-hero__actions{ display:flex; gap:var(--space-3); justify-content:center; flex-wrap:wrap; }

.s-hero__marquee{
  position:absolute; bottom:0; left:0; width:100%; z-index:2;
  background:color-mix(in oklch, var(--c-ink), transparent 30%);
  padding:1rem 0; overflow:hidden; border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 85%);
}
.s-hero__marquee-track{
  display:flex; gap:3rem; white-space:nowrap; width:max-content;
  animation:marquee 26s linear infinite;
  font-family:var(--ff-heading); font-weight:600; letter-spacing:.08em; font-size:.9rem;
  color:color-mix(in oklch, var(--c-paper), transparent 15%);
}
.s-hero__marquee-track span::after{ content:'•'; margin-left:3rem; color:var(--c-primary); }
@keyframes marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}


.s-page-header{
  position:relative; padding:calc(var(--section-pad) + 4rem) 0 var(--space-6);
  background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink) 70%);
  color:var(--c-paper); text-align:center;
}
.s-page-header__eyebrow{
  font-family:var(--ff-heading); font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  font-size:.85rem; color:var(--c-accent); margin-bottom:var(--space-3);
}
.s-page-header__title{
  font-size:clamp(2.4rem, 5.5vw, 4rem); margin-bottom:var(--space-3); color:var(--c-paper);
}
.s-page-header__sub{
  max-width:680px; margin:0 auto; color:color-mix(in oklch, var(--c-paper), transparent 12%);
  font-size:1.05rem;
}


section{ padding:var(--section-pad) 0; }
.s-section-title{ font-size:clamp(1.9rem, 3.5vw, 2.8rem); margin-bottom:var(--space-3); max-width:820px; }
.s-section-title--light{ color:var(--c-paper); }
.s-section-lead{ font-size:1.1rem; max-width:680px; color:var(--c-ink-soft); margin-bottom:var(--space-6); }
.s-section-lead--light{ color:color-mix(in oklch, var(--c-paper), transparent 15%); }


.s-manifesto{ background:var(--c-surface-alt); text-align:center; }
.s-manifesto__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:760px; margin:0 auto var(--space-3); }
.s-manifesto__answer{ max-width:680px; margin:0 auto; color:var(--c-ink-soft); font-size:1.08rem; }


.s-how-it-works{ background:var(--c-paper); }
.s-how-it-works__cards{
  counter-reset:card-counter; display:grid; gap:var(--space-4); margin-top:var(--space-5);
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}
.c-step-card{
  counter-increment:card-counter; position:relative; background:var(--c-surface);
  border:1px solid var(--c-border); border-radius:var(--radius-lg); padding:var(--space-5) var(--space-4);
  box-shadow:var(--shadow-sm); transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.c-step-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.c-step-card__number::before{
  content:counter(card-counter, decimal-leading-zero);
  font-family:var(--ff-heading); font-weight:800; font-size:2.6rem;
  color:var(--c-primary-soft); display:block; margin-bottom:var(--space-2);
  -webkit-text-stroke:1px var(--c-primary);
}
.c-step-card__icon{ display:block; font-size:1.6rem; color:var(--c-primary); margin-bottom:var(--space-2); }
.c-step-card__title{ font-size:1.25rem; margin-bottom:var(--space-2); }
.c-step-card__desc{ color:var(--c-ink-soft); font-size:.98rem; }


.s-philosophy{ background:var(--c-surface); }
.s-philosophy__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-6); align-items:center; }
.s-philosophy__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.s-philosophy__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-3); }
.s-philosophy__answer{ color:var(--c-ink-soft); margin-bottom:var(--space-3); font-size:1.03rem; }


.s-structure{ background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink) 85%); }
.s-structure__days{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); margin-top:var(--space-5); }
.c-day-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(--radius-lg); padding:var(--space-4); color:var(--c-paper);
  transition:transform .4s var(--ease), background .4s var(--ease);
}
.c-day-card:hover{ transform:translateY(-6px); background:color-mix(in oklch, var(--c-paper), transparent 88%); }
.c-day-card__label{ font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--c-accent); font-weight:600; }
.c-day-card__title{ color:var(--c-paper); font-size:1.3rem; margin:.6rem 0; display:flex; align-items:center; gap:.6rem; }
.c-day-card p{ color:color-mix(in oklch, var(--c-paper), transparent 12%); font-size:.98rem; }


.s-med{ background:var(--c-ink); color:var(--c-paper); text-align:center; }
.s-med__eyebrow{ font-family:var(--ff-heading); font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.85rem; color:var(--c-accent); margin-bottom:var(--space-3); }
.s-med__quote{ font-family:var(--ff-heading); font-weight:600; font-size:clamp(1.6rem, 3.4vw, 2.6rem); max-width:820px; margin:0 auto var(--space-4); line-height:1.3; }
.s-med__answer{ max-width:680px; margin:0 auto; color:color-mix(in oklch, var(--c-paper), transparent 15%); font-size:1.05rem; }


.s-tracking{ background:var(--c-paper); }
.s-tracking__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-6); align-items:center; }
.s-tracking__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.s-tracking__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-3); }
.s-tracking__answer{ color:var(--c-ink-soft); margin-bottom:var(--space-3); font-size:1.03rem; }


.s-behaviour{ background:var(--c-surface-alt); }
.s-behaviour__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-6); align-items:center; }
.s-behaviour__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.s-behaviour__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-3); }
.s-behaviour__answer{ color:var(--c-ink-soft); margin-bottom:var(--space-3); font-size:1.03rem; }


.s-location{ background:var(--c-paper); }
.s-location__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); align-items:center; }
.c-info-list{ display:flex; flex-direction:column; gap:var(--space-2); margin:var(--space-4) 0; }
.c-info-list li{ display:flex; align-items:center; gap:.8rem; font-size:1.02rem; }
.c-info-list li i{ color:var(--c-primary); width:20px; }
.s-location__map{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); min-height:340px; }


.s-cta{ background:linear-gradient(120deg, var(--c-primary), var(--c-accent-dark) 120%); color:var(--c-paper); }
.s-cta__inner{ text-align:center; max-width:680px; margin:0 auto; }
.s-cta__title{ font-size:clamp(1.8rem, 3.6vw, 2.6rem); margin-bottom:var(--space-3); color:var(--c-paper); }
.s-cta__sub{ margin-bottom:var(--space-4); color:color-mix(in oklch, var(--c-paper), transparent 10%); }


.c-footer{ background:var(--c-ink); color:color-mix(in oklch, var(--c-paper), transparent 8%); margin-top:auto; }
.c-footer__accent{ height:5px; background:linear-gradient(90deg, var(--c-primary), var(--c-accent), var(--c-secondary-light)); }
.c-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--space-5);
  padding:var(--space-6) var(--space-4) var(--space-4);
}
.c-footer__col h4{ color:var(--c-paper); font-size:1rem; margin-bottom:var(--space-3); letter-spacing:.03em; text-transform:uppercase; }
.c-footer__col{ display:flex; flex-direction:column; gap:.65rem; font-size:.95rem; }
.c-footer__col a{ color:color-mix(in oklch, var(--c-paper), transparent 15%); transition:color .3s var(--ease); }
.c-footer__col a:hover{ color:var(--c-accent); }
.c-footer__col--brand p{ color:color-mix(in oklch, var(--c-paper), transparent 25%); font-size:.92rem; margin-top:var(--space-2); }
.c-footer__logo{ display:flex; align-items:center; gap:.6rem; font-family:var(--ff-heading); font-weight:800; font-size:1.3rem; color:var(--c-paper); }
.c-footer__bottom{
  border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 88%);
  padding:var(--space-3) var(--space-4); text-align:center; font-size:.85rem;
  color:color-mix(in oklch, var(--c-paper), transparent 35%);
}


.s-about-intro{ background:var(--c-surface); text-align:center; }
.s-about-intro__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:760px; margin:0 auto var(--space-3); }
.s-about-intro__answer{ max-width:720px; margin:0 auto var(--space-5); color:var(--c-ink-soft); font-size:1.05rem; }
.s-about-intro__image{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); max-width:900px; margin:0 auto; }

.s-about-founders{ background:var(--c-paper); }
.s-about-founders__grid{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); margin-top:var(--space-5); }
.c-founder-card{
  background:var(--c-surface); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease); padding-bottom:var(--space-4);
}
.c-founder-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.c-founder-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.c-founder-card h3{ padding:var(--space-3) var(--space-4) 0; font-size:1.3rem; }
.c-founder-card__role{ padding:0 var(--space-4); color:var(--c-primary); font-weight:600; font-size:.9rem; margin:.3rem 0 .8rem; }
.c-founder-card p:not(.c-founder-card__role){ padding:0 var(--space-4); color:var(--c-ink-soft); font-size:.98rem; }

.s-about-clarify{ background:var(--c-surface-alt); text-align:center; }
.s-about-clarify__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:780px; margin:0 auto var(--space-3); }
.s-about-clarify__answer{ max-width:720px; margin:0 auto var(--space-3); color:var(--c-ink-soft); font-size:1.03rem; }

.s-values{ background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink) 85%); }
.s-values__grid{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin-top:var(--space-5); }
.c-value-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(--radius-md); padding:var(--space-4); color:var(--c-paper); text-align:center;
  transition:transform .4s var(--ease);
}
.c-value-card:hover{ transform:translateY(-6px); }
.c-value-card i{ font-size:1.6rem; color:var(--c-accent); margin-bottom:var(--space-2); }
.c-value-card h3{ color:var(--c-paper); font-size:1.05rem; margin-bottom:.4rem; }
.c-value-card p{ font-size:.92rem; color:color-mix(in oklch, var(--c-paper), transparent 15%); }


.s-agenda{ background:var(--c-paper); }
.s-agenda__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:var(--space-6); align-items:center; }
.s-agenda__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.s-agenda__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-3); }
.s-agenda__answer{ color:var(--c-ink-soft); font-size:1.03rem; }

.s-topics{ background:var(--c-surface); }
.s-topics__list{ display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-5); }
.c-topic-row{
  display:grid; grid-template-columns:220px 1fr; gap:var(--space-4); align-items:start;
  background:var(--c-paper); border:1px solid var(--c-border); border-radius:var(--radius-md);
  padding:var(--space-3) var(--space-4); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.c-topic-row:hover{ transform:translateX(6px); box-shadow:var(--shadow-md); }
.c-topic-row__tag{ font-family:var(--ff-heading); font-weight:700; color:var(--c-primary-dark); font-size:1rem; }
.c-topic-row p{ color:var(--c-ink-soft); font-size:.98rem; }

.s-schedule{ background:var(--c-surface-alt); }
.s-schedule__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-6); align-items:center; }
.s-schedule__image img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.s-schedule__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-3); }
.s-schedule__answer{ color:var(--c-ink-soft); font-size:1.03rem; }

.s-suited{ background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink) 85%); }
.s-suited__grid{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin-top:var(--space-5); }
.c-suited-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(--radius-md); padding:var(--space-4); color:var(--c-paper); text-align:center;
  transition:transform .4s var(--ease);
}
.c-suited-card:hover{ transform:translateY(-6px); }
.c-suited-card i{ font-size:1.6rem; color:var(--c-accent); margin-bottom:var(--space-2); }
.c-suited-card p{ font-size:.95rem; color:color-mix(in oklch, var(--c-paper), transparent 12%); }

.s-notservice{ background:var(--c-surface); text-align:center; }
.s-notservice__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.3rem, 2.4vw, 1.8rem); max-width:760px; margin:0 auto var(--space-3); }
.s-notservice__answer{ max-width:720px; margin:0 auto; color:var(--c-ink-soft); font-size:1rem; }


.s-wtw-intro{ background:var(--c-paper); text-align:center; }
.s-wtw-intro__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:780px; margin:0 auto var(--space-3); }
.s-wtw-intro__answer{ max-width:720px; margin:0 auto; color:var(--c-ink-soft); font-size:1.05rem; }
.s-wtw-visual{ background:var(--c-surface); padding-top:0; }
.s-wtw-visual__img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); max-width:900px; margin:0 auto; }
.s-wtw-why{ background:var(--c-surface-alt); text-align:center; }
.s-wtw-why__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:780px; margin:0 auto var(--space-3); }
.s-wtw-why__answer{ max-width:720px; margin:0 auto; color:var(--c-ink-soft); font-size:1.05rem; }

.s-wtw-framework{ background:var(--c-ink); }
.s-wtw-framework__grid{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin-top:var(--space-5); }
.c-framework-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(--radius-md); padding:var(--space-4); color:var(--c-paper);
  transition:transform .4s var(--ease);
}
.c-framework-card:hover{ transform:translateY(-6px); }
.c-framework-card i{ font-size:1.5rem; color:var(--c-accent); margin-bottom:var(--space-2); }
.c-framework-card h3{ color:var(--c-paper); font-size:1.1rem; margin-bottom:.4rem; }
.c-framework-card p{ font-size:.93rem; color:color-mix(in oklch, var(--c-paper), transparent 15%); }

.s-wtw-tie{ background:var(--c-paper); text-align:center; }
.s-wtw-tie__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.6vw, 2rem); max-width:780px; margin:0 auto var(--space-3); }
.s-wtw-tie__answer{ max-width:720px; margin:0 auto; color:var(--c-ink-soft); font-size:1.05rem; }


.s-contact-main{ background:var(--c-surface); }
.s-contact-main__grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:var(--space-6); align-items:start; }

.c-chatform{ background:var(--c-paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:var(--space-5); }
.c-chatform__bubble{
  background:var(--c-secondary-soft); color:var(--c-ink); border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;
  padding:var(--space-2) var(--space-3); max-width:85%; margin-bottom:var(--space-2); font-size:.98rem;
}
.c-chatform__row{ display:flex; justify-content:flex-end; margin-bottom:var(--space-3); }
.c-chatform__reply{
  width:85%; padding:.85rem 1.1rem; border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);
  border:1px solid var(--c-border); background:var(--c-primary-soft); font-family:var(--ff-body); font-size:.98rem;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease); min-height:44px;
}
.c-chatform__reply:focus{ outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px color-mix(in oklch, var(--c-primary), transparent 80%); }
textarea.c-chatform__reply{ resize:vertical; }
.c-chatform__row--check{ justify-content:flex-end; }
.c-chatform__checklabel{ display:flex; align-items:center; gap:.6rem; font-size:.92rem; color:var(--c-ink-soft); max-width:85%; }
.c-chatform__checklabel input{ width:20px; height:20px; accent-color:var(--c-primary); flex-shrink:0; }
.c-chatform__checklabel a{ color:var(--c-primary-dark); text-decoration:underline; }
.c-chatform__send{
  margin-top:var(--space-2); background:var(--c-primary); color:var(--c-paper); padding:.9rem 2rem;
  border-radius:var(--radius-full); font-family:var(--ff-heading); font-weight:600; display:inline-flex; gap:.6rem; align-items:center;
  transition:background .3s var(--ease), transform .3s var(--ease); min-height:44px;
}
.c-chatform__send:hover{ background:var(--c-primary-dark); transform:translateY(-2px); }

.s-contact-side{ display:flex; flex-direction:column; gap:var(--space-4); }
.c-contact-card{ background:var(--c-paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:var(--space-4); }
.c-contact-card h3{ margin-bottom:var(--space-3); }
.c-contact-card p{ display:flex; align-items:center; gap:.7rem; margin-bottom:.7rem; font-size:.98rem; }
.c-contact-card p i{ color:var(--c-primary); width:18px; }
.s-contact-side__img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); aspect-ratio:4/3; object-fit:cover; }

.s-news{ background:var(--c-paper); text-align:center; }
.s-news__question{ font-family:var(--ff-heading); font-weight:700; font-size:clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom:var(--space-2); }
.s-news__answer{ color:var(--c-ink-soft); max-width:640px; margin:0 auto var(--space-5); }
.s-news__grid{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); text-align:left; }
.c-news-card{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--radius-md); padding:var(--space-4); transition:transform .4s var(--ease); }
.c-news-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.c-news-card__date{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--c-primary-dark); font-weight:700; }
.c-news-card h3{ font-size:1.1rem; margin:.5rem 0; }
.c-news-card p{ color:var(--c-ink-soft); font-size:.94rem; }

.s-map{ background:var(--c-surface-alt); }
.s-map iframe{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }


.s-thanks{ min-height:90vh; display:flex; align-items:center; padding-top:calc(var(--section-pad) + 4rem); background:var(--c-surface); }
.s-thanks__inner{ text-align:center; max-width:680px; margin:0 auto; }
.c-quote-card{
  background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink)); color:var(--c-paper);
  border-radius:var(--radius-lg); padding:var(--space-6) var(--space-5); box-shadow:var(--shadow-lg); margin-bottom:var(--space-6);
  position:relative;
}
.c-quote-card__mark{ font-size:1.6rem; color:var(--c-accent); margin-bottom:var(--space-2); }
.c-quote-card__text{ font-family:var(--ff-heading); font-weight:600; font-size:clamp(1.3rem, 2.6vw, 1.7rem); line-height:1.4; margin-bottom:var(--space-3); }
.c-quote-card__attr{ font-size:.85rem; color:color-mix(in oklch, var(--c-paper), transparent 20%); }
.s-thanks__title{ font-size:clamp(1.8rem, 3vw, 2.4rem); margin-bottom:var(--space-2); }
.s-thanks__sub{ color:var(--c-ink-soft); margin-bottom:var(--space-4); }


.s-legal-header{ background:linear-gradient(135deg, var(--c-secondary-dark), var(--c-ink) 85%); color:var(--c-paper); padding:calc(var(--section-pad) + 4rem) 0 var(--space-5); text-align:center; }
.s-legal-header h1{ color:var(--c-paper); font-size:clamp(2rem, 4vw, 3rem); margin-bottom:var(--space-2); }
.s-legal-header p{ color:color-mix(in oklch, var(--c-paper), transparent 20%); }
.s-legal{ background:var(--c-paper); }
.c-legal-doc{ max-width:760px; margin:0 auto; }
.c-legal-doc h2{ font-size:1.35rem; margin:var(--space-5) 0 var(--space-2); }
.c-legal-doc p{ color:var(--c-ink-soft); margin-bottom:var(--space-2); font-size:1rem; }
.c-legal-doc__intro{ font-size:1.05rem; color:var(--c-ink); margin-bottom:var(--space-4); }
.c-legal-doc__nonum{ font-size:1.3rem; }
.c-term-box{
  display:block; background:var(--c-secondary-soft); border-left:3px solid var(--c-primary);
  border-radius:var(--radius-sm); padding:var(--space-2) var(--space-3); margin:var(--space-2) 0 var(--space-3);
  font-size:.9rem; color:var(--c-ink-soft);
}


.c-cookie-backdrop{
  position:fixed; inset:0; background:color-mix(in oklch, var(--c-ink), transparent 40%);
  backdrop-filter:blur(3px); z-index:2000; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .4s var(--ease); padding:var(--space-3);
}
.c-cookie-backdrop.is-active{ opacity:1; pointer-events:auto; }
.c-cookie-modal{
  background:var(--c-paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  max-width:520px; width:100%; padding:var(--space-5); transform:translateY(20px) scale(.97);
  transition:transform .4s var(--ease); max-height:90vh; overflow-y:auto;
}
.c-cookie-backdrop.is-active .c-cookie-modal{ transform:translateY(0) scale(1); }
.c-cookie-modal h2{ font-size:1.4rem; margin-bottom:var(--space-2); }
.c-cookie-modal__desc{ color:var(--c-ink-soft); font-size:.95rem; margin-bottom:var(--space-4); }
.c-cookie-modal__cat{
  display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3);
  padding:var(--space-3) 0; border-top:1px solid var(--c-border);
}
.c-cookie-modal__cat:first-of-type{ border-top:none; }
.c-cookie-modal__cat-info h4{ font-size:.98rem; margin-bottom:.2rem; }
.c-cookie-modal__cat-info p{ font-size:.85rem; color:var(--c-ink-soft); }
.c-switch{ position:relative; width:46px; height:26px; flex-shrink:0; margin-top:.2rem; }
.c-switch input{ opacity:0; width:0; height:0; }
.c-switch__slider{
  position:absolute; inset:0; background:var(--c-border); border-radius:var(--radius-full);
  cursor:pointer; transition:background .3s var(--ease);
}
.c-switch__slider::before{
  content:''; position:absolute; width:20px; height:20px; left:3px; top:3px; background:var(--c-paper);
  border-radius:50%; transition:transform .3s var(--ease); box-shadow:var(--shadow-sm);
}
.c-switch input:checked + .c-switch__slider{ background:var(--c-primary); }
.c-switch input:checked + .c-switch__slider::before{ transform:translateX(20px); }
.c-switch input:disabled + .c-switch__slider{ background:var(--c-secondary-light); cursor:not-allowed; opacity:.7; }
.c-cookie-modal__actions{ display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-4); }
.c-cookie-modal__actions .c-btn{ flex:1; min-width:140px; padding:.8rem 1.2rem; font-size:.9rem; }
.c-cookie-modal__link{ display:block; text-align:center; margin-top:var(--space-3); font-size:.85rem; color:var(--c-ink-soft); text-decoration:underline; }


@media (max-width: 980px){
  .c-nav__side, .c-nav__cta{ display:none; }
  .c-nav__toggle{ display:flex; }
  .s-philosophy__grid, .s-behaviour__grid, .s-tracking__grid, .s-agenda__grid, .s-schedule__grid, .s-location__grid, .s-contact-main__grid{
    grid-template-columns:1fr; gap:var(--space-5);
  }
  .s-behaviour__image, .s-agenda__image{ order:-1; }
  .c-footer__grid{ grid-template-columns:1fr 1fr; }
  .c-topic-row{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
  .u-container{ padding:0 var(--space-3); }
  section{ padding:var(--space-6) 0; }
  .s-hero__actions{ flex-direction:column; width:100%; }
  .s-hero__actions .c-btn{ width:100%; }
  .c-footer__grid{ grid-template-columns:1fr; padding:var(--space-5) var(--space-3) var(--space-3); }
  .s-hero__marquee-track span::after{ margin-left:1.5rem; }
  .s-hero__marquee-track{ gap:1.5rem; }
  .c-chatform{ padding:var(--space-3); }
  .c-chatform__reply, .c-chatform__checklabel{ width:100%; max-width:100%; }
  .c-cookie-modal__actions .c-btn{ min-width:100%; }
}