:root{--paper:#f3f3ee;--ink:#262824;--muted:#6b6f66;--orange:#e84c25;--line:#d3d6cc;--heading:'Satoshi','DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}::selection{background:#f5a189}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading)}header{position:absolute;z-index:20;top:0;left:0;width:100%;padding:27px 3.5%;display:flex;justify-content:space-between;align-items:center}.wordmark{display:inline-flex;align-items:baseline;gap:10px;font:700 27px var(--heading);letter-spacing:-1.5px;white-space:nowrap}.ak{line-height:1}.ak sup{color:var(--orange);font-size:.48em;vertical-align:top;position:relative;top:-.1em;margin-left:.06em;letter-spacing:0}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav sup{font-size:12px;margin-left:3px}.contact-nav{display:flex;align-items:center;gap:18px;margin-left:38px}.orange-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}.grain{pointer-events:none;position:fixed;inset:0;z-index:100;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.hero{height:100svh;min-height:800px;max-height:1200px;position:relative;overflow:hidden;isolation:isolate}.hero-caption{position:absolute;z-index:5;top:116px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;font-size:13px}.hero-portrait{position:absolute;left:50%;top:140px;width:min(690px,64vw);height:calc(100% - 80px);transform:translateX(-50%);opacity:.76;mask-image:linear-gradient(#000 52%,#0009 75%,transparent 96%);pointer-events:none}.portrait-layer{position:absolute;inset:0}.portrait-layer img,.portrait-layer video{display:block;width:100%;height:100%;object-fit:contain;object-position:top;animation:none}.portrait-sharp{filter:blur(.6px);mask-image:linear-gradient(#000 0%,#000 24%,transparent 59%)}.portrait-soft{filter:blur(5px);mask-image:linear-gradient(transparent 22%,#000 46%,transparent 80%)}.portrait-blur{filter:blur(13px);mask-image:linear-gradient(transparent 37%,#000 70%)}.hero-title{position:absolute;z-index:2;left:4%;right:4%;top:28%;text-align:center;pointer-events:none}.hero-title h1{font-size:clamp(85px,11.7vw,185px);line-height:.88;font-weight:700;letter-spacing:-.075em;margin:0}.hero-last{display:inline-block;position:relative}.asterisk{color:var(--orange);font-weight:400;position:absolute;font-size:.3em;right:-.8em;top:.25em}.hero-bottom{position:absolute;z-index:5;bottom:35px;left:3.5%;right:3.5%;display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-bottom p{font-size:15px;line-height:1.5;margin:0}.underlink{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:9px}.underlink span{display:block;font-size:12px;margin-top:12px;color:var(--muted)}.edition{font-size:12px;line-height:1.6;text-align:right;color:var(--muted)}.float-field{position:absolute;inset:0;z-index:3;pointer-events:none}.float-tile{position:absolute;transform:translate3d(var(--px,0px),var(--py,0px),0) rotate(var(--rot));box-shadow:0 14px 30px #28282015;will-change:transform}.float-tile img{width:100%;height:100%;object-fit:cover}.f1{left:10%;top:26%;--rot:-12deg;width:98px;height:128px}.f2{left:31%;top:18%;--rot:11deg;width:85px;height:90px}.f3{right:12%;top:22%;--rot:12deg;width:130px;height:100px}.f4{right:8%;top:60%;--rot:9deg;width:112px;height:136px}.f5{left:20%;top:66%;--rot:-7deg;width:122px;height:94px}.f6{right:29%;top:73%;--rot:-14deg;width:78px;height:94px}.section-pad{padding:110px 6%}.eyebrow{font-size:14px;line-height:1.4;font-weight:400;letter-spacing:0}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:55px 45px}.intro>.eyebrow{padding-top:13px}.intro h2{font-size:clamp(42px,5vw,78px);line-height:1.04;font-weight:500;letter-spacing:-.06em;margin:0}.intro h2 span{color:var(--muted)}.intro-copy{grid-column:2;display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.intro-copy p{font-size:17px;line-height:1.65;margin:0}.intro-copy p+p{color:var(--muted)}.section-top{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px}.ventures{padding-top:15px;padding-bottom:70px}.venture-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:60px 0 65px}.venture-heading-row h2{font-size:clamp(70px,9vw,145px);line-height:.95;font-weight:500;letter-spacing:-.07em;margin:0}.venture-heading-row h2 span{color:var(--muted)}.venture-heading-row>p{max-width:305px;font-size:17px;line-height:1.55;margin-bottom:8px}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:20px;border-bottom:1px solid var(--line)}.index-filters{display:flex;gap:7px;flex-wrap:wrap}.index-filters button{padding:9px 15px;font-size:14px;border:1px solid transparent;border-radius:30px;background:transparent}.index-filters button[aria-pressed=true]{border-color:var(--ink)}.index-filters button:hover{color:var(--orange)}.view-toggle{display:flex;gap:3px;border:1px solid var(--line);border-radius:30px;padding:4px}.view-toggle button{font-size:14px;border:0;padding:8px 16px;background:none;border-radius:24px}.view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#company-count{color:var(--muted);margin:20px 0 50px}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3%;row-gap:100px;align-items:start}.portfolio-card{min-width:0;grid-column:span 6}.portfolio-card[data-position='0']{grid-column:1/8}.portfolio-card[data-position='1']{grid-column:9/13;margin-top:180px}.portfolio-card[data-position='2']{grid-column:1/6;margin-top:15px}.portfolio-card[data-position='3']{grid-column:7/13;margin-top:150px}.image-frame{display:block;position:relative;aspect-ratio:1.17;overflow:hidden;background:#e4e7e0;isolation:isolate}.portfolio-card[data-position='1'] .image-frame{aspect-ratio:.84}.portfolio-card[data-position='2'] .image-frame{aspect-ratio:1.12}.portfolio-card[data-position='3'] .image-frame{aspect-ratio:1.22}.parallax-image{position:absolute;left:0;top:-16%;width:100%;height:132%;object-fit:cover;will-change:transform;pointer-events:none}.brand-mark{position:absolute;top:24px;left:25px;background:#ffffffde;display:flex;align-items:center;justify-content:center;width:150px;height:65px;padding:14px 18px;z-index:1}.brand-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0);opacity:.8}.brand-mark>span{font-size:21px;font-weight:600}.frame-visit{position:absolute;bottom:24px;right:24px;padding:11px 18px;background:var(--paper);border-radius:30px;font-size:14px;opacity:0;translate:0 8px;transition:opacity .25s,translate .25s}.image-frame:hover .frame-visit,.image-frame:focus-visible .frame-visit{opacity:1;translate:0}.portfolio-meta{display:grid;grid-template-columns:25px 1fr;gap:13px 15px;padding-top:23px}.card-index{font-size:12px;color:var(--muted);padding-top:7px}.portfolio-meta h3{font-size:32px;font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:0 0 8px}.company-role{font-size:14px;color:var(--muted);margin:0}.company-description{grid-column:2;max-width:400px;font-size:16px;line-height:1.5;margin:0}.index-row{display:grid;grid-template-columns:25px 100px 1fr 1fr 1.5fr;gap:25px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.index-logo{width:100px;height:40px;object-fit:contain;object-position:left;filter:brightness(0);opacity:.8}.index-row h3{font-size:25px;font-weight:500;letter-spacing:-.04em;margin:0}.index-row>span{font-size:14px}.index-row p{font-size:14px;color:var(--muted);line-height:1.5;margin:0}.index-row:hover h3{color:var(--orange)}.approach{padding-top:100px}.approach-title{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin:40px 0 60px}.approach h2{font-size:clamp(50px,6.5vw,100px);font-weight:500;letter-spacing:-.065em;line-height:1;max-width:75%;margin:0}.approach-title p{font-size:16px;line-height:1.5;max-width:200px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}.approach-grid article{border-top:1px solid var(--line);padding-top:25px}.approach-grid .eyebrow{color:var(--muted)}.approach-grid h3{font-size:57px;letter-spacing:-.06em;font-weight:500;margin:45px 0 20px}.approach-grid p{font-size:17px;line-height:1.6;max-width:310px}.media{padding-top:30px}.media-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:65px 8%;margin-top:65px;align-items:start}.media-copy h2{font-size:clamp(48px,5.6vw,88px);font-weight:500;line-height:.99;letter-spacing:-.06em;margin:0}.media-copy p{font-size:17px;line-height:1.65;margin:35px 0;max-width:350px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.media figure{margin:0}.media-frame{position:relative;overflow:hidden;background:#e4e7e0;aspect-ratio:1.05}.media-small{width:85%;grid-column:1;margin-top:-25px!important}.media-small .media-frame{aspect-ratio:1.3}.media figcaption{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin-top:15px}.media figcaption span:last-child{font-size:12px;color:var(--muted);text-align:right}.perspectives{padding-top:40px}.perspectives h2{font-size:clamp(64px,8.8vw,135px);font-weight:500;letter-spacing:-.065em;line-height:.96;margin:65px 0 30px}.perspectives h2 span{color:var(--muted)}.perspectives-intro{font-size:17px;line-height:1.6;max-width:460px;margin:0 0 60px}.writing-list>a{display:grid;grid-template-columns:150px 1fr 85px;align-items:center;gap:35px;border-top:1px solid var(--line);padding:30px 0}.writing-list>a:last-child{border-bottom:1px solid var(--line)}.writing-list h3{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:0;max-width:710px}.writing-list .eyebrow{font-size:13px;color:var(--muted)}.read-label{font-size:13px;text-align:right}.writing-list>a:hover h3{color:var(--orange)}.connect{position:relative;min-height:960px;overflow:hidden;background:#e6e8e1}.connect-top{display:flex;justify-content:space-between;padding:35px 6%;position:relative;z-index:5}.connect-title{position:relative;z-index:5;text-align:center;margin-top:70px}.connect-title>p{font-size:16px;line-height:1.55;margin-bottom:30px}.connect-title h2{font-size:clamp(66px,9.5vw,146px);font-weight:500;letter-spacing:-.065em;line-height:.96;margin:0 0 30px}.connect-title h2>span{color:var(--orange)}.contact-pill{display:inline-flex;align-items:center;gap:35px;border:1px solid #868b80;border-radius:50px;padding:17px 26px;font-size:16px;background:#e6e8e1c9;backdrop-filter:blur(8px)}.contact-pill span{font-size:14px}.contact-pill:hover{background:var(--paper)}.footer-world{position:absolute;inset:0;pointer-events:none}.footer-portrait{position:absolute;width:480px;bottom:-295px;left:50%;transform:translateX(-50%);mask-image:linear-gradient(#000 65%,transparent 98%)}.orbit{position:absolute;box-shadow:0 8px 22px #20201913;animation:orbit 10s ease-in-out infinite;animation-delay:var(--delay,0s);transform:rotate(var(--rot,0deg))}.orbit img{width:100%;height:100%;object-fit:cover}.o1{width:90px;height:110px;left:9%;top:24%;--rot:-13deg}.o2{width:55px;height:65px;left:34%;top:9%;--rot:20deg;--delay:-3s}.o3{width:105px;height:80px;right:8%;top:15%;--rot:15deg;--delay:-7s}.o4{width:130px;height:90px;left:7%;bottom:14%;--rot:10deg;--delay:-2s}.o5{width:95px;height:120px;right:19%;bottom:20%;--rot:-12deg;--delay:-6s}.o6{width:90px;height:112px;left:29%;bottom:25%;--rot:-20deg;--delay:-4s}.o7{width:73px;height:75px;right:5%;bottom:5%;--rot:14deg;--delay:-5s}.o8{width:55px;height:62px;right:30%;top:12%;--rot:-15deg;--delay:-8s}footer{padding:28px 3.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px}footer>span{color:var(--muted)}footer>div{display:flex;gap:25px;align-items:center}footer button{font-size:13px;padding:0;border:0;background:none}.skip{position:fixed;left:20px;top:-100px;background:white;padding:15px;z-index:200}.skip:focus{top:10px}.motion-paused *{animation-play-state:paused!important}.motion-paused .float-tile{transform:rotate(var(--rot))!important}@keyframes orbit{0%,100%{translate:0 0;rotate:0deg}50%{translate:8px -14px;rotate:4deg}}
@media(max-width:900px){nav{gap:20px}.contact-nav{margin-left:0}.hero-caption span:last-child{max-width:310px;text-align:right}.hero-portrait{width:650px;max-width:85vw}.intro{grid-template-columns:1fr;gap:30px}.intro-copy{grid-column:1;gap:40px}.venture-heading-row{align-items:start;flex-direction:column;gap:30px}.venture-heading-row>p{max-width:430px}.portfolio-grid{column-gap:5%;row-gap:70px}.portfolio-card[data-position='0'],.portfolio-card[data-position='2']{grid-column:1/7}.portfolio-card[data-position='1'],.portfolio-card[data-position='3']{grid-column:7/13;margin-top:130px}.portfolio-meta h3{font-size:27px}.brand-mark{width:125px;height:55px;top:18px;left:18px}.portfolio-toolbar{align-items:start}.index-row{grid-template-columns:25px 70px 1fr 1fr;gap:16px}.index-logo{width:65px}.index-row p{display:none}.approach-grid{gap:30px}.media-grid{gap:50px 6%}.media-copy h2{font-size:52px}footer{flex-wrap:wrap}.writing-list>a{grid-template-columns:110px 1fr 65px;gap:20px}}
@media(max-width:600px){header{padding:24px 6%}.wordmark{font-size:24px}nav>a:not(.contact-nav){display:none}.hero{min-height:800px}.hero-caption{top:100px;left:6%;right:6%;font-size:12px;display:block}.hero-caption span{display:block}.hero-caption span:last-child{max-width:280px;text-align:left;margin-top:8px;color:var(--muted);line-height:1.6}.hero-portrait{top:194px;width:520px;max-width:none;height:630px;opacity:.72}.hero-title{top:39%;left:4%;right:4%}.hero-title h1{font-size:17.5vw;line-height:.96;letter-spacing:-.07em}.hero-bottom{left:6%;right:6%;bottom:28px;align-items:start;flex-direction:column;gap:22px}.hero-bottom p{font-size:14px}.underlink span,.edition{display:none}.f1{left:5%;top:28%;width:62px;height:81px}.f2{left:47%;top:20%;width:49px;height:56px}.f3{right:5%;top:28%;width:76px;height:63px}.f4{right:4%;top:65%;width:70px;height:85px}.f5{left:8%;top:61%;width:75px;height:59px}.f6{right:36%;top:75%;width:47px;height:57px}.section-pad{padding:75px 6%}.eyebrow{font-size:13px}.intro h2{font-size:43px}.intro-copy{display:block}.intro-copy p{font-size:16px}.intro-copy p+p{margin-top:25px}.section-top>.eyebrow:last-child{display:none}.ventures{padding-top:0}.venture-heading-row{margin:40px 0}.venture-heading-row h2{font-size:65px}.venture-heading-row>p{font-size:16px}.portfolio-toolbar{flex-wrap:wrap;gap:18px}.index-filters{gap:2px}.index-filters button{font-size:13px;padding:8px 11px}.view-toggle button{font-size:13px;padding:7px 15px}#company-count{margin:18px 0 35px;font-size:13px}.portfolio-grid{display:block}.portfolio-card[data-position]{margin:0 0 65px}.portfolio-card[data-position] .image-frame{aspect-ratio:1.05}.portfolio-card[data-position='1']{width:86%;margin-left:auto}.portfolio-card[data-position='2']{width:90%}.portfolio-card[data-position='3'] .image-frame{aspect-ratio:1.18}.portfolio-meta{padding-top:18px;gap:10px 12px;grid-template-columns:20px 1fr}.portfolio-meta h3{font-size:30px}.company-description{font-size:15px}.company-role{font-size:13px}.brand-mark{width:130px;height:57px;padding:14px}.frame-visit{opacity:1;translate:none;font-size:12px;bottom:15px;right:15px;padding:8px 13px}.index-row{grid-template-columns:18px 50px 1fr;gap:12px;padding:22px 0}.index-logo{width:47px;height:30px}.index-row h3{font-size:23px}.index-row>span:not(.card-index){grid-column:3;font-size:13px}.approach{padding-top:20px}.approach-title{display:block;margin:30px 0 40px}.approach h2{font-size:55px;max-width:none}.approach-title p{margin-top:24px;max-width:none}.approach-grid{display:block}.approach-grid article{margin-top:35px}.approach-grid h3{font-size:55px;margin:30px 0 15px}.approach-grid p{font-size:16px;max-width:none}.media{padding-top:0}.media-grid{display:flex;flex-direction:column;gap:40px;margin-top:40px}.media-copy h2{font-size:56px}.media-copy p{font-size:16px}.media-main{width:100%}.media-small{width:80%;align-self:end;margin-top:0!important}.media figcaption{font-size:13px}.media figcaption span:last-child{font-size:12px}.perspectives{padding-top:0}.perspectives .section-top{align-items:center}.perspectives .text-link{font-size:12px}.perspectives h2{font-size:65px;margin:40px 0 25px}.perspectives-intro{font-size:16px;margin-bottom:40px}.writing-list>a{grid-template-columns:1fr 65px;gap:13px;padding:25px 0}.writing-list .eyebrow{grid-column:1/3}.writing-list h3{font-size:23px}.connect{min-height:890px}.connect-top .eyebrow:last-child{display:none}.connect-title{margin-top:80px;padding:0 6%}.connect-title>p{font-size:14px;max-width:310px;margin:0 auto 28px}.connect-title h2{font-size:13.5vw;letter-spacing:-.06em;line-height:1.04}.contact-pill{padding:15px 21px;gap:20px;font-size:15px}.contact-pill span{font-size:12px}.footer-portrait{width:420px;bottom:-210px}.o1{width:50px;height:65px;left:5%;top:14%}.o2{left:48%;top:8%;width:40px;height:45px}.o3{width:65px;height:50px;right:4%;top:17%}.o4{width:72px;height:60px;left:4%;bottom:20%}.o5{width:60px;height:78px;right:4%;bottom:23%}.o6{width:60px;height:77px;left:15%;bottom:35%}.o7{width:48px;height:52px}.o8{display:none}footer{padding:26px 6%;gap:20px}footer>span{font-size:12px}footer>div{width:100%;justify-content:space-between;gap:12px}footer>div a,footer button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.parallax-image{transform:none!important}.float-tile{transform:rotate(var(--rot))!important}}
.hero-portrait{mix-blend-mode:multiply}.portrait-video{background:white}.motion-paused .portrait-video{animation:none}
.hero{background:var(--paper);min-height:720px}.hero-portrait{mix-blend-mode:multiply}
@media(max-width:600px){.hero{min-height:800px}}
/* Headline reveal: each letter blends from gray to ink (or orange) as --p goes 0 → 1 */
:root{--ghost:#c3c5bc}.reveal .rw{--fill:var(--ink);white-space:nowrap}.reveal .rw-accent{--fill:var(--orange)}.reveal .rc{color:color-mix(in srgb,var(--fill) calc(var(--p,0) * 100%),var(--ghost))}
/* Index view: 16:9 thumbnail revealed on the right on hover, capped near the headline height */
.index-row{position:relative;grid-template-columns:25px 100px minmax(175px,1fr) .8fr 1.4fr 192px;transition:opacity .35s}.index-thumb{position:absolute;grid-column:6;grid-row:1;right:0;top:50%;translate:0 -50%;width:192px;aspect-ratio:16/9;overflow:hidden;pointer-events:none;background:#e4e7e0;clip-path:inset(50% 0 50% 0);transition:clip-path .55s cubic-bezier(.2,.7,.1,1)}.index-thumb img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform .9s cubic-bezier(.2,.7,.1,1)}.index-row:hover .index-thumb,.index-row:focus-visible .index-thumb{clip-path:inset(0)}.index-row:hover .index-thumb img,.index-row:focus-visible .index-thumb img{transform:scale(1)}@media(hover:hover){#index-list:hover .index-row:not(:hover){opacity:.45}}
@media(hover:none){.index-thumb{display:none}.index-row{grid-template-columns:25px 100px 1fr 1fr 1.5fr}}
@media(max-width:900px){.index-thumb{display:none}.index-row{grid-template-columns:25px 70px 1fr 1fr}}
@media(max-width:600px){.index-row{grid-template-columns:18px 50px 1fr}}
/* Floating objects with depth: far ones blurred and slow, near ones sharp and fast */
.object-layer{position:absolute;inset:0;pointer-events:none}.object-back{z-index:0}.object-mid{z-index:3}.object-front{z-index:6}.obj{position:absolute;left:var(--x);top:var(--y);width:calc(var(--w) * 1px);opacity:var(--o);filter:blur(var(--b));will-change:translate}.object-front .obj{filter:drop-shadow(0 18px 22px #2828201c)}.obj img{display:block;width:100%;animation:drift var(--t) ease-in-out var(--dl) infinite}@keyframes drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(var(--sw))}}
@media(max-width:600px){.obj{width:calc(var(--w) * .6px)}.obj[data-desktop]{display:none}}
@media(prefers-reduced-motion:reduce){.obj{translate:none!important}}
.f1 img{object-position:50% 30%}
/* Gallery: company logo badge only appears while its image is hovered */
.brand-mark{opacity:0;translate:0 -8px;transition:opacity .35s,translate .45s cubic-bezier(.2,.7,.1,1)}.image-frame:hover .brand-mark,.image-frame:focus-visible .brand-mark{opacity:1;translate:0}
/* Perspectives: 16:9 essay cover revealed on hover, kept inside the row's two rules, left of "Read essay" */
.writing-list>a{position:relative}.essay-thumb{position:absolute;right:0;top:0;bottom:0;height:100%;width:167px;overflow:hidden;pointer-events:none;background:#e4e7e0;clip-path:inset(50% 0 50% 0);transition:clip-path .55s cubic-bezier(.2,.7,.1,1)}.essay-thumb img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform .9s cubic-bezier(.2,.7,.1,1)}.writing-list>a:hover .essay-thumb,.writing-list>a:focus-visible .essay-thumb{clip-path:inset(0)}.writing-list>a:hover .essay-thumb img,.writing-list>a:focus-visible .essay-thumb img{transform:scale(1)}
@media(max-width:900px),(hover:none){.essay-thumb{display:none}}
@media(min-width:901px) and (hover:hover){.writing-list h3{max-width:min(710px,calc(100% - 140px))}.read-label{transition:opacity .3s}.writing-list>a:hover .read-label,.writing-list>a:focus-visible .read-label{opacity:0}}
.hero-caption span:only-child{margin-left:auto}
nav a{transition:color .25s}nav a:hover,nav a:focus-visible{color:var(--orange)}
@media(max-width:600px){.hero-caption span:only-child{margin-left:0}}
/* ── Shared small controls ── */
.link-button{background:none;border:0;padding:0;cursor:pointer}.link-button:hover{color:var(--orange)}
.round-btn{width:46px;height:46px;border-radius:50%;border:1px solid #868b80;background:transparent;display:inline-grid;place-items:center;font-size:18px;line-height:1;transition:background .25s,color .25s,border-color .25s}.round-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
button.contact-pill{font-family:inherit;color:var(--ink);cursor:pointer}button.contact-pill span{font-size:18px}

/* ── 06 / In their words ── */
.voices{padding-top:40px}
.voices-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:65px 0 70px}
.voices-head h2{font-size:clamp(64px,8.8vw,135px);font-weight:500;letter-spacing:-.065em;line-height:.96;margin:0}.voices-head h2 span{color:var(--muted)}
.voices-head>p{max-width:305px;font-size:17px;line-height:1.55;margin:0 0 8px}
.voices-body{display:grid;grid-template-columns:minmax(220px,1fr) 2.4fr;gap:60px 6%;align-items:start}
.voices-names{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.voices-names button{display:grid;grid-template-columns:25px 1fr;gap:15px;align-items:baseline;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 0;font-size:19px;letter-spacing:-.02em;color:var(--muted);transition:color .25s}
.voices-names button .card-index{padding-top:0}
.voices-names button:hover{color:var(--ink)}
.voices-names button[aria-selected=true]{color:var(--ink)}.voices-names button[aria-selected=true] .voice-name{box-shadow:inset 0 -1px 0 var(--orange)}
.voices-stage{position:relative;min-height:440px;display:flex;flex-direction:column;padding-top:4px}
.voices-mark{position:absolute;left:-.08em;top:-.32em;font:500 190px/1 var(--heading);color:var(--orange);pointer-events:none}
.voice{margin:0;padding-left:clamp(60px,7vw,110px);animation:voiceIn .6s cubic-bezier(.2,.7,.1,1)}
.voice blockquote{margin:0}
.voice blockquote p{font-family:var(--heading);font-size:clamp(26px,2.7vw,42px);line-height:1.22;font-weight:500;letter-spacing:-.035em;margin:0;max-width:880px;text-wrap:pretty}
.voice-cite{margin-top:40px;display:flex;flex-direction:column;gap:6px}
.voice-cite strong{font-size:17px;font-weight:600}
.voice-cite span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.voices-controls{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:45px;padding-left:clamp(60px,7vw,110px)}
.voices-controls .eyebrow{color:var(--muted);font-size:13px;min-width:56px;text-align:center}
@keyframes voiceIn{from{opacity:0;translate:0 14px}to{opacity:1;translate:0}}
@media(max-width:900px){.voices-head{flex-direction:column;align-items:start;gap:30px}.voices-body{grid-template-columns:1fr;gap:40px}.voices-names{flex-direction:row;overflow-x:auto;border:0;gap:8px;scrollbar-width:none}.voices-names::-webkit-scrollbar{display:none}.voices-names button{flex:none;border:1px solid var(--line);border-radius:30px;padding:9px 16px;font-size:14px;grid-template-columns:auto auto;gap:8px}.voices-names button[aria-selected=true]{border-color:var(--ink)}.voices-names button[aria-selected=true] .voice-name{box-shadow:none}.voices-stage{min-height:0}}
@media(max-width:600px){.voices{padding-top:0}.voices-head{margin:40px 0 35px}.voices-head h2{font-size:65px}.voices-head>p{font-size:16px}.voices-mark{font-size:120px;top:-.28em}.voice,.voices-controls{padding-left:44px}.voice blockquote p{font-size:23px}.voice-cite{margin-top:28px}.voices-controls{padding-top:32px}}

/* ── Contact dialog ── */
html.dialog-open{overflow:hidden}
.contact-dialog{width:min(860px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 40px 120px #1d1f1a40;overflow:auto;overscroll-behavior:contain}
.contact-dialog::backdrop{background:#262824a6;backdrop-filter:blur(6px)}
.contact-dialog[open]{animation:dialogIn .45s cubic-bezier(.2,.7,.1,1)}
@keyframes dialogIn{from{opacity:0;translate:0 24px}to{opacity:1;translate:0}}
.dialog-shell{position:relative;padding:64px clamp(24px,6vw,72px) 56px}
.dialog-close{position:absolute;top:22px;right:22px;font-size:22px}
.dialog-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin:0 0 26px}
.dialog-title{font-size:clamp(46px,7vw,92px);font-weight:600;letter-spacing:-.065em;line-height:.95;margin:0 0 28px}.dialog-title span{color:var(--muted)}
.dialog-lead{font-size:18px;line-height:1.5;margin:0 0 44px;max-width:520px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.field{display:flex;flex-direction:column;margin-bottom:34px}
.field label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.field input,.field select,.field textarea{font:inherit;font-size:18px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a9ada2;border-radius:0;padding:8px 0 12px;outline:0;transition:border-color .25s;width:100%}
.field textarea{resize:vertical;min-height:110px;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:#9a9e93}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--ink)}
.field [aria-invalid]{border-bottom-color:var(--orange)}
.select-wrap{position:relative}.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer}.select-wrap::after{content:'';position:absolute;right:4px;top:13px;width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);rotate:45deg;pointer-events:none}
.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{min-height:1.5em;font-size:14px;margin:-10px 0 18px;color:var(--muted)}.form-status.is-error{color:#c23a17}
.send-pill{display:inline-flex;align-items:center;gap:34px;font:inherit;font-size:16px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:50px;padding:18px 28px;cursor:pointer;transition:background .25s,color .25s}
.send-pill span{font-size:18px}.send-pill:hover{background:var(--orange);border-color:var(--orange)}
.send-pill:disabled{opacity:.6;cursor:progress}
.form-privacy{font-size:13px;color:var(--muted);margin:20px 0 0}
.dialog-success:focus{outline:0}.dialog-success .send-pill{margin-top:10px}
@media(max-width:600px){.dialog-shell{padding:70px 22px 40px}.dialog-close{top:16px;right:16px}.form-row{grid-template-columns:1fr}.dialog-lead{font-size:16px;margin-bottom:34px}.field{margin-bottom:28px}.field input,.field select,.field textarea{font-size:16px}.send-pill{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.voice,.contact-dialog[open]{animation:none}}
.motion-paused .voice,.motion-paused .contact-dialog[open]{animation:none}
/* ── Review round 2 ── */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Index view: the logo carries the company name, so the text name is visually hidden */
.index-row{grid-template-columns:25px 130px .8fr 1.4fr 192px}.index-thumb{grid-column:5}
.index-logo{width:130px;height:44px}
.index-wordmark{font:600 22px/1 var(--heading);letter-spacing:-.03em}
.index-row>span:not(.card-index):not(.index-thumb):not(.index-wordmark){transition:color .25s}.index-row:hover>span:not(.card-index):not(.index-thumb){color:var(--orange)}
@media(hover:none){.index-row{grid-template-columns:25px 130px 1fr 1.5fr}}
@media(max-width:900px){.index-row{grid-template-columns:25px 100px 1fr}.index-logo{width:100px;height:36px}.index-wordmark{font-size:18px}}
@media(max-width:600px){.index-row{grid-template-columns:18px 80px 1fr}.index-logo{width:80px;height:30px}.index-wordmark{font-size:16px}.index-row>span:not(.card-index){grid-column:auto}}
/* Testimonials: quote only, centred column under the section rule */
.voices .voices-stage{max-width:1100px;margin:70px auto 0;min-height:0}
@media(max-width:600px){.voices .voices-stage{margin-top:45px}}

/* ── Audit round: images, touch targets ── */
.obj img{height:auto}.footer-portrait{height:auto}
.voice-cite{margin:40px 0 0}
@media(pointer:coarse){
 footer>div a,footer button,.contact-nav,.text-link,.underlink{display:inline-flex;align-items:center;min-height:44px}
 footer>div a,footer button{min-width:44px;justify-content:center}
 .index-filters button,.view-toggle button{min-height:40px}
}
@media(max-width:600px){.o3{top:7%;right:5%}.o1{top:9%}.connect-title>p{text-wrap:balance}.hero-caption span{text-wrap:balance}}

/* ── Mobile menu ── */
.menu-btn{display:none}
.menu-dialog{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink)}
.menu-dialog::backdrop{background:transparent}
.menu-dialog[open]{animation:menuIn .35s cubic-bezier(.2,.7,.1,1)}
@keyframes menuIn{from{opacity:0}to{opacity:1}}
.menu-shell{min-height:100%;display:flex;flex-direction:column;padding:22px 6% calc(28px + env(safe-area-inset-bottom,0px))}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-top .wordmark{font-size:24px}
.menu-links{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:inherit;margin:48px 0 auto;border-bottom:1px solid var(--line)}
.menu-links>a{display:flex!important}
.menu-links a{display:flex;align-items:baseline;gap:16px;padding:15px 0;border-top:1px solid var(--line);font:500 clamp(30px,8.5vw,44px)/1.05 var(--heading);letter-spacing:-.05em}
.menu-links a span{font:400 12px/1 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted);min-width:22px}
.menu-links a sup{font-size:.4em;letter-spacing:0;margin-left:2px}
.menu-links a:active,.menu-links a:hover{color:var(--orange)}
.menu-foot{display:flex;flex-direction:column;gap:26px;margin-top:34px}
.menu-foot .send-pill{align-self:flex-start}
.menu-social{display:flex;gap:26px;font-size:14px}
.menu-social a{min-height:44px;display:inline-flex;align-items:center}
html.menu-open{overflow:hidden}
@media(max-width:600px){
 .contact-nav{display:none!important}
 .menu-btn{display:inline-flex;align-items:center;gap:12px;position:fixed;z-index:60;top:calc(18px + env(safe-area-inset-top,0px));right:5%;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:30px;background:#f3f3eed9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 14px/1 'DM Sans',sans-serif;color:var(--ink);cursor:pointer;box-shadow:0 6px 20px #2628240f}
 .menu-lines{display:inline-flex;flex-direction:column;gap:4px}
 .menu-lines i{display:block;width:16px;height:1.5px;background:var(--ink)}
 .menu-lines i+i{width:10px;margin-left:auto}
}
.motion-paused .menu-dialog[open]{animation:none}
@media(prefers-reduced-motion:reduce){.menu-dialog[open]{animation:none}}
.menu-links a sup{align-self:flex-start;margin-top:.35em}
@media(max-width:380px){header .wordmark{font-size:20px;letter-spacing:-1px}}
