:root{
  --ink:#0B0A08;--alt:#100E0B;--panel:#14120E;--line:#2E2A21;
  --gold:#C9A24B;--gold-l:#E6C979;--bone:#F2EBDD;--soft:#D9D1C0;--muted:#A8A08F;
  --r:18px;--max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--soft);font-family:'Poppins',system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:99px;z-index:100;font-weight:600}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:6px}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(11,10,8,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-weight:600;font-size:18px;color:var(--bone);text-decoration:none;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--soft)}
.nav a:hover{color:var(--gold-l)}
.nav .btn{color:var(--ink)}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--bone);border-radius:99px;padding:8px 16px;font:500 14px 'Poppins',sans-serif;cursor:pointer}

/* buttons */
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;padding:14px 28px;border-radius:99px;transition:background .2s,transform .2s}
.btn:hover{background:var(--gold-l);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--bone);border:1px solid var(--gold)}
.btn.ghost:hover{background:rgba(201,162,75,.12)}
.btn.sm{padding:10px 22px;font-size:14px}

/* hero */
.hero{padding:72px 0 88px;background:radial-gradient(900px 500px at 85% 0%,rgba(201,162,75,.14),transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
h1{font-weight:700;font-size:clamp(44px,6.4vw,84px);line-height:1.02;letter-spacing:-.025em;color:var(--bone);margin:0 0 24px}
.lead{font-size:clamp(20px,2.2vw,26px);line-height:1.4;font-weight:500;color:var(--bone);margin:0 0 20px;max-width:30ch}
.hero p{max-width:54ch;margin:0 0 20px}
.sing{font-weight:500;color:var(--gold-l);font-size:20px;margin:0 0 32px!important}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.portrait{position:relative;justify-self:center;width:100%;max-width:440px}
.portrait::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid var(--gold);border-radius:var(--r)}
.portrait img{position:relative;border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;width:100%}

/* credits */
.credits{border-block:1px solid var(--line);background:var(--alt);padding:30px 0}
.credits .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px}
.credits p{margin:0;font-size:15px;color:var(--muted)}
.credits b{display:block;color:var(--gold);font-weight:600;font-size:14px;margin-bottom:2px}
.credits span{color:var(--bone);font-weight:500}

/* sections */
section{padding:88px 0}
.alt{background:var(--alt)}
h2{font-weight:600;font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.02em;color:var(--bone);margin:0 0 20px}
.sub{max-width:60ch;margin:0 0 48px;font-size:18px}
.center{text-align:center}.center .sub{margin-inline:auto}

/* reels */
.reels{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}

.reel{display:block;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);text-decoration:none;background:var(--panel)}
.reel img{aspect-ratio:16/10;width:100%;object-fit:cover;transition:transform .5s;filter:brightness(.72)}
.reel:hover img{transform:scale(1.03)}
.play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:background .2s,transform .2s}
.reel:hover .play{background:var(--gold-l);transform:translate(-50%,-50%) scale(1.06)}
.play svg{width:28px;height:28px;margin-left:4px;fill:var(--ink)}
.cap{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--bone);font-weight:600}
.cap small{font-weight:400;color:var(--muted);font-size:14px}

/* framework */
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.statement{font-size:clamp(24px,2.6vw,32px);line-height:1.3;font-weight:500;color:var(--bone);margin:0}
.statement em{font-style:normal;color:var(--gold-l)}
.two p{margin:0 0 18px}

/* keynote */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.split img{border-radius:var(--r);border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;object-position:60% 50%;width:100%}
.split p{margin:0 0 18px}

/* takeaways */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.row h3{margin:0;font-weight:600;font-size:22px;color:var(--bone);line-height:1.3}
.row p{margin:0}

/* room strip */
.strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.strip img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.about img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;width:100%;max-width:440px}
.about p{margin:0 0 18px}
.link{color:var(--gold-l);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold)}
.link:hover{color:var(--bone)}

/* final cta */
.final{text-align:center;background:radial-gradient(700px 360px at 50% 100%,rgba(201,162,75,.16),transparent 70%),var(--alt)}
.final h2{font-size:clamp(34px,5vw,64px)}

/* footer */
footer{border-top:1px solid var(--line);padding:56px 0 40px;font-size:15px}
.fgrid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:36px}
footer a{text-decoration:none;color:var(--soft)}footer a:hover{color:var(--gold-l)}
.flinks{display:flex;gap:24px;flex-wrap:wrap}
.social{display:flex;gap:20px;flex-wrap:wrap}
.copy{color:var(--muted);font-size:14px;margin:0}

