/* Landing page only: calm, premium. Brand navy, blue and teal, with warm ivory and a muted gold. */
:root{--ivory:#F8F4EB;--sand:#EFE8D8;--gold:#B08D4C;--gold-d:#8A6C32}
body.lp{background:var(--ivory)}
body.lp h1,body.lp h2{font-family:"Cormorant Garamond","Iowan Old Style",Georgia,serif;font-weight:600;letter-spacing:-.005em}
.lp-kicker{font-family:"Montserrat",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin:0 0 10px}

/* ---- Opening screen ---- */
.lp-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--navy);overflow:hidden;isolation:isolate}
.lp-hero-bg{position:absolute;inset:-4%;z-index:-2;background:linear-gradient(rgba(20,41,58,.78),rgba(20,41,58,.9)),url("/img/hero.jpg") 68% center/cover no-repeat;animation:lp-drift 36s ease-in-out infinite alternate}
@keyframes lp-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-1.2%,.8%,0)}}
.lp-hero-in{text-align:center;max-width:680px;padding:96px 0 110px}
.lp-logo{width:min(360px,78vw);height:auto;margin:0 auto 34px;display:block;opacity:0;animation:lp-in 1.4s .2s ease forwards}
.lp-eyebrow{font-family:"Montserrat",sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#D9C28F;margin:0 0 14px;opacity:0;animation:lp-in 1.4s .5s ease forwards}
.lp-hero h1{font-size:clamp(3rem,9vw,5.6rem);line-height:1.02;font-weight:600;text-wrap:balance;opacity:0;animation:lp-in 1.5s .75s ease forwards}
.lp-lede{font-size:1.15rem;color:#D3E0EA;margin:22px auto 34px;max-width:46ch;opacity:0;animation:lp-in 1.4s 1.05s ease forwards}
.lp-hero .cta-row{opacity:0;animation:lp-in 1.4s 1.3s ease forwards}
@keyframes lp-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Drifting words */
.lp-floaters{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.fl{position:absolute;left:var(--x);top:var(--y);font-size:var(--s);color:#fff;opacity:0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;white-space:nowrap;animation:lp-float var(--t) ease-in-out var(--d) infinite}
.fl.ar{font-family:"Amiri","Geeza Pro",serif;font-style:normal}
@keyframes lp-float{0%{opacity:0;transform:translate3d(0,24px,0)}18%{opacity:.16}50%{opacity:.2;transform:translate3d(14px,-26px,0)}82%{opacity:.14}100%{opacity:0;transform:translate3d(-8px,-70px,0)}}
@media(max-width:700px){.fl:nth-child(n+7){display:none}.fl{font-size:calc(var(--s) * .8)}}

.lp-cue{position:absolute;left:50%;bottom:26px;width:26px;height:44px;margin-left:-13px;border:1.5px solid rgba(255,255,255,.45);border-radius:14px}
.lp-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:lp-cue 2.2s ease-in-out infinite}
@keyframes lp-cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* Slim bar */
.lp-bar{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(20,41,58,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(-100%);transition:transform .5s ease}
.lp-bar.show{transform:none}
.lp-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:62px}
.lp-bar img{height:34px;width:auto;display:block}
.lp-bar-cta{display:flex;gap:8px}
.lp-bar .btn-small{padding:.55em 1.05em;font-size:.86rem}

/* ---- Sections ---- */
body.lp section{padding:clamp(64px,10vw,120px) 0}
.lp-quote{background:var(--ivory);padding:clamp(56px,9vw,100px) 0 !important;text-align:center}
.lp-quote p{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.7rem,4.6vw,2.9rem);line-height:1.25;color:var(--navy);max-width:24ch;margin:0 auto;text-wrap:balance}
.lp-quote p::before{content:"";display:block;width:54px;height:2px;background:var(--gold);margin:0 auto 28px}
body.lp .sec-head h2{font-size:clamp(2rem,5vw,3.1rem);line-height:1.1;color:var(--navy)}
body.lp .sec-head p{font-size:1.08rem}
body.lp .sec-head p.lp-kicker{font-size:.78rem;color:var(--gold-d);margin-top:0}

.lp-programmes{background:#fff}
.lp-cards{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:880px){.lp-cards{grid-template-columns:1fr 1fr;gap:28px}}
.lp-card{border-radius:20px;padding:clamp(26px,4vw,40px);display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(20,41,58,.05),0 18px 40px -22px rgba(20,41,58,.28);transition:transform .5s ease,box-shadow .5s ease}
.lp-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(20,41,58,.06),0 28px 54px -24px rgba(20,41,58,.34)}
.lp-card.ft{background:linear-gradient(180deg,#F1F7FB,#fff 60%);border:1px solid var(--ft-line);border-top:5px solid var(--brand)}
.lp-card.pt{background:linear-gradient(180deg,#EAF6F3,#fff 60%);border:1px solid var(--pt-line);border-top:5px solid var(--pt)}
.lp-tag{font-family:"Montserrat",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.ft .lp-tag{color:var(--brand-d)} .pt .lp-tag{color:var(--pt-d)}
.lp-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,4.4vw,2.7rem);font-weight:600;color:var(--navy);line-height:1.05}
.lp-state{display:inline-block;align-self:flex-start;margin:12px 0 18px;padding:.35em .9em;border-radius:999px;font-size:.88rem;font-weight:600}
.ft .lp-state{background:#DCEBF5;color:#1E5473} .pt .lp-state{background:#D5EEE8;color:var(--pt-d)}
.lp-blurb{color:var(--muted);margin:0 0 6px}
.lp-card dl{margin:10px 0 28px;display:grid;gap:18px;flex:1}
.lp-card dl>div{padding-top:16px;border-top:1px solid rgba(20,41,58,.12)}
.lp-card dt{font-size:.92rem;color:var(--muted)}
.lp-card dd{margin:2px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:2.6rem;line-height:1;color:var(--navy)}
.pt .lp-card dd,.lp-card.pt dd{color:var(--pt-d)}
.lp-card dd.sub{font-family:"Instrument Sans",sans-serif;font-weight:400;font-size:.95rem;line-height:1.45;color:var(--muted);margin-top:6px}
.lp-card .btn{align-self:flex-start}
.lp-programmes .note{max-width:70ch}

.lp-how{background:var(--sand)}
.lp-how .steps li{background:#fff;border:0;border-radius:18px;box-shadow:0 14px 34px -22px rgba(20,41,58,.35)}
.lp-how .steps li::before{background:var(--gold);color:#fff;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.2rem}
.lp-how .steps h3{font-family:"Montserrat",sans-serif;font-size:1.05rem;color:var(--navy)}

.lp-prepare{background:#fff}
.lp-prepare .checklist li::before{border-color:var(--pt)}
.lp-prepare .privacy{background:var(--ivory);border-left:4px solid var(--gold);border-radius:0 18px 18px 0}

.lp-faq{background:var(--ivory)}
.lp-faq summary{font-size:1.05rem;color:var(--navy)}
.lp-faq summary::after{color:var(--gold-d)}
.lp-faq .wrap{max-width:860px}

/* Closing band */
body.lp .final{padding:clamp(80px,12vw,140px) 0}
body.lp .final h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:600;max-width:18ch}

/* ---- Reveal on scroll (content stays visible if scripts do not run) ---- */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.6,.2,1) var(--d,0s),transform 1s cubic-bezier(.2,.6,.2,1) var(--d,0s)}
.rv.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .lp-hero-bg,.fl,.lp-cue span{animation:none}
  .fl{opacity:.1}
  .lp-logo,.lp-eyebrow,.lp-hero h1,.lp-lede,.lp-hero .cta-row{animation:none;opacity:1}
  .rv{opacity:1;transform:none;transition:none}
  .lp-card,.lp-card:hover,.lp-bar{transition:none;transform:none}
}

/* Tidy-ups */
.lp-hero .btn #pt-note{display:block;font-weight:500;font-size:.8em;opacity:.85;margin-top:2px}
.lp-hero .btn #pt-note:empty{display:none}
@keyframes lp-float{0%{opacity:0;transform:translate3d(0,24px,0)}18%{opacity:.13}50%{opacity:.16;transform:translate3d(14px,-26px,0)}82%{opacity:.11}100%{opacity:0;transform:translate3d(-8px,-70px,0)}}

/* Figures: always clear, never old-style. Prices and step numbers use the plain sans; serif headings use lining figures. */
body.lp h1,body.lp h2,body.lp h3,.lp-quote p{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"pnum" 1}
.lp-card dd:not(.sub){font-family:"Montserrat",sans-serif;font-weight:700;font-size:2.2rem;letter-spacing:-.01em;font-variant-numeric:lining-nums}
.lp-how .steps li::before{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1rem}
