body.page-light .menu-trigger{color:var(--paper);filter:none}
.nav.solid .menu-trigger{color:var(--paper);filter:none}
body.menu-open .nav .menu-trigger{color:var(--paper);filter:none}

.page-hero{background:var(--ink);color:var(--paper);padding:clamp(150px,20vh,224px) 0 clamp(54px,7vw,96px);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(85% 70% at 90% -10%,rgba(242,106,41,.14),transparent 56%)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-size:clamp(38px,5.4vw,92px);letter-spacing:-.012em;line-height:.94;max-width:14ch}
.page-hero .sub{margin-top:clamp(18px,2vw,28px);font-size:clamp(17px,1.4vw,21px);color:rgba(251,254,251,.74);max-width:52ch;line-height:1.55}
.page-hero--paper{background:var(--paper);color:var(--ink)}
.page-hero--paper::after{background:radial-gradient(85% 70% at 90% -10%,rgba(242,106,41,.1),transparent 56%)}
.page-hero--paper .sub{color:#4c5a63}
.page-hero--orange{background:var(--orange);color:var(--ink)}
.page-hero--orange::after{background:radial-gradient(110% 80% at 88% -8%,rgba(255,255,255,.1),transparent 56%),radial-gradient(90% 80% at -6% 112%,rgba(196,82,27,.28),transparent 60%)}
.page-hero--orange .sub{color:rgba(16,25,32,.76)}
.page-hero--orange h1 em{color:var(--paper)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:15px;color:var(--orange);margin-bottom:clamp(14px,1.6vw,22px)}
.kicker::before{content:"";width:26px;height:2px;background:var(--orange);border-radius:2px}
.page-hero--orange .kicker{color:var(--ink)}
.page-hero--paper .kicker{color:var(--orange-deep)}
.page-hero--orange .kicker::before{background:var(--ink)}

.band-orange{background:var(--orange);color:var(--ink);position:relative;overflow:hidden;padding-block:clamp(70px,9vw,132px)}
.band-orange::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(100% 80% at 92% -6%,rgba(255,255,255,.2),transparent 56%),radial-gradient(90% 80% at -6% 112%,rgba(196,82,27,.45),transparent 60%)}
.band-orange .wrap{position:relative;z-index:2}
.band-orange h2{font-size:clamp(30px,4vw,64px);letter-spacing:-.01em;color:var(--ink);max-width:18ch;line-height:.98}
.band-orange h2 em{color:var(--paper)}
.band-orange p{margin-top:18px;font-size:clamp(16px,1.3vw,20px);color:rgba(16,25,32,.92);max-width:52ch}
.band-orange .btn{margin-top:clamp(26px,3vw,40px)}
.btn-dark{background:var(--ink);color:var(--paper);box-shadow:0 16px 34px -18px rgba(16,25,32,.9)}
.btn-dark:hover{transform:translateY(-2px);color:var(--ink)}

