:root{
  --cream: #FAF5EC;
  --cream-2: #F1E6D2;
  --ink: #241C16;
  --ink-soft: #5B4E40;
  --espresso: #2A2018;
  --espresso-2: #382A1E;
  --terracotta: #C4622D;
  --terracotta-dark: #9C4B20;
  --olive: #6E7B4F;
  --gold: #E3A857;
  --white-soft: #FFFDF8;
  --border-soft: rgba(36,28,22,0.1);

  --shadow-sm: 0 1px 2px rgba(36,28,22,0.08), 0 1px 1px rgba(36,28,22,0.05);
  --shadow-md: 0 6px 14px rgba(36,28,22,0.10), 0 2px 6px rgba(36,28,22,0.08);
  --shadow-lg: 0 16px 32px rgba(36,28,22,0.16), 0 6px 12px rgba(36,28,22,0.10);
  --shadow-xl: 0 28px 56px rgba(36,28,22,0.20), 0 10px 20px rgba(36,28,22,0.12);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 30px;
  --radius-xl: 48px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Outfit', sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
button{font-family:inherit; cursor:pointer;}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

h1,h2,h3,h4{font-family:'Outfit', sans-serif; margin:0; font-weight:700; color:var(--ink);}

.body-text{font-size:1.02rem; color:var(--ink-soft); margin-bottom:1.1rem;}


.nav{
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  transition: background 0.4s ease, backdrop-filter 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
  border-bottom:1px solid transparent;
}
.nav--scrolled{
  background:rgba(250,245,236,0.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(36,28,22,0.08);
  box-shadow:var(--shadow-sm);
}
.nav__inner{
  max-width:1280px; margin:0 auto; padding:1.1rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.nav__brand{display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.15rem; color:var(--ink);}
.nav--scrolled .nav__brand{color:var(--ink);}
.nav__brand-mark{width:34px; height:34px;}
.nav__list{display:flex; gap:1.9rem; align-items:center;}
.nav__link{font-size:.95rem; font-weight:500; color:var(--ink); opacity:.85; position:relative; padding:.3rem 0; transition:opacity .3s ease, color .3s ease;}
.nav__link:hover{opacity:1; color:var(--terracotta-dark);}
.nav__link--active{opacity:1;}
.nav__link--active::after{content:''; position:absolute; bottom:-4px; left:0; width:100%; height:2px; background:var(--terracotta); border-radius:2px;}
.nav__cta{padding:.65rem 1.3rem; font-size:.9rem;}
.nav__toggle{
  display:none; background:var(--ink); color:var(--cream); width:44px; height:44px; border-radius:var(--radius-sm);
  align-items:center; justify-content:center; font-size:1.1rem; border:none; box-shadow:var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
}
.nav__toggle:hover{transform:translateY(-2px); box-shadow:var(--shadow-md);}

@media (max-width:920px){
  .nav__list, .nav__cta{display:none;}
  .nav__toggle{display:flex;}
}


.sheet-backdrop{
  position:fixed; inset:0; background:rgba(36,28,22,0.5); z-index:1400;
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.sheet-backdrop--open{opacity:1; pointer-events:auto;}
.sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:1500;
  background:var(--white-soft);
  border-radius:28px 28px 0 0;
  box-shadow:var(--shadow-xl);
  transform:translateY(100%);
  transition:transform .4s cubic-bezier(.32,.72,0,1);
  padding:.8rem 1.5rem 2.2rem;
}
.sheet--open{transform:translateY(0);}
.sheet__handle{
  width:44px; height:5px; background:var(--border-soft); border-radius:10px; margin:.6rem auto 1.3rem;
}
.sheet__list{display:flex; flex-direction:column; gap:.4rem;}
.sheet__link{
  display:flex; align-items:center; gap:.9rem; padding:1rem 1rem; border-radius:var(--radius-md);
  font-weight:600; font-size:1.02rem; color:var(--ink); transition:background .25s ease;
}
.sheet__link i{width:20px; color:var(--terracotta); font-size:1.05rem;}
.sheet__link:hover{background:var(--cream-2);}


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.7rem; border-radius:var(--radius-sm); font-weight:600; font-size:.95rem;
  border:1px solid transparent; transition:transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
  min-height:44px;
}
.btn--primary{background:var(--terracotta); color:var(--white-soft); box-shadow:var(--shadow-md);}
.btn--primary:hover{background:var(--terracotta-dark); transform:translateY(-3px); box-shadow:var(--shadow-lg);}
.btn--outline{background:transparent; color:var(--ink); border-color:var(--border-soft);}
.btn--outline:hover{border-color:var(--terracotta); color:var(--terracotta-dark); transform:translateY(-2px);}
.btn--ghost{background:transparent; color:var(--white-soft); border-color:rgba(255,253,248,0.4);}
.btn--ghost:hover{background:rgba(255,253,248,0.12); transform:translateY(-2px);}
.btn--ghost-dark{color:var(--white-soft); border-color:rgba(255,253,248,0.5);}
.btn--ghost-solid{background:var(--cream-2); color:var(--ink);}
.btn--ghost-solid:hover{background:var(--cream); transform:translateY(-2px);}


.hero{position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; padding-top:6rem;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
}
.hero__bg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0;}
.hero__overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(120deg, rgba(42,32,24,0.94) 35%, rgba(42,32,24,0.72) 65%, rgba(42,32,24,0.42) 100%);
  mask-image: radial-gradient(circle at 82% 38%, transparent 130px, black 133px);
  -webkit-mask-image: radial-gradient(circle at 82% 38%, transparent 130px, black 133px);
}
.hero__content{position:relative; z-index:2; max-width:680px; padding:5rem 0;}
.hero__title{font-size:clamp(2.2rem, 5vw, 3.6rem); line-height:1.15; color:var(--white-soft); font-weight:700; margin-bottom:1.4rem;}
.hero__title-highlight{
  background:linear-gradient(90deg, var(--gold), var(--terracotta));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__subtitle{color:rgba(255,253,248,0.86); font-size:1.08rem; max-width:560px; margin-bottom:2rem;}
.hero__actions{display:flex; gap:1rem; flex-wrap:wrap;}

@media (max-width:760px){
  .hero{min-height:auto; padding-bottom:4rem; clip-path:polygon(0 0, 100% 0, 100% 96%, 0 100%);}
  .hero__overlay{mask-image:none; -webkit-mask-image:none; background:linear-gradient(140deg, rgba(42,32,24,0.94), rgba(42,32,24,0.8));}
}


.page-hero{position:relative; min-height:56vh; display:flex; align-items:flex-end; overflow:hidden; padding-top:6rem;
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}
.page-hero--short{min-height:44vh;}
.page-hero__bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.page-hero__mask{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,32,24,0.55) 0%, rgba(42,32,24,0.92) 100%);
  mask-image: radial-gradient(circle at 88% 20%, transparent 90px, black 92px);
  -webkit-mask-image: radial-gradient(circle at 88% 20%, transparent 90px, black 92px);
}
.page-hero__content{position:relative; z-index:2; padding:3.5rem 0; max-width:720px;}
.page-hero__title{font-size:clamp(1.9rem, 4vw, 2.9rem); color:var(--white-soft); font-weight:700; margin-bottom:1rem; line-height:1.2;}
.page-hero__subtitle{color:rgba(255,253,248,0.85); font-size:1.03rem; max-width:560px;}

