:root{
  --logo:url("/assets/logo.png");
  --brown:#4A3428;
  --sand:#E8E1D8;
  --taupe:#A89A84;
  --charcoal:#1F1F1F;
  --muted:#6B5D52;
  --cream:#F2EDE5;
  --warmwhite:#FAF7F2;
  --footer:#3A281F;
  --frame:rgba(168,154,132,.45);
}
*{margin:0;padding:0;box-sizing:border-box;}
.logo-mark{display:block;aspect-ratio:733/306;background:center/contain no-repeat;background-image:var(--logo);}
html{scroll-behavior:smooth;}
body{font-family:'Work Sans',sans-serif;font-weight:300;font-size:16px;line-height:1.6;color:var(--charcoal);background:var(--warmwhite);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Marcellus',serif;font-weight:400;line-height:1.2;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--taupe);outline-offset:3px;}

/* ---------- shared atoms ---------- */
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:400;}
.divider{width:80px;height:2px;background:var(--taupe);border:none;}
.dots{font-family:'Marcellus',serif;letter-spacing:1.1em;font-size:13px;text-indent:1.1em;}
.btn{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;padding:17px 38px;border:1px solid var(--taupe);transition:background .35s ease,color .35s ease,border-color .35s ease;}
.btn-light{color:var(--cream);}
.btn-light:hover{background:var(--cream);color:var(--brown);border-color:var(--cream);}
.btn-dark{color:var(--brown);border-color:var(--brown);}
.btn-dark:hover{background:var(--brown);color:var(--cream);}
.btn-solid{background:var(--brown);color:var(--cream);border-color:var(--brown);}
.btn-solid:hover{background:transparent;color:var(--brown);}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px;}

/* ---------- reveal on scroll ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}.rv.d4{transition-delay:.48s}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:26px 0;transition:background .4s ease,padding .4s ease,box-shadow .4s ease;}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;}
.wordmark{font-family:'Marcellus',serif;font-size:21px;line-height:1;display:inline-block;letter-spacing:.12em;color:var(--cream);transition:color .4s ease;}
.wordmark .cap{font-size:26px;}
.nav-links{display:flex;gap:38px;align-items:center;list-style:none;}
.nav-links a{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);opacity:.9;transition:color .4s ease,opacity .25s ease;padding:4px 0;border-bottom:1px solid transparent;}
.nav-links a:hover{opacity:1;border-bottom-color:var(--taupe);}
.lang{font-size:11.5px;letter-spacing:.18em;color:var(--cream);opacity:.75;transition:color .4s ease;}
.lang b{font-weight:500;opacity:1;}
.nav.scrolled{background:var(--warmwhite);padding:21px 0;box-shadow:0 1px 0 rgba(74,52,40,.12);}
.nav.scrolled .wordmark,.nav.scrolled .nav-links a,.nav.scrolled .lang{color:var(--brown);}
.menu-btn{display:none;background:none;border:none;color:var(--cream);font-size:12px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;}
.nav.scrolled .menu-btn{color:var(--brown);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;background:var(--brown);background-image:radial-gradient(ellipse at 50% 38%,rgba(250,247,242,.05),transparent 62%);display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px;}
.hero-frame{position:absolute;inset:96px 34px 34px;border:1px solid var(--frame);pointer-events:none;}
.hero-inner{max-width:880px;position:relative;}
.hero-logo{width:200px;margin:40px auto 20px;opacity:.92;}
.hero .dots{color:var(--taupe);margin-bottom:34px;}
.hero .eyebrow{color:var(--taupe);margin-bottom:30px;}
.hero h1{font-size:clamp(38px,5.4vw,64px);color:var(--warmwhite);}
.hero h1 .line2{display:block;font-style:italic;color:var(--taupe);}
.hero .divider{margin:38px auto;}
.hero-sub{color:var(--sand);font-size:17.5px;line-height:1.75;max-width:620px;margin:0 auto 48px;}
.hero-cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.hl{opacity:0;transform:translateY(18px);animation:rise 1.1s cubic-bezier(.22,.61,.36,1) forwards;}
.hl1{animation-delay:.15s}.hl2{animation-delay:.35s}.hl3{animation-delay:.55s}.hl4{animation-delay:.75s}.hl5{animation-delay:.95s}.hl6{animation-delay:1.15s}
@keyframes rise{to{opacity:1;transform:none;}}

/* ---------- welcome ---------- */
.welcome{background:var(--warmwhite);padding:130px 0;}
.welcome .wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
.welcome .eyebrow{color:var(--muted);margin-bottom:26px;}
.welcome h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);margin-bottom:30px;}
.welcome h2 em{color:var(--taupe);}
.welcome p{color:var(--muted);margin-bottom:22px;font-size:16.5px;}
.welcome .divider{margin:34px 0;}
.w-img{position:relative;}
.w-img .ph{overflow:hidden;}
.w-img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 1.4s cubic-bezier(.22,.61,.36,1);}
.w-img:hover img{transform:scale(1.045);}
.w-img::after{content:"";position:absolute;top:26px;left:26px;right:-26px;bottom:-26px;border:1px solid var(--frame);z-index:-1;}
.w-cap{margin-top:18px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe);}