/* reveal: one gentle hero load */
@media (prefers-reduced-motion:no-preference){
  .hero .wrap>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero .wrap>*:nth-child(2){animation-delay:.12s}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* responsive */
@media (max-width:980px){
  .hero .wrap,.two,.split,.about{grid-template-columns:1fr;gap:44px}
  .hero{padding:48px 0 64px}
  .portrait{max-width:360px;order:-1;margin-right:18px}
  .about img{max-width:360px}
  section{padding:64px 0}
  .strip{grid-template-columns:1fr 1fr}.strip img:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  .menu{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:16px;text-align:center;border:0}
  .reels,.credits .wrap{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:8px}
  .strip{grid-template-columns:1fr}
  body{font-size:16px}
  .cta-row .btn{flex:1;text-align:center}
}

/* testimonials */
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.q{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.q.big{grid-column:1/-1;padding:44px}
.q blockquote{margin:0;color:var(--bone);font-weight:500;font-size:19px;line-height:1.55}
.q.big blockquote{margin-bottom:22px;font-size:clamp(22px,2.6vw,32px);line-height:1.35}
.q figcaption{color:var(--gold-l);font-weight:600;font-size:15px}
.q small{display:block;color:var(--muted);font-weight:400;font-size:14px}
@media (max-width:760px){.qgrid{grid-template-columns:1fr}.q,.q.big{padding:26px}}

/* logos */
.logos{padding:64px 0}
.lh{font-size:17px;font-weight:500;color:var(--muted);letter-spacing:0;margin:0 0 32px;text-align:center}
.lrow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px 60px}
.lrow li{display:flex;align-items:center}
.lrow img{width:auto;opacity:.8;transition:opacity .2s}
.lrow img:hover{opacity:1}
.l-m img{height:52px}
.l-w img{height:26px}
@media (max-width:760px){.lrow{gap:28px 36px}.l-m img{height:42px}.l-w img{height:20px}.logos{padding:48px 0}}
.qgrid .q:last-child:nth-child(even){grid-column:1/-1}

/* newsletter */
.news{padding:64px 0;border-top:1px solid var(--line)}
.news .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.news h2{font-size:clamp(26px,3vw,36px);margin:0 0 6px}
.news p{margin:0}

/* full-width stage banner */
.banner{margin:0;position:relative;border-top:1px solid var(--line)}
.banner img{width:100%;height:clamp(280px,46vw,640px);object-fit:cover;object-position:50% 55%;display:block}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--ink) 0,transparent 18%,transparent 82%,var(--ink) 100%);pointer-events:none}

/* full-bleed stage hero */
.hero2{position:relative;display:flex;align-items:center;min-height:min(88vh,840px);overflow:hidden;padding:0;background:var(--ink)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero2::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,10,8,.96) 0,rgba(11,10,8,.86) 30%,rgba(11,10,8,.35) 55%,rgba(11,10,8,0) 72%),linear-gradient(to top,var(--ink) 0,rgba(11,10,8,0) 22%)}
.hero-copy{position:relative;z-index:2;display:block!important;padding-top:96px;padding-bottom:96px}
.hero-copy{width:100%}.hero-copy>div{max-width:620px}
.hero2 h1{font-size:clamp(44px,5.6vw,80px)}
@media (prefers-reduced-motion:no-preference){.hero-copy>div{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}}
@media (max-width:980px){
  .hero2{display:block;min-height:0}
  .hero-bg{position:relative;height:300px;object-position:66% 50%}
  .hero2::before{inset:0 0 auto 0;height:300px;background:linear-gradient(to top,var(--ink) 0,rgba(11,10,8,0) 40%)}
  .hero-copy{padding-top:32px;padding-bottom:64px}
}
.final .sub{margin-inline:auto}
.q:not(.big) figcaption{margin-top:18px}

/* formats */
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fmt{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.fmt .len{display:inline-block;color:var(--ink);background:var(--gold);font-weight:600;font-size:13px;padding:4px 14px;border-radius:99px;margin-bottom:18px}
.fmt h3{margin:0 0 10px;font-weight:600;font-size:22px;line-height:1.3;color:var(--bone)}
.fmt p{margin:0}
@media (max-width:760px){.fgrid2{grid-template-columns:1fr}.fmt{padding:26px}}

/* inner pages */
.phero{padding:88px 0 40px;background:radial-gradient(800px 380px at 85% 0%,rgba(201,162,75,.14),transparent 60%)}
.phero h1{font-size:clamp(40px,5vw,68px);margin-bottom:18px}
.phero p{max-width:60ch;margin:0 0 14px}
.formsec{padding:40px 0 104px}
.fwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.flist{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--line)}
.flist li{padding:16px 0;border-bottom:1px solid var(--line);color:var(--bone);font-weight:500}
.flist b{display:block;color:var(--gold-l);font-weight:600;font-size:14px}
.note{color:var(--muted);font-size:15px}
.fbox{background:var(--bone);border-radius:var(--r);padding:12px}
.fbox.narrow{max-width:760px}
.fbox iframe{width:100%;border:0;display:block;background:var(--bone);border-radius:10px}
.fallback{margin:12px 8px 6px;font-size:14px;color:#5a5446}
.fallback .link{color:#6b5217;border-color:#6b5217}
.vids{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px}
.vid iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);background:var(--panel);display:block;margin-bottom:12px}
.bio{max-width:720px}
.bio p{margin:0 0 18px}
@media (max-width:980px){.fwrap{grid-template-columns:1fr;gap:32px}.phero{padding:56px 0 24px}}
@media (max-width:760px){.vids{grid-template-columns:1fr}}
.fgrid2.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.fgrid2.three{grid-template-columns:1fr}}

/* remove double gaps between neighbouring sections on the same background */
section:not(.alt):not(.final):not(.news)+section:not(.alt):not(.final):not(.news){padding-top:0}
.formsec{padding:40px 0 88px}
@media (max-width:980px){.formsec{padding:32px 0 64px}}
.alt+.final{padding-top:16px}
.strip{margin-top:40px}

/* inline reel player */
.reel iframe{display:block;width:100%;aspect-ratio:16/10;border:0;background:#000}
.reel.feat iframe{aspect-ratio:16/10}
.reel.playing{cursor:default}

.fmt a.more{color:var(--gold-light);font-weight:600;white-space:nowrap;border-bottom:1px solid var(--gold)}
.fmt a.more:hover{color:var(--bone)}

.reel.low .play{top:68%}
.reel.low img{filter:brightness(.92)}
