:root{--ivory:#f3eee4;--olive:#20281d;--sage:#8b927b;--gold:#c5a66b;--white:#fff;--header-h:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;background:var(--olive)}body{margin:0;color:var(--white);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}.slides{width:100%}.slide{position:relative;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}.slide-media,.slide-media img{position:absolute;inset:0;width:100%;height:100%}.slide-media img{object-fit:cover}.veil{position:absolute;inset:0}.veil--dark{background:linear-gradient(180deg,rgba(12,16,10,.25),rgba(12,16,10,.48))}.veil--soft{background:linear-gradient(90deg,rgba(18,23,15,.68) 0%,rgba(18,23,15,.2) 60%,rgba(18,23,15,.05) 100%)}.veil--ivory{background:linear-gradient(90deg,rgba(243,238,228,.05),rgba(243,238,228,.85) 58%,rgba(243,238,228,.96))}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(20px,4vw,64px);background:linear-gradient(180deg,rgba(8,10,7,.28),transparent)}.brand{position:relative;display:block;width:clamp(170px,16vw,240px);line-height:0;padding:9px 12px 8px;border-radius:3px;isolation:isolate}.brand::before{content:"";position:absolute;inset:-8px -14px;z-index:-1;background:radial-gradient(ellipse at left,rgba(15,18,12,.58) 0%,rgba(15,18,12,.30) 54%,transparent 76%);filter:blur(5px)}.brand img{display:block;width:100%;height:auto;max-height:66px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.72)) drop-shadow(0 0 1px rgba(255,255,255,.45))}.menu{display:flex;gap:28px}.menu a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.18em;transition:opacity .25s}.menu a:hover{opacity:.65}.menu-toggle{display:none;background:none;border:0;width:38px;height:32px;padding:5px}.menu-toggle span{display:block;height:1px;background:#fff;margin:8px 0}.slide-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px clamp(24px,8vw,130px) 70px}.slide-content--center{text-align:center;align-items:center}.slide-content--left{max-width:760px}.slide-content--right{margin-left:auto;max-width:760px}.eyebrow,.chapter,.fine{font-size:10px;letter-spacing:.32em;text-transform:uppercase}.eyebrow{margin-bottom:22px}.hero-logo{width:clamp(250px,31vw,470px);height:auto;margin:0 0 clamp(24px,3vw,42px);filter:drop-shadow(0 4px 14px rgba(0,0,0,.70)) drop-shadow(0 0 2px rgba(255,255,255,.28))}.chapter{color:var(--gold);margin-bottom:18px}h1,h2{font-family:"Cormorant Garamond",serif;font-weight:400;line-height:.94;margin:0}h1{font-size:clamp(58px,7.8vw,128px)}h2{font-size:clamp(52px,6vw,98px)}.copy,.split-copy p{font-family:"Cormorant Garamond",serif;font-size:clamp(20px,2vw,28px);line-height:1.45;max-width:580px;margin:28px 0}.text-link{margin-top:36px;color:#fff;text-transform:uppercase;text-decoration:none;font-size:10px;letter-spacing:.25em}.text-link span{margin-left:12px}.dark-text{color:var(--olive)}.slide--split{display:grid;grid-template-columns:44% 56%;background:var(--ivory);color:var(--olive)}.split-copy{padding:120px clamp(34px,6vw,95px) 70px;display:flex;flex-direction:column;justify-content:center}.split-media,.split-media img{width:100%;height:100%;min-height:100svh}.split-media img{object-fit:cover}.fine{margin-top:20px;color:var(--sage)}.email-link{align-self:flex-start;color:inherit;text-decoration:none;border-bottom:1px solid rgba(32,40,29,.45);padding-bottom:6px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;transition:opacity .25s}.email-link:hover{opacity:.62}.social-links{display:flex;gap:14px;margin-top:25px}.social-links a{width:42px;height:42px;border:1px solid rgba(32,40,29,.45);border-radius:50%;display:grid;place-items:center;color:var(--olive);transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.social-links a:hover{transform:translateY(-3px);background:var(--olive);color:var(--ivory);border-color:var(--olive)}.social-links svg{width:18px;height:18px;fill:currentColor}footer{position:absolute;z-index:3;bottom:24px;right:40px;color:var(--olive);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.slide-dots{position:fixed;z-index:25;right:26px;top:50%;transform:translateY(-50%);display:grid;gap:12px}.slide-dots a{width:6px;height:6px;border-radius:50%;border:1px solid #fff;background:transparent;transition:.25s}.slide-dots a.active{background:#fff;transform:scale(1.25)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:767px){:root{--header-h:70px}.site-header{padding:8px 18px}.brand{width:166px;padding:7px 9px}.brand::before{inset:-6px -10px}.brand img{max-height:58px}.hero-logo{width:min(78vw,340px);margin-bottom:28px}.menu-toggle{display:block;z-index:2}.menu{position:fixed;inset:0;background:rgba(32,40,29,.98);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;pointer-events:none;transition:.3s}.menu.open{opacity:1;pointer-events:auto}.menu a{font-family:"Cormorant Garamond",serif;font-size:34px;letter-spacing:.03em;text-transform:none}.slide-content{padding:100px 24px 52px;justify-content:flex-end}.slide-content--center{justify-content:center}.slide-content--left,.slide-content--right{max-width:none;margin:0}.veil--soft{background:linear-gradient(180deg,rgba(18,23,15,.08),rgba(18,23,15,.78))}.veil--ivory{background:linear-gradient(180deg,rgba(243,238,228,.08),rgba(243,238,228,.92) 65%,var(--ivory))}h1{font-size:clamp(54px,18vw,78px)}h2{font-size:clamp(48px,15vw,70px)}.copy,.split-copy p{font-size:21px;line-height:1.38}.slide--split{grid-template-columns:1fr;grid-template-rows:48svh auto}.split-media{grid-row:1;min-height:48svh}.split-media img{min-height:48svh}.split-copy{grid-row:2;padding:55px 24px 65px;min-height:52svh}.slide-dots{right:12px}.slide-dots a{width:5px;height:5px}.email-link{font-size:9px;letter-spacing:.09em}.social-links{gap:10px;margin-top:20px}.social-links a{width:40px;height:40px}footer{right:24px;bottom:16px}.slide-content--right{justify-content:flex-end;padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Legal links and cookie consent */
.hero-logo{width:min(320px,82vw)}
.site-footer{left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.legal-links a,.cookie-settings-link{color:inherit;text-decoration:none;font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;padding:0;cursor:pointer}
.legal-links a:hover,.cookie-settings-link:hover{text-decoration:underline;text-underline-offset:4px}
.cookie-banner{position:fixed;z-index:100;inset:auto 18px 18px;max-width:1180px;margin:auto;background:rgba(243,238,228,.98);color:var(--olive);border:1px solid rgba(197,166,107,.55);box-shadow:0 24px 80px rgba(13,18,11,.32);backdrop-filter:blur(16px)}
.cookie-banner__content{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:end;padding:28px 30px}
.cookie-banner h2,.cookie-modal h2{font-size:clamp(34px,4vw,54px);line-height:1;margin:6px 0 12px}
.cookie-banner p,.cookie-modal p{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:1.65;margin:0;max-width:720px}
.cookie-banner a{display:inline-block;color:inherit;margin-top:12px;font-size:11px;text-underline-offset:4px}
.cookie-kicker{font-size:9px!important;letter-spacing:.26em;text-transform:uppercase;color:#8b7448}
.cookie-banner__actions,.cookie-modal__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-btn{min-height:44px;padding:0 18px;border:1px solid var(--olive);font-family:Montserrat,Arial,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.2s}
.cookie-btn--primary{background:var(--olive);color:var(--ivory)}
.cookie-btn--secondary{background:transparent;color:var(--olive)}
.cookie-btn--ghost{background:transparent;color:var(--olive);border-color:rgba(32,40,29,.3)}
.cookie-btn:hover{transform:translateY(-1px);opacity:.8}
.cookie-modal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px}
.cookie-modal[hidden],.cookie-banner[hidden]{display:none}
.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(10,14,9,.72);backdrop-filter:blur(5px)}
.cookie-modal__panel{position:relative;width:min(680px,100%);max-height:min(800px,92svh);overflow:auto;background:var(--ivory);color:var(--olive);padding:40px;border:1px solid rgba(197,166,107,.55);box-shadow:0 30px 100px rgba(0,0,0,.4)}
.cookie-modal__close{position:absolute;right:18px;top:12px;background:none;border:0;color:inherit;font-family:serif;font-size:32px;cursor:pointer}
.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 0;border-bottom:1px solid rgba(32,40,29,.14);cursor:pointer}
.cookie-option h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:25px;margin:0 0 4px}
.cookie-option p{font-size:11px;max-width:460px}
.cookie-status{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7b806f;white-space:nowrap}
.switch{position:relative;display:inline-block;width:48px;height:26px;flex:0 0 auto}
.switch input{position:absolute;opacity:0}
.switch span{position:absolute;inset:0;border-radius:20px;background:#b9b9af;transition:.2s}
.switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked+span{background:var(--olive)}
.switch input:checked+span:before{transform:translateX(22px)}
.cookie-modal__actions{margin-top:26px}
body.cookie-modal-open{overflow:hidden}

/* Legal pages */
.legal-page{background:var(--ivory);color:var(--olive);min-height:100svh}
.legal-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,72px);background:rgba(243,238,228,.94);border-bottom:1px solid rgba(32,40,29,.12);backdrop-filter:blur(12px)}
.legal-header img{width:180px;height:auto;filter:none}
.legal-header a{color:inherit;text-decoration:none;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.legal-main{width:min(900px,calc(100% - 40px));margin:0 auto;padding:90px 0 110px}
.legal-main .chapter{margin-bottom:14px}
.legal-main h1{font-size:clamp(54px,8vw,92px);line-height:.95;margin-bottom:22px}
.legal-updated{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#777b6d;margin-bottom:58px}
.legal-main h2{font-size:clamp(34px,5vw,48px);line-height:1.1;margin:44px 0 12px}
.legal-main h3{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;margin:30px 0 8px}
.legal-main p,.legal-main li{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.75}
.legal-main a{color:inherit;text-underline-offset:4px}
.legal-main ul{padding-left:20px}
.legal-note{margin-top:48px;padding:20px;border-left:2px solid var(--gold);background:rgba(197,166,107,.08)}
.legal-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px clamp(20px,5vw,72px);border-top:1px solid rgba(32,40,29,.12);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.legal-footer nav{display:flex;gap:16px;flex-wrap:wrap}.legal-footer a,.legal-footer button{color:inherit;background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-decoration:none}

@media(max-width:767px){
  .hero-logo{width:min(320px,88vw)}
  .site-footer{align-items:flex-start;flex-direction:column;gap:10px;bottom:14px;font-size:7px}
  .legal-links{justify-content:flex-start;gap:9px 12px}
  .cookie-banner{inset:auto 10px 10px}
  .cookie-banner__content{grid-template-columns:1fr;padding:22px;gap:20px}
  .cookie-banner__actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}
  .cookie-banner__actions .cookie-btn--primary{grid-column:1/-1;grid-row:1}
  .cookie-btn{width:100%;padding:0 10px}
  .cookie-modal__panel{padding:32px 22px 24px}
  .cookie-option{gap:14px}.cookie-status{white-space:normal;text-align:right}
  .cookie-modal__actions{display:grid;grid-template-columns:1fr}
  .legal-header img{width:150px}.legal-main{padding-top:60px}
}