/* ---------- lifecycle ---------- */
.cycle{background:var(--sand);padding:120px 0;}
.cycle-head{text-align:center;max-width:640px;margin:0 auto 80px;}
.cycle-head .eyebrow{color:var(--muted);margin-bottom:24px;}
.cycle-head h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);}
.cycle-head .divider{margin:32px auto 0;}
.cycle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:46px;}
.cy{border-top:1px solid rgba(74,52,40,.25);padding-top:26px;}
.cy .num{font-family:'Marcellus',serif;font-size:15px;color:var(--taupe);letter-spacing:.1em;display:block;margin-bottom:14px;}
.cy h3{font-size:24px;color:var(--brown);margin-bottom:14px;}
.cy p{font-size:14.5px;color:var(--muted);line-height:1.7;}

/* ---------- services ---------- */
.services{background:var(--warmwhite);padding:130px 0;}
.svc-head{text-align:center;max-width:660px;margin:0 auto 84px;}
.svc-head .eyebrow{color:var(--muted);margin-bottom:24px;}
.svc-head h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);}
.svc-head .divider{margin:32px auto;}
.svc-head p{color:var(--muted);}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 54px;}
.svc{display:block;}
.svc .ph{overflow:hidden;position:relative;}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.3s cubic-bezier(.22,.61,.36,1),filter .6s ease;}
.svc:hover img{transform:scale(1.05);}
.svc .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(58,40,31,.34),transparent 46%);}
.svc-body{padding:30px 4px 0;}
.svc h3{font-size:25px;color:var(--brown);margin-bottom:12px;transition:color .3s ease;}
.svc p{font-size:15px;color:var(--muted);max-width:480px;}
.svc .more{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--brown);border-bottom:1px solid var(--taupe);padding-bottom:5px;transition:letter-spacing .3s ease;}
.svc:hover .more{letter-spacing:.34em;}

/* ---------- quote ---------- */
.quote{background:var(--brown);padding:150px 24px;position:relative;text-align:center;}
.quote-frame{position:absolute;inset:30px;border:1px solid var(--frame);pointer-events:none;}
.quote .dots{color:var(--taupe);margin-bottom:40px;}
.quote blockquote{font-family:'Marcellus',serif;font-style:italic;font-size:clamp(27px,3.6vw,42px);line-height:1.35;color:var(--warmwhite);max-width:820px;margin:0 auto;}
.quote .divider{margin:42px auto;}
.quote .trans{color:var(--taupe);font-size:14px;letter-spacing:.08em;}