.sec-light{background:var(--paper);color:var(--ink);padding-block:clamp(64px,8vw,124px)}
.sec-dark{background:var(--ink);color:var(--paper);padding-block:clamp(64px,8vw,124px)}
.sec-light>.wrap,.sec-dark>.wrap{display:flow-root}
.sec-title{font-size:clamp(28px,3.4vw,52px);letter-spacing:-.01em;line-height:1}
.sec-light .sec-title{color:var(--ink)}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,72px);align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.split .txt{font-size:clamp(17px,1.3vw,20px);line-height:1.65;max-width:62ch}
.sec-light .split .txt{color:#33414b}
.sec-dark .split .txt{color:rgba(251,254,251,.78)}

.filters{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px);margin-top:clamp(30px,3.6vw,48px)}
.fgroup{display:flex;align-items:baseline;gap:clamp(12px,1.6vw,22px);flex-wrap:wrap}
.fgroup>span{font-weight:500;font-size:13.5px;color:#5C6B74;width:60px;flex:none}
.fseg{position:relative;display:inline-flex;flex-wrap:wrap;gap:2px;background:rgba(16,25,32,.06);border-radius:999px;padding:5px}
.fthumb{position:absolute;background:var(--orange);border-radius:999px;z-index:0;transition:left .45s cubic-bezier(.22,.61,.36,1),top .45s cubic-bezier(.22,.61,.36,1),width .45s cubic-bezier(.22,.61,.36,1),height .45s cubic-bezier(.22,.61,.36,1)}
.fpill{position:relative;z-index:1;border:none;background:transparent;font-family:var(--display);font-weight:700;font-size:15.5px;color:#4c5a63;border-radius:999px;padding:10px 19px;transition:color .3s var(--ease),transform .2s var(--ease)}
.fpill:hover{color:var(--ink)}
.fpill:active{transform:scale(.94)}
.fpill.active{color:var(--ink)}
.fcount{padding-top:clamp(18px,2vw,26px);font-size:14px;color:#5C6B74;font-weight:500}

.pgrid{margin-top:clamp(22px,2.6vw,34px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px) clamp(18px,2vw,28px)}
@media(max-width:1020px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pgrid{grid-template-columns:1fr}}
.pcard{display:block;opacity:1;transform:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.pcard.hide{display:none}
.pcard.pop{opacity:0;transform:translateY(14px)}
.pcard .ph{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--ink-3)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1s var(--ease)}
.pcard:hover .ph img{transform:scale(1.08)}
.pcard .chips{position:absolute;top:14px;left:14px;display:flex;gap:8px}
.pcard .chip{background:rgba(251,254,251,.92);color:var(--ink);font-size:12px;font-weight:500;padding:5px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.pcard .chip.hold{background:rgba(16,25,32,.8);color:var(--paper)}
.pcard h3{margin-top:16px;font-size:clamp(21px,1.8vw,27px);color:var(--ink);letter-spacing:-.008em}
.pcard .meta{margin-top:7px;color:#5C6B74;font-size:14px;font-weight:500}
.pcard .meta b{color:var(--orange-deep);font-weight:500}

.pd-hero{position:relative;isolation:isolate;min-height:min(78vh,760px);display:flex;align-items:flex-end;background:var(--ink);color:var(--paper);overflow:hidden}
.pd-hero .sc{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,25,32,.62),rgba(16,25,32,.24) 40%,rgba(16,25,32,.92) 88%)}
.pd-hero .wrap{position:relative;z-index:4;width:100%;padding-bottom:clamp(40px,5vw,72px);padding-top:clamp(160px,24vh,260px)}
.pd-meta{margin-top:14px;font-size:15px;font-weight:500;color:var(--orange);text-shadow:0 1px 12px rgba(16,25,32,.6)}
.pd-hero h1{font-weight:700;font-size:clamp(36px,4.8vw,80px);letter-spacing:-.012em;line-height:.98;max-width:18ch}
.pd-hero .loc{margin-top:8px;font-size:clamp(16px,1.25vw,19px);color:rgba(251,254,251,.78);font-weight:500}

.pd-sec{border-top:1px solid var(--line-ink);padding-block:clamp(44px,5.4vw,76px)}
.pd-sec:first-child{border-top:none}
.pd-sec h2{font-size:clamp(23px,2.4vw,36px);letter-spacing:-.008em;color:var(--ink)}
.pd-sec .txt{font-size:clamp(17px,1.3vw,20px);line-height:1.65;color:#33414b;max-width:62ch}
.pd-sec .txt p+p{margin-top:1em}

.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,44px);position:relative;z-index:2}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}}
.metric b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(30px,3.2vw,52px);letter-spacing:-.01em;line-height:1;color:var(--ink)}
.metric>span{display:block;margin-top:10px;font-size:14px;font-weight:500;color:rgba(16,25,32,.92)}

.pd-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,1.8vw,26px)}
.pd-gallery figure:first-child{grid-column:1/-1}
@media(max-width:760px){.pd-gallery{grid-template-columns:1fr}}
.pd-gallery figure{border-radius:18px;overflow:hidden;background:var(--ink-3);margin:0}
.pd-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.pd-gallery figure:first-child img{aspect-ratio:21/9}

