:root{--bg:#050507;--ink:#f5f5f2;--muted:#96999b;--amber:#e3a13b;--line:rgba(255,255,255,.08)}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}html{scroll-behavior:smooth}body{overflow-x:hidden}.skip{position:fixed;left:1rem;top:-5rem;z-index:500;background:#fff;color:#000;padding:.7rem 1rem}.skip:focus{top:1rem}.micro{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--amber);margin:0 0 1rem}.honeypot{position:absolute!important;left:-10000px!important}

/* -------------------------------------------------------------
   LOCKED V7 BEHAVIOUR. Keep this block literal unless the V7
   baseline itself is deliberately changed and re-approved.
   ------------------------------------------------------------- */
.logo-shell{position:fixed;left:50%;top:50%;width:min(68vw,460px);aspect-ratio:1;transform:translate(-50%,-50%);z-index:90;pointer-events:none}
.logo-shell img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.ring{opacity:.60}.wordmark{z-index:2}.logo-link{position:absolute;inset:0;display:block;pointer-events:none}.logo-shell.docked{pointer-events:auto}.logo-shell.docked .logo-link{pointer-events:auto}
@supports (animation-timeline: scroll()) {
  .logo-shell{animation-name:logo-dock;animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root block)}
  .ring{animation-name:ring-spin;animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root block)}
  @keyframes logo-dock{0%,34%{left:50%;top:50%;width:min(68vw,460px);transform:translate(-50%,-50%)}50%,100%{left:calc(100vw - 50px);top:calc(100svh - 54px);width:76px;transform:translate(-50%,-50%)}}
  @keyframes ring-spin{from{transform:rotate(0deg)}to{transform:rotate(1800deg)}}
}
@media(max-width:700px){@supports (animation-timeline: scroll()){@keyframes logo-dock{0%,34%{left:50%;top:50%;width:min(68vw,460px);transform:translate(-50%,-50%)}50%,100%{left:calc(100vw - 48px);top:calc(100svh - 52px);width:68px;transform:translate(-50%,-50%)}}}}
@media(prefers-reduced-motion:reduce){.logo-shell,.ring{animation:none!important}}
/* END LOCKED V7 */