/* ---------- stats ---------- */
.stats{background:var(--warmwhite);padding:130px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;text-align:center;}
.stat{border-top:1px solid rgba(74,52,40,.22);padding-top:38px;}
.stat .big{font-family:'Marcellus',serif;font-size:clamp(52px,6vw,76px);color:var(--brown);line-height:1;display:block;}
.stat .lab{display:block;margin-top:18px;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--taupe);}
.stat p{margin-top:16px;font-size:14.5px;color:var(--muted);max-width:280px;margin-left:auto;margin-right:auto;}

/* ---------- wide image ---------- */
.wide{position:relative;height:64vh;min-height:420px;overflow:hidden;}
.wide img{width:100%;height:120%;object-fit:cover;object-position:center 62%;filter:sepia(.55) saturate(1) brightness(.82) contrast(1.02) hue-rotate(-8deg);}
.wide .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,40,31,.66),rgba(58,40,31,.18) 52%,transparent 80%);}
.wide .cap{position:absolute;left:0;right:0;bottom:42px;text-align:center;color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;}

/* ---------- cta ---------- */
.cta{background:var(--cream);padding:150px 0;text-align:center;}
.cta .dots{color:var(--taupe);margin-bottom:36px;}
.cta h2{font-family:'Marcellus',serif;font-style:italic;font-size:clamp(28px,3.6vw,44px);color:var(--brown);max-width:840px;margin:0 auto;line-height:1.35;}
.cta .divider{margin:42px auto;}
.cta p{color:var(--muted);max-width:520px;margin:0 auto 46px;}

/* ---------- footer ---------- */
footer{background:var(--footer);color:var(--sand);padding:90px 0 0;}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:60px;padding-bottom:70px;}
.f-logo{width:140px;margin-bottom:12px;}
.f-brand p{font-size:14px;color:var(--taupe);line-height:1.75;max-width:300px;}
.f-col h4{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);font-family:'Work Sans',sans-serif;font-weight:400;margin-bottom:26px;}
.f-col ul{list-style:none;}
.f-col li{margin-bottom:13px;}
.f-col a{font-size:14.5px;color:var(--sand);opacity:.85;transition:opacity .25s ease,color .25s ease;}
.f-col a:hover{opacity:1;color:#FFFFFF;}
.f-contact li{font-size:14.5px;color:var(--sand);opacity:.85;margin-bottom:13px;line-height:1.6;}
.f-contact a:hover{opacity:1;}
.f-bottom{border-top:1px solid rgba(168,154,132,.25);padding:26px 0;}
.f-bottom .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.f-bottom span,.f-bottom a{font-size:12px;letter-spacing:.06em;color:var(--taupe);}
.f-legal{display:flex;gap:26px;}
.f-legal a:hover{color:var(--sand);}



/* ---------- services rows ---------- */
.svc-rows{background:var(--warmwhite);padding:130px 0 40px;}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;margin-bottom:120px;}
.srow .eyebrow{color:var(--taupe);margin-bottom:20px;}
.srow h2{font-size:clamp(28px,3vw,38px);color:var(--brown);margin-bottom:24px;}
.srow p{color:var(--muted);font-size:16px;margin-bottom:26px;}
.offer{list-style:none;margin:0 0 34px;}
.offer li{padding:13px 2px;border-top:1px solid rgba(74,52,40,.16);font-size:14.5px;color:var(--muted);}
.offer li:last-child{border-bottom:1px solid rgba(74,52,40,.16);}
.sr-img .ph{overflow:hidden;}
.sr-img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 1.4s cubic-bezier(.22,.61,.36,1);}
.sr-img:hover img{transform:scale(1.045);}
.srow.alt .sr-img{order:-1;}
@media (max-width:980px){
  .srow{grid-template-columns:1fr;gap:54px;margin-bottom:100px;}
  .srow .sr-img,.srow.alt .sr-img{order:-1;}
}


