:root{--bg:#12090d;--panel:#1b0e14;--ink:#f2efe9;--muted:#a99fa3;--accent:#d95769;--line:color-mix(in srgb,var(--ink) 14%,transparent);--gutter:clamp(1.25rem,4vw,4.5rem);--hero-progress:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:"Outfit",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-nav{position:fixed;z-index:60;top:0;left:0;right:0;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(18px)}
.wordmark{display:inline-flex;width:fit-content;align-items:center;gap:.65rem;font-size:.88rem;font-weight:600;letter-spacing:.18em}.wordmark-glyph{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--accent);border-radius:9px;letter-spacing:0}.site-nav nav{display:flex;gap:clamp(1rem,3vw,2.5rem)}.site-nav nav a{position:relative;color:var(--muted);font:500 .68rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.site-nav nav a::after{position:absolute;content:"";left:0;right:100%;bottom:-.55rem;height:1px;background:var(--accent);transition:right .35s}.site-nav nav a:hover::after{right:0}.nav-commission{position:relative;justify-self:end;padding:.78rem 1rem;font-size:.8rem;letter-spacing:.04em}.nav-commission::before,.nav-commission::after{position:absolute;inset:0;content:"";border:1px solid var(--line);clip-path:polygon(0 0,26% 0,26% 1px,1px 1px,1px 26%,0 26%,0 0,74% 0,100% 0,100% 26%,calc(100% - 1px) 26%,calc(100% - 1px) 1px,74% 1px);transition:.35s}.nav-commission::after{transform:rotate(180deg)}.nav-commission:hover::before,.nav-commission:hover::after{border-color:var(--accent);clip-path:polygon(0 0,45% 0,45% 1px,1px 1px,1px 45%,0 45%,0 0,55% 0,100% 0,100% 45%,calc(100% - 1px) 45%,calc(100% - 1px) 1px,55% 1px)}
.hero-stage{position:relative;height:560vh;background:var(--bg)}.hero-sticky{position:sticky;top:0;height:100dvh;overflow:hidden}.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--bg)}.hero-film-mobile{display:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 72%,transparent) 0%,color-mix(in srgb,var(--bg) 36%,transparent) 43%,color-mix(in srgb,var(--bg) 7%,transparent) 72%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 50%,transparent),transparent 40%)}.hero-copy{position:absolute;z-index:3;left:var(--gutter);top:50%;width:min(56rem,80vw);transform:translateY(-46%);opacity:calc(1 - var(--hero-progress)*1.35)}.hero-kicker{display:flex;gap:1.25rem;margin:0 0 2rem;color:var(--accent);font:500 .7rem "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase}.hero-kicker span{color:var(--muted)}.hero-copy h1{max-width:10ch;margin:0;font-size:clamp(4.4rem,10vw,10.5rem);font-weight:500;line-height:.82;letter-spacing:-.065em}.hero-body{max-width:34ch;margin:2.5rem 0 0;color:var(--ink);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;line-height:1.55}.scroll-cue{position:absolute;z-index:3;right:var(--gutter);bottom:2.5rem;display:flex;align-items:center;gap:1rem;color:var(--muted);font:400 .65rem "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.scroll-cue i{display:block;width:52px;height:1px;background:var(--accent);transform-origin:left;transform:scaleX(calc(.15 + var(--hero-progress)*.85))}.hero-signature{position:absolute;z-index:2;right:-1vw;bottom:0;color:color-mix(in srgb,var(--ink) 4%,transparent);font-size:clamp(7rem,20vw,22rem);font-weight:700;line-height:.7;letter-spacing:-.08em;pointer-events:none}
.work-section{position:relative;z-index:5;padding:clamp(7rem,13vw,12rem) var(--gutter);background:var(--bg)}.section-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);gap:2rem;align-items:end;margin-bottom:clamp(4rem,9vw,8rem)}.section-intro .section-eyebrow{grid-column:1/-1}.section-intro h2,.services-title h2,.process-head h2,.format-copy h2,.commission-copy h2{margin:0;font-size:clamp(3rem,7vw,7.8rem);font-weight:400;line-height:.88;letter-spacing:-.055em}.section-intro>p:last-child,.services-title p,.process-head>p:last-child,.format-copy>p,.commission-copy>p{max-width:46ch;margin:0;color:var(--muted);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.55}.section-eyebrow,.mono-note{margin:0;color:var(--accent);font:400 .7rem "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase}
.project-stack{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:4rem minmax(15rem,1.3fr) minmax(14rem,.7fr);gap:clamp(1rem,3vw,3rem);align-items:center;min-height:clamp(19rem,36vw,33rem);padding:clamp(1.25rem,2vw,2rem) 0;border-bottom:1px solid var(--line)}.project-index{align-self:start;padding-top:.4rem;color:var(--muted);font:400 .72rem "IBM Plex Mono",monospace}.project-image{position:relative;height:clamp(17rem,32vw,29rem);overflow:hidden;border-radius:14px;background:var(--panel)}.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.project-image img.position-right{object-position:right}.project-play{position:absolute;right:1.1rem;bottom:1.1rem;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--ink);color:var(--bg);transform:scale(.82) rotate(-14deg);transition:.45s}.project-row:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02)}.project-row:hover .project-play{transform:scale(1);background:var(--accent)}.project-copy p,.project-copy span{color:var(--muted);font:400 .68rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.project-copy h3{margin:.8rem 0 2.5rem;font-size:clamp(2.5rem,5vw,5.6rem);font-weight:400;letter-spacing:-.04em}
.services-section{min-height:100dvh;padding:clamp(7rem,12vw,11rem) var(--gutter);background:var(--ink);color:var(--bg)}.services-title{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:clamp(4rem,8vw,7rem)}.services-title h2{font-size:clamp(3rem,6vw,6.5rem)}.services-title p{color:color-mix(in srgb,var(--bg) 68%,transparent)}.service-slices{border-top:1px solid color-mix(in srgb,var(--bg) 18%,transparent)}.service-slice{display:grid;grid-template-columns:4rem 1fr minmax(18rem,.7fr) 2rem;gap:1.5rem;align-items:center;min-height:8rem;border-bottom:1px solid color-mix(in srgb,var(--bg) 18%,transparent);transition:.35s}.service-slice>span{font:400 .7rem "IBM Plex Mono",monospace}.service-slice h3{margin:0;font-size:clamp(1.65rem,3vw,3rem);font-weight:400}.service-slice p{margin:0;color:color-mix(in srgb,var(--bg) 66%,transparent);line-height:1.5}.service-slice i{color:var(--accent);font-size:1.4rem;font-style:normal;transition:.35s}.service-slice:hover{padding-left:1.25rem;background:color-mix(in srgb,var(--accent) 18%,transparent)}.service-slice:hover i{transform:rotate(45deg)}
.process-section{padding:clamp(7rem,13vw,12rem) var(--gutter);background:var(--panel)}.process-head{max-width:70rem;margin-bottom:clamp(5rem,10vw,9rem)}.process-head h2{max-width:10ch;margin:1.5rem 0 2rem}.process-line{position:relative;margin-left:clamp(0rem,13vw,12rem)}.process-line::before{position:absolute;top:0;bottom:0;left:3rem;width:1px;content:"";background:var(--line)}.process-step{display:grid;grid-template-columns:4rem minmax(12rem,.5fr) minmax(18rem,1fr);gap:2rem;align-items:start;min-height:10rem;padding:2.2rem 0;border-top:1px solid var(--line)}.process-step>span{color:var(--accent);font:400 .7rem "IBM Plex Mono",monospace}.process-step h3{margin:0;font-size:clamp(1.6rem,2.8vw,2.8rem);font-weight:400}.process-step p{max-width:45ch;margin:.3rem 0 0;color:var(--muted);line-height:1.6}
.format-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:100dvh}.format-visual{position:relative;min-height:46rem;overflow:hidden;background:linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent),transparent),url("/assets/projects/automotive.png") center/cover}.format-visual::after{position:absolute;inset:0;content:"";background:color-mix(in srgb,var(--bg) 44%,transparent)}.format-visual>img{position:absolute;z-index:1;right:-8%;bottom:-16%;width:68%;opacity:.1;mix-blend-mode:screen}.format-frame{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ink) 45%,transparent);font:400 .7rem "IBM Plex Mono",monospace;backdrop-filter:blur(8px)}.format-frame.portrait{top:15%;left:12%;width:24%;aspect-ratio:9/16}.format-frame.landscape{top:34%;left:40%;width:46%;aspect-ratio:16/9}.format-frame.square{left:20%;bottom:10%;width:24%;aspect-ratio:1;border-color:var(--accent)}.format-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,9vw,9rem) var(--gutter)}.format-copy h2{max-width:8ch;font-size:clamp(3rem,6vw,6.4rem)}.format-copy>p{margin:2rem 0 4rem}.format-copy dl{margin:0;border-top:1px solid var(--line)}.format-copy dl div{display:flex;justify-content:space-between;gap:2rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.format-copy dt{color:var(--muted);font:400 .72rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.format-copy dd{margin:0}
.manifesto-band{overflow:hidden;padding:clamp(5rem,10vw,9rem) var(--gutter);background:var(--accent);color:var(--bg)}.manifesto-band p{margin:0;font-size:clamp(3rem,8vw,9rem);font-weight:500;line-height:.86;letter-spacing:-.055em;white-space:nowrap}.manifesto-band p:nth-child(2){transform:translateX(12vw)}.manifesto-band p:nth-child(3){transform:translateX(-5vw)}
.commission-section{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.commission-copy,.commission-panel{padding:clamp(5rem,9vw,9rem) var(--gutter)}.commission-copy{display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.commission-copy h2{font-size:clamp(3.8rem,8vw,8rem)}.commission-copy>p{margin:2rem 0 3.5rem}.commission-band{display:flex;justify-content:space-between;align-items:center;min-height:7rem;padding:1.5rem 2rem;background:var(--accent);color:var(--bg);font-size:clamp(1.4rem,2.5vw,2.4rem);font-weight:500;transform:skewX(-2deg);transition:.35s}.commission-band span,.commission-band b{transform:skewX(2deg)}.commission-band:hover{transform:translateX(.5rem);background:var(--ink)}.commission-panel{display:flex;flex-direction:column;justify-content:center;background:var(--panel)}.intake-grid{display:grid;grid-template-columns:1fr 1fr;margin:2rem 0 4rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.intake-grid div{min-height:9rem;padding:1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.intake-grid span{color:var(--accent);font:400 .68rem "IBM Plex Mono",monospace}.intake-grid p{margin:2rem 0 0}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--accent);transition:.3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{max-width:50ch;margin:0;padding:0 2rem 1.5rem 0;color:var(--muted);line-height:1.55}
.site-footer{display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:start;padding:3rem var(--gutter) 2rem;border-top:1px solid var(--line)}.site-footer>p{margin:.4rem 0 0;color:var(--muted)}.site-footer>div{display:grid;gap:.7rem;font:400 .7rem "IBM Plex Mono",monospace;text-transform:uppercase}.site-footer small{grid-column:1/-1;margin-top:5rem;color:var(--muted);font-family:"IBM Plex Mono",monospace}
@media(max-width:900px){.site-nav{grid-template-columns:1fr auto}.site-nav nav{display:none}.section-intro,.format-section,.commission-section{grid-template-columns:1fr}.project-row{grid-template-columns:2.5rem 1fr}.project-copy{grid-column:2}.services-title{display:grid}.service-slice{grid-template-columns:2.5rem 1fr 1.5rem;padding:1.5rem 0}.service-slice p{grid-column:2/-1}.process-line{margin-left:0}.process-line::before{left:1.25rem}.process-step{grid-template-columns:2.5rem 1fr;gap:1rem}.process-step p{grid-column:2}.format-visual{min-height:70dvh}.commission-copy{border-right:0;border-bottom:1px solid var(--line)}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div{grid-column:2;grid-row:1/span 2}}
@media(max-width:700px){.hero-film-desktop{display:none}.hero-film-mobile{display:block}.hero-shade{background:linear-gradient(0deg,var(--bg),transparent 80%),linear-gradient(90deg,color-mix(in srgb,var(--bg) 55%,transparent),transparent)}.hero-copy{top:auto;bottom:14vh;width:calc(100% - var(--gutter)*2);transform:none}.hero-copy h1{font-size:clamp(4rem,19vw,7rem)}.scroll-cue{right:auto;left:var(--gutter);bottom:2rem}}
@media(max-width:560px){.site-nav{height:64px}.nav-commission{font-size:.7rem;padding:.65rem .75rem}.section-intro h2,.services-title h2,.process-head h2,.format-copy h2,.commission-copy h2{font-size:clamp(2.8rem,15vw,4.8rem)}.project-row{grid-template-columns:1fr}.project-index{display:none}.project-copy{grid-column:1}.project-image{height:62vw}.service-slice{grid-template-columns:2rem 1fr 1.5rem}.intake-grid{grid-template-columns:1fr}.manifesto-band p{font-size:13vw}.site-footer{grid-template-columns:1fr}.site-footer>div{grid-column:1;grid-row:auto;margin-top:2rem}.site-footer small{margin-top:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-stage{height:100dvh}.hero-copy{opacity:1}.project-image img,.project-play,.service-slice,.service-slice i,.commission-band,.site-nav nav a::after,.nav-commission::before,.nav-commission::after{transition:none!important}}

/* Kynelux clarity and premium campaign system */
:root{--bg:#090607;--panel:#171014;--ink:#fff;--muted:#d9d2d4;--accent:#f16b80;--line:color-mix(in srgb,#fff 20%,transparent)}
.site-nav{background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom-color:rgba(255,255,255,.14)}
.wordmark{font-size:.94rem}.site-nav nav{gap:clamp(1.2rem,3vw,2.8rem)}.site-nav nav a{color:#fff;font-size:.79rem;font-weight:500}.nav-commission{font-size:.9rem;font-weight:500}
.hero-kicker{font-size:.78rem}.hero-kicker span,.scroll-cue{color:#fff}.hero-copy h1{color:#fff;text-shadow:0 2px 32px rgba(0,0,0,.42)}.hero-body{max-width:39ch;color:#fff;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:400}.hero-signature{color:rgba(255,255,255,.07)}
.section-eyebrow,.mono-note{font-size:.8rem;font-weight:500}.section-intro>p:last-child,.services-title p,.process-head>p:last-child,.format-copy>p,.commission-copy>p{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.6}
.showreel-section{padding:clamp(1.5rem,3vw,3rem) var(--gutter) clamp(6rem,11vw,10rem);background:#090607;color:#fff}.showreel-frame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#050304;box-shadow:0 42px 110px rgba(0,0,0,.58)}.showreel-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.22)}.showreel-frame video{display:block;width:100%;aspect-ratio:2.15/1;object-fit:cover;object-position:center center}.showreel-label{position:absolute;z-index:2;left:1.25rem;bottom:1.25rem;display:grid;gap:.25rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(9,6,7,.66);color:#fff;backdrop-filter:blur(12px)}.showreel-label span{color:#ff8a9b;font:500 .68rem "IBM Plex Mono",monospace;letter-spacing:.09em;text-transform:uppercase}.showreel-label strong{font-size:.98rem;font-weight:500}.showreel-copy{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.55fr);gap:2rem;align-items:end;margin-top:clamp(2.75rem,5vw,5rem)}.showreel-copy .section-eyebrow{grid-column:1/-1;color:#ff8a9b}.showreel-copy h2{max-width:13ch;margin:0;color:#fff;font-size:clamp(3rem,6.8vw,7rem);font-weight:500;line-height:.9;letter-spacing:-.055em}.showreel-copy>p:last-child{max-width:43ch;margin:0;color:#c4babe;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6}
.project-image{box-shadow:0 24px 55px rgba(0,0,0,.26)}.project-image img{filter:saturate(.96) contrast(1.02)}.project-play{width:54px;height:54px;background:#fff;color:#090607;font-size:.78rem;transform:scale(.92)}.project-status{position:absolute;left:1.1rem;bottom:1.1rem;padding:.72rem .9rem;border:1px solid rgba(255,255,255,.38);border-radius:8px;background:rgba(9,6,7,.76);color:#fff;font:500 .72rem "IBM Plex Mono",monospace;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(12px)}.project-row:hover img{filter:saturate(1.04) contrast(1)}.project-copy p,.project-copy span{color:#fff;font-size:.78rem;font-weight:500;line-height:1.6}.project-copy p{color:var(--accent)}.project-copy h3{color:#fff;line-height:.9}.project-copy a{display:inline-block;margin-top:.25rem;color:#fff;font-size:1rem;border-bottom:1px solid var(--accent)}
.project-custom{min-height:clamp(21rem,34vw,31rem)}.custom-visual{position:relative;display:flex;height:clamp(17rem,30vw,27rem);flex-direction:column;justify-content:flex-end;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border-radius:14px;background:radial-gradient(circle at 75% 22%,rgba(255,255,255,.26),transparent 25%),linear-gradient(135deg,#f16b80 0%,#ad284b 48%,#2b0d19 100%);box-shadow:0 24px 55px rgba(0,0,0,.28)}.custom-visual::before{position:absolute;inset:-30%;content:"";border:1px solid rgba(255,255,255,.24);border-radius:46%;transform:rotate(-18deg)}.custom-visual span,.custom-visual i{position:relative;z-index:1;color:#fff;font:500 .78rem "IBM Plex Mono",monospace;letter-spacing:.07em;text-transform:uppercase}.custom-visual strong{position:relative;z-index:1;margin:.6rem 0 2rem;color:#fff;font-size:clamp(3.2rem,7vw,8rem);font-weight:500;line-height:.82;letter-spacing:-.06em}.custom-visual i{font-style:normal}
.market-section{padding:clamp(7rem,12vw,11rem) var(--gutter);background:#120d10}.market-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.55fr);gap:2rem;align-items:end;margin-bottom:clamp(3.5rem,7vw,6rem)}.market-head .section-eyebrow{grid-column:1/-1}.market-head h2{margin:0;color:#fff;font-size:clamp(3.4rem,7.5vw,8rem);font-weight:500;line-height:.86;letter-spacing:-.06em}.market-head>p:last-child{max-width:44ch;margin:0;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.6}.market-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.market-grid article{display:flex;min-height:25rem;flex-direction:column;padding:clamp(1.5rem,4vw,3.5rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.035),transparent)}.market-number{color:#fff;font-size:clamp(4rem,8vw,8rem);font-weight:500;line-height:.9;letter-spacing:-.06em}.market-grid h3{margin:2rem 0 .8rem;color:#fff;font-size:clamp(1.6rem,2.8vw,2.8rem);font-weight:500}.market-grid p{max-width:34ch;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6}.market-grid a{width:max-content;margin-top:auto;padding-top:2rem;color:#fff;font:500 .72rem "IBM Plex Mono",monospace;text-transform:uppercase;border-bottom:1px solid var(--accent)}.market-message{background:linear-gradient(135deg,#ef6b80,#8f1f3d)!important}.market-message>span{color:#fff;font:500 .72rem "IBM Plex Mono",monospace;letter-spacing:.1em}.market-message h3{margin-top:auto;font-size:clamp(2.4rem,5vw,5.3rem);line-height:.9;letter-spacing:-.045em}.market-message p{color:#fff}
.service-slice p{font-size:1.05rem}.process-step p{font-size:1.05rem}.format-visual{background:linear-gradient(rgba(241,107,128,.08),transparent),url("/assets/projects/property-natural.jpg") center/cover}
.manifesto-band{color:#130a0e}.commission-band{color:#130a0e}.site-footer>div{font-size:.78rem}
@media(max-width:900px){.showreel-copy,.market-head{grid-template-columns:1fr}.market-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.showreel-section{padding-top:1rem}.showreel-frame{border-radius:10px}.showreel-frame video{aspect-ratio:16/10}.showreel-label{left:.75rem;bottom:.75rem}.market-grid{grid-template-columns:1fr}.market-grid article{min-height:20rem}.project-status{font-size:.61rem}.custom-visual{height:62vw}}
@media(max-width:560px){.hero-body{font-size:1.05rem}.showreel-copy h2,.market-head h2{font-size:clamp(2.8rem,15vw,4.8rem)}.project-copy p,.project-copy span{font-size:.72rem}.market-number{font-size:4.6rem}}
.market-grid article{position:relative;overflow:hidden}.market-grid article::after{position:absolute;right:0;bottom:0;left:0;height:4px;content:"";background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.market-grid article.is-visible::after{transform:scaleX(1)}
.project-row,.market-grid article,.service-slice,.process-step{opacity:.28;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.project-row.is-visible,.market-grid article.is-visible,.service-slice.is-visible,.process-step.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.project-row,.market-grid article,.service-slice,.process-step{opacity:1;transform:none}.market-grid article::after{transform:scaleX(1)}}
.project-row,.market-grid article,.service-slice,.process-step{opacity:1;transform:none}.market-grid article::after{transform:scaleX(1)}

/* Website V2: living portfolio, current-market engine and format advice */
.engine-section{position:relative;padding:clamp(7rem,12vw,12rem) var(--gutter);overflow:hidden;background:#0f0b0d}.engine-section::before{position:absolute;top:-30%;right:-10%;width:55vw;height:55vw;border-radius:50%;content:"";background:radial-gradient(circle,rgba(241,107,128,.18),transparent 65%);pointer-events:none}.engine-lead{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.55fr);gap:2rem;align-items:end}.engine-lead .section-eyebrow{grid-column:1/-1}.engine-lead h2{max-width:12ch;margin:0;color:#fff;font-size:clamp(3.3rem,7vw,7.5rem);font-weight:500;line-height:.88;letter-spacing:-.06em}.engine-lead>p{max-width:46ch;margin:0;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65}.text-link{grid-column:2;width:max-content;margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--accent);font-size:1.05rem}.text-link span{color:var(--accent)}.engine-flow{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--line);border-left:1px solid var(--line)}.engine-flow article{display:flex;min-height:25rem;flex-direction:column;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}.engine-flow span,.engine-flow p{font:500 .72rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.engine-flow span{color:var(--accent)}.engine-flow p{margin:1.5rem 0;color:#fff}.engine-flow h3{max-width:11ch;margin:auto 0 1.5rem;font-size:clamp(2rem,3.6vw,4rem);font-weight:400;line-height:.95;letter-spacing:-.045em}.engine-flow small{max-width:28ch;color:var(--muted);font-size:.98rem;line-height:1.5}.engine-proof{position:relative;z-index:1;max-width:62rem;margin:2rem 0 0;padding-left:1rem;border-left:2px solid var(--accent);color:var(--muted);font-size:1rem;line-height:1.6}
.portfolio-toolbar{display:flex;gap:.65rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.portfolio-toolbar::-webkit-scrollbar{display:none}.portfolio-toolbar button{flex:0 0 auto;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:#fff;font:500 .72rem "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:.25s}.portfolio-toolbar button:hover,.portfolio-toolbar button.is-active{border-color:var(--accent);background:var(--accent);color:#16090d}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.portfolio-card{background:var(--bg);animation:portfolioIn .55s both;animation-delay:var(--card-delay)}@keyframes portfolioIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.portfolio-card>button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.portfolio-poster{position:relative;aspect-ratio:4/5;overflow:hidden;background:#171014}.portfolio-poster img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.portfolio-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.portfolio-poster::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 55%,rgba(9,6,7,.78))}.portfolio-play{position:absolute;z-index:2;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:.8rem;padding:.7rem .75rem .7rem 1rem;border-radius:999px;background:#fff;color:#090607;font:500 .72rem "IBM Plex Mono",monospace;text-transform:uppercase}.portfolio-play b{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--accent);font-size:.62rem}.portfolio-poster em{position:absolute;z-index:2;left:1.2rem;bottom:1.6rem;max-width:42%;color:#fff;font:500 .68rem "IBM Plex Mono",monospace;line-height:1.35;text-transform:uppercase;font-style:normal}.portfolio-info{padding:1.5rem 1.5rem 2rem}.portfolio-info>p{margin:0;color:var(--accent);font:500 .7rem "IBM Plex Mono",monospace;text-transform:uppercase}.portfolio-info h3{margin:.65rem 0 2rem;color:#fff;font-size:clamp(2rem,3.5vw,3.8rem);font-weight:400;letter-spacing:-.04em}.portfolio-info dl{display:flex;gap:2rem;margin:0}.portfolio-info dl div{display:grid;gap:.3rem}.portfolio-info dt{color:var(--muted);font:500 .62rem "IBM Plex Mono",monospace;text-transform:uppercase}.portfolio-info dd{margin:0;font-size:.92rem}.portfolio-custom-art,.modal-custom{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,4vw,3.5rem);background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.32),transparent 25%),linear-gradient(135deg,#f16b80,#9a2142 55%,#2a0c18)}.portfolio-custom-art::before,.modal-custom::before{position:absolute;inset:-20%;content:"";border:1px solid rgba(255,255,255,.23);border-radius:46%;transform:rotate(-16deg)}.portfolio-custom-art strong,.modal-custom strong{position:relative;z-index:1;color:#fff;font-size:clamp(3.5rem,8vw,8.5rem);line-height:.76;letter-spacing:-.07em}.portfolio-custom-art i{position:absolute;top:12%;right:10%;width:22%;aspect-ratio:1;border:1px solid rgba(255,255,255,.4);transform:rotate(45deg)}.portfolio-footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:2rem;color:var(--muted)}.portfolio-footer a{color:#fff;border-bottom:1px solid var(--accent)}
.portfolio-modal{width:min(94vw,1100px);max-height:92dvh;margin:auto;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#100b0d;color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.65)}.portfolio-modal::backdrop{background:rgba(4,2,3,.82);backdrop-filter:blur(9px)}.portfolio-close{position:absolute;z-index:5;top:1rem;right:1rem;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(9,6,7,.72);color:#fff;font-size:1.35rem;cursor:pointer}.portfolio-stage{position:relative;min-height:45vh;background:#080506}.portfolio-stage img{width:100%;max-height:62vh;object-fit:cover}.portfolio-stage .modal-custom{position:relative;min-height:55vh}.portfolio-modal-copy{padding:clamp(1.5rem,4vw,3.5rem)}.portfolio-modal-copy>p:first-child{color:var(--accent);font:500 .7rem "IBM Plex Mono",monospace;text-transform:uppercase}.portfolio-modal-copy h2{margin:.6rem 0;font-size:clamp(2.8rem,6vw,6rem);font-weight:400;letter-spacing:-.05em}.portfolio-modal-copy>p{max-width:54ch;color:var(--muted);font-size:1.05rem;line-height:1.6}.portfolio-modal-copy a{display:inline-block;margin-top:1.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--accent)}.modal-open{overflow:hidden}
.format-advisor{padding:clamp(7rem,12vw,11rem) var(--gutter);background:#f6f2ee;color:#130c0f}.format-advisor-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.55fr);gap:2rem;align-items:end}.format-advisor-head .section-eyebrow{grid-column:1/-1}.format-advisor-head h2{max-width:10ch;margin:0;font-size:clamp(3.3rem,7vw,7.5rem);font-weight:500;line-height:.88;letter-spacing:-.06em}.format-advisor-head>p{max-width:43ch;margin:0;color:#5d5257;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.format-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(4rem,7vw,6rem);background:rgba(19,12,15,.18);border:1px solid rgba(19,12,15,.18)}.format-card{position:relative;display:flex;min-height:27rem;flex-direction:column;padding:clamp(1.5rem,3vw,3rem);background:#f6f2ee}.format-card.is-primary{background:#130c0f;color:#fff}.format-card>span{font:500 .7rem "IBM Plex Mono",monospace;text-transform:uppercase;color:#8f7f86}.format-card.is-primary>span{color:var(--accent)}.format-card>b{margin:auto 0 1.5rem;font-size:clamp(4rem,8vw,8rem);font-weight:500;letter-spacing:-.07em}.format-card h3{margin:0 0 .8rem;font-size:1.7rem}.format-card p{max-width:28ch;margin:0;color:#6b5f64;line-height:1.55}.format-card.is-primary p{color:#d9d2d4}.format-note{max-width:55rem;margin:2rem 0 0;color:#5d5257;font-size:1rem;line-height:1.6}
@media(max-width:900px){.engine-lead,.format-advisor-head{grid-template-columns:1fr}.text-link{grid-column:1}.engine-flow,.format-cards{grid-template-columns:1fr}.engine-flow article,.format-card{min-height:19rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.engine-lead h2,.format-advisor-head h2{font-size:clamp(2.8rem,15vw,4.8rem)}.portfolio-info h3{font-size:2.6rem}.portfolio-play{right:.8rem;bottom:.8rem}.portfolio-poster em{left:.8rem;bottom:1.15rem}.portfolio-modal{width:96vw}.portfolio-stage{min-height:30vh}.portfolio-footer{font-size:.95rem}}
.wordmark-glyph{display:block;width:32px;height:32px;border:0;border-radius:7px;object-fit:contain}.engine-mark{position:absolute;right:-5vw;bottom:-11vw;width:clamp(18rem,36vw,40rem);opacity:.035;transform:rotate(9deg);pointer-events:none}
