:root{
  --c-cream:#F6EFE3;
  --c-cream-dark:#ECE0C9;
  --c-white:#FFFCF5;
  --c-ink:#2A2420;
  --c-ink-soft:#5C5148;
  --c-rust:#C1552F;
  --c-rust-dark:#9E4325;
  --c-mustard:#D9A441;
  --c-sage:#6E7A54;
  --c-border: rgba(42,36,32,.14);

  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-5:3rem; --sp-6:4.5rem; --sp-7:6.5rem; --sp-8:9rem;

  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-full:999px;

  --shadow-sm: 0 1px 2px rgba(42,36,32,.08), 0 2px 5px rgba(42,36,32,.06);
  --shadow-md: 0 4px 10px rgba(42,36,32,.08), 0 12px 26px rgba(42,36,32,.10);
  --shadow-lg: 0 10px 22px rgba(42,36,32,.10), 0 26px 52px rgba(42,36,32,.16);
  --shadow-polaroid: 0 6px 14px rgba(42,36,32,.16), 0 20px 38px rgba(42,36,32,.14);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Inter',sans-serif;
  background:var(--c-cream);
  color:var(--c-ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--c-ink);
  line-height:1.15;
  margin:0 0 var(--sp-2);
  font-weight:800;
  letter-spacing:-0.01em;
}
h1{ font-size:clamp(2.4rem,3.6vw + 1.2rem,4.4rem); }
h2{ font-size:clamp(1.9rem,2.2vw + 1.1rem,2.9rem); }
h3{ font-size:clamp(1.25rem,.9vw + 1rem,1.6rem); font-weight:700; }
p{ margin:0 0 var(--sp-2); color:var(--c-ink-soft); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
table{ border-collapse:collapse; width:100%; }

.u-hidden{ display:none !important; }
.u-noscroll{ overflow:hidden; }
.u-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.u-reveal.is-visible{ opacity:1; transform:translateY(0); }

.c-eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-rust);
  margin-bottom:var(--sp-2);
}
.c-eyebrow--dark{ color:var(--c-sage); }