/* ---------- contact ---------- */
.contact{background:var(--warmwhite);padding:130px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:100px;align-items:start;}
.cdetails .eyebrow{color:var(--muted);margin-bottom:22px;}
.cdetails h2{font-size:clamp(28px,3vw,38px);color:var(--brown);margin-bottom:34px;}
.cd-list{list-style:none;}
.cd-list li{padding:20px 2px;border-top:1px solid rgba(74,52,40,.16);display:flex;flex-direction:column;gap:6px;}
.cd-list li:last-child{border-bottom:1px solid rgba(74,52,40,.16);}
.cd-lab{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--taupe);}
.cd-list a,.cd-list span:not(.cd-lab){font-size:16px;color:var(--charcoal);}
.cd-list a:hover{color:var(--brown);}
.cdetails .divider{margin:38px 0 26px;}
.cd-note{font-size:14.5px;color:var(--muted);max-width:320px;}
.cform .field{margin-bottom:30px;}
.cform label{display:block;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.cform label .opt{text-transform:none;letter-spacing:.04em;color:var(--taupe);font-size:11.5px;}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea{width:100%;border:0;border-bottom:1px solid rgba(74,52,40,.3);background:transparent;padding:11px 2px;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:300;color:var(--charcoal);border-radius:0;transition:border-color .3s ease;}
.cform input:focus,.cform textarea:focus{outline:none;border-bottom-color:var(--brown);}
.cform textarea{resize:vertical;min-height:120px;}
.consent{display:flex;gap:12px;align-items:flex-start;margin:34px 0;}
.consent input{margin-top:4px;accent-color:var(--brown);}
.consent label{font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0;line-height:1.6;margin:0;}
.cform-err{color:#8a4a2f;font-size:13.5px;margin-bottom:18px;}
.cform-note{margin-top:18px;font-size:12.5px;color:var(--taupe);}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr;gap:70px;}}


/* ---------- service subpages ---------- */
.sintro{background:var(--warmwhite);padding:130px 0;}
.sintro .srow{margin-bottom:0;}
.nextband{background:var(--brown);padding:110px 24px;text-align:center;}
.nextband .dots{color:var(--taupe);margin-bottom:26px;}
.nextband .eyebrow{color:var(--taupe);margin-bottom:22px;}
.next-link{font-family:'Marcellus',serif;font-style:italic;font-size:clamp(26px,3.2vw,38px);color:var(--warmwhite);border-bottom:1px solid var(--frame);padding-bottom:8px;transition:color .3s ease,border-color .3s ease;}
.next-link:hover{color:var(--taupe);border-color:var(--taupe);}

