
/* Layout: the YDF/THT family - sticky white header, photographic hero, a stats strip, split photo-and-copy sections, logo tiles, a quotes band and a dark close. Brand cyan and lime used sparingly on paper. */
:root{
  color-scheme:light;
  --cyan:#00B0F0; --cyan-deep:#0079A8; --lime:#D8F34E; --ink:#0F1A24; --ink-2:#17283A;
  --paper:#FBF9F4; --paper-2:#F1EDE4; --fg:#182330; --muted:#5B6773; --line:#E1DCD1; --white:#fff;
  --shadow:0 20px 50px rgba(15,26,36,.16);
  --display:"Sora","Helvetica Neue",Arial,sans-serif; --body:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  --max:1180px; --gutter:clamp(16px,4vw,48px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan-deep)}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.2vw,4.1rem);font-weight:800}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.25rem;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--cyan-deep);margin-bottom:.9rem}
.eyebrow.on-dark{color:var(--lime)}
.lede{font-size:1.18rem;line-height:1.45;color:var(--muted);max-width:60ch}
.measure{max-width:62ch}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:700;font-size:1rem;padding:.85em 1.5em;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:transform .15s ease,background .15s ease;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cyan);color:var(--ink)}
.btn-primary:hover{background:#2BC0F7}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6)}
.btn-ghost:hover{border-color:var(--white)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem}
.brand img{height:54px;width:auto}
.nav{display:flex;gap:1.5rem;align-items:center}
.nav a{font-weight:600;text-decoration:none;color:var(--fg);font-size:.95rem;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--cyan);color:var(--cyan-deep)}
.nav .btn{font-size:.95rem;padding:.65em 1.2em;border-bottom:0}
.nav-toggle{display:none;background:none;border:0;font:inherit;font-weight:700;padding:.5rem;cursor:pointer;color:var(--fg)}
@media (max-width:980px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.5rem var(--gutter) 1rem}
  .nav.open{display:flex}
  .nav a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:.8rem;justify-content:center}
  .brand img{height:44px}
}

