.pw{
    --navy:#0E1B33;
    --navy-deep:#0A1428;
    --ivory:#F4EFE6;
    --gold:#B08D4A;
    --gold-soft:#C9AA72;
    --muted:rgba(244,239,230,.68);
    --rule:rgba(176,141,74,.38);
    --serif:"Cormorant Garamond","Garamond",Georgia,serif;
    --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  }
.pw *{box-sizing:border-box}
.pw{
    margin:0;
    background:var(--navy);
    color:var(--ivory);
    font-family:var(--sans);
    font-weight:300;
    font-size:17px;
    line-height:1.75;
  }
.pw img{max-width:100%;display:block}
.pw a{color:inherit}
.pw .wrap{width:min(960px,88vw);margin:0 auto}
.pw .narrow{width:min(660px,90vw);margin:0 auto}
.pw .hero{padding:clamp(56px,10vw,120px) 0 clamp(40px,7vw,80px)}
.pw .pw-eyebrow{
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--gold-soft);margin:0 0 28px;font-weight:400;
  }
.pw h1{
    font-family:var(--serif);font-weight:400;
    font-size:clamp(3.2rem,11vw,7rem);
    line-height:.94;letter-spacing:-.01em;
    margin:0;
  }
.pw .standfirst{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(1.4rem,3.4vw,2rem);
    line-height:1.35;color:var(--gold-soft);
    margin:26px 0 0;max-width:24ch;
  }
.pw .hero-rule{
    width:120px;height:1px;background:var(--gold);
    margin:44px 0 0;border:0;
  }
.pw .opening{padding:clamp(40px,7vw,72px) 0}
.pw .opening p{
    font-family:var(--serif);
    font-size:clamp(1.2rem,2.3vw,1.5rem);
    line-height:1.62;margin:0 0 1.1em;max-width:46ch;
  }
.pw .opening p:last-child{margin-bottom:0}
.pw .opening .turn{color:var(--gold-soft)}
.pw section{padding:clamp(48px,8vw,96px) 0}
.pw .pw-band{background:var(--navy-deep)}
.pw h2{
    font-family:var(--serif);font-weight:400;
    font-size:clamp(2rem,4.4vw,2.7rem);
    line-height:1.12;margin:0 0 28px;max-width:22ch;
  }
.pw p{margin:0 0 1.2em}
.pw p:last-child{margin-bottom:0}
.pw .pw-lede{max-width:62ch;color:var(--muted)}
.pw .modules{margin-top:48px;border-top:1px solid var(--rule)}
.pw .module{
    border-bottom:1px solid var(--rule);
    padding:34px 0;
    display:grid;grid-template-columns:1fr;gap:10px;
  }
.pw .module h3{
    font-family:var(--serif);font-weight:400;
    font-size:clamp(1.5rem,3vw,2rem);
    line-height:1.2;margin:0;
  }
.pw .module h3 span{display:block;font-size:.66em;font-style:italic;color:var(--gold-soft);margin-top:6px}
.pw .module p{color:var(--muted);max-width:58ch;margin:0}
@media(min-width:820px){.pw .module{grid-template-columns:minmax(240px,.85fr) 1.15fr;gap:48px;align-items:start}
}
.pw .included{list-style:none;padding:0;margin:36px 0 0;max-width:60ch}
.pw .included li{
    padding:22px 0;border-top:1px solid var(--rule);
    color:var(--muted);
  }
.pw .included li:last-child{border-bottom:1px solid var(--rule)}
.pw .included strong{
    display:block;color:var(--ivory);font-weight:400;
    font-family:var(--serif);font-size:1.35rem;line-height:1.3;margin-bottom:6px;
  }
.pw .dates{
    display:grid;gap:4px;margin:0 0 28px;
    font-family:var(--serif);font-size:clamp(1.5rem,3.6vw,2.2rem);line-height:1.3;
  }
.pw .zones{color:var(--muted);max-width:40ch}
.pw .zones span{white-space:nowrap}
.pw .price{
    font-family:var(--serif);font-size:clamp(2.4rem,7vw,4rem);
    line-height:1.05;margin:0 0 12px;
  }
.pw .price small{display:block;font-family:var(--sans);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px}
.pw .founding{color:var(--muted);max-width:46ch;margin-top:20px}
.pw .bio p{max-width:58ch;color:var(--muted)}
.pw .bio .creed{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(1.3rem,3vw,1.75rem);
    color:var(--ivory);margin-top:34px;max-width:30ch;line-height:1.4;
  }
.pw .faq{margin-top:40px;max-width:62ch}
.pw .faq dt{
    font-family:var(--serif);font-size:1.3rem;
    margin:0 0 6px;padding-top:24px;border-top:1px solid var(--rule);
  }
.pw .faq dd{margin:0 0 26px;color:var(--muted)}
.pw .cta{text-align:center;padding:clamp(64px,10vw,120px) 0}
.pw .cta h2{margin:0 auto 30px;max-width:18ch}
.pw .pw-btn{
    display:inline-block;
    font-family:var(--sans);font-weight:400;
    font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold-soft);text-decoration:none;
    border:1px solid var(--gold);border-radius:999px;
    padding:20px 46px;
    transition:background-color .25s ease,color .25s ease;
  }
.pw .pw-btn:hover,.pw .pw-btn:focus-visible{background:var(--gold);color:var(--navy-deep)}
.pw .cta .note{margin:26px auto 0;max-width:46ch;color:var(--muted);font-size:.95rem}
.pw a:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.pw *{transition:none!important}
}

.pw{position:relative;z-index:2}
body.programme{--bg:#0E1B33;--band:#0A1428;--accent:#B08D4A;--rule:rgba(176,141,74,.38);--fg:#F4EFE6;--muted:rgba(244,239,230,.68);--card:#0A1428}
body.programme .mark{background:#B08D4A;fill:#0A1428}
body.programme .nav-cta:hover{color:#0E1B33!important}