/* ---------- mobile menu ---------- */
.mnav{position:fixed;inset:0;background:var(--brown);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.mnav.open{opacity:1;pointer-events:auto;}
.mnav .mframe{position:absolute;inset:16px;border:1px solid var(--frame);pointer-events:none;}
.mnav a{font-family:'Marcellus',serif;font-size:25px;letter-spacing:.08em;color:var(--cream);}
.mnav .mlang{font-family:'Work Sans',sans-serif;font-size:12px;letter-spacing:.24em;color:var(--taupe);margin-top:14px;}
.mnav-close{position:absolute;top:34px;right:34px;background:none;border:none;color:var(--cream);font-family:'Work Sans',sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;}
@media (prefers-reduced-motion:reduce){.mnav{transition:none;}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .welcome .wrap{grid-template-columns:1fr;gap:64px;}
  .w-img{order:-1;}
  .cycle-grid{grid-template-columns:1fr 1fr;}
  .svc-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr;gap:48px;}
  .f-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .nav-links,.lang{display:none;}
  .menu-btn{display:block;}
  .wrap{padding:0 24px;}
  .hero-frame{inset:80px 16px 16px;}.quote-frame{inset:16px;}
  .cycle-grid{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr;gap:46px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .hl,.rv{opacity:1!important;transform:none!important;}
  html{scroll-behavior:auto;}
}

/* ---------- routing ---------- */
.page{display:none;}
.page.active{display:block;}
.nav-links a.current{border-bottom-color:var(--taupe);opacity:1;}

/* ---------- subpage hero ---------- */
.phero{position:relative;min-height:62vh;background:var(--brown);background-image:radial-gradient(ellipse at 50% 40%,rgba(250,247,242,.05),transparent 62%);display:flex;align-items:center;justify-content:center;text-align:center;padding:160px 24px 110px;}
.phero .hero-frame{inset:96px 30px 30px;}
.phero-inner{max-width:840px;}
.phero-logo{width:200px;margin:0 auto 20px;opacity:.92;}
.phero .dots{color:var(--taupe);margin-bottom:30px;}
.phero .eyebrow{color:var(--taupe);margin-bottom:26px;}
.phero h1{font-size:clamp(34px,4.6vw,56px);color:var(--warmwhite);}
.phero h1 .line2{display:block;font-style:italic;color:var(--taupe);}
.phero .divider{margin:34px auto;}
.phero-sub{color:var(--sand);font-size:17px;line-height:1.75;max-width:600px;margin:0 auto;}

/* ---------- disciplines ---------- */
.disc{background:var(--sand);padding:130px 0;}
.disc-head{text-align:center;max-width:640px;margin:0 auto 80px;}
.disc-head .eyebrow{color:var(--muted);margin-bottom:24px;}
.disc-head h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);}
.disc-head .divider{margin:32px auto 0;}
.disc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 70px;}
.di{border-top:1px solid rgba(74,52,40,.25);padding-top:26px;}
.di h3{font-size:25px;color:var(--brown);margin-bottom:14px;}
.di p{font-size:15px;color:var(--muted);line-height:1.75;max-width:460px;}

/* ---------- client list ---------- */
.clients{background:var(--warmwhite);padding:130px 0;}
.cl-head{text-align:center;max-width:660px;margin:0 auto 70px;}
.cl-head .eyebrow{color:var(--muted);margin-bottom:24px;}
.cl-head h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);}
.cl-head .divider{margin:32px auto;}
.cl-head p{color:var(--muted);}
.cl-list{list-style:none;max-width:900px;margin:0 auto;}
.cl-list li{display:flex;align-items:baseline;gap:34px;padding:30px 6px;border-bottom:1px solid rgba(74,52,40,.18);}
.cl-list li:first-child{border-top:1px solid rgba(74,52,40,.18);}
.cl-list .num{font-family:'Marcellus',serif;font-size:15px;color:var(--taupe);letter-spacing:.1em;min-width:34px;}
.cl-list .who{font-family:'Marcellus',serif;font-style:italic;font-size:21px;color:var(--brown);}

/* ---------- story 50/50 (image left) ---------- */
.story{background:var(--warmwhite);padding:0 0 130px;}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
.story .eyebrow{color:var(--muted);margin-bottom:26px;}
.story h2{font-size:clamp(30px,3.4vw,42px);color:var(--brown);margin-bottom:30px;}
.story p{color:var(--muted);margin-bottom:22px;font-size:16.5px;}
.story .divider{margin:34px 0;}
.s-img{position:relative;}
.s-img .ph{overflow:hidden;}
.s-img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 1.4s cubic-bezier(.22,.61,.36,1);}
.s-img:hover img{transform:scale(1.045);}
.s-img::after{content:"";position:absolute;top:26px;right:26px;left:-26px;bottom:-26px;border:1px solid var(--frame);z-index:-1;}
.s-cap{margin-top:18px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe);}

/* ---------- placeholder ---------- */
.pending{min-height:78vh;background:var(--brown);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:160px 24px;}
.pending .hero-frame{inset:96px 30px 30px;}
.pending .eyebrow{color:var(--taupe);margin-bottom:28px;}
.pending h1{font-family:'Marcellus',serif;font-style:italic;font-size:clamp(28px,3.6vw,42px);color:var(--warmwhite);max-width:700px;}
.pending .divider{margin:36px auto;}
.pending p{color:var(--sand);max-width:480px;margin:0 auto;}

