@font-face{font-family:Outfit;src:url('assets/outfit.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Plex;src:url('assets/mono.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#123d32;--panel:#17473b;--ink:#f0f3ef;--muted:#b8cbc0;--accent:#d4a3b0;--line:rgba(217,234,222,.23)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit,Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button,a{touch-action:manipulation}button{cursor:pointer}button:active{transform:scale(.98)}.skip{position:fixed;top:-90px;left:20px;z-index:10;background:var(--ink);color:var(--bg);padding:15px}.skip:focus{top:10px}header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.identity{display:flex;gap:16px;align-items:center;font-size:14px;line-height:1.1}.monogram{font-size:46px;letter-spacing:-5px;font-weight:550}.monogram span{color:var(--accent)}nav{display:flex;gap:38px;font-size:14px}nav a{padding:10px 0}nav a:hover,.footer-bottom a:hover{color:var(--accent)}nav a:last-child{border-bottom:1px solid var(--accent)}nav a span{margin-left:20px}.hero{min-height:680px;height:calc(100svh - 100px);max-height:950px;position:relative;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:70px 5.5% 90px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-family:Plex,monospace;text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:1.5px;color:var(--muted);margin:0 0 30px}h1{font-size:clamp(64px,7.8vw,125px);line-height:.99;font-weight:450;letter-spacing:-.065em;margin:0 0 35px}h1 span{color:var(--accent)}.hero-description{font-size:19px;line-height:1.5;color:var(--muted);margin-bottom:32px}.story-link{display:inline-flex;gap:40px;align-items:center;font-size:14px;padding:12px 0;border-bottom:1px solid var(--ink)}.story-link:hover span{transform:translate(3px,-3px)}.story-link span{transition:transform .2s}.hero-art{position:absolute;inset:0 0 0 26%;z-index:0}canvas{width:100%;height:100%;display:block}.art-controls{position:absolute;right:5.5%;bottom:36px;display:flex;gap:12px;align-items:center;z-index:2}.art-controls button{border:1px solid var(--line);background:rgba(18,61,50,.85);padding:12px 17px;font-size:11px;letter-spacing:.3px}.art-controls button:first-child span{margin-left:20px}.art-controls button:hover{border-color:var(--accent)}.section{max-width:1600px;margin:auto;padding:110px 5.5%}.story{border-top:1px solid var(--line);padding-top:100px}.story-top{margin-left:33%;margin-bottom:65px}h2{font-size:clamp(34px,4.15vw,65px);line-height:1.07;letter-spacing:-.045em;font-weight:400;margin:0}h2 span{color:var(--muted)}.story-grid{display:grid;grid-template-columns:1fr 1.28fr;gap:13%;align-items:center}.portrait{margin:0;max-width:410px}.portrait img{width:100%;height:460px;object-fit:cover;object-position:center 24%;filter:grayscale(100%);border-radius:0}.portrait figcaption{font-family:Plex,monospace;font-size:10px;margin-top:17px;color:var(--muted)}.story-prose p{color:var(--muted);font-size:17px;line-height:1.7;margin:0 0 22px;max-width:530px}.story-prose .lead{font-size:25px;line-height:1.45;color:var(--ink);letter-spacing:-.02em}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:14px}.text-link span{margin-left:45px}.experience{background:var(--panel)}.section-intro{font-size:17px;color:var(--muted);line-height:1.65;margin:26px 0 56px}.career-list details{border-top:1px solid var(--line)}.career-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 1.15fr 1.75fr 30px;align-items:center;gap:18px;padding:28px 0}summary::-webkit-details-marker{display:none}.date{font:11px Plex,monospace;color:var(--muted)}.employer{font-size:30px;letter-spacing:-1px}.role{font-size:15px;color:var(--muted)}.expand{font-size:25px;font-weight:200;justify-self:end;transition:transform .2s}details[open] .expand{transform:rotate(45deg);color:var(--accent)}summary:hover .employer{color:var(--accent)}.career-body{padding:0 50px 25px 25%;max-width:950px}.career-body p{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 20px}.career-body .skills{font:10px/1.7 Plex,monospace;color:var(--accent)}.impact{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:130px;padding-bottom:140px}.impact-number{font-size:clamp(130px,22vw,340px);letter-spacing:-.09em;font-weight:350;color:var(--accent);line-height:.9}.impact-number span{font-size:.34em;vertical-align:top;line-height:1.8;letter-spacing:-.08em}.impact h2{font-size:clamp(30px,3.3vw,48px)}.impact p:last-child{font-size:17px;line-height:1.7;max-width:435px;color:var(--muted)}.focus{border-top:1px solid var(--line)}.focus-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px 15%;margin-top:75px}.focus-grid article:first-child{grid-row:span 2;padding-top:0}.focus-word{display:block;font-size:clamp(42px,5.5vw,86px);letter-spacing:-.05em;font-weight:350;color:var(--accent);margin-bottom:24px}.focus-grid h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;font-weight:400;max-width:340px}.focus-grid p{color:var(--muted);font-size:17px;line-height:1.65;max-width:350px}.focus-grid article:first-child .focus-word{font-size:clamp(70px,9vw,140px);padding-bottom:60px}.personal{display:grid;grid-template-columns:1.25fr 1fr;gap:9%;align-items:center}.personal img{width:100%;height:450px;object-fit:cover}.personal p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--muted);max-width:350px}footer{border-top:1px solid var(--line)}footer>p{font-size:17px;color:var(--muted)}.contact-title{font-size:clamp(40px,6.4vw,96px);font-weight:400;letter-spacing:-.05em;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 75px}.contact-title span{color:var(--accent);transition:transform .2s}.contact-title:hover span{transform:translate(6px,-6px)}.footer-bottom{display:flex;gap:45px;font-size:13px;color:var(--muted)}.back-top{margin-left:auto}.hero-copy{animation:arrive .8s ease-out both}@keyframes arrive{from{transform:translateY(18px)}to{transform:translateY(0)}}
@media(min-width:1600px){header{max-width:1600px;margin:auto}.hero{max-width:1600px;margin:auto}}@media(max-width:900px){header{padding:0 6%;height:85px}nav{gap:22px}.hero{height:850px;max-height:none;min-height:0}.hero-copy{padding:42px 6%}.hero-art{inset:190px -20% -10px 5%}.hero-description{max-width:290px}h1{font-size:78px}.art-controls{bottom:25px;right:6%}.section{padding:80px 6%}.story-top{margin-left:0}.story-grid{gap:8%}.portrait img{height:400px}.story-prose .lead{font-size:22px}.impact{gap:7%}.personal{gap:7%}.personal img{height:380px}}@media(max-width:600px){html{scroll-padding-top:25px}header{height:82px}.identity{font-size:12px;gap:13px}.monogram{font-size:39px}nav{gap:22px;font-size:12px}header nav a:first-child{display:none}header nav a span{display:none}.hero{height:780px;max-height:1000px}.hero-copy{padding-top:32px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:23px}h1{font-size:clamp(49px,12vw,72px);margin-bottom:22px;letter-spacing:-.06em}.hero-description{font-size:16px;line-height:1.55;margin-bottom:17px}.story-link{font-size:12px;gap:28px}.hero-art{inset:235px -27% -25px -24%}.art-controls{bottom:25px}.section{padding:65px 6%}.story-top{margin-bottom:35px}h2{font-size:37px}.story-grid{grid-template-columns:1fr;gap:38px}.portrait{max-width:100%}.portrait img{height:400px;object-position:center 28%}.story-prose .lead{font-size:23px}.story-prose p{font-size:16px}.section-intro{font-size:15px;margin-bottom:35px}summary{grid-template-columns:95px 1fr 20px;gap:10px;padding:24px 0}.date{font-size:9px}.employer{font-size:27px}.role{grid-column:2;grid-row:2;font-size:12px}.expand{grid-column:3;grid-row:1 / span 2}.career-body{padding:0 0 24px 0}.career-body p{font-size:15px}.impact{grid-template-columns:1fr;gap:35px}.impact-number{font-size:200px}.impact h2{font-size:37px}.impact p:last-child{font-size:16px}.focus-grid{grid-template-columns:1fr;gap:30px;margin-top:40px}.focus-grid article:first-child{grid-row:auto}.focus-grid article:first-child .focus-word,.focus-word{font-size:60px;padding-bottom:0;margin-bottom:16px}.focus-grid h3{font-size:22px}.focus-grid p{font-size:16px}.focus-grid article{border-bottom:1px solid var(--line);padding-bottom:20px}.personal{grid-template-columns:1fr;gap:35px}.personal img{height:320px}.contact-title{font-size:43px;line-height:1.05;align-items:flex-start;margin-bottom:45px}.footer-bottom{flex-wrap:wrap;gap:25px;font-size:12px}.footer-bottom a:first-child{width:100%}.back-top{margin-left:auto}footer>p{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Revised direction: no photography, original career branches, moving colour. */
.hero::before{content:"";position:absolute;z-index:-1;inset:-30%;background:radial-gradient(ellipse at 65% 35%,rgba(153,178,134,.35),transparent 39%),radial-gradient(ellipse at 75% 70%,rgba(181,119,144,.26),transparent 36%),radial-gradient(ellipse at 28% 62%,rgba(49,107,91,.65),transparent 40%);filter:blur(45px);animation:atmosphere 22s ease-in-out infinite alternate;pointer-events:none}.motion-paused .hero::before{animation-play-state:paused}@keyframes atmosphere{0%{transform:translate(-4%,-3%) rotate(-9deg) scale(1)}100%{transform:translate(5%,5%) rotate(13deg) scale(1.12)}}
.story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.story-top{margin:0}.story-grid{display:block}.story-prose .lead{font-size:22px}.story-prose p{max-width:none}.git-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:11%;align-items:start}.git-intro{position:sticky;top:70px}.git-intro h2{margin-bottom:34px}.git-intro>p:not(.eyebrow){font-size:19px;line-height:1.65;color:var(--muted);max-width:390px}.git-track{list-style:none;padding:0;margin:0}.git-chapter{--wire:#789c89}.git-chapter.is-read{--wire:var(--accent)}.git-year{display:flex;position:relative;gap:24px;align-items:center;height:30px;font:12px Plex,monospace;color:var(--muted)}.commit-node{display:block;width:12px;height:12px;flex-shrink:0;border:1px solid var(--wire);border-radius:50%;background:var(--panel);position:relative;z-index:1;transition:border-color .65s}.git-chapter.is-read .git-year{color:var(--accent)}.git-body{position:relative;padding:15px 0 22px;margin:8px 0}.git-trunk{position:absolute;left:5.5px;top:0;bottom:0;width:1px;background:var(--line)}.git-trunk span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .85s ease}.git-chapter.is-read .git-trunk span{transform:scaleY(1)}.git-body h3{font-size:25px;line-height:1.35;letter-spacing:-.025em;font-weight:400;margin:0 0 0 35px}.git-branch{position:relative;margin:10px 0 0 5px;color:var(--wire)}.branch-bend{display:block;width:42px;height:60px;overflow:visible;transition:color .65s}.branch-events{margin-left:41.5px;border-left:1px solid var(--wire);padding:9px 0;transition:border-color .65s}.branch-event{position:relative;margin:0;padding-left:22px;color:var(--muted);font-size:16px;line-height:1.6}.branch-event:first-child{color:var(--ink)}.branch-event+.branch-event{margin-top:18px}.branch-event .commit-node{position:absolute;left:-6.5px;top:7px;outline:5px solid var(--panel)}.branch-in{transform:scaleY(-1)}.personal{display:block;border-top:1px solid var(--line)}.personal-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:start}.personal-copy .eyebrow{grid-column:1/-1}.personal-copy h2{grid-row:2/4}.personal-copy p:not(.eyebrow){margin-top:0;max-width:460px}
@media(max-width:900px){.story{gap:7%}.git-section{gap:7%}.git-body h3{font-size:23px}.git-intro>p:not(.eyebrow){font-size:17px}}@media(max-width:600px){.story{display:block}.story-top{margin-bottom:35px}.git-section{display:block}.git-intro{position:static;margin-bottom:45px}.git-intro>p:not(.eyebrow){font-size:17px}.git-body h3{font-size:23px}.branch-event{font-size:16px}.personal-copy{display:block}.personal-copy h2{margin-bottom:25px}.hero::before{filter:blur(25px)}}@media(prefers-reduced-motion:reduce){.hero::before{animation:none}.git-section *{transition:none!important}.git-trunk span{transform:scaleY(1)}}
/* User-selected warm editorial direction. */
:root{--bg:#eee6db;--panel:#e6dccf;--ink:#35291f;--muted:#6c5a4b;--accent:#8b5b3c;--line:rgba(83,60,41,.24)}body{color-scheme:light}header{height:94px}.monogram{font-weight:500}.portrait-hero{margin:0 24px;max-width:none;height:calc(100svh - 118px);min-height:640px;max-height:960px;border-radius:25px;background:#d9cbbc;overflow:hidden;isolation:isolate}.portrait-hero::before{display:none}.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 46%;z-index:-1}.portrait-hero .hero-copy{padding:55px 4.2%;max-width:53%}.portrait-hero h1{font-size:clamp(65px,6.6vw,110px);line-height:1.02;letter-spacing:-.055em;font-weight:400;margin:0 0 32px}.portrait-hero h1 span{color:var(--ink)}.portrait-hero .eyebrow{color:#574331;font-size:9px}.portrait-hero .story-link{border-color:#6c5a4b;font-size:13px}.hero-note{position:absolute;right:4%;top:42px;width:185px;font-size:13px;line-height:1.6;color:#483627}.portrait-caption{position:absolute;bottom:0;left:4.2%;right:4.2%;display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.4);padding:22px 0;color:#fff9f1;text-shadow:0 1px 8px #33291e;font-size:12px}.portrait-caption span:first-child{color:var(--ink);text-shadow:none}.portrait-caption a{color:#fff9f1}.story{border-top:none}.systems-section{padding-top:35px}.systems-header{margin-bottom:45px}.system-visual{position:relative;isolation:isolate;overflow:hidden;min-height:690px;border-radius:20px;background:#e2d6c6}.system-visual::before{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse at 63% 28%,rgba(171,115,73,.34),transparent 39%),radial-gradient(ellipse at 25% 70%,rgba(245,230,204,.95),transparent 45%),radial-gradient(ellipse at 80% 70%,rgba(155,132,107,.3),transparent 36%);filter:blur(35px);animation:atmosphere 20s ease-in-out infinite alternate}.motion-paused .system-visual::before{animation-play-state:paused}.system-tabs{position:relative;z-index:3;display:flex;justify-content:flex-end;gap:26px;padding:28px 36px}.system-tabs button{background:none;border:none;border-bottom:1px solid transparent;padding:7px 0;color:var(--muted);font-size:13px}.system-tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}.sculpture-stage{position:absolute;inset:20px 0 65px;z-index:1;pointer-events:auto}.system-display{position:absolute;left:0;right:0;top:155px;text-align:center;font-size:clamp(70px,12vw,180px);line-height:1;font-weight:350;letter-spacing:-.075em;color:#4d392c;opacity:.7;pointer-events:none}.system-panel{position:absolute;z-index:2;bottom:35px;left:36px;width:calc(100% - 130px);pointer-events:none}.system-panel>p:first-child{font:10px/1.5 Plex,monospace;color:var(--muted);margin-bottom:12px}.system-panel h3{font-size:30px;font-weight:400;letter-spacing:-.03em;margin:0 0 10px}.system-panel>p:last-child{font-size:15px;line-height:1.6;max-width:500px;margin:0;color:var(--muted)}.system-motion{position:absolute;z-index:3;right:32px;bottom:35px;background:transparent;border:1px solid var(--line);width:38px;height:38px;border-radius:50%}.git-chapter{--wire:#ae9984}.git-chapter.is-read{--wire:var(--accent)}.impact-number{color:var(--accent)}.personal{padding-top:85px;padding-bottom:85px}
@media(min-width:1600px){.portrait-hero{max-width:1552px;margin:auto}}@media(max-width:900px){.portrait-hero{height:850px;margin:0 18px;min-height:650px}.portrait-hero .hero-copy{max-width:75%;padding:40px 5%}.portrait-hero h1{font-size:72px}.hero-portrait{object-position:62% 50%}.hero-note{display:none}.portrait-caption span:nth-child(2){display:none}.system-display{top:190px;font-size:100px}.system-visual{min-height:650px}}@media(max-width:600px){header{height:82px}.portrait-hero{margin:0 12px;height:790px;min-height:0;border-radius:18px}.portrait-hero .hero-copy{padding:28px 6%;max-width:100%}.portrait-hero h1{font-size:54px;max-width:310px;line-height:1.01;margin-bottom:22px}.portrait-hero .eyebrow{font-size:8px;max-width:260px;margin-bottom:18px}.hero-portrait{object-fit:cover;object-position:63% bottom;height:67%;top:auto;bottom:0}.portrait-hero{background:#d9cbbc}.portrait-hero .story-link{font-size:12px;gap:30px}.portrait-caption{left:6%;right:6%;font-size:10px;padding:18px 0}.portrait-caption span:first-child{color:#fff9f1;text-shadow:0 1px 8px #33291e}.portrait-caption a{white-space:nowrap}.systems-section{padding-top:15px}.system-visual{min-height:600px;border-radius:16px}.system-tabs{gap:22px;padding:20px;justify-content:center}.system-tabs button{font-size:12px}.system-display{font-size:66px;top:160px}.sculpture-stage{inset:40px -30% 150px}.system-panel{left:22px;bottom:30px;width:calc(100% - 70px)}.system-panel h3{font-size:26px}.system-panel>p:first-child{font-size:9px;max-width:210px}.system-panel>p:last-child{font-size:14px}.system-motion{right:15px;bottom:28px;width:32px;height:32px}.personal{padding:65px 6%}}@media(prefers-reduced-motion:reduce){.system-visual::before{animation:none}}
@media(min-width:601px) and (max-width:1000px){.portrait-hero .hero-copy{max-width:47%;padding-top:40px}.portrait-hero h1{font-size:clamp(46px,7.2vw,64px);max-width:310px}.portrait-hero .eyebrow{max-width:240px}.portrait-hero{height:780px}}
@media(max-width:600px){.hero-portrait{mask-image:linear-gradient(to bottom,transparent,#000 24px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px)}}
/* Original-photo composition: face pixels come only from the untouched source. */
.portrait-hero{background:radial-gradient(ellipse at 12% 5%,#f5ecdf 0,transparent 65%),linear-gradient(120deg,#e7d8c4,#c6af92);box-shadow:inset 0 1px 1px rgba(255,255,255,.7)}.portrait-frame{position:absolute;right:5%;top:48%;transform:translateY(-50%) rotate(-1.5deg);width:min(42%,490px);aspect-ratio:1014/1432;border:7px solid #ede2d3;border-radius:3px;box-shadow:3px 7px 10px rgba(70,43,20,.12),18px 30px 45px rgba(70,43,20,.22),1px 1px 1px rgba(255,255,255,.7);isolation:isolate;overflow:hidden}.portrait-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}.portrait-logo-patch{z-index:1;clip-path:inset(56.8% 50.2% 36.3% 37.5%);mask-image:radial-gradient(ellipse 7% 4% at 43.6% 60.3%,#000 64%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 7% 4% at 43.6% 60.3%,#000 64%,transparent 100%)}.portrait-hero .hero-copy{max-width:54%;padding-top:70px}.portrait-hero h1{font-size:clamp(60px,6.1vw,98px)}.hero-note{top:auto;bottom:115px;left:4.2%;right:auto;width:240px;color:var(--muted)}.portrait-caption{color:var(--ink);text-shadow:none;border-color:rgba(83,60,41,.22)}.portrait-caption a,.portrait-caption span:first-child{color:var(--ink);text-shadow:none}
@media(min-width:601px) and (max-width:1000px){.portrait-frame{width:44%;right:4%;top:52%}.portrait-hero .hero-copy{max-width:47%;padding-top:45px}.portrait-hero h1{font-size:clamp(44px,6.6vw,62px)}.hero-note{display:block;font-size:12px;width:200px;bottom:110px}}@media(max-width:600px){.portrait-hero{height:850px}.portrait-hero .hero-copy{max-width:100%;padding:28px 6%}.portrait-hero h1{font-size:48px;max-width:300px}.portrait-frame{top:auto;bottom:75px;right:11%;width:70%;transform:rotate(-2deg);border-width:5px}.hero-note{display:none}.portrait-caption a,.portrait-caption span:first-child{color:var(--ink);text-shadow:none}.portrait-caption{font-size:10px}}
.portrait-logo-patch{clip-path:inset(54.5% 46% 33.5% 34%);mask-image:radial-gradient(ellipse 10% 6% at 44% 60.5%,#000 80%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 10% 6% at 44% 60.5%,#000 80%,transparent 100%)}
.portrait-comparison{display:flex;justify-content:center;gap:8px;margin:0 auto 20px;font-size:12px}.portrait-comparison a{padding:9px 18px;border:1px solid var(--line);border-radius:20px}.portrait-comparison a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.studio-comparison .portrait-frame .studio-backdrop{z-index:0}.studio-comparison .portrait-frame .portrait-original{z-index:1;mask-image:url('assets/portrait-subject-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('assets/portrait-subject-mask.svg');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.studio-comparison .portrait-frame .portrait-logo-patch{z-index:2}

/* Wide studio alternate. Original reference face retained in SVG image coordinates. */
.studio-comparison .portrait-hero{background:#d6c5b4;box-shadow:none;height:calc(100svh - 150px);min-height:680px;max-height:960px}
.studio-wide-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.studio-comparison .portrait-hero .hero-copy{max-width:53%;padding-top:60px}
.studio-comparison .portrait-hero h1{font-size:clamp(60px,6.3vw,100px)}
.studio-comparison .hero-note{bottom:110px}
.studio-comparison .portrait-caption{border-color:rgba(83,60,41,.2)}
.studio-comparison .portrait-caption span:nth-child(2),.studio-comparison .portrait-caption a{color:#fff9f1;text-shadow:0 1px 8px #33291e}
@media(min-width:601px) and (max-width:1000px){.studio-comparison .portrait-hero{height:720px;min-height:0}.studio-comparison .portrait-hero .hero-copy{max-width:45%;padding-top:45px}.studio-comparison .portrait-hero h1{font-size:clamp(42px,6vw,60px)}.studio-wide-photo{width:115%;left:-15%}.studio-comparison .hero-note{width:190px;font-size:12px}}
@media(max-width:600px){.studio-comparison .portrait-hero{height:830px;min-height:0;background:#d9c9b9}.studio-comparison .portrait-hero .hero-copy{max-width:100%;padding:28px 6%}.studio-comparison .portrait-hero h1{font-size:48px}.studio-wide-photo{inset:auto auto 0 -43%;width:143%;height:62%;mask-image:linear-gradient(transparent,#000 45px)}.studio-comparison .portrait-caption a,.studio-comparison .portrait-caption span:first-child{color:#fff9f1;text-shadow:0 1px 8px #33291e}}
.portrait-comparison a:first-child{display:inline-flex}

/* Scroll-linked career graph: quiet baseline, progressively inked branches. */
.git-chapter,.git-chapter.is-read{--wire:#b6a594}
.git-trunk span,.git-chapter.is-read .git-trunk span{transform:scaleY(var(--progress,0));transition:none}
.branch-bend{color:#b6a594;transition:none}
.branch-ink{stroke:var(--accent);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.branch-events{position:relative;border-color:#b6a594;transition:none}
.branch-events::before{content:"";position:absolute;left:-1px;top:0;width:2px;height:100%;background:var(--accent);transform-origin:top;transform:scaleY(var(--progress,0))}
.commit-node{border-color:#b6a594;transition:background .25s,border-color .25s,box-shadow .25s}
.commit-node.is-active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(139,91,60,.12)}
@media(prefers-reduced-motion:reduce){.commit-node{transition:none}}
/* Editorial revision: parchment, espresso, a single interactive study. */
:root{--bg:#f3eee5;--panel:#f3eee5;--ink:#302720;--muted:#70645a;--accent:#815a40;--line:rgba(65,48,34,.18)}
html{scroll-padding-top:40px}body{background:var(--bg)}header{max-width:1440px;margin:auto;padding:0 5%;height:100px}.section{max-width:1320px;padding:100px 5%;margin:auto}h2{font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.12;letter-spacing:-.04em}.eyebrow{letter-spacing:.12em;color:var(--muted)}
.portrait-comparison{font-size:11px;gap:22px;align-items:center;margin-bottom:22px}.portrait-comparison>span{font:9px Plex,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.portrait-comparison a{border:0;border-radius:0;padding:6px 0;color:var(--muted);border-bottom:1px solid transparent}.portrait-comparison a[aria-current=page]{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.portrait-hero,.studio-comparison .portrait-hero{border-radius:5px;margin:0 2%;max-height:850px}.studio-comparison .portrait-hero .hero-copy{padding-top:65px}.portrait-hero .hero-copy .eyebrow{margin-bottom:28px}.studio-comparison .hero-note{font-size:12px;line-height:1.65;bottom:108px}.portrait-caption{font-size:11px}
.story{padding-top:120px;padding-bottom:100px;display:block}.story-top{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start;margin-bottom:40px}.story-top h2{max-width:560px;margin:0}.story-top .eyebrow{padding-top:10px}.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.story-prose{grid-column:2}.story-prose .lead{font-size:20px;line-height:1.6}.story-prose p{font-size:16px;line-height:1.75;color:var(--muted)}.story-prose .text-link{margin-top:22px;font-size:13px}
.systems-section{padding-top:50px;padding-bottom:100px}.systems-header{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:42px}.systems-header h2{margin:0;width:52%}.system-visual{border-radius:2px;background:#e5d9c8;min-height:650px}.system-visual::before{display:none}.system-tabs{justify-content:flex-start;padding:28px 32px;gap:28px}.system-tabs button{font-size:12px}.system-display{font:12px Plex,monospace;letter-spacing:0;top:39px;left:auto;right:32px;color:var(--muted);opacity:1}.sculpture-stage{inset:75px 0 160px;cursor:grab;touch-action:pan-y}.sculpture-stage.is-dragging{cursor:grabbing}.system-panel{left:32px;bottom:35px;width:70%}.system-panel h3{font-size:28px}.system-panel>p:last-child{font-size:14px;max-width:460px}.system-panel>p:first-child{font-size:9px}.interaction-hint{position:absolute;right:30px;bottom:87px;font-size:10px;color:var(--muted);z-index:3}.system-motion{right:32px;bottom:32px;width:32px;height:32px;font-size:12px}
.git-section{border-top:1px solid var(--line);background:none;gap:12%;padding-top:100px;padding-bottom:100px}.git-intro>p:not(.eyebrow){font-size:16px;max-width:340px;line-height:1.75}.git-intro h2{margin-bottom:26px}.git-body h3{font-size:23px}.branch-event{font-size:15px;line-height:1.75}.git-track{position:relative;isolation:isolate}.git-drawing{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}.git-track .commit-node{visibility:hidden}.git-trunk,.branch-bend{visibility:hidden}.branch-events{border-color:transparent!important}.branch-events::before{display:none}.branch-event .commit-node{outline:none}.git-year,.git-body{z-index:1}.git-year{font-size:10px}.git-baseline{stroke:#c7baab;stroke-width:1;fill:none}.git-progress{stroke:var(--accent);stroke-width:1.5;fill:none}.git-dot{fill:var(--bg);stroke:#b8a795;stroke-width:1}.git-dot-active{fill:var(--accent);stroke:var(--accent);stroke-width:1}
.work{border-top:1px solid var(--line)}.work-heading{margin-bottom:55px}.work-heading h2{margin:15px 0 0}.work-item{display:grid;grid-template-columns:1fr 3fr 1.2fr;gap:6%;padding:35px 0;border-top:1px solid var(--line);align-items:start}.work-index{font:10px/1.7 Plex,monospace;color:var(--muted);padding-top:6px}.work-item h3{font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.025em;margin:0 0 14px}.work-item p{font-size:15px;line-height:1.75;color:var(--muted);max-width:550px;margin:0}.work-result{font-size:48px;line-height:1;letter-spacing:-.04em;text-align:right}.work-result small{display:block;font-size:10px;line-height:1.6;letter-spacing:0;color:var(--muted);margin-top:14px}.work-label{font-size:32px}.personal{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.personal-copy{grid-template-columns:1fr 1.1fr}.personal h2{font-size:28px}.personal p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted)}footer.section{padding-top:80px;padding-bottom:40px;border-top:1px solid var(--line)}footer>p{font-size:16px}.contact-title{font-size:clamp(55px,8vw,100px)}.footer-bottom{margin-top:70px;font-size:12px}
#shader-root{position:absolute;inset:0}.shader-version #sculpture{display:none}.shader-version .sculpture-stage{inset:0;z-index:-1}.shader-version .system-visual{isolation:isolate;background:#ddd0bf}.shader-version .system-visual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(243,238,229,.5),transparent 25%,transparent 45%,rgba(243,238,229,.94));pointer-events:none}.shader-version .system-tabs{pointer-events:none}.shader-version .system-tabs button{pointer-events:auto}.shader-version .system-visual .sculpture-stage{z-index:-2}
@media(max-width:900px){.section{padding:75px 6%}.story-top,.story-grid{gap:7%;grid-template-columns:.85fr 1.15fr}.story-top h2{font-size:36px}.story-prose .lead{font-size:18px}.system-visual{min-height:630px}.git-section{gap:8%}.work-item{grid-template-columns:.7fr 2.5fr 1fr;gap:5%}.work-item h3{font-size:21px}.work-result{font-size:36px}}
@media(max-width:600px){header{height:80px}.portrait-comparison{gap:18px;font-size:10px}.portrait-comparison>span{display:none}.section{padding:65px 7%}.portrait-hero,.studio-comparison .portrait-hero{margin:0 12px;border-radius:3px}.studio-comparison .portrait-hero .hero-copy{padding-top:28px}.story-top,.story-grid{display:block}.story-top{margin-bottom:28px}.story-top h2{font-size:36px}.story-prose .lead{font-size:18px}.story-prose p{font-size:15px}.systems-header{display:block;margin-bottom:30px}.systems-header h2{width:auto;font-size:36px}.system-visual{min-height:580px;margin:0 -12px}.system-tabs{padding:23px 20px;gap:22px;justify-content:flex-start}.system-display{right:20px;top:33px;font-size:10px}.sculpture-stage{inset:60px -15% 200px}.system-panel{left:22px;bottom:58px;width:calc(100% - 44px)}.system-panel h3{font-size:25px}.system-panel>p:last-child{font-size:13px;max-width:95%}.interaction-hint{left:22px;right:auto;bottom:17px;font-size:9px}.system-motion{right:20px;bottom:17px;width:27px;height:27px}.git-intro{margin-bottom:45px}.git-body h3{font-size:22px}.branch-event{font-size:14px}.work-heading{margin-bottom:35px}.work-item{grid-template-columns:1fr auto;gap:18px;padding:27px 0}.work-index{grid-column:1/-1}.work-item h3{font-size:21px}.work-item p{font-size:14px}.work-result{font-size:32px;max-width:85px}.work-result small{font-size:9px}.work-label{font-size:25px}.personal-copy{display:block}.personal-copy h2{margin-bottom:22px}.personal p:not(.eyebrow){font-size:15px}.footer-bottom{margin-top:45px}.shader-version .sculpture-stage{inset:0}}

.touch-hint{display:none}@media(pointer:coarse){.pointer-hint{display:none}.touch-hint{display:inline}}

/* Chapter typography sits behind the interactive thread. */
body:not(.shader-version) .system-display{left:0;right:0;top:210px;width:100%;text-align:center;font-family:Outfit,sans-serif;font-size:clamp(70px,10.5vw,148px);font-weight:350;line-height:1;letter-spacing:-.065em;color:#725846;opacity:.55;z-index:0;pointer-events:none;white-space:nowrap}
@media(max-width:900px){body:not(.shader-version) .system-display{top:220px;font-size:clamp(68px,10vw,100px)}}
@media(max-width:600px){body:not(.shader-version) .system-display{top:180px;font-size:clamp(47px,12.8vw,76px)}}
/* Selected stories: career progression above, decisions and evidence here. */
.selected-stories{border-top:1px solid var(--line);padding-bottom:80px}.stories-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:12%;align-items:end;margin-bottom:65px}.stories-heading h2{margin:18px 0 0}.stories-heading>p{max-width:310px;margin:0 0 6px;font-size:16px;line-height:1.7;color:var(--muted)}.case-story{border:1px solid var(--line);background:#eee6da;margin-top:35px;border-radius:4px;overflow:hidden}.case-preview{display:grid;grid-template-columns:1fr 1fr;min-height:460px}.case-intro{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}.case-intro .eyebrow{font-size:9px;margin-bottom:25px}.case-intro h3{font-size:clamp(28px,3vw,43px);font-weight:400;letter-spacing:-.04em;line-height:1.1;margin:0 0 24px}.case-intro>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);margin:0;max-width:450px}.case-tags{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px;font:9px/1.5 Plex,monospace;color:var(--muted)}
.assessment-visual{position:relative;min-height:460px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 60% 30%,#faf7f1,transparent 70%),#e5daca}.visual-caption{position:absolute;left:40px;top:30px;font:9px Plex,monospace;color:#76695e}.signal-card{position:absolute;width:77%;left:10%;padding:22px 26px;background:#fbf8f2;border:1px solid rgba(100,75,52,.12);box-shadow:0 2px 3px #70533808,0 18px 35px -20px #5b412c55;border-radius:3px}.signal-step{display:block;font:9px Plex,monospace;text-transform:uppercase;letter-spacing:.04em;color:#8a735e;margin-bottom:14px}.signal-card strong{display:block;font-weight:400;font-size:20px;letter-spacing:-.025em}.signal-card p{font-size:12px;line-height:1.6;color:#796b5e;margin:10px 0 0}.signal-collect{top:76px;transform:rotate(-5deg);left:8%;opacity:.78}.signal-evaluate{top:183px;left:15%;transform:rotate(3deg)}.signal-analyse{top:315px;left:10%;transform:rotate(-2deg);background:#382b23;color:#f5eee2}.signal-analyse .signal-step,.signal-analyse p{color:#d2baa3}.signal-analyse strong{font-size:26px}.signal-marker{position:absolute;right:25px;top:28px;width:7px;height:7px;border-radius:50%;background:#c7ad83;box-shadow:0 0 0 5px #c7ad8318}.signal-rule{font:9px Plex,monospace;display:inline-block;margin-top:16px;padding-top:12px;border-top:1px solid #d6cabb;width:100%;color:#7b6553}.signal-lines{display:flex;gap:5px;margin-top:14px}.signal-lines i{height:3px;background:#d8ccbc;width:25%}.signal-lines i:nth-child(2){width:42%}.signal-lines i:nth-child(3){width:15%}
.rail-story{background:#ece2d3}.rail-visual{margin:0;position:relative;min-width:0;min-height:460px;overflow:hidden;background:#d8cabb}.rail-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:45% 50%;filter:saturate(.8);transition:transform .6s ease}.rail-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 22px;background:linear-gradient(transparent,rgba(27,25,20,.75));color:#fff8ee;font:9px/1.6 Plex,monospace;display:flex;justify-content:space-between;gap:20px}.rail-story:hover .rail-visual img{transform:scale(1.025)}
.case-detail{border-top:1px solid var(--line)}.case-detail summary{list-style:none;display:flex;align-items:center;gap:22px;padding:24px 40px;cursor:pointer;font-size:14px}.case-detail summary::-webkit-details-marker{display:none}.case-detail summary:hover{background:#ffffff28}.case-detail summary:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.detail-label{font-size:11px;color:var(--muted);margin-left:auto}.detail-toggle{font-size:25px;line-height:1;font-weight:300;transition:transform .25s}.case-detail[open] .detail-toggle{transform:rotate(45deg)}.case-body{padding:10px 40px 30px;display:grid;grid-template-columns:1fr 1fr;gap:35px 7%;background:rgba(255,255,255,.28)}.case-section{padding-top:30px}.case-section .eyebrow{font-size:9px}.case-section h4{font-size:25px;font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:15px 0 22px}.case-section p,.decision-list{font-size:15px;line-height:1.75;color:var(--muted)}.decision-list{margin:0}.decision-list>div{margin-bottom:18px}.decision-list dt{color:var(--ink);font-weight:500}.decision-list dd{margin:3px 0 0}.case-outcome{grid-column:1/-1;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:center}.timing-pair{display:flex;gap:35px;align-items:start}.timing-pair p{margin:15px 0 0;flex:1}.timing-pair strong{display:block;font-size:clamp(29px,3.5vw,46px);font-weight:400;letter-spacing:-.04em;line-height:1.1}.timing-pair span{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}.case-outcome>p{font-size:13px;line-height:1.75;color:var(--muted)}.rail-outcome .timing-pair strong{font-size:32px}.case-sources{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--line);padding-top:24px;font-size:11px}.case-sources>span{color:var(--muted);margin-right:auto}.case-sources a{border-bottom:1px solid #a68b72;padding-bottom:4px}.case-sources a:hover{color:var(--accent)}
/* A continuous line landscape, personal rather than a second product pitch. */
.thread-footer{position:relative;isolation:isolate;background:#e4d8c7;color:#392c23;overflow:hidden;border-top:1px solid #b8a38d;margin-top:20px;padding:85px max(5%,calc((100vw - 1188px)/2)) 30px;min-height:780px}.footer-content{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:12%}.footer-invitation h2{font-size:clamp(34px,4.6vw,64px);line-height:1.08;letter-spacing:-.045em;margin:22px 0 26px}.footer-invitation .eyebrow{font-size:9px}.footer-email{display:inline-flex;align-items:center;gap:55px;border-bottom:1px solid #8e735c;padding:0 0 12px;font-size:17px}.footer-directory{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:9px}.footer-directory>div{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-directory .eyebrow{font-size:9px;margin:0 0 15px}.footer-directory a,.footer-directory span{font-size:13px;line-height:1.6}.footer-directory span{color:#796651}.footer-directory a:hover{text-decoration:underline;text-underline-offset:5px}.footer-landscape{position:absolute;bottom:70px;left:-5%;right:-5%;height:340px;z-index:-1;opacity:.32;pointer-events:none}.footer-thread-lines{width:100%;height:100%;fill:none;stroke:#8b6d51;stroke-width:.7}.footer-signature{font-size:clamp(55px,11vw,160px);line-height:1;letter-spacing:-.065em;white-space:nowrap;margin-top:150px;position:relative;font-weight:400;color:#68503b}.footer-signature span{color:#a18262}.footer-colophon{display:flex;justify-content:space-between;gap:24px;font-size:10px;color:#76624f;margin-top:32px;padding-top:20px;border-top:1px solid #bba891}.footer-colophon a{color:var(--ink)}
@media(max-width:1000px){.case-intro{padding:32px 28px}.case-intro h3{font-size:30px}.case-intro>p:not(.eyebrow){font-size:14px}.case-tags{font-size:8px;gap:10px}.case-preview{min-height:450px}.signal-card{padding:20px;width:80%;left:8%}.signal-evaluate{left:13%}.signal-card strong{font-size:18px}.signal-analyse strong{font-size:23px}.visual-caption{left:25px;font-size:8px}.signal-card p{font-size:11px}.rail-visual figcaption{flex-direction:column;gap:6px}.thread-footer{padding:65px 6% 25px;min-height:690px}.footer-content{gap:8%;grid-template-columns:1.1fr .9fr}.footer-directory{gap:20px}.footer-signature{margin-top:140px}.case-detail summary{padding:22px 28px}.case-body{padding:0 28px 25px}.case-outcome{grid-template-columns:1fr}.case-outcome>p{max-width:580px}.timing-pair strong{font-size:38px}}
@media(max-width:650px){header nav{gap:16px}header nav a{font-size:11px}.stories-heading{display:block;margin-bottom:35px}.stories-heading h2{font-size:36px}.stories-heading>p{font-size:14px;margin-top:24px}.case-preview{display:flex;flex-direction:column}.case-intro{padding:30px 25px}.case-intro h3{font-size:31px}.case-intro>p:not(.eyebrow){font-size:14px}.case-intro .eyebrow{font-size:8px}.case-tags{font-size:8px}.assessment-visual{min-height:435px}.signal-card{width:80%;left:8%}.signal-collect{top:65px}.signal-evaluate{top:164px;left:13%}.signal-analyse{top:292px}.signal-analyse strong{font-size:25px}.visual-caption{top:25px}.rail-visual{min-height:300px}.rail-visual img{object-position:48% 50%}.rail-visual figcaption{font-size:8px;padding:35px 20px 18px}.case-detail summary{padding:20px 24px;font-size:13px}.detail-label{display:none}.detail-toggle{margin-left:auto}.case-body{display:block;padding:0 24px 25px}.case-section{padding-top:27px}.case-section h4{font-size:23px}.case-section p,.decision-list{font-size:14px}.case-outcome{display:block;margin-top:30px;padding-top:25px}.timing-pair{gap:18px}.timing-pair strong{font-size:29px}.rail-outcome .timing-pair strong{font-size:26px}.timing-pair span{font-size:10px}.case-outcome>p{font-size:12px;margin-top:24px}.case-sources{margin-top:25px;font-size:10px}.case-sources>span{width:100%}.thread-footer{padding:50px 7% 25px;min-height:0;margin-top:0}.footer-content{display:block}.footer-invitation h2{font-size:40px;max-width:320px}.footer-email{font-size:16px}.footer-directory{margin-top:55px;gap:30px}.footer-directory a,.footer-directory span{font-size:12px}.footer-signature{font-size:10.7vw;margin-top:125px}.footer-landscape{height:260px;bottom:60px;left:-25%;right:-25%}.footer-colophon{font-size:8px;gap:15px;margin-top:25px;align-items:start}.footer-colophon span{max-width:155px}.footer-colophon a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.rail-visual img,.detail-toggle{transition:none}.rail-story:hover .rail-visual img{transform:none}}
/* Softer shared corner treatment. */
:root{--radius-large:20px;--radius-panel:16px;--radius-small:9px}
.portrait-hero,.studio-comparison .portrait-hero{border-radius:var(--radius-large)}
.system-visual,.case-story{border-radius:var(--radius-panel)}.signal-card{border-radius:var(--radius-small)}
.architecture-study{grid-column:1/-1;background:#e9dfd1;border:1px solid var(--line);border-radius:14px;padding:30px;margin-top:5px;overflow:hidden}.architecture-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-items:end}.architecture-heading .eyebrow{grid-column:1/-1;font-size:9px}.architecture-heading h4{font-size:30px;line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:12px 0 25px}.architecture-heading>p:last-child{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 25px;max-width:230px;justify-self:end}.architecture-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px}.architecture-tabs button{font:12px Outfit,sans-serif;border:1px solid transparent;border-radius:25px;background:transparent;color:var(--muted);padding:10px 16px;cursor:pointer}.architecture-tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}.architecture-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.architecture-map{width:100%;height:auto;display:block;max-height:330px;overflow:visible}.architecture-boundaries rect{fill:#f6f0e6;stroke:#b69c83;stroke-width:1;stroke-dasharray:4 5}.architecture-links path{fill:none;stroke:#ad8e72;stroke-width:1}.architecture-node{transition:transform .55s cubic-bezier(.22,1,.36,1)}.architecture-node rect{fill:#f8f3eb;stroke:#876951;stroke-width:1.2}.architecture-node:nth-child(3n) rect{fill:#9e7e60}.architecture-node:nth-child(4n) rect{fill:url(#architecture-hatch)}.architecture-node line{stroke:#ae937a;stroke-width:1}.architecture-explanation{border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:1fr 1.2fr;gap:10px 30px}.architecture-number{font:9px Plex,monospace;color:var(--muted);grid-column:1/-1}.architecture-explanation h5{font-size:23px;line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:7px 0}.architecture-explanation p{font-size:13px;line-height:1.7;color:var(--muted);margin:7px 0}.managed-note{display:grid;grid-template-columns:1fr 2.4fr;gap:25px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.managed-note .eyebrow{font-size:9px;padding-top:4px}.managed-note p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.managed-note strong{color:var(--ink);font-weight:500}.architecture-footnote{font-size:10px;line-height:1.7;color:var(--muted);margin:22px 0 0;max-width:650px}
@media(max-width:650px){.portrait-hero,.studio-comparison .portrait-hero{border-radius:16px}.system-visual,.case-story{border-radius:14px}.architecture-study{padding:20px 16px;margin:25px -10px 0}.architecture-heading{display:block}.architecture-heading h4{font-size:26px;margin-bottom:15px}.architecture-heading>p:last-child{max-width:none;margin-bottom:22px;font-size:12px}.architecture-tabs{gap:3px;justify-content:space-between}.architecture-tabs button{padding:9px 9px;font-size:11px}.architecture-map{margin:12px -10%;width:120%;max-width:none}.architecture-explanation{display:block}.architecture-explanation h5{font-size:22px;margin:12px 0}.architecture-explanation p{font-size:12px}.managed-note{display:block}.managed-note .eyebrow{display:block;margin-bottom:10px}.architecture-footnote{font-size:9px}}
@media(prefers-reduced-motion:reduce){.architecture-node{transition:none}}
/* Original layered cloud illustration; no customer photography. */
.cloud-visual{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 35% 20%,#f9f3e9,transparent 65%),#d9c7b1}.cloud-visual svg{width:100%;max-width:530px;filter:drop-shadow(0 25px 18px #64462c20);padding:25px}.cloud-caption{position:absolute;top:30px;left:30px;right:25px;font:9px/1.6 Plex,monospace;letter-spacing:.1em;color:#806a55}.cloud-visual figcaption{background:none;color:#6d5642;padding:22px 25px}
/* Sculpted keycaps: real links with a small, tactile travel. */
.footer-keyboard{position:relative;z-index:2;margin:65px 0 0;max-width:720px}.keyboard-caption{display:block;font:9px Plex,monospace;letter-spacing:.12em;color:#806952;margin-bottom:23px}.keyboard-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:15px 15px 24px;border-radius:22px;background:linear-gradient(165deg,#b6a28d,#7a6653);border:1px solid #aa947d;box-shadow:inset 0 2px 2px #fff8,0 5px 0 #685442,0 8px 2px #68544255,0 22px 30px -14px #51392055;perspective:900px}.footer-key{--key-light:#f9f3e8;--key-mid:#e5d6bf;--key-dark:#b6a084;position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.25;padding:20px 19px 17px;color:#57422f;background:linear-gradient(140deg,var(--key-light),var(--key-mid));border-radius:18px 18px 23px 23px;border:1px solid #fff5;box-shadow:inset 0 3px 5px #fff6,inset -5px -7px 9px #36201312,0 9px 0 var(--key-dark),0 12px 5px #31201455;transform:rotateX(12deg);transform-origin:bottom;transition:transform .18s ease,box-shadow .18s ease}.footer-key span{font-size:clamp(15px,2.1vw,25px);letter-spacing:-.04em}.footer-key small{font:9px Plex,monospace;opacity:.55;align-self:flex-end}.key-sand{--key-light:#dfcbb0;--key-mid:#c4aa89;--key-dark:#987b5e}.key-caramel{--key-light:#b98c64;--key-mid:#956a47;--key-dark:#755037;color:#fff0df}.key-cocoa{--key-light:#655042;--key-mid:#3c2d23;--key-dark:#2b2019;color:#f4e8d8}.footer-key:hover{transform:rotateX(6deg) translateY(3px);box-shadow:inset 0 3px 5px #fff5,inset -5px -7px 9px #36201312,0 6px 0 var(--key-dark),0 8px 5px #31201455}.footer-key:active{transform:rotateX(0) translateY(8px);box-shadow:inset 0 3px 5px #fff4,0 1px 0 var(--key-dark),0 3px 3px #31201444}.footer-key:focus-visible{outline:2px solid #54351f;outline-offset:12px}.footer-signature{margin-top:90px}
@media(max-width:650px){.footer-keyboard{margin-top:45px}.keyboard-tray{gap:8px;padding:10px 10px 19px;border-radius:16px}.footer-key{border-radius:12px 12px 15px 15px;padding:13px 8px;aspect-ratio:.83}.footer-key span{font-size:14px}.footer-key small{font-size:8px}.cloud-caption{font-size:8px;left:25px}.cloud-visual svg{max-height:350px;padding:28px 20px}.footer-signature{margin-top:85px}}
@media(prefers-reduced-motion:reduce){.footer-key{transition:none}}
/* A quieter footer, with the shortcuts occupying the Connect corner. */
.thread-footer{min-height:0;padding-bottom:28px}.footer-content{grid-template-columns:1.5fr .5fr;gap:10%}.footer-directory{display:block}.footer-keyboard{display:block;width:320px;max-width:100%;margin:20px 0 0 auto}.keyboard-caption{font-size:8px;margin-bottom:15px}.keyboard-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 10px 18px;border-radius:15px}.footer-key{padding:12px 10px;aspect-ratio:1.12;border-radius:12px 12px 16px 16px}.footer-key span{font-size:15px}.footer-key small{font-size:9px}.footer-signature{font-size:24px;letter-spacing:-.04em;margin-top:45px}.footer-landscape{opacity:.18;animation:footer-drift 24s ease-in-out infinite alternate;transform-origin:center}.footer-colophon{margin-top:20px}@keyframes footer-drift{from{transform:translate3d(-1%,5px,0) scaleY(.96)}to{transform:translate3d(1%,-8px,0) scaleY(1.04)}}
.hero-copy h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.055em}
/* The same sculpture beside the introduction, with scroll-led chapter changes. */
.intro-duet{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;padding-top:85px;padding-bottom:85px}.intro-duet .systems-section{width:100%;margin:0;padding:0;position:sticky;top:35px;min-width:0}.intro-duet .story{padding:0;margin:0;min-width:0}.intro-duet .story-top{display:block}.intro-duet .story-top h2{font-size:clamp(30px,3.4vw,48px);line-height:1.1;margin:22px 0 30px}.intro-duet .story-grid{display:block;margin:0}.intro-duet .story-prose{max-width:none}.intro-duet .story-prose p{font-size:16px;line-height:1.8;margin:0 0 35px}.intro-duet .system-visual{height:600px;min-height:0}.intro-duet .system-display{font-size:clamp(50px,6vw,88px)}.intro-duet .system-panel{left:28px;right:28px;bottom:65px}.intro-duet .system-panel h3{font-size:24px}.intro-duet .system-panel>p{font-size:12px;max-width:330px}.intro-duet .system-tabs{left:20px;right:20px;top:22px}.intro-duet .system-tabs button{font-size:11px;padding:10px}.intro-duet .interaction-hint{left:28px;font-size:9px}.intro-duet .sculpture-stage{height:100%}
.concept-picker{display:flex;justify-content:center;gap:22px;align-items:center;padding:12px 20px 22px;font-size:11px;flex-wrap:wrap}.concept-picker>span{font:8px Plex,monospace;color:var(--muted)}.concept-picker a{padding-bottom:4px;border-bottom:1px solid transparent}.concept-picker a[aria-current]{border-color:var(--accent)}
.studio-comparison.concept-2 .hero-copy{top:15%;width:57%}.studio-comparison.concept-2 .hero-copy h1{font-size:clamp(60px,7.8vw,116px);line-height:.98;letter-spacing:-.065em}.studio-comparison.concept-2 .hero-copy h1 em{font-size:.85em}.studio-comparison.concept-2 .hero-note{display:none}.studio-comparison.concept-2 .hero-copy .eyebrow{margin-bottom:28px}
.studio-comparison.concept-3 .hero-copy{top:6%;left:6%;width:88%;text-align:center}.studio-comparison.concept-3 .hero-copy h1{font-size:clamp(45px,5.3vw,78px);line-height:1.08}.studio-comparison.concept-3 .hero-copy .story-link{display:none}.studio-comparison.concept-3 .studio-wide-photo{top:145px;height:calc(100% - 80px)}.studio-comparison.concept-3 .hero-note{left:6%;top:auto;bottom:18%;max-width:250px}.studio-comparison.concept-3 .hero-copy h1 em{display:inline-block;animation:useful-arrive 1.4s cubic-bezier(.22,1,.36,1) both}.studio-comparison.concept-3 .portrait-hero{background:#d8c9b6}@keyframes useful-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.intro-duet{gap:5%}.intro-duet .system-visual{height:550px}.intro-duet .story-prose p{font-size:14px}.intro-duet .system-panel{left:20px;right:20px}.intro-duet .system-tabs{gap:0;left:10px;right:10px}.intro-duet .system-tabs button{padding:8px;font-size:10px}}
@media(max-width:650px){.intro-duet{display:flex;flex-direction:column;padding-top:50px;padding-bottom:45px;gap:35px}.intro-duet .systems-section{position:relative;top:0}.intro-duet .system-visual{height:460px}.intro-duet .story-top h2{font-size:34px}.intro-duet .story-prose p{font-size:15px;margin-bottom:25px}.footer-content{display:grid;grid-template-columns:1fr}.footer-directory{margin-top:28px}.footer-keyboard{margin-top:35px;width:285px}.footer-signature{font-size:22px;margin-top:35px}.footer-key span{font-size:14px}.concept-picker{gap:12px;font-size:10px}.concept-picker>span{width:100%;text-align:center}.studio-comparison.concept-2 .hero-copy{top:6%;width:88%}.studio-comparison.concept-2 .hero-copy h1{font-size:55px}.studio-comparison.concept-3 .hero-copy{top:5%;width:88%}.studio-comparison.concept-3 .hero-copy h1{font-size:38px}.studio-comparison.concept-3 .studio-wide-photo{top:130px}.studio-comparison.concept-3 .hero-note{display:none}}
@media(prefers-reduced-motion:reduce){.footer-landscape,.studio-comparison.concept-3 .hero-copy h1 em{animation:none}}.motion-paused .footer-landscape{animation-play-state:paused}
.studio-comparison.concept-2 .hero-copy{position:absolute;left:5%;top:17%;max-width:none;width:54%;padding:0}.studio-comparison.concept-2 .hero-copy h1{width:100%;max-width:none;font-size:clamp(48px,6.9vw,100px)}
.studio-comparison.concept-3 .hero-copy{position:absolute;left:6%;top:6%;max-width:none;width:88%;padding:0}.studio-comparison.concept-3 .hero-copy h1{width:100%;max-width:none;font-size:clamp(38px,5.3vw,78px)}.studio-comparison.concept-3 .studio-wide-photo{top:180px;mask-image:linear-gradient(transparent,#000 70px)}
@media(max-width:650px){.studio-comparison.concept-2 .hero-copy{top:6%;width:88%}.studio-comparison.concept-2 .hero-copy h1{font-size:49px}.studio-comparison.concept-3 .hero-copy h1{font-size:35px}.studio-comparison.concept-3 .studio-wide-photo{top:160px}}
.intro-duet .sculpture-stage{position:absolute;top:85px;left:0;right:0;bottom:auto;height:290px}.intro-duet .system-panel{position:absolute;top:auto;bottom:54px;left:24px;right:24px;padding:0;max-width:none}.intro-duet .system-panel h3{font-size:22px;margin:8px 0 10px}.intro-duet .system-panel>p{font-size:11px;line-height:1.55;margin:0}.intro-duet .system-display{top:28%;font-size:clamp(45px,5.5vw,80px)}.intro-duet .interaction-hint{position:absolute;top:auto;bottom:18px;left:24px;max-width:75%;font-size:8px}.intro-duet .system-motion{bottom:15px;right:15px}
@media(max-width:650px){.intro-duet .sculpture-stage{top:65px;height:250px}.intro-duet .system-panel{bottom:55px}.intro-duet .system-display{top:24%}}
/* MotionSites Personal Showcase inspired: typography behind the existing portrait. */
.studio-comparison.concept-2 .kinetic-hero .studio-wide-photo{top:0;height:100%;mask-image:none}.kinetic-marquee{font-family:Outfit,sans-serif;font-size:205px;font-weight:400;letter-spacing:-10px;fill:#f9f1e4;animation:kinetic-type 22s linear infinite}.studio-comparison.concept-2 .kinetic-hero .hero-copy{top:auto;bottom:20%;left:5%;width:38%;max-width:none}.studio-comparison.concept-2 .kinetic-hero .hero-copy h1{font-size:clamp(30px,4.3vw,64px);line-height:1.04;letter-spacing:-.045em}.studio-comparison.concept-2 .kinetic-hero .hero-copy .eyebrow{font-size:9px;margin-bottom:23px}.studio-comparison.concept-2 .kinetic-hero .hero-copy h1 em{font-size:1em}.kinetic-pause{position:absolute;right:4%;top:25px;z-index:4;background:#f6eee4cf;color:#584331;border:1px solid #a98f733d;border-radius:20px;padding:9px 13px;font:10px Outfit,sans-serif;cursor:pointer}.kinetic-pause:focus-visible{outline:2px solid #584331;outline-offset:4px}.type-paused .kinetic-marquee{animation-play-state:paused}@keyframes kinetic-type{from{transform:translateX(0)}to{transform:translateX(-1660px)}}
@media(max-width:650px){.studio-comparison.concept-2 .kinetic-hero .hero-copy{top:7%;bottom:auto;width:85%}.studio-comparison.concept-2 .kinetic-hero .hero-copy h1{font-size:42px}.studio-comparison.concept-2 .kinetic-hero .hero-copy .eyebrow{max-width:190px;font-size:8px}.kinetic-marquee{font-size:190px}.kinetic-pause{top:auto;bottom:80px}}
@media(prefers-reduced-motion:reduce){.kinetic-marquee{animation:none}}
/* Compact contact shortcuts, sized like the adjacent text CTA. */
.thread-footer .footer-keyboard{width:230px;max-width:100%;margin:20px 0 0 auto}
.thread-footer .keyboard-caption{font-size:8px;margin-bottom:10px}
.thread-footer .keyboard-tray{gap:6px;padding:6px 6px 9px;border-radius:10px;box-shadow:inset 0 1px 1px #fff7,0 2px 0 #685442,0 7px 12px -8px #51392066}
.thread-footer .footer-key{aspect-ratio:auto;min-height:36px;padding:8px 7px;flex-direction:row;align-items:center;justify-content:center;gap:4px;border-radius:7px;transform:none;box-shadow:inset 0 1px 2px #fff5,0 3px 0 var(--key-dark),0 4px 2px #31201433}
.thread-footer .footer-key span{font-size:12px;line-height:18px;letter-spacing:0}
.thread-footer .footer-key small{font-size:9px;align-self:auto}
.thread-footer .footer-key:hover{transform:translateY(1px);box-shadow:inset 0 1px 2px #fff5,0 2px 0 var(--key-dark)}
.thread-footer .footer-key:active{transform:translateY(3px);box-shadow:inset 0 1px 2px #fff4}
.thread-footer .footer-key:focus-visible{outline-offset:5px}
/* Small keyboard, retaining the keycap proportions and travel. */
.thread-footer .footer-keyboard{width:224px}
.thread-footer .keyboard-tray{gap:8px;padding:8px 8px 14px;border-radius:12px;background:linear-gradient(165deg,#b6a28d,#7a6653);box-shadow:inset 0 2px 2px #fff7,0 3px 0 #685442,0 10px 16px -10px #51392066}
.thread-footer .footer-key{height:56px;min-height:0;aspect-ratio:auto;padding:10px 7px 7px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:0;border-radius:10px 10px 13px 13px;transform:rotateX(12deg);background:linear-gradient(145deg,var(--key-light) 10%,var(--key-mid) 90%);box-shadow:inset 0 2px 3px #fff7,inset -3px -5px 5px #36201318,0 6px 0 var(--key-dark),0 8px 3px #31201455}
.thread-footer .footer-key span{font-size:11px;line-height:14px;letter-spacing:-.02em}
.thread-footer .footer-key small{font-size:8px;align-self:flex-end;opacity:.45}
.thread-footer .footer-key:hover{transform:rotateX(6deg) translateY(2px);box-shadow:inset 0 2px 3px #fff6,inset -3px -5px 5px #36201318,0 4px 0 var(--key-dark),0 6px 3px #31201444}
.thread-footer .footer-key:active{transform:rotateX(0deg) translateY(5px);box-shadow:inset 0 2px 3px #fff5,0 1px 0 var(--key-dark)}
/* Footer headline and keyboard share a row; the directory sits below. */
.thread-footer .footer-content{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:40px;align-items:center}
.thread-footer .footer-content .footer-keyboard{margin:0;width:224px;min-width:0}
.thread-footer .footer-key{box-sizing:border-box;min-width:0;overflow:hidden;padding:10px 6px 7px}
.thread-footer .footer-key span{display:block;max-width:100%;font-size:10px;line-height:14px;white-space:nowrap}
.thread-footer .footer-directory{display:block;margin:40px 0 0;padding:22px 0 0;border-top:1px solid #bba891}
.thread-footer .footer-directory>div{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 26px}
.thread-footer .footer-directory .eyebrow{margin:0 14px 0 0;font-size:9px}
.thread-footer .footer-directory a{font-size:12px}
@media(max-width:650px){.thread-footer .footer-content{grid-template-columns:1fr;gap:25px}.thread-footer .footer-content .footer-keyboard{justify-self:start}.thread-footer .footer-directory{margin-top:30px}.thread-footer .footer-directory>div{gap:14px 20px}.thread-footer .footer-directory .eyebrow{width:100%;margin:0}}
/* Consistent label alignment within all three contact keycaps. */
.thread-footer .footer-key{padding:10px 8px 7px;align-items:stretch}
.thread-footer .footer-key span{width:100%;max-width:100%;text-align:right}
.thread-footer .footer-key small{align-self:flex-end}
/* Readable, centred legends on the compact keycaps. */
.thread-footer .footer-key{padding:9px 3px 7px;align-items:center;overflow:visible}
.thread-footer .footer-key span{width:auto;max-width:none;text-align:center;font-size:11px;font-weight:500;line-height:16px;white-space:nowrap;letter-spacing:-.02em;flex-shrink:0;color:inherit}
.thread-footer .footer-key small{align-self:center}
.thread-footer .key-cream,.thread-footer .key-sand{color:#38291e}
.thread-footer .key-cocoa{color:#fff5e8}
/* Header navigation's arrow spacing must not offset keycap labels. */
.thread-footer .footer-key span{margin:0}
.thread-footer .footer-interest{max-width:510px;margin:0;color:#6c5a4b;font-size:15px;line-height:1.55}.thread-footer .footer-invitation h2+.footer-interest{margin-top:-8px}
@media(max-width:650px){.thread-footer .footer-interest{max-width:330px;font-size:14px;margin-bottom:30px}}
@font-face{font-family:Instrument Serif;src:url('assets/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
.editorial-selected .portrait-hero .hero-copy h1,.editorial-selected .portrait-hero .hero-copy h1 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;line-height:1.02}
.editorial-selected .portrait-hero .hero-copy h1{font-size:clamp(62px,7.1vw,112px)}
@media(max-width:1000px){.editorial-selected .portrait-hero .hero-copy h1{font-size:clamp(48px,6.6vw,66px)}}
@media(max-width:650px){.editorial-selected .portrait-hero .hero-copy h1{font-size:54px}}
/* Upright editorial headline with a single italic emphasis. */
@font-face{font-family:Instrument Serif;src:url('assets/instrument-serif-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.editorial-selected .portrait-hero .hero-copy h1{font-style:normal}
.editorial-selected .portrait-hero .hero-copy h1 em{font-style:italic}
/* Section navigation now occupies the footer's final row. */
.thread-footer .footer-colophon{align-items:center;gap:24px;flex-wrap:wrap}
.thread-footer .footer-colophon .footer-directory{margin:0;padding:0;border:0}
.thread-footer .footer-colophon .footer-directory>div{gap:12px 22px}
.thread-footer .footer-colophon .footer-directory .eyebrow{width:auto;margin:0 8px 0 0}
.thread-footer .footer-colophon>a{margin-left:auto;white-space:nowrap}
@media(max-width:650px){.thread-footer .footer-colophon .footer-directory>div{gap:12px 16px}.thread-footer .footer-colophon .footer-directory a{font-size:11px}.thread-footer .footer-colophon .footer-directory .eyebrow{width:100%}.thread-footer .footer-colophon>a{margin-left:0}}
/* Keep directional glyphs as typography on iOS rather than emoji. */
.story-link span,.portrait-caption a,.case-sources a,.thread-footer a,.footer-colophon a,header nav a span{font-variant-emoji:text}

/* Direct touch manipulation belongs to the sculpture, not the surrounding page. */
.sculpture-stage{touch-action:none;cursor:grab}.sculpture-stage.is-dragging{cursor:grabbing}
@media(max-width:650px){.system-display{display:none}}

/* Keep the capped hero centred when the viewport exceeds its maximum width. */
.studio-comparison .portrait-hero{width:calc(100% - 4%);max-width:1600px;margin-inline:auto}
@media(max-width:600px){.studio-comparison .portrait-hero{width:calc(100% - 24px)}}