.hero{height:100svh;min-height:560px;position:relative;overflow:hidden;background:#030405}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#030405}.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.48))}.hero-veil.soft{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.42))}.hero-caption{position:absolute;z-index:5;left:clamp(1.2rem,4vw,4rem);bottom:clamp(1.4rem,5vh,4rem);max-width:min(70vw,900px)}.hero-caption span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:#ddd;margin-bottom:.65rem}.hero-caption strong{display:block;font-weight:400;font-size:clamp(2rem,4.5vw,5.4rem);line-height:.92;letter-spacing:-.045em;text-wrap:balance}

.carousel-block{min-height:42svh;padding:clamp(3.8rem,7vw,7rem) 0;background:#08090a;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.carousel-block header{padding:0 clamp(1.2rem,5vw,6rem)}.carousel-block h2,.affinity-story h2,.selected-work h2,.conversation h2{font-size:clamp(2.8rem,6vw,6.8rem);font-weight:400;letter-spacing:-.055em;line-height:.92;margin:0}.rail{display:flex;overflow-x:auto;gap:1rem;padding:2rem clamp(1.2rem,5vw,6rem) .4rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.rail::-webkit-scrollbar{height:6px}.rail::-webkit-scrollbar-thumb{background:#303234;border-radius:10px}.campaign-card{position:relative;flex:0 0 min(74vw,860px);aspect-ratio:16/9;overflow:hidden;scroll-snap-align:start;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.06);background:#111}.campaign-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}.campaign-card:hover img{transform:scale(1.01);filter:brightness(1.05)}.campaign-card span{position:absolute;left:.8rem;bottom:.8rem;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.55rem .8rem;font-size:.72rem;backdrop-filter:blur(7px)}.campaign-card b{color:var(--amber);font-weight:400}

.affinity-story{min-height:34svh;padding:clamp(3.5rem,7vw,7rem) clamp(1.2rem,5vw,6rem);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,8rem);align-items:center;border-top:1px solid var(--line);background:#070809}.story-copy p:not(.micro){color:#c5c7c7;font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.55;max-width:620px}.story-screens{position:relative;min-height:360px}.screen{margin:0;position:absolute;background:#111;border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 70px rgba(0,0,0,.35);overflow:hidden}.screen video{width:100%;height:100%;object-fit:cover;display:block}.screen figcaption{position:absolute;right:.55rem;bottom:.45rem;background:rgba(0,0,0,.62);padding:.34rem .5rem;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#bbb}.screen.desktop{width:82%;aspect-ratio:16/9;left:0;top:7%}.screen.mobile{width:27%;aspect-ratio:9/16;right:2%;bottom:0;z-index:2}

.trusted{min-height:12svh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;padding:1rem clamp(1.2rem,5vw,6rem);background:#060708}.trusted-label{text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:#74787a;white-space:nowrap}.trusted-window{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.trusted-window::-webkit-scrollbar{display:none}.trusted-track{display:flex;gap:clamp(2rem,5vw,6rem);align-items:center;width:max-content}.logo-slot{color:#686b6c;filter:grayscale(1);font-weight:700;letter-spacing:.11em;text-transform:uppercase;font-size:clamp(.75rem,1.3vw,1rem);opacity:.56;white-space:nowrap}

.portrait{min-height:46svh}.portrait-rail{align-items:stretch}.portrait-card{flex:0 0 min(48vw,330px);aspect-ratio:9/16;position:relative;overflow:hidden;background:#0e1011;border:1px solid rgba(255,255,255,.08);scroll-snap-align:start}.portrait-card video{width:100%;height:100%;object-fit:cover;display:block}.portrait-card>span{position:absolute;left:.75rem;bottom:.75rem;background:rgba(0,0,0,.55);padding:.5rem .65rem;font-size:.72rem}.portrait-card.placeholder{display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#0b0d0e,#151718)}.portrait-card.placeholder span{position:static;background:none;font-size:clamp(1.2rem,2.5vw,2rem);color:#8e9292}.portrait-card.placeholder small{position:absolute;left:1rem;right:1rem;bottom:1rem;color:#555;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}

.hero-firminio{background:radial-gradient(circle at 70% 30%,#27282a 0,#090a0b 38%,#030404 72%)}.firminio-video:not([data-loaded="true"]){opacity:0}.firminio-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:0}.firminio-fallback span,.firminio-fallback small{text-transform:uppercase;letter-spacing:.2em;color:#646768;font-size:.65rem}.firminio-fallback strong{font-size:clamp(5rem,15vw,15rem);font-weight:400;letter-spacing:-.065em;line-height:.8;color:#d5d6d5;margin:.12em 0}

.selected-work{min-height:40svh;display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:clamp(2rem,5vw,6rem);padding:clamp(3rem,6vw,6rem) clamp(1.2rem,5vw,6rem);border-top:1px solid var(--line);background:#070809}.selected-copy p:not(.micro){color:#8e9294}.selected-media{aspect-ratio:16/9;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.08)}.selected-media video{width:100%;height:100%;object-fit:cover}

.conversation{min-height:70svh;display:grid;place-items:center;padding:clamp(5rem,10vw,9rem) clamp(1.2rem,5vw,6rem);background:linear-gradient(180deg,#050607,#101112);border-top:1px solid var(--line)}.conversation-inner{width:min(1120px,100%)}.conversation h2{font-size:clamp(3.2rem,8vw,8rem);margin-bottom:.55em}.conversation-switch{width:min(760px,100%);display:flex;justify-content:space-between;align-items:center;background:transparent;color:#fff;border:1px solid #343839;padding:1rem 1.15rem;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;cursor:pointer}.conversation-switch span:last-child{color:var(--amber);font-size:1.2rem}.conversation-panel{width:min(760px,100%);max-height:0;opacity:0;overflow:hidden;transition:max-height .65s ease,opacity .3s ease}.conversation-panel.open{max-height:900px;opacity:1}.conversation-panel form{padding:2rem 0;display:grid;gap:1.1rem}.conversation-panel label span{display:block;color:#9b9e9e;font-size:.72rem;margin-bottom:.42rem}.conversation-panel input,.conversation-panel textarea{width:100%;border:0;border-bottom:1px solid #383b3c;background:transparent;color:#fff;font:inherit;padding:.7rem .15rem;outline:none}.conversation-panel input:focus,.conversation-panel textarea:focus{border-color:var(--amber)}.send{justify-self:start;border:1px solid #3b3e3f;background:transparent;color:#fff;padding:.8rem 1rem;text-transform:uppercase;letter-spacing:.13em;cursor:pointer}.send span{color:var(--amber)}
footer{min-height:8svh;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(1.2rem,5vw,6rem);font-size:.7rem;color:#6d7071}.thanks{min-height:100vh;display:grid;place-items:center}.thanks main{width:min(760px,90vw)}.thanks h1{font-size:clamp(4rem,12vw,9rem);margin:.1em 0;font-weight:400;letter-spacing:-.06em}.thanks a{color:var(--amber)}

@media(max-width:800px){.affinity-story,.selected-work{grid-template-columns:1fr}.story-screens{min-height:320px}.selected-work{padding-top:4rem;padding-bottom:4rem}.trusted{grid-template-columns:1fr;gap:.6rem}.portrait-card{flex-basis:min(70vw,320px)}}
@media(max-width:520px){.hero-caption{max-width:82vw}.carousel-block{min-height:auto;padding:4.2rem 0}.campaign-card{flex-basis:86vw}.affinity-story{min-height:auto;padding-top:4.5rem;padding-bottom:4.5rem}.story-screens{min-height:280px}.trusted{min-height:14svh}.portrait-card{flex-basis:72vw}.selected-work{min-height:auto}.conversation{min-height:75svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video,.timed-video{animation:none}}

/* v0.99 editorial/link additions — V7 logo rules above remain untouched. */
.video-source-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
.hero-source-link{position:absolute;inset:0;z-index:1}
.hero-source-link .hero-video{pointer-events:none}
.screen-video-link{position:absolute;inset:0}
.screen-video-link video{width:100%;height:100%;object-fit:cover}
.portrait-card.video-card{color:#fff;text-decoration:none}
.selected-media.video-source-link{display:block}

/* v0.99.1 carousel controls — horizontal only; V7 remains tied to vertical page scroll. */
.carousel-frame{position:relative}.rail-control{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(5,6,7,.62);color:#fff;font:300 30px/1 system-ui;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}.rail-control.prev{left:clamp(.45rem,1.5vw,1.25rem)}.rail-control.next{right:clamp(.45rem,1.5vw,1.25rem)}.rail-control:hover,.rail-control:focus-visible{background:rgba(20,21,22,.86);outline:1px solid rgba(255,255,255,.32)}.campaign-card.pending{cursor:default}.rail:focus-visible{outline:1px solid rgba(255,255,255,.25);outline-offset:-1px}@media(max-width:700px){.rail-control{width:36px;height:36px;font-size:25px;opacity:.82}}
/* v0.99.2 editorial corrections — V7 block above remains untouched */
.affinity-caption span{display:table;background:rgba(0,0,0,.88);padding:.55rem .7rem;margin-bottom:.75rem;color:#fff}
.affinity-story{display:block;min-height:52svh}
.affinity-story .story-screens{width:min(1120px,100%);margin:0 auto;min-height:clamp(320px,48vw,650px)}