.c-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.95rem 1.7rem;
  border-radius:var(--r-full);
  font-weight:600;
  font-size:.98rem;
  border:2px solid transparent;
  transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  min-height:44px;
  white-space:nowrap;
}
.c-btn--primary{ background:var(--c-rust); color:var(--c-white); box-shadow:var(--shadow-sm); }
.c-btn--primary:hover{ background:var(--c-rust-dark); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.c-btn--ghost{ background:transparent; color:var(--c-ink); border-color:var(--c-ink); }
.c-btn--ghost:hover{ background:var(--c-ink); color:var(--c-cream); transform:translateY(-3px); }
.c-btn--lg{ padding:1.15rem 2.4rem; font-size:1.05rem; }
.c-btn--full{ width:100%; }
.c-btn--ghost-sm{ background:transparent; border:2px solid var(--c-border); color:var(--c-ink); padding:.6rem 1.1rem; font-size:.85rem; border-radius:var(--r-full); transition:all .3s var(--ease); }
.c-btn--ghost-sm:hover{ border-color:var(--c-ink); }
.c-btn--primary-sm{ background:var(--c-rust); color:var(--c-white); padding:.6rem 1.2rem; font-size:.85rem; border-radius:var(--r-full); transition:all .3s var(--ease); }
.c-btn--primary-sm:hover{ background:var(--c-rust-dark); transform:translateY(-2px); }

.c-link{ font-weight:600; color:var(--c-rust); display:inline-flex; align-items:center; gap:.4rem; position:relative; transition:gap .3s var(--ease), color .3s var(--ease); }
.c-link:hover{ gap:.7rem; color:var(--c-rust-dark); }


.c-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .45s var(--ease), backdrop-filter .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}
.c-nav.is-scrolled{
  background:rgba(246,239,227,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(42,36,32,.1);
  box-shadow:0 6px 22px rgba(42,36,32,.06);
}
.c-nav__inner{
  max-width:1240px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.2rem 1.5rem;
}
.c-nav__brand{ display:flex; align-items:center; gap:.6rem; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.2rem; }
.c-nav__logo{ width:34px; height:34px; }
.c-nav__links{ display:flex; align-items:center; gap:1.9rem; }
.c-nav__links a{
  font-size:.95rem; font-weight:500; color:var(--c-ink); position:relative; padding:.3rem 0;
  transition:color .3s var(--ease);
}
.c-nav__links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--c-rust);
  transition:width .35s var(--ease);
}
.c-nav__links a:hover::after, .c-nav__links a.is-active::after{ width:100%; }
.c-nav__links a.is-active{ color:var(--c-rust); }
.c-nav__cta{ margin-left:1rem; }
.c-nav__toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; background:transparent; border:none; z-index:210; position:relative;
}
.c-nav__toggle span{ width:24px; height:2px; background:var(--c-ink); margin:0 auto; transition:transform .35s var(--ease), opacity .35s var(--ease); }
.c-nav__toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.c-nav__toggle.is-active span:nth-child(2){ opacity:0; }
.c-nav__toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.c-nav__mobile{
  position:fixed; inset:0; z-index:200;
  background:var(--c-ink);
  clip-path:circle(0px at var(--x,90%) var(--y,4%));
  transition:clip-path .65s var(--ease);
  pointer-events:none;
  display:flex; align-items:center; justify-content:center;
}
.c-nav__mobile.is-open{ clip-path:circle(150% at var(--x,90%) var(--y,4%)); pointer-events:auto; }
.c-nav__mobile-links{ display:flex; flex-direction:column; align-items:center; gap:1.8rem; }
.c-nav__mobile-links a{
  color:var(--c-cream); font-family:'Plus Jakarta Sans',sans-serif; font-size:1.7rem; font-weight:700;
  opacity:0; transform:translateY(16px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.c-nav__mobile.is-open .c-nav__mobile-links a{ opacity:1; transform:translateY(0); }
.c-nav__mobile.is-open .c-nav__mobile-links a:nth-child(1){ transition-delay:.15s; }
.c-nav__mobile.is-open .c-nav__mobile-links a:nth-child(2){ transition-delay:.22s; }
.c-nav__mobile.is-open .c-nav__mobile-links a:nth-child(3){ transition-delay:.29s; }
.c-nav__mobile.is-open .c-nav__mobile-links a:nth-child(4){ transition-delay:.36s; }
.c-nav__mobile.is-open .c-nav__mobile-links a:nth-child(5){ transition-delay:.43s; }


.s-hero{ padding:8.5rem 1.5rem 4rem; }
.s-hero__inner{
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:2rem; align-items:center;
}
.s-hero__content{ position:relative; z-index:2; background:var(--c-cream); padding-right:1rem; }
.s-hero__title{ margin-bottom:var(--sp-3); }
.s-hero__lead{ font-size:1.1rem; max-width:46ch; margin-bottom:var(--sp-4); }
.s-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:var(--sp-4); }
.s-hero__meta{ display:flex; flex-wrap:wrap; gap:1.6rem; font-size:.9rem; color:var(--c-ink-soft); }
.s-hero__meta div{ display:flex; align-items:center; gap:.5rem; }
.s-hero__meta i{ color:var(--c-rust); }
.s-hero__image{ position:relative; display:flex; justify-content:center; margin-left:-2.5rem; }

@media (max-width:900px){
  .s-hero__inner{ grid-template-columns:1fr; }
  .s-hero__image{ margin-left:0; margin-top:1rem; order:-1; }
  .s-hero__content{ padding-right:0; }
}


.c-polaroid{
  display:inline-block; background:var(--c-white);
  padding:14px 14px 46px; border-radius:4px;
  box-shadow:var(--shadow-polaroid);
  transform:rotate(var(--rot,-3deg));
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  max-width:100%;
}
.c-polaroid:hover{ transform:rotate(0deg) scale(1.02) translateY(-4px); box-shadow:0 16px 30px rgba(42,36,32,.2), 0 34px 60px rgba(42,36,32,.18); }
.c-polaroid img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:2px; filter:saturate(1.08) sepia(.12) contrast(1.03); }
.c-polaroid figcaption{ font-family:'Caveat',cursive; font-size:1.3rem; text-align:center; margin-top:.6rem; color:var(--c-ink-soft); }
.c-polaroid--float{ max-width:340px; }
.c-polaroid--wide img{ aspect-ratio:16/10; }
.c-polaroid--challenge{ max-width:280px; }