/* hero */
.hero{position:relative;background:var(--ink);color:var(--white);overflow:hidden;isolation:isolate}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(15,26,36,.9) 0%,rgba(15,26,36,.72) 42%,rgba(15,26,36,.2) 100%)}
.hero .wrap{padding-block:clamp(3.5rem,8vw,6.5rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:end}
.hero h1{max-width:16ch}
.hero .lede{color:rgba(255,255,255,.85);margin-top:1.3rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hero .caption{color:rgba(255,255,255,.65);font-size:.82rem;justify-self:end;text-align:right}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero .caption{justify-self:start;text-align:left}}

/* stats */
.stats{background:var(--lime);color:var(--ink)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-block:1.5rem}
.stat{border-left:3px solid var(--ink);padding-left:1rem}
.stat b{display:block;font-family:var(--display);font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat span{display:block;font-size:.9rem;font-weight:600;line-height:1.3;margin-top:.35rem}
@media (max-width:760px){.stats .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* sections */
section{padding-block:clamp(3.5rem,8vw,6rem)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.split.reverse>*:first-child{order:2}
@media (max-width:820px){.split,.split.reverse{grid-template-columns:1fr}.split.reverse>*:first-child{order:0}}
.photo{border-radius:14px;overflow:hidden;box-shadow:var(--shadow);position:relative;background:var(--paper-2)}
.photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo .cap{position:absolute;left:0;right:0;bottom:0;padding:.7rem 1rem;color:#fff;font-size:.8rem;background:linear-gradient(transparent,rgba(15,26,36,.75))}
.band-ink{background:var(--ink);color:var(--white)}
.band-ink .lede,.band-ink .muted{color:rgba(255,255,255,.75)}
.band-ink a:not(.btn){color:var(--lime)}
.band-paper2{background:var(--paper-2)}
.band-cyan{background:var(--cyan);color:var(--ink)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end;margin-bottom:2.2rem}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}}
.ticks{list-style:none;margin:1rem 0 1.4rem;padding:0;display:grid;gap:.6rem}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:.7rem;align-items:start}
.ticks li::before{content:"";width:18px;height:18px;margin-top:.25em;border-radius:50%;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%230F1A24' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* video */
.video-card{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:block;color:#fff;text-decoration:none}
.video-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.video-card .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 40%,rgba(15,26,36,.8))}
.video-card .play i{width:84px;height:84px;border-radius:50%;background:var(--cyan);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .15s}
.video-card:hover .play i{transform:scale(1.06)}
.video-card .play i::after{content:"";border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent var(--ink);margin-left:6px}
.video-card .label{position:absolute;left:1.2rem;bottom:1rem;font-family:var(--display);font-weight:700;font-size:1.1rem}

/* cards and grids */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.card p{margin:0;color:var(--muted);line-height:1.45}
.tag{display:inline-block;background:var(--cyan);color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .6rem;border-radius:6px;align-self:flex-start}
.tag.lime{background:var(--lime)}
.tag.ink{background:var(--ink);color:#fff}

/* audience */
.door{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.door img{width:100%;aspect-ratio:16/9;object-fit:cover}
.door .body{padding:1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.door .body p{color:var(--muted);margin:0 0 .4rem}
.door .body .btn{align-self:flex-start;margin-top:auto}

/* resources */
.res{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.res:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.res img{width:100%;aspect-ratio:4/3;object-fit:cover}
.res .body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.35rem}
.res .kind{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.res p{margin:0;color:var(--muted);font-size:.95rem}
.res .award{font-size:.82rem;font-weight:700;color:var(--ink);margin-top:.3rem}

/* community benefits */
.benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
@media (max-width:560px){.benefits{grid-template-columns:1fr}}
.benefit{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;min-width:0}
.benefit b{display:block;font-family:var(--display);font-size:1rem;margin-bottom:.25rem}
.benefit span{color:var(--muted);font-size:.92rem;line-height:1.4}

/* logos */
.logos{display:flex;flex-wrap:wrap;gap:1rem;align-items:stretch}
.logo-tile{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1rem 1.3rem;display:grid;place-items:center;min-height:96px;flex:1 1 160px;max-width:220px;text-decoration:none;transition:transform .15s,box-shadow .15s}
a.logo-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.logo-tile img{max-height:56px;width:auto;max-width:100%;object-fit:contain}
.logo-tile.big{min-height:120px;flex-basis:200px;max-width:260px}
.logo-tile.big img{max-height:76px}
.logo-row-title{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted);margin:2rem 0 .8rem}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
@media (max-width:760px){.quotes{grid-template-columns:1fr}}
blockquote{margin:0;padding:0 0 0 1.4rem;border-left:4px solid var(--ink);font-size:1.12rem;line-height:1.45;font-weight:600}
blockquote footer{font-size:.85rem;margin-top:.8rem;font-weight:500;opacity:.8}

/* map */
.map-stats{display:flex;gap:2rem;flex-wrap:wrap;margin:1.2rem 0 1.6rem}
.map-stats b{display:block;font-family:var(--display);font-size:2.2rem;line-height:1;font-variant-numeric:tabular-nums}
.map-stats span{font-size:.85rem;font-weight:600;color:var(--muted)}
.map-photo{border-radius:14px;overflow:hidden;background:#F2EFE9;border:1px solid var(--line)}
.map-photo img{width:100%;height:auto}

/* talk */
.talk .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:center}
@media (max-width:820px){.talk .wrap{grid-template-columns:1fr}}
.talk .actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.4rem}
.contact{background:var(--ink-2);border-radius:14px;padding:1.6rem;display:grid;gap:1rem}
.contact h3{color:var(--lime);font-size:1.1rem}
.contact p{margin:0;color:rgba(255,255,255,.85)}
.contact .sel{user-select:all;font-weight:700;color:#fff}

/* footer */
.site-footer{background:var(--ink-2);color:rgba(255,255,255,.75);font-size:.9rem}
.site-footer .wrap{padding-block:2.5rem;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
@media (max-width:820px){.site-footer .wrap{grid-template-columns:1fr}}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:.7rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.site-footer .org{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:.8rem}
.site-footer .org img{height:26px;width:auto}
.legal{border-top:1px solid rgba(255,255,255,.12);background:var(--ink-2);color:rgba(255,255,255,.6)}
.legal .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-block:1rem;font-size:.8rem}
.preview-note{background:var(--ink);color:var(--paper);font-weight:600;font-size:.85rem;padding:.55rem var(--gutter);text-align:center}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* inner pages */
.pg[hidden]{display:none}
.page-hero{background:var(--ink);color:#fff;position:relative;isolation:isolate;overflow:hidden;padding-block:0}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.6}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,26,36,.95),rgba(15,26,36,.6))}
.page-hero .wrap{padding-block:clamp(2.6rem,5vw,4.2rem);display:grid;gap:1.1rem}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch}
.page-hero .lede{color:rgba(255,255,255,.85);margin:0}
.page-hero .eyebrow{margin-bottom:0}
.page-hero .actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.4rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;max-width:900px;margin-top:.6rem}
.hero-stats div{border-left:3px solid var(--lime);padding-left:.9rem}
.hero-stats b{display:block;font-family:var(--display);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1;color:var(--lime);font-variant-numeric:tabular-nums}
.hero-stats span{display:block;font-size:.88rem;line-height:1.3;color:rgba(255,255,255,.85);margin-top:.35rem}
@media (max-width:640px){.hero-stats{grid-template-columns:1fr 1fr}}

/* catalogue */
.cat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3.5rem)}
@media (max-width:760px){.cat{grid-template-columns:1fr}}
.cat-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;padding-block:1.1rem;border-top:1px solid var(--line);align-items:start;text-decoration:none;color:inherit}
.cat-item:hover h3{color:var(--cyan-deep)}
.cat-item h3{font-size:1.1rem;transition:color .15s}
.cat-item .kind{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep);grid-column:1}
.cat-item p{margin:0;color:var(--muted);font-size:.95rem;grid-column:1}
.cat-item .pill{grid-column:2;grid-row:1/span 3;align-self:start;background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .55rem;border-radius:6px;white-space:nowrap}
.cat-item .pill.shop{background:var(--paper-2);border:1px solid var(--line)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.6rem}
.filters span{border:1.5px solid var(--line);background:var(--white);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;color:var(--muted)}
.filters span.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* resource page */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
@media (max-width:820px){.facts{grid-template-columns:1fr}}
.facts h3{font-size:1rem;color:var(--cyan-deep);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}
.facts ul{margin:0;padding-left:1.1rem;color:var(--fg)}
.facts li{margin-bottom:.35rem}
.evidence{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--lime);border-radius:14px;padding:1.5rem 1.6rem}
.evidence h3{margin-bottom:.5rem}
.evidence p{margin:0;color:var(--muted)}
.breadcrumb{font-size:.85rem;color:rgba(255,255,255,.7)}
.breadcrumb a{color:#fff}

/* masterclass previews */
.mc{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.mc .thumb{aspect-ratio:16/9;background:var(--ink-2);display:grid;place-items:center;position:relative;color:#fff}
.mc .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.7}
.mc .thumb i{width:60px;height:60px;border-radius:50%;background:var(--cyan);display:grid;place-items:center;position:relative;z-index:1}
.mc .thumb i::after{content:"";border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent var(--ink);margin-left:4px}
.mc .thumb .len{position:absolute;right:.7rem;bottom:.6rem;font-size:.75rem;font-weight:700;background:rgba(15,26,36,.8);padding:.2rem .5rem;border-radius:6px;z-index:1}
.mc .body{padding:1rem 1.2rem 1.2rem}
.mc .body b{display:block;font-family:var(--display);font-size:1rem;margin-bottom:.2rem}
.mc .body span{color:var(--muted);font-size:.9rem}
.brief{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem;display:grid;gap:.4rem}
.brief time{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.brief b{font-family:var(--display);font-size:1.05rem}
.brief p{margin:0;color:var(--muted);font-size:.93rem}

/* pricing */
.price-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.6rem;display:flex;flex-direction:column;gap:.6rem;min-width:0}
.price-card.featured{border-color:var(--cyan);box-shadow:var(--shadow)}
.price-card .amount{font-family:var(--display);font-size:2.4rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.price-card .amount small{font-family:var(--body);font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:.3rem}
.price-card .who{color:var(--muted);font-size:.95rem}
.price-card .btn{align-self:flex-start;margin-top:auto}
.bands{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.bands th,.bands td{text-align:left;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.bands th{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--paper-2)}
.bands td:last-child,.bands th:last-child{text-align:right;font-weight:700}
.bands tr:last-child td{border-bottom:0}
.note{background:var(--paper-2);border-radius:10px;padding:.9rem 1.1rem;font-size:.92rem;color:var(--muted)}
details{border-top:1px solid var(--line);padding-block:1rem}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--cyan-deep);font-weight:700}
details[open] summary::after{content:"-"}
details p{margin:.6rem 0 0;color:var(--muted);max-width:68ch}

/* shop */
.product{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.product img{width:100%;aspect-ratio:4/3;object-fit:cover}
.product .body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.product .body p{margin:0;color:var(--muted);font-size:.95rem}
.product .price{font-family:var(--display);font-weight:800;font-size:1.5rem;margin-top:auto;letter-spacing:-.02em}
.product .price small{font-family:var(--body);font-weight:600;font-size:.8rem;color:var(--muted);letter-spacing:0}

/* news */
.post{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.post img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post .body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.4rem}
.post time{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.post p{margin:0;color:var(--muted);font-size:.95rem}
.article{max-width:720px}
.article p{color:var(--fg);font-size:1.05rem;line-height:1.6}
.article h3{margin:1.6rem 0 .5rem}

/* partners */
.partner{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1.6rem;align-items:start;padding-block:1.6rem;border-top:1px solid var(--line)}
.partner .mark{background:var(--white);border:1px solid var(--line);border-radius:12px;min-height:120px;display:grid;place-items:center;padding:1rem}
.partner .mark img{max-height:76px;max-width:100%;object-fit:contain}
.partner p{margin:0;color:var(--muted)}
.partner h3{margin-bottom:.3rem}
@media (max-width:620px){.partner{grid-template-columns:1fr}}

/* team */
.person{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}
.person .ph{aspect-ratio:1;background:var(--paper-2);display:grid;place-items:center;color:var(--muted)}
.person .ph svg{width:40%;opacity:.3}
.person .who{padding:1rem 1.2rem 1.2rem}
.person .who b{display:block;font-family:var(--display);font-size:1.05rem}
.person .who span{display:block;color:var(--cyan-deep);font-weight:600;font-size:.85rem;margin:.15rem 0 .5rem}
.person .who p{margin:0;color:var(--muted);font-size:.92rem}

/* booking */
.book{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:1rem}
.book .slot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.book .slot span{border:1.5px solid var(--line);border-radius:10px;padding:.7rem;text-align:center;font-weight:600;font-size:.92rem}
.book .slot span.on{border-color:var(--cyan);background:#E6F7FE}
.cta-strip{background:var(--cyan);color:var(--ink)}
.cta-strip .wrap{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;padding-block:1.5rem}
.cta-strip b{font-family:var(--display);font-size:1.3rem}
.cta-strip p{margin:0;opacity:.85}

/* v6: library list */
.lib-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3rem)}
@media (max-width:820px){.lib-list{grid-template-columns:1fr}}
.lib{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.1rem;padding-block:1.1rem;border-top:1px solid var(--line);text-decoration:none;color:inherit;align-items:start}
.lib img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.lib h3{font-size:1.08rem;margin:.1rem 0 .25rem;transition:color .15s}
.lib:hover h3{color:var(--cyan-deep)}
.lib .kind{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.lib p{margin:0;color:var(--muted);font-size:.93rem}
.lib .pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.lib .pills:empty{display:none}
.lib .pill{background:var(--lime);color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .55rem;border-radius:6px}
.lib .pill.shop{background:var(--paper-2);border:1px solid var(--line)}
@media (max-width:520px){.lib{grid-template-columns:110px minmax(0,1fr)}}
.ticks li{margin-bottom:.4rem}

/* resource page */
img.cover{width:100%;height:auto;border-radius:14px;display:block}
.side{display:grid;gap:1rem;align-content:start}
.buy{background:var(--ink);color:#fff;border-radius:14px;padding:1.4rem 1.5rem;display:grid;gap:.5rem}
.buy b{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}
.buy .amount{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em;line-height:1.15}
.buy p{margin:0;color:rgba(255,255,255,.75);font-size:.92rem}
.buy .btn{justify-self:start}
.buy .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}

/* supermarket */
.product img{width:100%;aspect-ratio:auto;height:auto;display:block}
.product h3 a{text-decoration:none;color:inherit}
.product h3 a:hover{color:var(--cyan-deep)}
.product .price small{display:inline-block;margin-left:.4rem;background:var(--lime);color:var(--ink);padding:.15rem .45rem;border-radius:5px;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.product .row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.product .more{font-weight:600;color:var(--cyan-deep);text-decoration:none;font-size:.92rem}

/* pricing */
.pricing-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem 2rem;align-items:start;margin-bottom:2rem}
.pricing-head img{height:54px;width:auto}
.pricing-head h2{margin-bottom:.5rem}
.pricing-head .lede{margin:0;max-width:62ch}
@media (max-width:640px){.pricing-head{grid-template-columns:1fr}}
.addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem 3rem;align-items:center;background:var(--white);border:1px solid var(--line);border-left:6px solid var(--cyan);border-radius:14px;padding:1.6rem 1.8rem;margin-top:1.6rem}
.addon h3{margin:.5rem 0 .4rem}
.addon p{margin:0;color:var(--muted);max-width:60ch}
.addon .amount{font-family:var(--display);font-weight:800;font-size:2.2rem;letter-spacing:-.03em;line-height:1;display:grid;gap:.5rem;justify-items:start}
.addon .amount small{font-family:var(--body);font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:0}
.addon .amount p{font-size:.85rem}
@media (max-width:720px){.addon{grid-template-columns:1fr}}
.tb-grid{margin-top:.5rem}
.tb-card{background:#fff;color:var(--ink);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.tb-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.tb-card .body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.tb-card h3{font-size:1.1rem}
.tb-card p{margin:0;color:var(--muted);font-size:.93rem}
.tb-card .amount{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;line-height:1;margin-top:auto;padding-top:.6rem}
.tb-card .amount small{display:block;font-family:var(--body);font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:.3rem}
.tb-card .btn{align-self:flex-start;margin-top:.4rem}
.band-ink .lede{color:rgba(255,255,255,.82)}
.band-ink h2{color:#fff}

/* partners */
.pgrid{align-items:stretch}
.ptile{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0;transition:transform .15s,box-shadow .15s}
.ptile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ptile img{width:100%;aspect-ratio:1250/446;object-fit:cover;display:block}
.ptile .body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.ptile h3{font-size:1.02rem}
.ptile p{margin:0;color:var(--muted);font-size:.9rem}
.ptile .more{margin-top:auto;padding-top:.5rem;font-weight:700;color:var(--cyan-deep);font-size:.88rem}
.band-cyan .ticks li::before{color:var(--ink)}
.addon-card{background:var(--ink);color:#fff;border-radius:16px;padding:1.8rem;display:grid;gap:.7rem;justify-items:start}
.addon-card b{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}
.addon-card .amount{font-family:var(--display);font-weight:800;font-size:2.6rem;letter-spacing:-.03em;line-height:1}
.addon-card .amount small{display:block;font-family:var(--body);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:0;margin-top:.4rem}
.addon-card p{margin:0;color:rgba(255,255,255,.78)}
.addon-card .btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.pq{margin:1.6rem 0 0;padding:1.2rem 1.4rem;border-left:5px solid var(--cyan);background:var(--paper-2);border-radius:0 12px 12px 0}
.pq p{margin:0 0 .5rem;font-family:var(--display);font-weight:600;font-size:1.1rem;line-height:1.4}
.pq cite{font-style:normal;color:var(--muted);font-size:.9rem}
.side .mark{background:var(--white);border:1px solid var(--line);border-radius:12px;min-height:120px;display:grid;place-items:center;padding:1.2rem}
.side .mark img{max-height:80px;max-width:80%;object-fit:contain}

/* team */
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem}
@media (max-width:1000px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.person .ph img{width:100%;height:100%;object-fit:cover;display:block}
.person .who p{font-size:.86rem}
.band-cyan .lede,.band-cyan .ticks{color:var(--ink)}
.band-cyan .ticks li{color:var(--ink)}
.product .pnote{margin:-.2rem 0 .4rem;font-size:.85rem;color:var(--muted)}

/* briefings */
.bfeat{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.bfeat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.bfeat img{width:100%;aspect-ratio:1667/595;object-fit:cover;display:block}
.bfeat .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.bfeat time{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.bfeat p{margin:0;color:var(--muted)}
.bfeat .btn{align-self:flex-start;margin-top:auto}
.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-content:start}
.bcard{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1667/595;background:var(--ink)}
.bcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bcard span{position:absolute;left:.8rem;bottom:.6rem;right:.8rem;color:#fff;font-family:var(--display);font-weight:700;font-size:.95rem;text-shadow:0 1px 6px rgba(0,0,0,.6)}
@media (max-width:520px){.bgrid{grid-template-columns:1fr}}
.mc-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
@media (max-width:900px){.mc-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.mc-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mcs{display:grid;gap:.4rem}
.mcs img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block}
.mcs span{font-size:.8rem;color:var(--muted);line-height:1.3}
.mcs.dark{background:var(--ink);border-radius:10px;padding:1rem;align-content:center;aspect-ratio:16/9;gap:.2rem}
.mcs.dark .t{font-family:var(--display);font-weight:700;color:#fff;font-size:.95rem}
.mcs.dark span:not(.t){color:rgba(255,255,255,.7)}
.mc .thumb img{opacity:1}
.mc .thumb i{opacity:.9}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(15,26,36,.72)}
.modal-box{position:relative;background:var(--paper);border-radius:18px;max-width:820px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.modal-x{position:absolute;top:.8rem;right:.8rem;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}
.modal-hero{width:100%;aspect-ratio:1667/595;object-fit:cover;display:block}
.modal-body{padding:1.6rem clamp(1.2rem,4vw,2.4rem) 2rem}
.modal-body time{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep)}
.modal-body h2{margin:.3rem 0 1rem}
.listen{display:grid;gap:.4rem;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin-bottom:1.4rem}
.listen b{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan-deep)}
.listen audio{width:100%}
.modal-body .article h3{margin:1.4rem 0 .4rem}
.modal-body .article p{font-size:1rem;line-height:1.6}
.modal-foot{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
body.modal-open{overflow:hidden}
.photo.shot img{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.modal-body .article ul{padding-left:1.2rem;margin:.4rem 0 1rem}
.modal-body .article li{margin-bottom:.4rem}
.modal-body .article li p{margin:0}
.modal-body .article figure{margin:1.2rem 0}
.modal-body .article figure img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.modal-body .article h3{font-size:1.25rem}
.modal-body .article h4{font-size:1.05rem;margin:1.2rem 0 .3rem}

/* library wall */
.wall{position:relative;height:540px;border-radius:18px;overflow:hidden;background:var(--ink);display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:.6rem;isolation:isolate}
.wcol{overflow:hidden;position:relative}
.wtrack{display:flex;flex-direction:column;gap:.6rem;will-change:transform}
.wtrack img{width:100%;height:auto;border-radius:10px;display:block;object-fit:cover;transition:opacity .9s ease,filter .9s ease,transform .9s ease}
.wall[data-cat] .wtrack img:not([data-cat=films]):not([data-cat=social]):not([data-cat=print]):not([data-cat=interactive]):not([data-cat=libraries]):not([data-cat=expert]){opacity:1}
.wall[data-cat="films"] img:not([data-cat="films"]),.wall[data-cat="social"] img:not([data-cat="social"]),.wall[data-cat="print"] img:not([data-cat="print"]),.wall[data-cat="interactive"] img:not([data-cat="interactive"]),.wall[data-cat="libraries"] img:not([data-cat="libraries"]),.wall[data-cat="expert"] img:not([data-cat="expert"]){opacity:.42;filter:saturate(.55)}
.wall img.on{transform:scale(1.02)}
.c1 .wtrack{animation:wdrift 70s linear infinite}
.c2 .wtrack{animation:wdrift 86s linear infinite reverse}
.c3 .wtrack{animation:wdrift 78s linear infinite}
@keyframes wdrift{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.wfade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,36,.5),transparent 20%,transparent 66%,rgba(15,26,36,.92));pointer-events:none}
.wchip{position:absolute;left:1rem;right:1rem;bottom:1rem;height:2.6rem;display:grid}
.wlabel{grid-area:1/1;align-self:end;justify-self:start;background:var(--lime);color:var(--ink);font-family:var(--display);font-weight:700;font-size:.95rem;padding:.55rem .9rem;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.wlabel.on{opacity:1;transform:none}
@media (max-width:900px){.wall{height:440px}}
@media (prefers-reduced-motion:reduce){.wtrack{animation:none}}

/* showreel */
.reel{position:relative;border-radius:18px;overflow:hidden;background:var(--ink);isolation:isolate;box-shadow:var(--shadow)}
.rframe{aspect-ratio:16/9;background:#000}
.rvid{display:block;width:100%;height:100%;object-fit:cover}
.rbar{position:relative;height:3.4rem;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}
.rlabel{position:absolute;inset:0;display:flex;align-items:center;gap:.7rem;padding:0 1.1rem;color:#fff;font-family:var(--display);font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;opacity:0;transform:translateX(10px);transition:opacity .4s,transform .4s;pointer-events:none}
.rlabel>span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.rlabel b{flex:none;background:var(--lime);color:var(--ink);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px;font-weight:700}
.rlabel.on{opacity:1;transform:none}
@media (max-width:600px){.rlabel{font-size:.82rem;gap:.5rem;padding:0 .8rem}.rbar{height:3rem}}

.res-img{position:relative;display:block}
.res-img .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(15,26,36,.78);color:var(--lime);display:grid;place-items:center;font-size:1.2rem;padding-left:4px;transition:transform .15s}
.res-img:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.res h3 a{text-decoration:none;color:inherit}
.res-acts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.btn-sm{padding:.5rem .85rem;font-size:.85rem}
.modal-box.wide{max-width:960px}
.modal-video{background:#000;aspect-ratio:16/9;width:100%}
.modal-video video{width:100%;height:100%;display:block}
.modal-vert{display:grid;grid-template-columns:minmax(260px,340px) 1fr;align-items:start}
.modal-video.vert{aspect-ratio:9/16;max-height:80vh;border-radius:18px 0 0 18px}
@media (max-width:720px){.modal-vert{grid-template-columns:1fr}.modal-video.vert{max-height:60vh;border-radius:18px 18px 0 0}}
.stockgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-height:52vh;overflow:auto;padding:.2rem;margin:1rem 0 .4rem;border:1px solid var(--line);border-radius:12px}
.stockgrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}
@media (max-width:600px){.stockgrid{grid-template-columns:repeat(3,1fr)}}

.shot-side{display:flex;justify-content:center}
.shot-side img{width:min(100%,318px);height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}
.threads{display:grid;gap:.8rem;margin-top:1.4rem}
.thread{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:12px;padding:.9rem 1.1rem;display:grid;gap:.3rem}
.thread b{font-family:var(--display);font-weight:600;font-size:1rem}
.thread span{color:var(--muted);font-size:.9rem}
.xp-strip{overflow:hidden;margin-top:.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.xp-track{display:flex;gap:1rem;width:max-content;animation:xp 70s linear infinite}
.xp-strip:hover .xp-track{animation-play-state:paused}
.xp{margin:0;flex:none;width:272px;background:#000;border-radius:14px;overflow:hidden}
.xp.pc{width:360px;background:var(--white);border:1px solid var(--line)}
.xp.pc img{aspect-ratio:1250/446;object-fit:cover}
.xp img{width:100%;height:auto;display:block}
@keyframes xp{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.xp-track{animation:none}}
.logos.small .logo-tile{min-height:72px;flex-basis:130px;max-width:170px;padding:.7rem .9rem}
.logos.small .logo-tile img{max-height:40px}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.ev{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;color:#fff}
.ev img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}
.ev .body{padding:.9rem 1.1rem 1.1rem;display:grid;gap:.25rem}
.ev .kind{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.ev b{font-family:var(--display);font-weight:600;font-size:1.05rem;line-height:1.25}
.ev span:not(.kind){color:rgba(255,255,255,.75);font-size:.9rem}
.ev time{color:rgba(255,255,255,.55);font-size:.8rem;margin-top:.2rem}
@media (max-width:900px){.events{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.events{grid-template-columns:1fr}}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.pillar{display:grid;grid-template-rows:auto 1fr;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;transition:transform .15s,border-color .15s}
.pillar:hover{transform:translateY(-3px);border-color:var(--lime)}
.pillar img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.pillar div{padding:.9rem 1.1rem 1.1rem;display:grid;gap:.3rem}
.pillar b{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--lime)}
.pillar span{color:rgba(255,255,255,.78);font-size:.92rem;line-height:1.45}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar img[src*="spaces"]{object-position:top}

.pillar-scroll{display:block;aspect-ratio:16/9;overflow:hidden;position:relative;background:#f7f8fa}
.pillar-scroll img{width:100%;height:auto;aspect-ratio:auto;object-fit:unset;display:block;animation:pscroll 26s ease-in-out infinite alternate}
@keyframes pscroll{from{transform:translateY(0)}to{transform:translateY(-87.0%)}}
@media (prefers-reduced-motion:reduce){.pillar-scroll img{animation:none}}

.map-photo{position:relative;line-height:0;border:0;overflow:hidden;background:#f2efe9}
.map-key.right{left:auto;right:1rem}
.map-photo img{width:100%;height:auto;display:block}
.map-key{position:absolute;left:1rem;bottom:1rem;display:flex;gap:1rem;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.8rem;font-weight:600;line-height:1;color:var(--ink)}
.map-key span{display:inline-flex;align-items:center;gap:.45rem}
.map-key i{width:14px;height:14px;border-radius:4px;border:1px solid rgba(15,26,36,.5);display:inline-block}
.k-full{background:#00B0F0}.k-super{background:#D8F34E}
.pillar-rot{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:#000}
.pillar-rot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}
.pillar-rot img.on{opacity:1}
.flipbook{margin:1rem 0 .4rem;border:1px solid var(--line);border-radius:12px;background:#f3f1ec;padding:1rem}
.flip-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.5rem}
.flip-track img{flex:none;width:min(46%,340px);height:auto;scroll-snap-align:start;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.flip-nav{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:.6rem}
.flip-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.4rem;cursor:pointer}
.flip-count{font-size:.85rem;font-weight:600;color:var(--muted)}

.facts.dark{color:#fff}
.facts.dark h3{color:var(--lime);font-family:var(--display);font-size:1.25rem;text-transform:none;letter-spacing:0;margin-bottom:.8rem}
.facts.dark>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:1.4rem 1.5rem}
.facts.dark ul{color:rgba(255,255,255,.85);padding-left:1.1rem}
.facts.dark li{margin-bottom:.5rem}
.cover-link{position:relative;display:block}
.play.big{width:72px;height:72px;font-size:1.6rem}
.cover-link .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:rgba(15,26,36,.78);color:var(--lime);display:grid;place-items:center;padding-left:5px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-height:60vh;overflow:auto;padding:.2rem;margin:1rem 0 .4rem;border:1px solid var(--line);border-radius:12px}
.pgrid img{width:100%;height:auto;border-radius:8px;display:block;background:#000}
@media (max-width:600px){.pgrid{grid-template-columns:repeat(2,1fr)}}

section.tight{padding-top:2.6rem}

.rp{grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr)}
.inline-pv{background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16/9;margin:.2rem 0 .8rem}
.inline-pv video{width:100%;height:100%;display:block}
.inline-pv.vert{aspect-ratio:auto;display:flex;justify-content:center;background:#0b1118}
.inline-pv.vert video{width:auto;height:min(70vh,640px);max-width:100%}
.pv-cap{color:var(--muted);font-size:.95rem;margin:.4rem 0 0}
.pv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.2rem 0 .8rem}
.pv-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block;background:#000}
.facts.stack{display:grid;grid-template-columns:1fr;gap:1rem;background:var(--ink);color:#fff;border-radius:16px;padding:1.4rem}
.facts.stack>div{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
.facts.stack>div:first-child{border-top:0;padding-top:0}
.facts.stack h3{color:var(--lime);font-family:var(--display);font-size:1.1rem;text-transform:none;letter-spacing:0;margin-bottom:.5rem}
.facts.stack ul{color:rgba(255,255,255,.85);padding-left:1.1rem;font-size:.95rem}
.facts.stack li{margin-bottom:.35rem}
.buy.tight{margin-top:1rem;display:grid;gap:.9rem;padding:1.2rem 1.3rem}
.buy.tight .amount{font-size:1.9rem;margin:.1rem 0 .2rem}
.buy.tight span{font-size:.9rem;color:rgba(255,255,255,.75)}
.buy-acts{display:flex;gap:.6rem;flex-wrap:wrap}
.buy-acts .btn{padding:.6rem 1rem;font-size:.9rem}
@media (max-width:900px){.rp{grid-template-columns:1fr}}

/* v8.0 */
.rp .evidence{margin-top:1.8rem}
.vpair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:.2rem 0 .8rem}
.vpair .inline-pv.vert{margin:0}
.vpair .inline-pv.vert video{height:min(60vh,560px)}
.modal-body .vpair{margin:1rem 0}
.modal-body .vpair .modal-video.vert{aspect-ratio:9/16;max-height:none;border-radius:12px;overflow:hidden}
.pv-grid.wide{grid-template-columns:repeat(4,1fr)}
.pv-grid.wide img{aspect-ratio:545/310;object-fit:cover;background:#000;border-radius:10px}
.pgrid.wide img{aspect-ratio:545/310;object-fit:cover;background:#000;border-radius:10px}
.films-h{margin:1.4rem 0 .5rem;font-size:1.05rem}
.films{list-style:none;margin:0 0 1.2rem;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden}
.films li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-top:1px solid var(--line)}
.films li:first-child{border-top:0}
.films li b{display:block;font-size:.95rem}
.films li span{display:block;color:var(--muted);font-size:.85rem}
.films .btn-sm{flex:none}
.sec-head+.grid-3+.sec-head{margin-top:0}
@media (max-width:640px){.vpair{grid-template-columns:1fr}.pv-grid.wide{grid-template-columns:repeat(3,1fr)}}
a.mc{color:inherit;text-decoration:none}a.mc:hover .thumb img{opacity:.75}

.photo.shot.walk{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);line-height:0;background:#fff}
.photo.shot.walk video{width:100%;height:auto;display:block}
.walk-cap{display:block;line-height:1.4;font-size:.82rem;color:var(--muted);padding:.6rem .9rem;background:var(--white);border-top:1px solid var(--line)}
.addon.with-shot{grid-template-columns:240px minmax(0,1fr) auto}
.addon-shot{width:240px;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.12);display:block}
@media (max-width:900px){.addon.with-shot{grid-template-columns:1fr}.addon-shot{width:min(100%,260px)}}
.shot-img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid rgba(15,26,36,.15);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.shot-cap{margin:.6rem 0 1.2rem;font-size:.85rem;color:var(--ink);opacity:.8}
.ptile{transition:none}.ptile:hover{transform:none;box-shadow:none}

video.shot-img{max-width:420px;margin:0 auto}

.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
@media (max-width:700px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.team-grid .person .ph{aspect-ratio:5/4}
.team-grid .person .ph img{width:100%;height:100%;object-fit:cover}
.includes-strip{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:baseline;background:var(--lime);color:var(--ink);border-radius:12px;padding:1rem 1.3rem;margin:1.4rem 0 2rem}
.includes-strip b{font-family:var(--display);font-size:1.1rem}
.includes-strip span{font-size:.95rem;flex:1 1 320px}
.bands{list-style:none;margin:.4rem 0 .6rem;padding:0;border-top:1px solid var(--line)}
.bands li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.bands li span{color:var(--muted)}
.bands li b{font-family:var(--display);white-space:nowrap}
.tb-card .bands+.btn{margin-top:auto}
.mc .thumb .flash{position:absolute;left:.7rem;top:.6rem;background:var(--lime);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .55rem;border-radius:6px;z-index:1}
.mc.fire .thumb img{opacity:.85}
div.mc.fire .thumb i{display:none}

.callform{display:grid;gap:.8rem}
.callform label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
.callform label small{font-weight:400;color:var(--muted)}
.callform input,.callform select,.callform textarea{font:inherit;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.callform input:focus,.callform select:focus,.callform textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}
.callform .btn{justify-self:start;margin-top:.3rem}
.callform .small{font-size:.8rem;margin:0}

.photo .shot-cap{padding:.7rem 1rem .9rem;margin:0;font-size:.85rem;color:var(--muted);background:var(--white);border-top:1px solid var(--line)}
.includes-line{display:block;position:relative;padding-left:1.3rem;margin:.2rem 0 1.8rem;color:rgba(255,255,255,.85);font-size:.98rem;max-width:62ch}
.includes-line b{color:#fff;font-weight:700}
.includes-line i{position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--lime)}

.tb-card .tiers{list-style:none;margin:.2rem 0 .6rem;padding:0;border-top:1px solid #e6e4df}
.tb-card .tiers li{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.5rem 0;border-bottom:1px solid #e6e4df;font-size:.9rem;color:var(--ink)}
.tb-card .tiers li span{color:var(--muted)}
.tb-card .tiers li b{font-weight:700;white-space:nowrap}
.tb-card .tiers+.btn{margin-top:auto}

.hero-slides img.bg{opacity:0;transition:opacity 1.4s ease}
.hero-slides img.bg.on{opacity:1}
.hero-label{position:absolute;right:1.2rem;bottom:1rem;z-index:1;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(15,26,36,.45);padding:.35rem .6rem;border-radius:999px;backdrop-filter:blur(4px);transition:opacity .6s}
.hero-label.fade{opacity:0}
@media (prefers-reduced-motion:reduce){.hero-slides img.bg{transition:none}}
/* uniform logo tiles */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;align-items:stretch}
.logo-tile,.logo-tile.big,.logos.small .logo-tile{flex:none;max-width:none;min-height:0;width:100%;aspect-ratio:5/3;padding:0;box-sizing:border-box;display:block;position:relative;overflow:hidden}
.logo-tile img,.logo-tile.big img,.logos.small .logo-tile img{position:absolute;left:14%;top:14%;width:72%;height:72%;max-height:none;max-width:none;object-fit:contain;display:block}
.logos.small{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem}
@media (max-width:640px){.logos{grid-template-columns:repeat(3,1fr);gap:.6rem}.logos.small{grid-template-columns:repeat(3,1fr)}.logo-tile img{left:11%;top:11%;width:78%;height:78%}}
.hero::before{background:linear-gradient(100deg,rgba(15,26,36,.96) 0%,rgba(15,26,36,.88) 38%,rgba(15,26,36,.55) 60%,rgba(15,26,36,.18) 100%)}
.hero h1,.hero .lede{text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 24px rgba(0,0,0,.35)}

.promo{margin-top:1.2rem;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.promo img{display:block;width:100%;height:auto}
.promo .shot-cap{padding:.7rem .9rem .8rem;margin:0;font-size:.85rem;color:var(--muted)}

.addon-row{max-width:420px;margin:0 auto;background:var(--ink);color:#fff;border-radius:14px;padding:.9rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.addon-row b{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}
.addon-row .amount{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;line-height:1.1}
.addon-row .amount small{font-family:var(--body);font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:0}
.addon-row .btn{flex:none}
@media (max-width:640px){.addon-row{flex-direction:column;align-items:flex-start}}

.pc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.2rem}
.pc-tile{margin:0;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pc-tile img{display:block;width:100%;aspect-ratio:1250/446;object-fit:cover}
@media (max-width:900px){.pc-grid{grid-template-columns:repeat(2,1fr)}}
video.shot-img{max-height:440px;object-fit:cover;object-position:top}

.nav-login{display:inline-flex;align-items:center;gap:.45em}

.quote-feature{display:flex;align-items:center;gap:2rem;max-width:900px;margin:0 auto}
.quote-feature img{flex:none;width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.quote-feature blockquote{border-left:0;padding:0;font-size:1.3rem;line-height:1.4}
@media (max-width:640px){.quote-feature{flex-direction:column;text-align:center;gap:1.2rem}.quote-feature blockquote{font-size:1.12rem}}

.mc-who{margin:.2rem 0 .6rem;font-weight:700;color:var(--cyan-deep)}
.mc-intro{color:var(--muted);font-style:italic}
.syllabus{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem}
.syllabus h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .6rem}
.syl-sec{margin-bottom:.7rem}
.syl-sec b{display:block;font-size:.95rem;margin-bottom:.2rem}
.syl-sec ol{margin:0;padding-left:1.3rem;font-size:.9rem;color:var(--muted)}
.syl-sec li{break-inside:avoid;padding:.1rem .3rem;border-radius:6px}
.syl-sec li.now{background:var(--lime);color:var(--ink);font-weight:700}
.syl-sec li.now em{font-style:normal;font-weight:600;font-size:.78rem;opacity:.8;white-space:nowrap}


.news-vids{margin:1.4rem 0 1.8rem}
.nv{margin:0;flex:1 1 200px;max-width:280px}
.nv figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}

.nh{margin:1.4rem 0 1.8rem}
.nh .inline-pv video{width:100%;border-radius:12px;display:block}
.nh figcaption,.ni figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.news-imgs{display:grid;gap:.8rem;margin:1.4rem 0 1.8rem}
.news-imgs.n1{grid-template-columns:1fr}
.news-imgs.n2{grid-template-columns:1fr 1fr}
.news-imgs.n4{grid-template-columns:repeat(4,1fr)}
.news-imgs.n6{grid-template-columns:repeat(6,1fr)}
.ni{margin:0}
.ni img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--line)}
.news-imgs.dark .ni img{background:#000;aspect-ratio:545/310;object-fit:cover;border:0}
.news-imgs.n1 .ni img{max-width:520px}
.news-imgs.n1 .ni img[src*="promo/"]{max-width:340px}
@media (max-width:640px){.news-imgs.n4,.news-imgs.n6{grid-template-columns:1fr 1fr}}

.quotes{display:grid;grid-template-columns:1fr;gap:1.2rem;max-width:900px;margin:0 auto}
.qcard{margin:0;background:rgba(255,255,255,.14);border-radius:18px;padding:1.6rem 1.8rem;display:grid;grid-template-columns:88px 1fr;gap:.4rem 1.4rem;align-items:start}
.qcard img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.75);grid-row:span 2}
.qcard blockquote{margin:0;padding:0;border:0;font-size:1.1rem;line-height:1.5}
.qcard figcaption{grid-column:2;font-size:.9rem;margin-top:.6rem;opacity:.9}
.qcard figcaption b{display:block;font-family:var(--display)}
@media (max-width:760px){.qcard{grid-template-columns:1fr;padding:1.3rem}.qcard img{width:64px;height:64px;grid-row:auto}.qcard figcaption{grid-column:1}.qcard blockquote{font-size:1rem}}