@media (max-width:980px){
  .disc-grid{grid-template-columns:1fr;}
  .story .wrap{grid-template-columns:1fr;gap:64px;}
  .s-img{order:-1;}
}
/* ---------- mobile refinements ---------- */
/* Safety: stop a long word or a decorative frame from causing sideways scroll */
html,body{overflow-x:hidden;}
h1,h2,h3,h4,p,blockquote,.next-link{overflow-wrap:break-word;}

@media (max-width:760px){
  /* CTA had no side padding, so its text reached the screen edge */
  .cta{padding:150px 28px;}
  /* A touch more breathing room on the full-width centred sections */
  .hero{padding:120px 28px;}
  .quote{padding:150px 28px;}
  .nextband{padding:110px 28px;}
  .phero{padding:160px 28px 110px;}
  .pending{padding:160px 28px;}
  /* Keep the decorative frame outside the text instead of crossing it */
  .phero .hero-frame{inset:72px 16px 16px;}
  .pending .hero-frame{inset:72px 16px 16px;}
}

/* ---------- legal / policy pages ---------- */
.legal{background:var(--warmwhite);padding:120px 0 130px;}
.legal .wrap{max-width:820px;}
.legal .lead{color:var(--muted);font-size:17.5px;line-height:1.85;margin-bottom:8px;}
.legal h2{font-size:clamp(23px,2.5vw,30px);color:var(--brown);margin:56px 0 16px;}
.legal h2:first-of-type{margin-top:0;}
.legal h3{font-family:'Marcellus',serif;font-size:18px;color:var(--brown);margin:28px 0 10px;}
.legal p{color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:16px;}
.legal ul{list-style:none;margin:0 0 18px;}
.legal li{position:relative;color:var(--muted);font-size:16px;line-height:1.75;padding:11px 0 11px 24px;border-top:1px solid rgba(74,52,40,.12);}
.legal li:first-child{border-top:none;}
.legal li::before{content:"";position:absolute;left:2px;top:20px;width:8px;height:1px;background:var(--taupe);}
.legal a{color:var(--brown);border-bottom:1px solid var(--taupe);transition:color .25s ease,border-color .25s ease;}
.legal a:hover{color:var(--taupe);border-color:transparent;}
.legal .divider{margin:0 0 44px;}
.legal .meta{margin-top:54px;padding-top:24px;border-top:1px solid rgba(74,52,40,.18);font-size:13.5px;line-height:1.7;color:var(--taupe);}

/* ---------- cookie consent ---------- */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:300;background:var(--footer);color:var(--sand);border-top:1px solid rgba(168,154,132,.28);box-shadow:0 -12px 34px rgba(31,31,31,.22);}
.cc[hidden]{display:none;}
.cc-inner{max-width:1180px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.cc-text{flex:1 1 360px;margin:0;font-size:13.5px;line-height:1.7;color:var(--sand);}
.cc-text a{color:#FFFFFF;border-bottom:1px solid var(--taupe);transition:border-color .25s ease;}
.cc-text a:hover{border-color:#FFFFFF;}
.cc-actions{display:flex;gap:14px;flex:0 0 auto;}
.cc-btn{font-family:'Work Sans',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;padding:13px 30px;border:1px solid var(--taupe);cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease;}
.cc-reject{background:transparent;color:var(--sand);}
.cc-reject:hover{background:rgba(232,225,216,.10);color:#FFFFFF;border-color:var(--sand);}
.cc-accept{background:var(--sand);color:var(--brown);border-color:var(--sand);}
.cc-accept:hover{background:#FFFFFF;border-color:#FFFFFF;}
@media (max-width:760px){
  .cc-inner{padding:18px 24px;gap:16px;}
  .cc-actions{width:100%;}
  .cc-btn{flex:1 1 0;padding:13px 10px;}
}