@media (max-width:760px){
  .page-hero__mask{mask-image:none; -webkit-mask-image:none;}
}


.marquee{
  background:var(--ink); overflow:hidden; padding:1rem 0; position:relative; z-index:2;
  border-top:1px solid rgba(255,253,248,0.08); border-bottom:1px solid rgba(255,253,248,0.08);
}
.marquee__track{display:flex; gap:2.5rem; width:max-content; animation:marquee-scroll 32s linear infinite;}
.marquee__item{
  color:var(--cream); font-weight:600; font-size:.95rem; letter-spacing:.02em; white-space:nowrap;
  display:flex; align-items:center; gap:.6rem;
}
.marquee__item::before{content:'\2726'; color:var(--gold);}
@keyframes marquee-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}


.section{padding:6rem 0;}
.section--transition{padding-top:5rem; margin-top:-2px;}
.section--alt{background:var(--cream-2);}
.section--dark{background:var(--espresso); color:var(--cream);}
.section--dark .body-text{color:rgba(250,245,236,0.8);}

.section__header{max-width:720px; margin:0 auto 3rem; text-align:center;}
.section__eyebrow{
  display:inline-block; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em;
  color:var(--terracotta-dark); margin-bottom:.8rem;
}
.section__eyebrow--light{color:var(--gold);}
.section__title{font-size:clamp(1.7rem, 3.4vw, 2.5rem); line-height:1.25; margin-bottom:1rem;}
.section__title--light{color:var(--white-soft);}
.section__subtitle{color:var(--ink-soft); font-size:1.02rem; max-width:640px; margin:0 auto;}
.section__subtitle--light{color:rgba(255,253,248,0.82); margin:0 0 1rem;}