.partners{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap;margin-top:clamp(20px,2.4vw,30px)}
.partners span{border:1.5px solid var(--line-ink);border-radius:999px;padding:11px 22px;font-weight:500;font-size:15px;color:#33414b}

.pd-nav{display:grid;grid-template-columns:1fr 1fr;min-height:200px}
@media(max-width:700px){.pd-nav{grid-template-columns:1fr}}
.pd-nav a{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:clamp(34px,4.4vw,60px) var(--pad);transition:background .35s var(--ease)}
.pd-nav a span{font-size:13.5px;font-weight:500;color:var(--orange)}
.pd-nav a b{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.2vw,34px);letter-spacing:-.008em;color:var(--paper)}
.pd-nav a:hover{background:var(--ink-2)}
.pd-nav a+a{border-left:1px solid var(--line);text-align:right;align-items:flex-end}
@media(max-width:700px){.pd-nav a+a{border-left:none;border-top:1px solid var(--line);text-align:left;align-items:flex-start}}

.svc{border-top:1px solid var(--line-ink);padding-block:clamp(40px,5vw,68px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,3.6vw,64px);align-items:start}
.svc:last-of-type{border-bottom:1px solid var(--line-ink)}
@media(max-width:860px){.svc{grid-template-columns:1fr;gap:18px}}
.svc .svc-n{font-family:var(--display);font-weight:700;font-size:clamp(20px,1.8vw,26px);color:var(--orange);display:block;margin-bottom:10px}
.svc h2{font-size:clamp(24px,2.5vw,38px);letter-spacing:-.008em;color:var(--ink);max-width:22ch;text-wrap:balance}
.svc .txt{font-size:clamp(16.5px,1.25vw,19px);line-height:1.68;color:#33414b;max-width:72ch}

.aud-grid{margin-top:clamp(34px,4.4vw,58px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.8vw,26px)}
@media(max-width:1000px){.aud-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.aud-grid{grid-template-columns:1fr}}
.aud{border:1px solid var(--line);border-radius:16px;padding:clamp(20px,2.2vw,30px);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.aud:hover{border-color:rgba(242,106,41,.5);transform:translateY(-3px)}
.aud h3{font-size:clamp(19px,1.6vw,24px);color:var(--paper);letter-spacing:-.008em}
.aud p{margin-top:10px;color:rgba(251,254,251,.66);font-size:15px;line-height:1.55}

.on-paper .person h3{color:var(--ink)}
.on-paper .person .role{color:var(--orange-deep)}
.on-paper .person .cred{margin-top:10px;color:#4c5a63;font-size:15px;line-height:1.55;max-width:38ch}
.track-grid{margin-top:clamp(34px,4.4vw,56px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,44px);position:relative;z-index:2}
@media(max-width:900px){.track-grid{grid-template-columns:repeat(2,1fr)}}
.track b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(44px,4.6vw,76px);letter-spacing:-.012em;line-height:1;color:var(--ink)}
.track b em{color:var(--paper)}
.track span{display:block;margin-top:12px;font-size:15px;font-weight:500;color:rgba(16,25,32,.72);max-width:24ch}

.pv-rows{margin-top:clamp(30px,3.6vw,48px)}
.pv-date{font-size:13px;color:#5C6B74;font-weight:500}
.article{max-width:820px;margin-inline:auto}
.article-head h1{font-size:clamp(36px,4.6vw,68px);letter-spacing:-.01em;line-height:1;color:var(--ink);max-width:18ch}
.article-head .meta{margin-top:18px;display:flex;gap:14px;align-items:center;color:#5C6B74;font-size:14.5px;font-weight:500;flex-wrap:wrap}
.article-head .meta b{color:var(--ink);font-weight:500}
.article .lede{margin-top:clamp(22px,2.6vw,32px);font-size:clamp(19px,1.6vw,24px);line-height:1.55;color:#33414b}
.article .body{margin-top:clamp(26px,3vw,40px);font-size:clamp(17px,1.3vw,19.5px);line-height:1.72;color:#33414b}
.article .body p+p{margin-top:1.2em}
.article .body h2{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.008em;color:var(--ink);margin:1.8em 0 .7em}
.article .pq{margin:clamp(30px,3.6vw,48px) 0;font-family:var(--display);font-weight:700;font-size:clamp(24px,2.6vw,38px);letter-spacing:-.008em;line-height:1.18;color:var(--orange-deep);max-width:24ch}
.article .body figure{margin:clamp(28px,3.4vw,44px) 0;border-radius:18px;overflow:hidden}
.article .body figure img{width:100%;display:block}
.article .body figcaption{font-size:13.5px;color:#5C6B74;padding:12px 2px 0}
.author{margin-top:clamp(36px,4.4vw,56px);padding-top:clamp(24px,2.8vw,34px);border-top:1px solid var(--line-ink);display:flex;gap:18px;align-items:center}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top}
.author b{display:block;font-size:17px;color:var(--ink)}
.author span{font-size:14px;color:#5C6B74;font-weight:500}

.pathways{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(28px,3.4vw,44px);position:relative;z-index:2}
.pw{border:1.5px solid rgba(16,25,32,.34);color:var(--ink);border-radius:999px;padding:11px 21px;font-weight:500;font-size:15px;transition:all .25s var(--ease)}
.pw:hover{transform:translateY(-1px);border-color:var(--ink)}
.pw.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pw-line{margin-top:clamp(22px,2.6vw,32px);font-size:clamp(17px,1.4vw,21px);color:var(--ink);max-width:48ch;min-height:2.6em}
.cf-extra{display:none}
.cf-extra.show{display:block}

.pcard .ph::after{content:"";position:absolute;inset:0;z-index:1;background:var(--orange);mix-blend-mode:multiply;opacity:.26;transition:opacity .55s var(--ease)}
.pcard:hover .ph::after{opacity:0}
.pcard .chips{z-index:2}
.fcount-row{display:flex;align-items:baseline;gap:16px;padding-top:clamp(18px,2vw,26px)}
.fcount-mask{display:inline-block;overflow:hidden;line-height:.8}
.fcount-num{font-family:var(--display);font-weight:700;font-size:clamp(38px,3.8vw,60px);line-height:.8;letter-spacing:-.012em;color:var(--orange);display:inline-block}
.fcount-row .fcount{padding-top:0}

.pd-hero .bg{inset:-9% 0}
.pd-nav a{position:relative;overflow:hidden;isolation:isolate}
.pd-nav a .bgp{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity .5s var(--ease),transform 1.3s var(--ease);filter:url(#duotone-orange)}
.pd-nav a:hover .bgp{opacity:.28;transform:scale(1)}

.wrap.svcx{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:clamp(28px,4.4vw,88px);align-items:start}
@media(max-width:900px){.wrap.svcx{grid-template-columns:1fr}}
.svc-index{position:sticky;top:118px}
@media(max-width:900px){.svc-index{display:none}}
.svc-index button{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;width:100%;text-align:left;padding:15px 0;border-top:1px solid var(--line-ink);cursor:pointer}
.svc-index button:last-of-type{border-bottom:1px solid var(--line-ink)}
.svc-index .n{font-family:var(--display);font-weight:700;font-size:18px;color:rgba(16,25,32,.62);transition:color .35s var(--ease)}
.svc-index .t{font-family:var(--display);font-weight:700;font-size:clamp(17px,1.4vw,22px);letter-spacing:-.008em;line-height:1.15;color:rgba(16,25,32,.62);transition:color .35s var(--ease)}
.svc-index button:hover .t{color:var(--ink)}
.svc-index button.active .n{color:var(--orange-deep)}
.svc-index button.active .t{color:var(--ink)}
.svc-item{padding:clamp(34px,4.2vw,60px) 0;border-top:1px solid var(--line-ink)}
.svc-item:first-of-type{border-top:none;padding-top:0}
.svc-item .glyph{width:74px;height:74px;color:var(--orange);margin-bottom:clamp(16px,1.8vw,24px)}
.svc-item h2{font-size:clamp(26px,2.7vw,40px);letter-spacing:-.008em;color:var(--ink);max-width:16ch}
.svc-item .txt{margin-top:16px;font-size:clamp(16.5px,1.25vw,19px);line-height:1.68;color:#33414b;max-width:64ch}
.glyph .draw2{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.svc-item.in .glyph .draw2{stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ease) .1s}
.svc-item.in .glyph .draw2.d2{transition-delay:.4s}
.svc-item.in .glyph .draw2.d3{transition-delay:.65s}
.glyph .dsh{fill:none;stroke:currentColor;stroke-width:1.7;stroke-dasharray:4 5;opacity:0;transition:opacity .5s var(--ease) .75s}
.svc-item.in .glyph .dsh{opacity:1}
.glyph .dot{fill:currentColor;opacity:0;transition:opacity .4s var(--ease) .9s}
.svc-item.in .glyph .dot{opacity:1}
.aud .n{display:block;font-family:var(--display);font-weight:700;font-size:17px;color:var(--orange);margin-bottom:12px}

.row-thumb{display:none}
@media(hover:hover) and (min-width:960px){
  .row-thumb{display:block;position:absolute;right:72px;top:50%;width:150px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;transform:translateY(-46%) rotate(2.5deg);opacity:0;transition:opacity .35s var(--ease),transform .55s var(--ease);pointer-events:none;box-shadow:0 22px 44px -20px rgba(16,25,32,.45);z-index:3}
  .row-thumb img{width:100%;height:100%;object-fit:cover}
  .ins-row{position:relative}
  .ins-row:hover .row-thumb{opacity:1;transform:translateY(-50%) rotate(0deg)}
}

.cf-extra{display:block;max-height:0;overflow:hidden;opacity:0;transform:translateY(10px);transition:max-height .45s var(--ease),opacity .4s var(--ease),transform .45s var(--ease);margin-bottom:0}
.cf-extra.show{max-height:140px;opacity:1;transform:none;margin-bottom:clamp(22px,2.8vw,34px)}

@media(prefers-reduced-motion:reduce){
  .glyph .draw2{stroke-dasharray:0;stroke-dashoffset:0}
  .glyph .dsh,.glyph .dot{opacity:1}
  .cf-extra{transition:none}
  .row-thumb{display:none!important}
}

.page-hero h1,.sec-title,.band-orange h2,.svc h2,.article-head h1,.pd-hero h1{text-wrap:balance}
@supports (animation-timeline: view()){
  .pcard .ph img{object-position:50% 68%;animation:cardPan linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
  @keyframes cardPan{to{object-position:50% 38%}}
  .pd-gallery figure img{object-position:50% 62%;animation:cardPan linear both;animation-timeline:view();animation-range:entry 0% cover 60%}
}
@media(prefers-reduced-motion:reduce){
  .pcard .ph img,.pd-gallery figure img{animation:none;object-position:50% 50%}
}

main>.sec-light,main>.sec-dark,main>.band-orange{position:relative;border-radius:clamp(20px,2.2vw,30px) clamp(20px,2.2vw,30px) 0 0;margin-top:calc(clamp(20px,2.2vw,30px)*-1)}
.article .body figure img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 62%}
@media(max-width:640px){.fgroup>span{width:100%}}
.c-grid{position:relative;z-index:2}
@media(min-width:1200px){
.c-grid{display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);gap:clamp(48px,6vw,110px);align-items:start}
.c-grid .contact-form{max-width:none;margin-top:6px}
}

.film-hero{background:var(--ink);color:var(--paper);position:relative;isolation:isolate;overflow:hidden;min-height:72vh;display:flex;align-items:flex-end;padding:clamp(150px,20vh,224px) 0 clamp(52px,7vh,88px)}
.film-hero .ph-grade{z-index:1}
.film-hero .ph-grade{position:absolute;inset:0;background:radial-gradient(56% 34% at 24% 66%,rgba(16,25,32,.42),transparent 74%),linear-gradient(180deg,rgba(16,25,32,.8) 0%,rgba(16,25,32,.3) 18%,rgba(16,25,32,.06) 42%),linear-gradient(0deg,rgba(16,25,32,.92) 0%,rgba(16,25,32,.55) 24%,rgba(16,25,32,0) 54%),linear-gradient(100deg,rgba(16,25,32,.74),rgba(16,25,32,.46) 36%,rgba(16,25,32,.1) 68%)}
.film-hero .wrap{position:relative;z-index:4;width:100%}
.film-hero h1{font-weight:700;font-size:clamp(40px,5.6vw,96px);line-height:.98;color:var(--paper);text-shadow:0 2px 30px rgba(16,25,32,.55)}
.film-hero h1 em{font-style:normal;color:var(--orange);text-shadow:0 3px 24px rgba(16,25,32,.65)}
.film-hero .sub{margin-top:clamp(16px,2vh,24px);color:rgba(251,254,251,.92);text-shadow:0 1px 14px rgba(16,25,32,.6);font-size:clamp(17px,1.4vw,21px);max-width:52ch;line-height:1.55}
@media(max-width:700px){.film-hero{min-height:62vh;padding-top:120px}}

.pd-navsec{overflow:hidden}