.s-problem{ padding:var(--sp-7) 1.5rem; background:var(--c-cream-dark); }
.s-problem__inner{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:center; }
.s-problem__text p{ max-width:56ch; }
@media (max-width:900px){ .s-problem__inner{ grid-template-columns:1fr; } .s-problem__text{ order:1; } .s-problem__inner figure{ order:0; justify-self:center; } }


.s-skills{ padding:var(--sp-7) 1.5rem var(--sp-5); }
.s-skills__head{ max-width:700px; margin:0 auto var(--sp-6); text-align:center; }
.s-skills__head p{ max-width:56ch; margin-left:auto; margin-right:auto; }

.c-cascade{ max-width:1240px; margin:0 auto; display:flex; flex-direction:column; gap:var(--sp-4); }
.c-cascade__item{ margin-top:0; }
@media (min-width:900px){
  .c-cascade__item{
    margin-left:calc(var(--i,0) * 2.6rem);
    margin-top:calc(var(--i,0) * -0.6rem);
  }
}
.c-card{
  background:var(--c-white); border-radius:var(--r-lg); padding:var(--sp-4);
  box-shadow:var(--shadow-md); position:relative; max-width:760px;
  display:grid; grid-template-columns:auto 1fr; gap:1.4rem; align-items:start;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.c-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.c-card__num{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.6rem; color:var(--c-mustard);
  grid-row:1/2;
}
.c-card__media{ grid-column:1/-1; border-radius:var(--r-md); overflow:hidden; margin-bottom:.6rem; }
.c-card__media img{ width:100%; height:180px; object-fit:cover; filter:saturate(1.05) sepia(.08); transition:transform .5s var(--ease); }
.c-card:hover .c-card__media img{ transform:scale(1.04); }
.c-card h3{ grid-column:1/-1; margin-top:.2rem; }
.c-card p{ grid-column:1/-1; margin-bottom:0; }


.s-format{ padding:var(--sp-7) 1.5rem; background:var(--c-cream-dark); }
.s-format__head{ max-width:700px; margin:0 auto var(--sp-6); text-align:center; }
.c-cascade--sessions{ margin-bottom:var(--sp-6); }
.c-session{
  background:var(--c-ink); color:var(--c-cream); border-radius:var(--r-lg);
  padding:var(--sp-4); max-width:760px; box-shadow:var(--shadow-md);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.c-session:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.c-session__tag{ display:inline-block; background:var(--c-rust); color:var(--c-white); font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:.35rem .9rem; border-radius:var(--r-full); margin-bottom:1rem; }
.c-session h3{ color:var(--c-cream); }
.c-session p{ color:#D8CFC3; }
.c-session__media{ margin-top:1.2rem; border-radius:var(--r-md); overflow:hidden; }
.c-session__media img{ width:100%; height:220px; object-fit:cover; filter:saturate(1.05) sepia(.1); }

.c-challenge{
  max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:2.5rem; align-items:center;
  background:var(--c-white); border-radius:var(--r-xl); padding:var(--sp-5); box-shadow:var(--shadow-md);
}
.c-challenge__text h3{ display:flex; align-items:center; gap:.6rem; }
.c-challenge__text i{ color:var(--c-rust); }
@media (max-width:800px){ .c-challenge{ grid-template-columns:1fr; text-align:center; } .c-challenge figure{ justify-self:center; } }


.s-audience{ padding:var(--sp-7) 1.5rem; }
.s-audience__inner{ max-width:900px; margin:0 auto; }
.c-checklist{ margin-top:var(--sp-3); display:flex; flex-direction:column; gap:1rem; }
.c-checklist li{ display:flex; align-items:flex-start; gap:.8rem; font-size:1.02rem; color:var(--c-ink-soft); }
.c-checklist i{ color:var(--c-sage); margin-top:.3rem; }


.s-crosslinks{ padding:var(--sp-6) 1.5rem; background:var(--c-cream-dark); }
.s-crosslinks__inner{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.c-crosscard{
  background:var(--c-white); border-radius:var(--r-lg); padding:var(--sp-4); box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.c-crosscard:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
@media (max-width:800px){ .s-crosslinks__inner{ grid-template-columns:1fr; } }


.s-faq{ padding:var(--sp-7) 1.5rem; }
.s-faq__head{ max-width:700px; margin:0 auto var(--sp-5); text-align:center; }
.c-accordion{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1rem; }
.c-accordion__item{
  background:var(--c-white); border-radius:var(--r-md); padding:1.2rem 1.5rem; box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease);
}
.c-accordion__item:hover{ box-shadow:var(--shadow-md); }
.c-accordion__item summary{ cursor:pointer; font-weight:700; font-family:'Plus Jakarta Sans',sans-serif; list-style:none; position:relative; padding-right:2rem; }
.c-accordion__item summary::-webkit-details-marker{ display:none; }
.c-accordion__item summary::after{ content:'+'; position:absolute; right:0; top:0; font-size:1.3rem; color:var(--c-rust); transition:transform .3s var(--ease); }
.c-accordion__item[open] summary::after{ transform:rotate(45deg); }
.c-accordion__item p{ margin-top:.8rem; margin-bottom:0; }


.s-cta{ padding:var(--sp-7) 1.5rem; background:var(--c-ink); color:var(--c-cream); text-align:center; }
.s-cta__inner{ max-width:640px; margin:0 auto; }
.s-cta h2{ color:var(--c-cream); }
.s-cta p{ color:#D8CFC3; margin-bottom:var(--sp-4); }


.s-page-hero{ padding:9rem 1.5rem 3.5rem; }
.s-page-hero__inner{ max-width:800px; margin:0 auto; text-align:center; }
.s-page-hero__lead{ font-size:1.1rem; max-width:60ch; margin:0 auto; }


.s-belief{ padding:var(--sp-6) 1.5rem; }
.s-belief--reverse{ background:var(--c-cream-dark); }
.s-belief__inner{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:2.8rem; align-items:center; }
.s-belief--reverse .s-belief__inner{ grid-template-columns:1.15fr .85fr; }
.s-belief--reverse .s-belief__inner figure{ order:2; }
.s-belief__text p{ max-width:56ch; }
@media (max-width:850px){
  .s-belief__inner, .s-belief--reverse .s-belief__inner{ grid-template-columns:1fr; }
  .s-belief--reverse .s-belief__inner figure{ order:0; }
  .s-belief__inner figure{ justify-self:center; }
}

.s-approach-summary{ padding:var(--sp-6) 1.5rem var(--sp-7); text-align:center; background:var(--c-ink); color:var(--c-cream); }
.s-approach-summary__inner{ max-width:700px; margin:0 auto; }
.s-approach-summary h2{ color:var(--c-cream); }
.s-approach-summary p{ color:#D8CFC3; margin-bottom:var(--sp-4); }


.s-lesson-preview{ padding:var(--sp-6) 1.5rem; }
.s-lesson-preview__inner{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:2.5rem; align-items:center; }
.s-lesson-preview__text p{ max-width:56ch; }
@media (max-width:850px){ .s-lesson-preview__inner{ grid-template-columns:1fr; } }

.s-lesson-detail{ padding:var(--sp-6) 1.5rem; }
.s-lesson-detail--alt{ background:var(--c-cream-dark); }
.s-lesson-detail__head{ max-width:700px; margin:0 auto var(--sp-4); text-align:center; }

.c-worksheet{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1rem; }
.c-worksheet__row{
  background:var(--c-white); border-radius:var(--r-md); padding:1.2rem 1.5rem; box-shadow:var(--shadow-sm);
  display:grid; grid-template-columns:180px 1fr; gap:1rem;
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.c-worksheet__row:hover{ box-shadow:var(--shadow-md); transform:translateX(4px); }
.c-worksheet__label{ font-weight:700; color:var(--c-rust); font-family:'Plus Jakarta Sans',sans-serif; }
.c-worksheet__value{ color:var(--c-ink-soft); }
@media (max-width:650px){ .c-worksheet__row{ grid-template-columns:1fr; } }

.c-table-wrap{ max-width:820px; margin:0 auto; }
.c-table{ background:var(--c-white); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); }
.c-table th, .c-table td{ padding:.9rem 1.1rem; text-align:left; border-bottom:1px solid var(--c-border); font-size:.95rem; }
.c-table th{ background:var(--c-cream-dark); font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; }
.c-table tr:last-child td{ border-bottom:none; }
.c-table-note{ margin-top:1rem; font-size:.9rem; font-style:italic; }


.s-audit-intro{ padding:var(--sp-6) 1.5rem; }
.s-audit-intro__inner{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:2.8rem; align-items:center; }
@media (max-width:850px){ .s-audit-intro__inner{ grid-template-columns:1fr; } .s-audit-intro__inner figure{ justify-self:center; } }
.s-audit-categories{ padding:var(--sp-6) 1.5rem; background:var(--c-cream-dark); }
.s-audit-categories__head{ max-width:700px; margin:0 auto var(--sp-5); text-align:center; }
.s-audit-howto{ padding:var(--sp-6) 1.5rem; }
.s-audit-howto__head{ max-width:700px; margin:0 auto var(--sp-4); text-align:center; }
.s-audit-note{ padding:var(--sp-6) 1.5rem var(--sp-7); text-align:center; background:var(--c-ink); color:var(--c-cream); }
.s-audit-note__inner{ max-width:700px; margin:0 auto; }
.s-audit-note h2{ color:var(--c-cream); }
.s-audit-note p{ color:#D8CFC3; margin-bottom:var(--sp-3); }
.s-audit-note .c-link{ color:var(--c-mustard); }


.s-contact{ padding:0 1.5rem var(--sp-7); }
.s-contact__inner{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:2.5rem; align-items:start; }
@media (max-width:900px){ .s-contact__inner{ grid-template-columns:1fr; } }
.c-form-card{ background:var(--c-white); border-radius:var(--r-lg); padding:var(--sp-4); box-shadow:var(--shadow-md); }
.c-form__group{ margin-bottom:1.2rem; }
.c-form__group label{ display:block; font-weight:600; margin-bottom:.4rem; font-size:.92rem; }
.c-form__group input, .c-form__group textarea{
  width:100%; padding:.85rem 1rem; border-radius:var(--r-sm); border:1.5px solid var(--c-border);
  background:var(--c-cream); font-family:'Inter',sans-serif; font-size:.98rem; color:var(--c-ink);
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
  min-height:44px;
}
.c-form__group textarea{ resize:vertical; min-height:120px; }
.c-form__group input:focus, .c-form__group textarea:focus{ outline:none; border-color:var(--c-rust); box-shadow:0 0 0 4px rgba(193,85,47,.12); }
.c-form__group input.is-error, .c-form__group textarea.is-error{ border-color:#B23A2E; }
.c-form__check{ display:flex; align-items:flex-start; gap:.7rem; margin-bottom:1.4rem; font-size:.9rem; }
.c-form__check input{ margin-top:.25rem; width:20px; height:20px; accent-color:var(--c-rust); flex-shrink:0; }
.c-form__check.is-error label{ color:#B23A2E; }
.c-contact-info h2{ margin-bottom:1rem; }
.c-contact-info p{ display:flex; align-items:center; gap:.7rem; margin-bottom:.9rem; }
.c-contact-info i{ color:var(--c-rust); width:18px; }
.c-map-wrap{ margin-top:1.4rem; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); }

.s-gallery{ padding:var(--sp-6) 1.5rem var(--sp-7); background:var(--c-cream-dark); }
.s-gallery__head{ max-width:700px; margin:0 auto var(--sp-5); text-align:center; }
.c-gallery-cascade{ max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; gap:2.2rem; }


.s-thanks{ padding:9rem 1.5rem var(--sp-7); }
.s-thanks__inner{ max-width:640px; margin:0 auto; text-align:center; }
.c-timeline{ margin-top:var(--sp-6); text-align:left; display:flex; flex-direction:column; gap:0; }
.c-timeline__item{ display:flex; gap:1.2rem; position:relative; padding-bottom:2.4rem; }
.c-timeline__item:last-child{ padding-bottom:0; }
.c-timeline__item::before{
  content:''; position:absolute; left:20px; top:44px; bottom:0; width:2px; background:var(--c-border);
}
.c-timeline__item:last-child::before{ display:none; }
.c-timeline__dot{
  width:42px; height:42px; border-radius:50%; background:var(--c-white); border:2px solid var(--c-border);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--c-ink-soft);
  transition:all .3s var(--ease);
}
.c-timeline__item.is-done .c-timeline__dot{ background:var(--c-sage); border-color:var(--c-sage); color:#fff; }
.c-timeline__item.is-current .c-timeline__dot{ background:var(--c-rust); border-color:var(--c-rust); box-shadow:0 0 0 6px rgba(193,85,47,.15); }
.c-timeline__item.is-upcoming .c-timeline__dot{ color:#B8AEA1; }
.c-timeline__item.is-upcoming h3, .c-timeline__item.is-upcoming p{ color:#9E9385; }
.c-timeline__text h3{ margin-bottom:.3rem; }
.c-timeline__text p{ margin-bottom:0; }


.s-legal{ padding:9rem 1.5rem var(--sp-7); }
.s-legal__inner{ max-width:780px; margin:0 auto; }
.s-legal__intro{ font-size:1.05rem; margin-bottom:var(--sp-4); }
.s-legal h2{ margin-top:var(--sp-5); font-size:1.5rem; }
.s-legal table{ margin:1.2rem 0; }


.c-sidebar-cta{ position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:80; }
.c-sidebar-cta__link{
  display:flex; align-items:center; gap:.6rem; background:var(--c-rust); color:var(--c-white);
  padding:1rem .9rem; border-radius:var(--r-md) 0 0 var(--r-md); box-shadow:var(--shadow-md);
  writing-mode:vertical-rl; text-orientation:mixed; font-weight:600; font-size:.9rem;
  transition:padding .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
}
.c-sidebar-cta__link:hover{ background:var(--c-rust-dark); padding-right:1.3rem; transform:translateX(-4px); }
.c-sidebar-cta__link i{ writing-mode:horizontal-tb; }
@media (max-width:750px){
  .c-sidebar-cta{ top:auto; bottom:6.6rem; right:1rem; transform:none; }
  .c-sidebar-cta__link{ writing-mode:horizontal-tb; border-radius:var(--r-full); padding:.8rem 1.1rem; }
  .c-sidebar-cta__link span{ display:none; }
}


.c-footer{ background:var(--c-ink); color:var(--c-cream); }
.c-footer__quote{ padding:var(--sp-6) 1.5rem; border-bottom:1px solid rgba(246,239,227,.12); }
.c-footer__quote-inner{ max-width:780px; margin:0 auto; text-align:center; }
.c-footer__quote-inner i{ color:var(--c-mustard); font-size:1.6rem; margin-bottom:1rem; }
.c-footer__quote-inner p{ font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(1.3rem,1.6vw + 1rem,1.9rem); font-weight:700; color:var(--c-cream); line-height:1.4; margin-bottom:1rem; }
.c-footer__quote-inner span{ font-family:'Caveat',cursive; font-size:1.3rem; color:#C9BFAF; }
.c-footer__main{
  max-width:1240px; margin:0 auto; padding:var(--sp-5) 1.5rem;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.5rem;
}
.c-footer__col h4{ color:var(--c-cream); font-size:1rem; margin-bottom:1rem; }
.c-footer__col a{ display:block; color:#C9BFAF; margin-bottom:.7rem; font-size:.93rem; transition:color .3s var(--ease); }
.c-footer__col a:hover{ color:var(--c-mustard); }
.c-footer__brand p{ color:#C9BFAF; font-size:.92rem; margin-top:1rem; max-width:32ch; }
.c-footer__col p{ color:#C9BFAF; font-size:.9rem; display:flex; align-items:center; gap:.5rem; margin-bottom:.7rem; }
.c-footer__col i{ color:var(--c-mustard); }
.c-footer__bottom{ border-top:1px solid rgba(246,239,227,.12); padding:1.4rem 1.5rem; text-align:center; }
.c-footer__bottom p{ color:#B8AEA1; font-size:.83rem; margin:0; }
@media (max-width:900px){ .c-footer__main{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .c-footer__main{ grid-template-columns:1fr; } }


.c-cookie{
  position:fixed; bottom:1.2rem; left:50%; transform:translateX(-50%);
  width:min(94vw, 460px); background:var(--c-white); border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg); z-index:300; padding:1.3rem 1.5rem;
  transition:width .5s var(--ease), max-height .5s var(--ease), padding .5s var(--ease);
  max-height:220px; overflow:hidden;
  opacity:0; pointer-events:none; visibility:hidden;
}
.c-cookie.is-visible{ opacity:1; pointer-events:auto; visibility:visible; transition:opacity .5s var(--ease), width .5s var(--ease), max-height .5s var(--ease); }
.c-cookie.is-expanded{ width:min(94vw, 560px); max-height:640px; }
.c-cookie__compact p{ font-size:.88rem; margin-bottom:1rem; }
.c-cookie__compact a{ color:var(--c-rust); font-weight:600; }
.c-cookie__actions{ display:flex; gap:.8rem; justify-content:flex-end; }
.c-cookie__panel{ display:none; opacity:0; transition:opacity .4s var(--ease); }
.c-cookie.is-expanded .c-cookie__compact{ display:none; }
.c-cookie.is-expanded .c-cookie__panel{ display:block; opacity:1; }
.c-cookie__panel h3{ margin-bottom:.5rem; }
.c-cookie__panel > p{ font-size:.86rem; margin-bottom:1.1rem; }
.c-cookie__row{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.8rem 0; border-top:1px solid var(--c-border); }
.c-cookie__row div{ flex:1; }
.c-cookie__row strong{ display:block; font-size:.92rem; margin-bottom:.2rem; }
.c-cookie__row span{ font-size:.82rem; color:var(--c-ink-soft); }
.c-cookie__panel-actions{ display:flex; gap:.8rem; justify-content:flex-end; margin-top:1.2rem; flex-wrap:wrap; }

.c-switch{ position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.c-switch input{ opacity:0; width:0; height:0; }
.c-switch span{ position:absolute; inset:0; background:var(--c-border); border-radius:var(--r-full); transition:background .3s var(--ease); }
.c-switch span::before{ content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:var(--c-white); border-radius:50%; transition:transform .3s var(--ease); box-shadow:var(--shadow-sm); }
.c-switch input:checked + span{ background:var(--c-sage); }
.c-switch input:checked + span::before{ transform:translateX(18px); }
.c-switch input:disabled + span{ background:var(--c-mustard); opacity:.7; }

@media (max-width:520px){
  .c-cookie__actions, .c-cookie__panel-actions{ flex-direction:column; align-items:stretch; }
}