.cards-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1.6rem;
}
.cards-grid--two{grid-template-columns:repeat(2, 1fr);}
@media (max-width:980px){.cards-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:600px){.cards-grid, .cards-grid--two{grid-template-columns:1fr;}}

.card{
  background:var(--white-soft); border-radius:var(--radius-lg); padding:2rem 1.7rem;
  box-shadow:var(--shadow-md); border:1px solid rgba(36,28,22,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.card__icon{
  width:52px; height:52px; border-radius:var(--radius-sm); background:linear-gradient(135deg, var(--terracotta), var(--gold));
  color:var(--white-soft); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.2rem;
  box-shadow:var(--shadow-sm);
}
.card__title{font-size:1.15rem; margin-bottom:.6rem;}
.card__body{color:var(--ink-soft); font-size:.96rem;}

.session__card{
  background:var(--white-soft); border-radius:var(--radius-lg); padding:2rem 1.7rem;
  box-shadow:var(--shadow-md); border-top:4px solid var(--terracotta);
  transition:transform .35s ease, box-shadow .35s ease;
}
.session__card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.session__index{display:inline-block; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--terracotta-dark); margin-bottom:.6rem;}


.workflow{display:flex; gap:0; align-items:flex-start; justify-content:space-between; margin-top:1rem;}
.workflow--vertical{flex-direction:column; gap:2.2rem;}
.workflow__step{
  flex:1; background:rgba(255,253,248,0.05); border:1px solid rgba(255,253,248,0.12);
  border-radius:var(--radius-lg); padding:1.8rem 1.4rem; position:relative;
}
.section--dark .workflow__step{background:rgba(255,253,248,0.06);}
.section:not(.section--dark) .workflow__step{background:var(--white-soft); border:1px solid rgba(36,28,22,0.06); box-shadow:var(--shadow-md);}
.workflow__number{
  width:46px; height:46px; border-radius:50%; background:var(--terracotta); color:var(--white-soft);
  display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:1rem; box-shadow:var(--shadow-sm);
}
.workflow__title{font-size:1.1rem; margin-bottom:.5rem; color:inherit;}
.section--dark .workflow__title{color:var(--white-soft);}
.workflow__text{font-size:.94rem; color:rgba(255,253,248,0.78);}
.section:not(.section--dark) .workflow__text{color:var(--ink-soft);}
.workflow__connector{width:36px; height:2px; background:rgba(255,253,248,0.25); align-self:center; margin-top:2.4rem;}
.section:not(.section--dark) .workflow__connector{background:var(--border-soft);}

@media (max-width:920px){
  .workflow{flex-direction:column; gap:1.6rem;}
  .workflow__connector{width:2px; height:28px; margin:0 0 0 23px;}
}


.cutout{position:relative; min-height:520px; display:flex; align-items:stretch; overflow:hidden;}
.cutout__layer{position:absolute; inset:0; background-size:cover; background-position:center;}
.cutout__mask{position:relative; width:100%; display:flex; align-items:center; min-height:520px;}
.cutout__mask--right{background:var(--espresso);
  mask-image: radial-gradient(circle at 88% 30%, transparent 150px, black 153px), radial-gradient(circle 60px at 8% 85%, transparent 58px, black 61px);
  -webkit-mask-image: radial-gradient(circle at 88% 30%, transparent 150px, black 153px), radial-gradient(circle 60px at 8% 85%, transparent 58px, black 61px);
  -webkit-mask-composite: source-over; mask-composite:add;
}
.cutout__mask--left{background:var(--cream-2);
  mask-image: radial-gradient(circle at 12% 70%, transparent 150px, black 153px);
  -webkit-mask-image: radial-gradient(circle at 12% 70%, transparent 150px, black 153px);
}
.cutout__mask--left .check-list{margin: 0 auto;}
.cutout__content{padding:4.5rem 0; max-width:640px;}
.cutout__content--right{margin-left:auto; text-align:left;}
.cutout__text .section__title, .cutout__text .section__title--light{max-width:520px;}

@media (max-width:820px){
  .cutout__mask--right, .cutout__mask--left{mask-image:none; -webkit-mask-image:none;}
  .cutout{min-height:auto;}
  .cutout__mask{min-height:auto; padding:1rem 0;}
  .cutout__content{padding:3rem 0; max-width:100%;}
  .cutout__content--right{margin-left:0;}
}


.split{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.split__image{border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); width:100%; height:420px; object-fit:cover;}
@media (max-width:900px){
  .split{grid-template-columns:1fr;}
  .split__image{height:280px;}
}


.check-list{display:flex; flex-direction:column; gap:.9rem; margin-top:1.4rem;}
.check-list li{display:flex; gap:.8rem; align-items:flex-start; font-size:.98rem; color:var(--ink-soft);}
.section--dark .check-list li, .cutout__mask--right .check-list li{color:rgba(255,253,248,0.85);}
.check-list i{color:var(--terracotta); margin-top:.25rem;}
.cutout__mask--right .check-list i{color:var(--gold);}


.principles-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:1.4rem;}
@media (max-width:1000px){.principles-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:600px){.principles-grid{grid-template-columns:1fr;}}
.principle{
  background:var(--white-soft); border-radius:var(--radius-md); padding:1.8rem 1.4rem;
  box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
  border:1px solid rgba(36,28,22,0.05);
}
.principle:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.principle__number{font-size:1.6rem; font-weight:800; color:var(--terracotta); opacity:.7;}
.principle__title{font-size:1.02rem; margin:.5rem 0 .5rem;}
.principle__text{font-size:.9rem; color:var(--ink-soft);}


.disclaimer-box{
  display:flex; gap:1.4rem; background:var(--espresso); color:var(--cream); border-radius:var(--radius-lg);
  padding:2.2rem; box-shadow:var(--shadow-lg); align-items:flex-start;
}
.disclaimer-box__icon{
  width:50px; height:50px; border-radius:50%; background:var(--terracotta); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--white-soft);
}
.disclaimer-box__title{color:var(--white-soft); font-size:1.15rem; margin-bottom:.5rem;}
.disclaimer-box__text{color:rgba(255,253,248,0.82); font-size:.96rem; margin:0;}
@media (max-width:600px){.disclaimer-box{flex-direction:column;}}


.faq{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1rem;}
.faq__item{
  background:var(--white-soft); border-radius:var(--radius-md); padding:1.3rem 1.6rem;
  box-shadow:var(--shadow-sm); border:1px solid rgba(36,28,22,0.05);
}
.faq__question{font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq__question::-webkit-details-marker{display:none;}
.faq__question::after{content:'+'; font-size:1.3rem; color:var(--terracotta); margin-left:1rem;}
details[open] .faq__question::after{content:'−';}
.faq__answer{color:var(--ink-soft); margin-top:.9rem; font-size:.95rem;}


.cta-band{background:linear-gradient(120deg, var(--espresso), var(--espresso-2)); padding:5rem 0; position:relative; overflow:hidden;}
.cta-band::before{
  content:''; position:absolute; width:340px; height:340px; border-radius:50%; background:rgba(196,98,45,0.18);
  top:-120px; right:-80px;
}
.cta-band__inner{text-align:center; position:relative; z-index:1;}
.cta-band__title{color:var(--white-soft); font-size:clamp(1.5rem, 3vw, 2.1rem); margin-bottom:1rem;}
.cta-band__text{color:rgba(255,253,248,0.8); max-width:600px; margin:0 auto 2rem; font-size:1rem;}
.cta-band__actions{display:flex; justify-content:center; gap:1rem; flex-wrap:wrap;}


.footer{background:var(--ink); color:var(--cream); padding:4.5rem 0 2rem; margin-top:auto;}
.footer__inner{display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.3rem;}
.footer__brand{display:flex; align-items:center; gap:.6rem; font-size:1.2rem; font-weight:700; color:var(--white-soft);}
.footer__brand-mark{width:32px; height:32px; filter:brightness(0) invert(1);}
.footer__tagline{max-width:460px; color:rgba(255,253,248,0.68); font-size:.94rem;}
.footer__nav{display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; margin-top:.6rem;}
.footer__link{color:rgba(255,253,248,0.85); font-size:.93rem; transition:color .3s ease;}
.footer__link:hover{color:var(--gold);}
.footer__contact{display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; font-size:.9rem; color:rgba(255,253,248,0.7);}
.footer__contact i{color:var(--terracotta); margin-right:.4rem;}
.footer__legal{display:flex; flex-wrap:wrap; justify-content:center; gap:1.3rem; margin-top:.5rem;}
.footer__link--muted{color:rgba(255,253,248,0.55); font-size:.85rem;}
.footer__link--button{background:none; border:none; padding:0; font-family:inherit;}
.footer__bottom{margin-top:1.6rem; font-size:.82rem; color:rgba(255,253,248,0.45);}

body{display:flex; flex-direction:column; min-height:100vh;}
main{flex:1;}


.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;}
@media (max-width:940px){.contact-grid{grid-template-columns:1fr;}}
.contact-info__title{margin-bottom:1.4rem;}
.contact-info__list{display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem;}
.contact-info__list li{display:flex; gap:.9rem; align-items:center; color:var(--ink-soft); font-size:.98rem;}
.contact-info__list i{color:var(--terracotta); width:20px;}
.office-note{background:var(--cream-2); border-radius:var(--radius-lg); padding:1.6rem; margin-bottom:1.8rem; box-shadow:var(--shadow-sm);}
.office-note__title{font-size:1.05rem; margin-bottom:.6rem;}
.office-note__text{color:var(--ink-soft); font-size:.94rem; margin:0;}
.map-wrap{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);}

.form{background:var(--white-soft); border-radius:var(--radius-xl); padding:2.4rem; box-shadow:var(--shadow-lg); border:1px solid rgba(36,28,22,0.05);}
.form__progress{display:flex; align-items:center; gap:.6rem; margin-bottom:2rem;}
.form__progress-step{
  width:36px; height:36px; border-radius:50%; background:var(--cream-2); color:var(--ink-soft); font-weight:700;
  display:flex; align-items:center; justify-content:center; font-size:.9rem; transition:background .3s ease, color .3s ease;
}
.form__progress-step--active{background:var(--terracotta); color:var(--white-soft);}
.form__progress-line{flex:1; height:2px; background:var(--cream-2);}
.form__step{display:none; flex-direction:column; gap:1.2rem;}
.form__step--active{display:flex;}
.form__group{display:flex; flex-direction:column; gap:.5rem;}
.form__label{font-size:.9rem; font-weight:600; color:var(--ink);}
.form__input, .form__textarea{
  border:1px solid var(--border-soft); border-radius:var(--radius-sm); padding:.85rem 1rem; font-family:inherit;
  font-size:.96rem; background:var(--cream); transition:border-color .3s ease, box-shadow .3s ease; min-height:44px;
}
.form__textarea{min-height:130px; resize:vertical;}
.form__input:focus, .form__textarea:focus{outline:none; border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(196,98,45,0.15);}
.form__checkbox{display:flex; align-items:flex-start; gap:.7rem; font-size:.88rem; color:var(--ink-soft);}
.form__checkbox input{margin-top:.25rem; width:18px; height:18px; accent-color:var(--terracotta);}
.form__actions{display:flex; gap:1rem; margin-top:.4rem;}
.form__next{align-self:flex-start;}


.thanks{padding-top:9rem;}
.thanks__inner{max-width:560px; margin:0 auto; text-align:center;}
.thanks__icon{font-size:3rem; color:var(--terracotta); margin-bottom:1.2rem;}
.thanks__title{font-size:clamp(1.7rem, 3vw, 2.3rem); margin-bottom:1rem;}
.thanks__text{color:var(--ink-soft); margin-bottom:1.4rem;}
.thanks__countdown{font-weight:600; color:var(--ink); margin-bottom:1.6rem;}


.legal{padding-top:8.5rem;}
.legal__container{max-width:820px;}
.legal__updated{color:var(--ink-soft); font-size:.88rem; margin-bottom:.6rem;}
.legal__title{font-size:clamp(1.9rem, 3.5vw, 2.6rem); margin-bottom:1.4rem;}
.legal__intro{color:var(--ink-soft); margin-bottom:1.6rem;}
.legal__body h2{font-size:1.25rem; margin:2rem 0 .8rem;}
.legal__body p{color:var(--ink-soft); margin-bottom:1rem; font-size:.98rem;}
.legal__body--lettered h2{color:var(--terracotta-dark);}
.legal__table{width:100%; border-collapse:collapse; margin:1rem 0 1.6rem;}
.legal__table th, .legal__table td{border:1px solid var(--border-soft); padding:.8rem; text-align:left; font-size:.9rem; color:var(--ink-soft);}
.legal__table th{background:var(--cream-2); color:var(--ink);}


.cookie-modal{position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center; padding:1.5rem;}
.cookie-modal--open{display:flex;}
.cookie-modal__backdrop{position:absolute; inset:0; background:rgba(36,28,22,0.6); backdrop-filter:blur(3px);}
.cookie-modal__panel{
  position:relative; background:var(--white-soft); max-width:520px; width:100%; border-radius:var(--radius-xl);
  padding:2.4rem; box-shadow:var(--shadow-xl); max-height:88vh; overflow-y:auto;
}
.cookie-modal__title{font-size:1.4rem; margin-bottom:.8rem;}
.cookie-modal__text{color:var(--ink-soft); font-size:.94rem; margin-bottom:1.4rem;}
.cookie-modal__categories{display:flex; flex-direction:column; gap:1rem; margin-bottom:1.6rem;}
.cookie-toggle{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  background:var(--cream-2); border-radius:var(--radius-md); padding:1rem 1.2rem;
}
.cookie-toggle__title{font-weight:600; display:block; font-size:.95rem;}
.cookie-toggle__desc{font-size:.83rem; color:var(--ink-soft); display:block; margin-top:.2rem;}
.cookie-toggle input{width:20px; height:20px; accent-color:var(--terracotta); flex-shrink:0;}
.cookie-modal__actions{display:flex; flex-wrap:wrap; gap:.8rem; justify-content:flex-end;}

@media (max-width:520px){
  .cookie-modal__actions{flex-direction:column;}
  .cookie-modal__actions .btn{width:100%;}
}