/* JAVA / FIELDNOTES — Sayan Paul's personal portfolio */
:root{--orange:#f58216;--blue:#5382a1;--mint:#e8f5e8;--mint-deep:#d9ebda;--paper:#faf9f0;--white:#fffef8;--ink:#0e1c26;--navy:#142f3c;--muted:#5d7075;--line:#c9d9d1;--pale-blue:#d9e8ed;--serif:"DM Serif Display",Georgia,serif;--display:"Space Grotesk","DM Sans",sans-serif;--body:"DM Sans",sans-serif;--mono:"IBM Plex Mono",monospace;--container:1312px;--ease:cubic-bezier(.2,.75,.25,1);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:var(--orange);color:#fff}img,svg{max-width:100%}.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto}
/* compact navigation */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,240,.92);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease}.site-header.scrolled{border-color:var(--line);background:rgba(250,249,240,.96)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:19px;min-width:225px}.brand-wordmark{font-family:var(--display);font-size:25px;font-weight:700;letter-spacing:-1.25px;line-height:1}.brand-wordmark span{color:var(--orange)}.brand-role{border-left:1px solid var(--line);padding-left:18px;color:var(--muted);font:700 9px/1.35 var(--body);letter-spacing:1.1px}.site-nav{display:flex;align-items:center;gap:29px}.site-nav>a{display:inline-flex;gap:8px;align-items:center;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--ink);transition:color .2s ease}.site-nav>a span{color:var(--blue);transition:transform .2s ease}.site-nav>a:hover{color:var(--orange)}.site-nav>a:hover span{transform:translate(2px,-2px)}.site-nav .nav-cta{padding:12px 16px;border:1px solid var(--line);border-radius:24px;text-transform:none;font-size:12px;letter-spacing:0;background:var(--white)}.menu-toggle{display:none}
/* cinematic opening */
.cinematic-preloader{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto 1fr auto;padding:28px clamp(24px,5vw,76px);background:var(--navy);color:var(--paper);opacity:1;visibility:visible;transition:opacity .65s var(--ease),visibility .65s}.intro-pending body{overflow:hidden}.intro-pending .cinematic-preloader{opacity:1;visibility:visible}.cinematic-preloader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}.preloader-rail{display:flex;justify-content:space-between;gap:20px;color:#bfd1d7;font:700 9px/1.2 var(--body);letter-spacing:1.5px;text-transform:uppercase}.preloader-center{align-self:center;justify-self:center;width:min(620px,100%);text-align:center;position:relative}.preloader-emblem{width:90px;height:90px;margin:0 auto 29px;position:relative;display:grid;place-items:center;border:1px solid rgba(217,232,237,.5);border-radius:50%;font:700 29px var(--display);color:var(--orange);animation:emblem-rise .8s var(--ease) both}.preloader-emblem:before,.preloader-emblem:after{content:"";position:absolute;inset:-12px;border:1px solid rgba(245,130,22,.65);border-radius:50%;animation:orbit-spin 8s linear infinite}.preloader-emblem:after{inset:-23px;border-color:rgba(83,130,161,.6);animation-duration:13s;animation-direction:reverse}.preloader-emblem i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange);top:-15px;right:8px}.preloader-emblem b{position:absolute;right:-13px;bottom:7px;font-size:12px;color:var(--blue)}.preloader-tag{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#bfd1d7}.preloader-name{font:600 clamp(48px,8vw,92px)/1 var(--display);letter-spacing:-4px;margin:18px 0 13px}.preloader-name em{font-style:normal;color:var(--orange)}.preloader-subtitle{font:700 10px var(--body);letter-spacing:1.8px;color:var(--pale-blue)}.preloader-progress{width:min(315px,80%);height:2px;background:#315365;margin:30px auto 12px;overflow:hidden}.preloader-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange),#ffa650,var(--blue));transform-origin:left;animation:loader-fill 1.75s var(--ease) both}.preloader-status{display:flex;justify-content:center;gap:9px;align-items:center;font:10px var(--mono);color:#bfd1d7}.preloader-status i{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 1s infinite alternate}.preloader-status b{color:var(--orange);font-weight:400}.preloader-rail-bottom{align-self:end}.intro-pending .site-header,.intro-pending main,.intro-pending .site-footer,.intro-pending .progress-track{opacity:0}.site-header,main,.site-footer,.progress-track{transition:opacity .45s ease}.intro-pending main,.intro-pending .site-footer{pointer-events:none}@keyframes loader-fill{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes emblem-rise{from{opacity:0;transform:translateY(20px) scale(.88)}to{opacity:1;transform:none}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.28;transform:scale(.75)}}
.progress-track{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;pointer-events:none}.progress-track span{display:block;height:100%;width:0;background:var(--orange)}.page-transition{position:fixed;top:0;left:0;right:0;z-index:89;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue));transform:scaleX(0);transform-origin:left;pointer-events:none}.entering .page-transition{animation:transition-in .55s var(--ease) forwards}.leaving .page-transition{transform:scaleX(1);transition:transform .34s var(--ease)}@keyframes transition-in{0%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
/* home hero */
.home-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:clamp(34px,5vw,76px);align-items:center;padding-top:54px;padding-bottom:58px;min-height:580px}.hero-copy{position:relative;padding:18px 0 8px}.pill-label{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--mint);color:var(--blue);padding:7px 13px;border-radius:18px;font-size:9px;font-weight:700;letter-spacing:1px;margin:0 0 27px}.pill-label i{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(245,130,22,.12)}.hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.35px;color:var(--blue);margin:0 0 18px}.hero-copy h1,.about-hero h1,.contact-copy h1{font:700 clamp(50px,5.6vw,80px)/.99 var(--display);letter-spacing:-4.6px;margin:0;max-width:720px}.hero-copy h1 span{color:var(--ink)}.hero-seriff{font:italic clamp(24px,2.1vw,31px)/1.3 var(--serif);color:var(--orange);margin:20px 0 20px}.hero-intro{font-size:15px;line-height:1.78;color:var(--muted);max-width:510px;margin:0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;border-radius:28px;padding:14px 19px;transition:transform .2s var(--ease),box-shadow .2s ease,background .2s ease}.button span{font-size:16px;transition:transform .2s ease}.button:hover{transform:translateY(-2px)}.button:hover span{transform:translate(2px,-2px)}.button-primary{background:var(--orange);color:#fff;box-shadow:0 7px 0 rgba(245,130,22,.10)}.button-primary:hover{background:#e8740b;box-shadow:0 10px 22px rgba(245,130,22,.20)}.button-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.button-outline:hover{border-color:var(--orange)}.quiet-link{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}.quiet-link span{color:var(--orange);font-size:15px;transition:transform .2s ease}.quiet-link:hover span{transform:translate(3px,-2px)}.hero-motto{display:flex;align-items:center;gap:10px;margin-top:38px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1.05px}.hero-motto i{display:block;width:26px;height:1px;background:var(--orange)}.folio-label{position:absolute;top:8px;right:4px;color:var(--blue);font:700 9px var(--mono);letter-spacing:1px}
.build-stage{height:430px;min-width:0;position:relative;isolation:isolate;overflow:hidden;background:var(--mint);border:1px solid var(--line);border-radius:20px}.orbit{position:absolute;border-radius:50%;border:1px solid var(--blue);pointer-events:none}.orbit-one{width:275px;height:275px;right:22px;top:21px;border-width:2px;animation:orbit-spin 35s linear infinite}.orbit-two{width:202px;height:202px;right:59px;top:58px;border:2px solid var(--orange);animation:orbit-spin 28s linear infinite reverse}.orbit-three{width:128px;height:128px;right:96px;top:95px;border-color:var(--blue)}.orbit-word{position:absolute;font:700 9px var(--body);letter-spacing:1.5px}.orbit-word.think{top:30px;right:151px;color:var(--blue)}.orbit-word.build{top:260px;right:57px;color:var(--orange)}.code-window{position:absolute;z-index:2;left:4%;top:78px;width:60%;min-width:285px;padding:0 19px 13px;background:var(--ink);border-radius:12px;box-shadow:0 18px 35px rgba(14,28,38,.12);color:var(--pale-blue);transform:rotate(-1deg);transition:transform .5s var(--ease)}.build-stage:hover .code-window{transform:rotate(0) translateY(-4px)}.code-window-head{display:flex;align-items:center;gap:9px;height:42px;border-bottom:1px solid #345465;font:9px var(--mono);color:#c1d5dc}.traffic{display:flex;gap:5px}.traffic i{width:6px;height:6px;display:block;border-radius:50%;background:var(--orange)}.traffic i:nth-child(2){background:var(--blue)}.traffic i:nth-child(3){background:var(--mint)}.live-tag{margin-left:auto;color:var(--orange);font:700 8px var(--body);letter-spacing:.7px}.code-lines{padding-top:12px;font:10px/2.05 var(--mono)}.code-lines p{margin:0;white-space:nowrap}.code-lines p span{color:#5e8599;display:inline-block;width:22px}.code-lines b{color:var(--pale-blue);font-weight:400}.code-lines em{font-style:normal;color:var(--orange)}.code-window-foot{border-top:1px solid #345465;padding-top:10px;margin-top:9px;display:flex;justify-content:space-between;gap:8px;color:#7898a5;font:700 8px var(--body);letter-spacing:.9px}.orange-note{position:absolute;right:8%;bottom:24px;z-index:3;background:var(--orange);color:#fff;border-radius:9px;padding:15px 17px;font:700 14px/1.25 var(--display);letter-spacing:.2px;transform:rotate(2deg);box-shadow:0 10px 20px rgba(245,130,22,.15)}.orange-note b{font-weight:700}.stage-caption{position:absolute;bottom:20px;left:24px;margin:0;font:700 9px var(--body);letter-spacing:1.1px;color:var(--muted)}.ticker-wrap{overflow:hidden;background:var(--navy);color:var(--paper);padding:13px 0;transform:rotate(-.4deg) scale(1.01)}.ticker{display:flex;align-items:center;justify-content:space-around;gap:32px;width:max-content;min-width:100%;animation:ticker-scroll 36s linear infinite}.ticker span{display:inline-flex;gap:30px;align-items:center;white-space:nowrap;font:700 9px var(--body);letter-spacing:1.15px}.ticker i{font-style:normal;color:var(--orange);font-size:15px}@keyframes ticker-scroll{to{transform:translateX(-50%)}}
/* section rhythm and custom project cards */
.section{padding-top:95px;padding-bottom:22px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-kicker{font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--orange);text-transform:uppercase;margin:0 0 17px}.section-title{font:700 clamp(34px,4vw,50px)/1.06 var(--display);letter-spacing:-2px;margin:0}.section-title em{font:italic .94em/1.1 var(--serif);color:var(--blue);letter-spacing:-.7px}.section-head>p{max-width:420px;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.8}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-tile{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--white);transition:transform .28s var(--ease),box-shadow .28s ease,border-color .28s ease;transform-style:preserve-3d}.project-tile:hover{transform:translateY(-5px);border-color:#9db8bd;box-shadow:0 17px 35px rgba(14,28,38,.07)}.tile-art{position:relative;min-height:202px;margin:11px 11px 0;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:var(--navy)}.tile-index{position:absolute;top:13px;left:15px;z-index:5;color:rgba(250,249,240,.7);font:700 8px var(--body);letter-spacing:1.1px}.art-java .tile-art,.tile-art.art-java{background:var(--navy)}.art-bank .tile-art,.tile-art.art-bank,.art-farm .tile-art,.tile-art.art-farm{background:var(--mint)}.art-data .tile-art,.tile-art.art-data{background:var(--pale-blue)}.art-mobile .tile-art,.tile-art.art-mobile,.art-cli .tile-art,.tile-art.art-cli{background:var(--navy)}.art-window{width:82%;background:#0e1c26;border:1px solid #345465;border-radius:8px;padding:0 12px 11px;box-shadow:0 10px 22px #0e1c2618}.art-window-head{height:31px;display:flex;align-items:center;gap:4px;color:#abc2ca;border-bottom:1px solid #355466;font:8px var(--mono)}.art-window-head i{width:5px;height:5px;border-radius:50%;background:var(--orange)}.art-window-head i:nth-child(2){background:var(--blue)}.art-window-head i:nth-child(3){background:var(--mint);margin-right:9px}.art-code{padding-top:10px;font:8px/1.9 var(--mono);color:#d9e8ed}.art-code p{margin:0}.art-code p span{display:inline-block;width:18px;color:#5382a1}.art-code p:nth-child(2),.art-code p:nth-child(5){color:var(--orange)}.art-code em{font-style:normal;color:#f58216}.bank-art{display:flex;flex-direction:column;align-items:center;gap:13px}.bank-rings{width:90px;height:90px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;position:relative}.bank-rings:before{content:"";position:absolute;inset:10px;border:2px solid var(--orange);border-radius:50%}.bank-rings span{font:700 36px var(--display);color:var(--ink);z-index:1}.bank-ledger{display:flex;gap:5px;width:130px}.bank-ledger i{height:3px;flex:1;background:var(--blue);opacity:.7}.bank-art small{font:700 8px var(--body);letter-spacing:1.5px;color:var(--blue)}.data-art{width:85%;color:var(--ink)}.data-art-label{font:700 8px var(--body);letter-spacing:1px;color:var(--blue);margin-bottom:8px}.data-art svg{height:100px;width:100%;overflow:visible}.data-art-foot{display:flex;justify-content:space-between;color:var(--blue);font:700 8px var(--body);letter-spacing:.7px;margin-top:3px}.farm-art{height:170px;aspect-ratio:1;display:grid;place-items:center;position:relative}.farm-orbit{border-radius:50%;border:2px solid var(--blue);position:absolute;width:104px;height:104px}.farm-orbit.orbit-b{width:74px;height:74px;border-color:var(--orange)}.farm-center{font-size:38px;color:var(--blue)}.farm-art-caption{position:absolute;bottom:9px;font:700 8px var(--body);letter-spacing:1px;color:var(--blue)}.farm-art-caption span{color:var(--orange)}.mobile-art{display:grid;place-items:center;width:100%;height:100%;position:relative}.mobile-device{position:relative;width:75px;height:151px;border:3px solid #0e1c26;background:var(--mint);border-radius:13px;padding:28px 10px 10px;display:flex;flex-direction:column;gap:9px;box-shadow:0 12px 15px #0e1c2622}.device-notch{position:absolute;top:7px;left:22px;width:27px;height:4px;background:var(--ink);border-radius:5px}.mobile-device b{font:700 7px var(--display);color:var(--ink)}.device-line{height:3px;display:block;border-radius:2px}.device-line.orange{background:var(--orange);width:100%}.device-line.blue{background:var(--blue);width:72%}.device-row{height:12px;border:1px solid #c9d9d1;border-radius:3px}.device-row.short{width:73%}.device-button{margin-top:auto;background:var(--orange);height:11px;border-radius:4px}.mobile-caption{position:absolute;bottom:12px;left:15px;color:var(--pale-blue);font:700 8px var(--body);letter-spacing:1px}.cli-surface{display:flex;flex-direction:column;gap:16px;background:#0b1d27;border:1px solid #345465;border-radius:8px;padding:24px 18px;width:83%;font:9px var(--mono)}.cli-surface span{color:var(--mint)}.cli-surface b{font-weight:400;color:var(--orange)}.cli-surface i{font-style:normal;color:var(--orange);animation:pulse 1s infinite alternate}.tile-body{padding:19px 17px 16px;display:flex;flex-direction:column;flex:1}.tile-category{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--blue);text-transform:uppercase}.tile-title{font:700 22px/1.2 var(--display);letter-spacing:-.7px;margin:9px 0 8px}.tile-desc{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}.tile-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto}.tile-tags,.stack-tags{display:flex;flex-wrap:wrap;gap:5px}.tile-tags span,.stack-tags span{font-size:9px;line-height:1;padding:6px 8px;background:var(--mint);color:var(--blue);border-radius:10px;font-weight:600}.tile-arrow{flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-size:16px;transition:transform .2s,border-color .2s}.project-tile:hover .tile-arrow{transform:translate(2px,-2px);border-color:var(--orange)}.wide-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:19px;border-radius:27px;background:var(--navy);color:var(--paper);padding:14px 22px;font:700 10px var(--body);letter-spacing:.8px;transition:background .2s ease}.wide-link b{font:700 23px var(--display);color:var(--orange)}.wide-link:hover{background:#1d4152}.desk-section{padding-top:24px}.desk-note{display:grid;grid-template-columns:.92fr 1.08fr;gap:45px;padding:35px;border-radius:17px;background:var(--navy);color:var(--paper);align-items:center}.desk-note .section-kicker{color:#ffb36c}.desk-note h2{font:700 clamp(30px,3.2vw,42px)/1.08 var(--display);letter-spacing:-1.5px;margin:0}.desk-note h2 em{font:italic .95em var(--serif);color:#ffb36c}.desk-right>p{font-size:13px;line-height:1.8;color:#c7d9df;margin:0 0 24px}.desk-focus{border-top:1px solid #426779;padding-top:15px;display:flex;flex-direction:column;gap:5px}.desk-focus span{font:700 8px var(--body);letter-spacing:1.2px;color:#ffb36c}.desk-focus b{font:600 14px var(--display)}.desk-focus i{font-style:normal;color:var(--orange)}.work-log-section{padding-top:98px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.process-step{padding:22px 19px;border:1px solid var(--line);background:var(--white);border-radius:12px;min-height:164px}.process-step>span{color:var(--orange);font:700 10px var(--mono)}.process-step h3{font:700 21px var(--display);margin:17px 0 6px}.process-step p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.about-teaser-section{padding-top:34px;padding-bottom:80px}.about-teaser{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:center;padding:36px;border:1px solid var(--line);border-radius:17px;background:var(--mint);overflow:hidden}.about-teaser h2{font:700 clamp(30px,3.3vw,43px)/1.08 var(--display);letter-spacing:-1.4px;margin:0}.about-teaser h2 em{font:italic .95em var(--serif);color:var(--blue)}.about-teaser>div:nth-child(2)>p{max-width:520px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 22px}.teaser-stamp{position:absolute;right:18px;top:-38px;font:700 120px/.9 var(--display);color:rgba(83,130,161,.08);pointer-events:none}.teaser-stamp span{color:rgba(245,130,22,.23);font-size:42px;vertical-align:top}
/* pages and editorial layouts */
.page-main{padding-bottom:76px}.page-intro{padding-top:70px;padding-bottom:34px;max-width:1312px}.page-intro h1{font:700 clamp(47px,6vw,76px)/1 var(--display);letter-spacing:-4px;margin:0 0 19px}.page-intro h1 em{font:italic .95em var(--serif);color:var(--blue)}.page-intro>p:last-child{font-size:15px;color:var(--muted);line-height:1.8;max-width:700px;margin:0}.work-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:12px;padding-bottom:27px}.work-search-wrap{height:47px;display:flex;align-items:center;gap:10px;max-width:340px;flex:1;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:0 15px;color:var(--blue)}.work-search-wrap>span{font-size:24px;line-height:1}.work-search-wrap input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:12px;color:var(--ink)}.work-search-wrap input:focus-visible{outline:none}.filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-btn{border:1px solid transparent;border-radius:20px;background:transparent;color:var(--muted);padding:10px 12px;cursor:pointer;font-size:10px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.filter-btn span{margin-left:8px;font:9px var(--mono);color:var(--blue)}.filter-btn:hover{color:var(--ink);border-color:var(--line)}.filter-btn[aria-pressed=true]{background:var(--mint);color:var(--orange);border-color:var(--line)}.work-results{padding-bottom:30px}.work-grid{row-gap:17px}.empty-results{display:none;border:1px dashed var(--line);border-radius:12px;padding:28px;text-align:center;color:var(--muted)}.empty-results.visible{display:block}.work-footnote{display:flex;gap:17px;align-items:start;background:var(--navy);color:var(--paper);border-radius:15px;padding:25px 28px;margin-top:24px}.note-mark{font-size:22px;color:var(--orange)}.work-footnote strong{font:700 20px var(--display)}.work-footnote p{max-width:820px;color:#c7d9df;font-size:13px;line-height:1.75;margin:9px 0 0}
.about-hero{padding-top:63px;display:grid;grid-template-columns:1.06fr .94fr;gap:55px;align-items:center}.about-hero-copy h1{font-size:clamp(43px,4.8vw,65px);letter-spacing:-3.2px}.about-hero-copy h1 em{font:italic .92em var(--serif);color:var(--blue)}.about-hero-copy>p:last-child{max-width:650px;color:var(--muted);font-size:15px;line-height:1.8;margin-top:26px}.field-note{padding:27px 29px;background:var(--navy);color:var(--paper);border-radius:16px;transform:rotate(.4deg)}.field-note>p{font:700 9px var(--body);letter-spacing:1.3px;color:var(--orange);margin:0 0 22px}.field-note blockquote{font:italic clamp(22px,2.6vw,29px)/1.32 var(--serif);margin:0}.field-note>span{display:block;border-top:1px solid #416577;padding-top:15px;margin-top:21px;font-size:11px;color:#c7d9df}.about-main-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;padding-top:91px}.journey-column>.section-title{font-size:39px}.journey-list{margin-top:30px;border-left:1px solid var(--blue);padding-left:27px}.journey-item{position:relative;display:grid;grid-template-columns:45px 1fr;gap:10px;padding:0 0 28px}.journey-item:before{content:"";position:absolute;left:-33px;top:3px;width:10px;height:10px;background:var(--orange);border:3px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--orange)}.journey-index{color:var(--orange);font:10px var(--mono);padding-top:2px}.journey-item p{font-size:9px;letter-spacing:1px;font-weight:700;color:var(--blue);margin:0 0 6px}.journey-item h3{font:700 21px/1.25 var(--display);margin:0 0 7px}.journey-item div>span{display:block;max-width:530px;font-size:12px;line-height:1.7;color:var(--muted)}.skills-sheet{padding:27px;border:1px solid var(--line);border-radius:16px;background:var(--white);align-self:start}.skills-sheet h2{font:700 26px var(--display);letter-spacing:-.8px;margin:0}.skills-sheet-sub{font-size:12px;color:var(--muted);margin:8px 0 20px}.skill-row{padding:17px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:start}.skill-row strong{font:700 12px var(--body);letter-spacing:.5px}.skill-row p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0 0}.skill-row>span{flex:none;color:var(--orange);font:700 8px var(--body);letter-spacing:.6px;text-align:right;padding-top:3px}.principles-section{padding-top:75px}.principles-panel{padding:34px;background:var(--navy);color:var(--paper);border-radius:17px}.principles-panel .section-kicker{color:#ffb36c}.principles-panel h2{font:700 34px var(--display);margin:0}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:28px}.principles-grid article>span{font:10px var(--mono);color:var(--orange)}.principles-grid h3{font:700 18px var(--display);margin:8px 0}.principles-grid p{font-size:12px;line-height:1.7;color:#c7d9df;margin:0;max-width:290px}.about-next{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-top:67px}.about-next h2{font:700 42px/1.1 var(--display);letter-spacing:-1.5px;margin:0}.about-next h2 em{font:italic .9em var(--serif);color:var(--orange)}.about-next p:not(.section-kicker){max-width:550px;color:var(--muted);line-height:1.8;font-size:13px}
/* contact */
.contact-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:55px;align-items:start;padding-top:66px}.contact-copy h1{font-size:clamp(43px,4.8vw,65px);letter-spacing:-3.1px}.contact-copy h1 em{font:italic .92em var(--serif);color:var(--blue)}.contact-copy>p:not(.section-kicker){max-width:590px;color:var(--muted);line-height:1.8;font-size:15px;margin-top:24px}.contact-note{padding:20px;background:var(--mint);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:6px;margin:32px 0 25px}.contact-note strong{font:700 15px var(--display)}.contact-note span{font-size:12px;color:var(--blue)}.contact-email-line{font:700 9px var(--body);letter-spacing:1px;color:var(--blue);display:flex;gap:10px;flex-wrap:wrap;align-items:center}.contact-email-line b{font:500 11px var(--mono);color:var(--ink);letter-spacing:0}.contact-form-wrap{padding:29px;background:var(--white);border:1px solid var(--line);border-radius:17px}.contact-form-wrap h2{font:700 30px var(--display);letter-spacing:-.8px;margin:0}.contact-form-wrap>p{color:var(--muted);font-size:12px;line-height:1.75;margin:9px 0 25px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:19px 14px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field.full{grid-column:1/-1}.form-field label{font:700 9px var(--body);letter-spacing:.9px;color:var(--blue)}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:13px 13px;color:var(--ink);font-size:12px;transition:border-color .2s,background .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);background:#fff}.form-field textarea{min-height:118px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#8a9998}.form-error{display:none;grid-column:1/-1;color:#ab3d24;font-size:12px;margin:0}.form-error.visible{display:block}.form-note{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.6;margin:0}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form-feedback{font-size:11px;color:var(--blue)}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:28px}.contact-bottom article{border:1px solid var(--line);border-radius:13px;padding:22px;background:var(--mint)}.contact-bottom article:nth-child(2){background:var(--white)}.contact-bottom article>span{font:10px var(--mono);color:var(--orange)}.contact-bottom h3{font:700 19px var(--display);margin:10px 0 6px}.contact-bottom p{font-size:12px;line-height:1.75;color:var(--muted);max-width:520px;margin:0}
/* case study */
.case-main{padding-bottom:52px}.case-hero{display:grid;grid-template-columns:1.03fr .97fr;gap:45px;align-items:center;padding-top:51px;padding-bottom:55px}.breadcrumb{font:700 9px var(--body);letter-spacing:1px;color:var(--orange);margin:0 0 25px}.breadcrumb a{color:var(--blue)}.case-intro h1{font:700 clamp(43px,5vw,67px)/1.03 var(--display);letter-spacing:-3px;margin:0}.case-intro h1 span{color:var(--orange)}.case-deck{font-size:15px;line-height:1.8;color:var(--muted);max-width:620px;margin:22px 0}.case-pills{display:flex;gap:8px;flex-wrap:wrap}.case-pills span{font:700 8px var(--body);letter-spacing:.7px;color:var(--blue);padding:8px 11px;background:var(--mint);border:1px solid var(--line);border-radius:18px}.case-art{height:300px;border-radius:17px;overflow:hidden;display:grid;place-items:center;padding:24px;background:var(--navy);position:relative}.case-art.art-bank,.case-art.art-farm{background:var(--mint)}.case-art.art-data{background:var(--pale-blue)}.case-art>.art-window,.case-art>.bank-art,.case-art>.data-art,.case-art>.farm-art,.case-art>.mobile-art,.case-art>.cli-art{width:min(92%,520px);height:100%;display:flex;justify-content:center;align-items:center}.case-art .art-window{max-width:430px}.case-art .mobile-art{min-height:250px}.case-content{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;padding-top:24px}.case-story h2{font:700 clamp(26px,2.9vw,36px)/1.15 var(--display);letter-spacing:-1.1px;margin:0 0 18px}.case-story>p:not(.section-kicker){color:var(--muted);font-size:14px;line-height:1.85;margin:0;max-width:690px}.decisions-kicker{margin-top:43px}.decision-list{border-top:1px solid var(--line)}.decision-row{display:grid;grid-template-columns:155px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.decision-row strong{font-size:12px}.decision-row p{font-size:12px;color:var(--muted);line-height:1.75;margin:0}.case-sidebar{display:flex;flex-direction:column;gap:15px}.takeaway-panel,.next-panel,.stack-panel{padding:23px;border-radius:14px}.takeaway-panel{background:var(--mint);border:1px solid var(--line)}.takeaway-panel ul{list-style:none;padding:0;margin:17px 0 0;display:flex;flex-direction:column;gap:17px}.takeaway-panel li{display:flex;gap:10px;font-size:12px;line-height:1.7}.takeaway-panel li span{color:var(--orange)}.next-panel{background:var(--navy);color:var(--paper)}.next-panel .section-kicker{color:#ffb36c}.next-panel h3{font:700 23px var(--display);margin:0 0 9px}.next-panel p:not(.section-kicker){font-size:12px;line-height:1.75;color:#c7d9df;margin:0}.stack-panel{border:1px solid var(--line);background:var(--white)}.case-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:34px;margin-top:38px;border-top:1px solid var(--line)}
/* contained footer: never fixed, never viewport-height */
.site-footer{margin-top:45px;background:transparent;border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px 30px;padding-top:22px;padding-bottom:15px;min-height:0}.footer-signature{display:flex;align-items:center;gap:11px;width:max-content}.footer-spark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mint);color:var(--orange);font-size:18px}.footer-signature strong{display:block;font:700 14px var(--display)}.footer-signature small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.footer-note{grid-column:1;grid-row:2;font-size:10px;color:var(--muted);margin:0}.footer-links{grid-column:2;grid-row:1;display:flex;gap:19px;align-items:center}.footer-links a{font-size:10px;font-weight:600;color:var(--muted);transition:color .2s}.footer-links a:hover{color:var(--orange)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:11px;margin-top:3px;display:flex;justify-content:space-between;gap:15px;font:700 8px var(--body);letter-spacing:.65px;color:var(--muted)}.footer-bottom a{color:var(--blue)}
/* motion */
html.js-enabled .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease)}html.js-enabled .reveal.visible{opacity:1;transform:none}html.js-enabled .reveal-scale{opacity:0;transform:translateY(12px) scale(.985);transition:opacity .7s var(--ease),transform .7s var(--ease)}html.js-enabled .reveal-scale.visible{opacity:1;transform:none}[hidden]{display:none!important}
/* responsive layouts */
@media(max-width:1120px){.container{width:min(var(--container),calc(100% - 48px))}.site-nav{gap:17px}.brand{min-width:200px;gap:13px}.brand-role{padding-left:12px}.home-hero{grid-template-columns:minmax(0,.92fr) minmax(365px,1.08fr);gap:30px}.hero-copy h1{font-size:clamp(52px,6.4vw,70px);letter-spacing:-3.7px}.build-stage{height:390px}.orbit-one{width:230px;height:230px;right:15px}.orbit-two{width:170px;height:170px;right:45px;top:52px}.orbit-three{width:110px;height:110px;right:75px;top:82px}.code-window{min-width:260px;top:80px}.orange-note{right:5%;bottom:19px}.work-controls{align-items:flex-start;flex-direction:column}.work-search-wrap{max-width:none;width:100%}.case-hero{gap:25px}.about-main-grid{gap:35px}}
@media(max-width:860px){.header-inner{min-height:72px}.brand{min-width:0}.brand-role{display:none}.menu-toggle{display:flex;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--white);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;z-index:61}.menu-toggle span{display:block;width:15px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.site-nav{position:fixed;top:0;right:0;bottom:0;width:min(380px,88vw);padding:110px 32px 32px;background:var(--paper);border-left:1px solid var(--line);box-shadow:-30px 0 60px rgba(14,28,38,.1);display:flex;align-items:stretch;flex-direction:column;gap:0;transform:translateX(102%);visibility:hidden;transition:transform .3s var(--ease),visibility .3s;z-index:60}.site-nav.open{transform:translateX(0);visibility:visible}.site-nav>a{padding:18px 0;border-bottom:1px solid var(--line);justify-content:space-between;font-size:13px}.site-nav .nav-cta{margin-top:22px;justify-content:center;padding:15px;border:1px solid var(--line)}.home-hero{grid-template-columns:1fr;gap:32px;padding-top:42px;min-height:0}.hero-copy{max-width:700px}.hero-copy h1{font-size:clamp(58px,10vw,85px)}.build-stage{height:400px}.code-window{width:60%;left:5%;top:64px}.orbit-one{right:7%;}.orbit-two{right:calc(7% + 35px)}.orbit-three{right:calc(7% + 72px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column;gap:16px}.section-head>p{max-width:650px}.desk-note{gap:25px;padding:27px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-teaser{gap:24px;padding:27px}.about-hero{grid-template-columns:1fr;gap:26px}.field-note{max-width:620px}.about-main-grid{grid-template-columns:1fr;gap:30px}.skills-sheet{max-width:none}.contact-hero{grid-template-columns:1fr;gap:32px}.contact-copy{max-width:720px}.contact-form-wrap{max-width:760px}.case-hero{grid-template-columns:1fr;gap:28px}.case-art{height:260px;order:2}.case-content{grid-template-columns:1fr;gap:30px}.case-sidebar{display:grid;grid-template-columns:1fr 1fr}.stack-panel{grid-column:1/-1}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.header-inner{min-height:66px}.brand-wordmark{font-size:23px}.home-hero{padding-top:31px;padding-bottom:42px;gap:28px}.hero-copy h1{font-size:clamp(47px,12vw,66px);letter-spacing:-3px}.hero-eyebrow{font-size:8px;letter-spacing:.8px}.hero-intro{font-size:14px}.hero-actions{gap:16px}.button{padding:13px 15px}.quiet-link{font-size:9px}.folio-label{position:static;display:block;margin-top:18px}.hero-motto{margin-top:25px;font-size:8px}.build-stage{height:330px;border-radius:14px}.orbit-one{width:205px;height:205px;right:3%;top:22px}.orbit-two{width:153px;height:153px;right:calc(3% + 26px);top:48px}.orbit-three{width:99px;height:99px;right:calc(3% + 53px);top:75px}.orbit-word.think{right:calc(3% + 70px);top:30px}.orbit-word.build{right:7%;top:213px}.code-window{left:4%;top:69px;width:73%;min-width:0;padding-inline:12px;transform:none}.code-lines{font-size:8px}.code-window-head{gap:6px;font-size:8px}.live-tag{font-size:7px}.orange-note{right:5%;bottom:28px;font-size:11px;padding:11px 12px}.stage-caption{font-size:7px;left:12px;bottom:11px}.ticker-wrap{padding:11px 0}.section{padding-top:67px}.section-title{font-size:35px;letter-spacing:-1.5px}.section-head{margin-bottom:25px}.project-grid{grid-template-columns:1fr;gap:13px}.tile-art{min-height:205px}.project-tile{min-height:0}.tile-title{font-size:23px}.tile-desc{font-size:12px}.desk-note{grid-template-columns:1fr;gap:23px;padding:24px}.desk-note h2{font-size:34px}.work-log-section{padding-top:65px}.process-grid{grid-template-columns:1fr 1fr;gap:9px}.process-step{padding:17px 14px;min-height:145px}.process-step h3{font-size:18px}.process-step p{font-size:11px}.about-teaser{grid-template-columns:1fr;gap:18px;padding:24px}.about-teaser h2{font-size:34px}.about-teaser>div:nth-child(2)>p{font-size:12px}.teaser-stamp{font-size:85px}.about-teaser-section{padding-bottom:54px}.page-intro{padding-top:47px;padding-bottom:24px}.page-intro h1{font-size:48px;letter-spacing:-2.8px}.page-intro>p:last-child{font-size:13px}.work-controls{padding-bottom:19px;gap:13px}.filter-row{gap:4px}.filter-btn{padding:9px 10px;font-size:9px}.filter-btn span{margin-left:4px}.work-grid{gap:13px}.work-footnote{padding:20px;gap:12px}.work-footnote strong{font-size:17px}.about-hero{padding-top:42px}.about-hero-copy h1{font-size:clamp(38px,10vw,52px);letter-spacing:-2.4px}.about-hero-copy>p:last-child{font-size:13px}.field-note{padding:22px}.field-note blockquote{font-size:24px}.about-main-grid{padding-top:62px}.journey-column>.section-title{font-size:34px}.journey-item{grid-template-columns:34px 1fr}.journey-item h3{font-size:18px}.journey-item div>span{font-size:11px}.skills-sheet{padding:20px}.skills-sheet h2{font-size:23px}.skill-row{gap:9px}.skill-row>span{font-size:7px;max-width:96px}.skill-row p{font-size:10px}.principles-section{padding-top:40px}.principles-panel{padding:24px}.principles-panel h2{font-size:29px}.principles-grid{grid-template-columns:1fr;gap:20px;margin-top:24px}.principles-grid p{max-width:none}.about-next{align-items:start;flex-direction:column;padding-top:46px}.about-next h2{font-size:36px}.contact-hero{padding-top:42px;gap:24px}.contact-copy h1{font-size:clamp(40px,10vw,53px);letter-spacing:-2.4px}.contact-copy>p:not(.section-kicker){font-size:13px}.contact-form-wrap{padding:21px}.contact-form-wrap h2{font-size:27px}.contact-form{grid-template-columns:1fr;gap:16px}.form-field.full{grid-column:auto}.form-note,.form-error,.form-actions{grid-column:auto}.contact-bottom{grid-template-columns:1fr;gap:11px}.contact-email-line{align-items:start;flex-direction:column;gap:5px}.case-hero{padding-top:40px;padding-bottom:34px}.case-intro h1{font-size:44px;letter-spacing:-2px}.case-deck{font-size:13px}.case-art{height:230px;padding:12px}.case-content{padding-top:9px}.case-story h2{font-size:27px}.decision-row{grid-template-columns:1fr;gap:6px}.case-sidebar{grid-template-columns:1fr}.stack-panel{grid-column:auto}.case-bottom{align-items:start;flex-direction:column}.footer-inner{grid-template-columns:1fr;gap:13px;padding-top:18px}.footer-note{grid-column:1;grid-row:auto;font-size:10px}.footer-links{grid-column:1;grid-row:auto;flex-wrap:wrap;gap:14px}.footer-bottom{grid-column:1;flex-wrap:wrap;line-height:1.6;margin-top:4px}.preloader-rail{font-size:7px;letter-spacing:.9px}.preloader-name{letter-spacing:-2px}.preloader-tag{font-size:8px;letter-spacing:1px}.preloader-subtitle{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal,.reveal-scale{opacity:1;transform:none}.ticker{animation:none}}

/* ─────────────────────────────────────────────────────────────────────
   2026 REDESIGN / EXOVIA-INSPIRED EDITORIAL HERO + PROJECT HIERARCHY
   Original Java orange/blue retained; quieter surfaces, louder typography.
   ───────────────────────────────────────────────────────────────────── */
:root{--ease-cinematic:cubic-bezier(.76,0,.24,1);--paper:#fff8ef;--white:#fffdf8;--ink:#0c0d0e;--navy:#151b27;--muted:#62646a;--line:#d9d2c8;--mint:#e7f4e7}
body{background:var(--paper)}
.site-header{width:min(1640px,calc(100% - 24px));margin:12px auto 0;border-radius:16px 16px 0 0;background:var(--paper);backdrop-filter:none;border-bottom:0}
.site-header.scrolled{background:rgba(255,248,239,.96);box-shadow:0 8px 28px rgba(12,13,14,.04)}
.site-header .container{width:calc(100% - clamp(32px,6vw,88px))}
.header-inner{min-height:68px}
.brand{gap:0;min-width:0}
.brand-wordmark{font-size:21px;letter-spacing:-1.2px}
.brand-role{margin-left:15px;padding-left:15px;font-size:8px;letter-spacing:1.3px}
/* MENU is deliberately the only persistent navigation affordance on desktop. */
.menu-toggle{display:flex;width:auto;height:36px;gap:0;align-items:center;justify-content:center;flex-direction:row-reverse;border:0;background:transparent;padding:0 2px 0 12px;cursor:pointer;z-index:101;color:var(--ink)}
.menu-toggle::after{content:'MENU';font:700 10px var(--body);letter-spacing:.8px}
.menu-toggle span{display:none}
.menu-toggle[aria-expanded=true]::after{content:'CLOSE'}
.site-nav{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:0;padding:clamp(100px,15vh,170px) clamp(28px,9vw,140px) 90px;background:var(--paper);border:0;box-shadow:none;transform:translateY(-105%);visibility:hidden;transition:transform .85s var(--ease-cinematic),visibility .85s;}
.site-nav.open{transform:translateY(0);visibility:visible}
.site-nav>a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font:700 clamp(30px,5.2vw,76px)/1 var(--display);letter-spacing:-.055em;text-transform:uppercase;color:var(--ink);transition:color .25s,padding-left .35s var(--ease),opacity .3s}
.site-nav>a:nth-child(odd){margin-right:clamp(20px,5vw,80px)}
.site-nav>a:nth-child(even){margin-left:clamp(20px,5vw,80px)}
.site-nav>a span{font-size:.32em;color:var(--orange);transition:transform .35s var(--ease)}
.site-nav>a:hover{color:var(--blue);padding-left:10px}
.site-nav>a:hover span{transform:translate(5px,-5px)}
.site-nav .nav-cta{justify-content:space-between;margin:24px 0 0;padding:18px 0;border:0;border-bottom:1px solid var(--orange);border-radius:0;background:transparent;font:700 clamp(14px,1.4vw,19px) var(--body);letter-spacing:0;text-transform:none}
/* compact label for the desktop nav curtain */
.site-nav::before{content:'SP. / MENU';position:absolute;left:clamp(28px,9vw,140px);top:38px;color:var(--blue);font:700 10px var(--mono);letter-spacing:1.5px}
.site-nav::after{content:'SELECT A CHAPTER';position:absolute;right:clamp(28px,9vw,140px);bottom:34px;color:var(--muted);font:700 9px var(--mono);letter-spacing:1.4px}
/* Editorial hero, approximately the same composition as the reference image. */
.home-hero-cinema{position:relative;display:block;width:min(1640px,calc(100% - 24px));max-width:none;min-height:0;margin:0 auto;padding:clamp(32px,5vw,72px) clamp(22px,3.2vw,52px) 18px;overflow:hidden;border:1px solid rgba(12,13,14,.08);border-top:0;border-radius:0 0 17px 17px;background:var(--paper)}
.hero-topline{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:36px;align-items:start;min-height:clamp(125px,15vw,200px);position:relative;z-index:5}
.hero-manifesto{max-width:560px;padding-top:3px}
.hero-manifesto .hero-eyebrow{margin:0 0 15px;color:var(--blue);font:700 9px var(--mono);letter-spacing:1.25px}
.manifesto-copy{margin:0;font:400 clamp(23px,2.45vw,34px)/.98 var(--serif);letter-spacing:-.8px;color:var(--ink)}
.manifesto-copy em{color:var(--orange);font-weight:400}
.manifesto-byline{margin:16px 0 0;color:var(--muted);font:700 8px var(--mono);letter-spacing:1.15px}
.hero-image-card{position:relative;display:block;width:100%;aspect-ratio:1.45 / 1;overflow:hidden;border-radius:3px;background:var(--navy);isolation:isolate;margin-top:4px;box-shadow:0 12px 26px rgba(12,13,14,.09);transform:rotate(1.2deg);transition:transform .5s var(--ease),box-shadow .5s}
.hero-image-card:hover{transform:rotate(0) translateY(-4px);box-shadow:0 17px 34px rgba(12,13,14,.16)}
.hero-photo-stack,.hero-photo{position:absolute;inset:0;width:100%;height:100%}
.hero-photo{object-fit:cover;opacity:0;transform:scale(1.08);filter:saturate(.7) contrast(1.04);transition:opacity 1s ease,transform 5s linear}
.hero-photo.is-active{opacity:1;transform:scale(1)}
.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,13,14,.05),rgba(12,13,14,.6));z-index:1}
.hero-photo-label,.hero-photo-caption,.hero-photo-index{position:absolute;z-index:2;color:#fff8ef;text-shadow:0 1px 12px rgba(0,0,0,.2)}
.hero-photo-label{left:11px;top:11px;font:700 7px var(--mono);letter-spacing:1px}
.hero-photo-caption{left:12px;bottom:12px;font:700 8px var(--body);letter-spacing:.8px}
.hero-photo-index{right:12px;bottom:12px;font:8px var(--mono);letter-spacing:1px}
.hero-photo-index b{color:#ffab55}
.hero-monument-stage{height:clamp(205px,31vw,430px);position:relative;margin:0 -2.8vw;overflow:hidden;isolation:isolate}
.hero-landscape{position:absolute;z-index:1;left:23%;right:4.5%;top:30%;height:59%;overflow:hidden;transform:rotate(-1.1deg);opacity:.72;mix-blend-mode:multiply;pointer-events:none}
.hero-landscape::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,239,.3),rgba(255,248,239,0) 20%,rgba(255,248,239,.12));}
.hero-landscape-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:grayscale(1) contrast(.72) brightness(1.15);transform:scale(1.04);will-change:transform}
.landscape-caption{position:absolute;z-index:2;bottom:8px;left:9px;right:12px;display:flex;justify-content:space-between;gap:10px;color:rgba(12,13,14,.68);font:700 7px var(--mono);letter-spacing:.7px}
.hero-monument{position:absolute;z-index:3;left:-.045em;right:0;bottom:4%;margin:0;display:flex;align-items:baseline;white-space:nowrap;color:#090a0b;font:700 clamp(92px,22.5vw,335px)/.72 var(--display);letter-spacing:-.095em;text-transform:uppercase;transform:translateY(7%);will-change:transform;user-select:none}
.hero-monument span{display:block}
.hero-monument i{font-style:normal;color:var(--orange);letter-spacing:-.08em}
.hero-bottomline{position:relative;z-index:5;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:start}
.hero-bottomline p{margin:0;color:var(--muted);font:700 8px/1.5 var(--mono);letter-spacing:.75px}
.hero-bottomline p:first-child{display:flex;gap:9px;align-items:center;color:var(--ink)}
.live-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(245,130,22,.13)}
.hero-scroll-link{font:700 8px var(--mono);letter-spacing:.75px;color:var(--ink);white-space:nowrap}
.hero-scroll-link span{display:inline-block;margin-left:8px;color:var(--orange);transition:transform .25s}
.hero-scroll-link:hover span{transform:translateY(4px)}
/* The homepage is a shortlist, not a dump of every project. */
.selected-work-section{padding-top:clamp(75px,10vw,135px);padding-bottom:20px}
.selected-work-section .section-head{align-items:end;margin-bottom:32px}
.selected-work-section .section-title{font-size:clamp(36px,4vw,58px);letter-spacing:-.065em}
.selected-work-section .section-head>p{max-width:350px;font-size:12px;line-height:1.85}
.featured-project{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:480px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--ink);transition:transform .45s var(--ease),box-shadow .45s,border-color .35s;transform-style:preserve-3d}
.featured-project:hover{border-color:#9bb8c2;box-shadow:0 24px 55px rgba(12,13,14,.08);transform:translateY(-4px)}
.featured-art{position:relative;min-height:480px;overflow:hidden;background:#e5f0e4;isolation:isolate;padding:23px}
.featured-art::before{content:'';position:absolute;width:380px;height:380px;border:1px solid rgba(83,130,161,.55);border-radius:50%;right:-60px;top:55px;transition:transform 1s var(--ease-cinematic)}
.featured-art::after{content:'';position:absolute;width:265px;height:265px;border:1px solid rgba(245,130,22,.72);border-radius:50%;right:-1px;top:112px;transition:transform 1.2s var(--ease-cinematic)}
.featured-project:hover .featured-art::before{transform:translate(-18px,-10px) rotate(20deg)}
.featured-project:hover .featured-art::after{transform:translate(12px,12px) rotate(-16deg)}
.featured-art-top{position:absolute;left:22px;right:22px;top:21px;display:flex;justify-content:space-between;z-index:3;color:var(--blue);font:700 8px var(--mono);letter-spacing:1px}
.featured-glyph{position:absolute;top:72px;right:8%;font:700 clamp(100px,12vw,175px)/1 var(--display);letter-spacing:-.12em;color:rgba(83,130,161,.16);transform:rotate(-11deg)}
.featured-editor{position:absolute;z-index:3;width:75%;left:6%;top:23%;padding:0 17px 14px;background:#111e27;color:#e7f0ef;border:1px solid #45616b;border-radius:7px;box-shadow:0 22px 42px rgba(12,13,14,.18);transform:rotate(-2.2deg);transition:transform .65s var(--ease-cinematic),box-shadow .5s}
.featured-project:hover .featured-editor{transform:rotate(0) translateY(-6px);box-shadow:0 30px 48px rgba(12,13,14,.22)}
.featured-editor-top{height:39px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #385364;font:9px var(--mono);color:#bfd1d7}
.editor-dots{display:flex;gap:4px}.editor-dots i{width:5px;height:5px;border-radius:50%;background:var(--orange)}.editor-dots i:nth-child(2){background:var(--blue)}.editor-dots i:nth-child(3){background:var(--mint)}
.editor-live{margin-left:auto;color:#ffab55;font:7px var(--mono);letter-spacing:.6px}
.featured-editor-code{padding:14px 0 7px;font:clamp(8px,.8vw,11px)/2 var(--mono);white-space:nowrap}
.featured-editor-code p{margin:0}.featured-editor-code p>span{display:inline-block;width:23px;color:#5382a1}.featured-editor-code p:nth-child(2),.featured-editor-code p:nth-child(5){color:var(--orange)}.featured-editor-code em{font-style:normal;color:#88b6c7}.featured-editor-code b{color:#d9ebda;font-weight:500}
.featured-editor-bottom{display:flex;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid #385364;color:#8eaeb8;font:7px var(--mono);letter-spacing:.5px}
.featured-sticker{position:absolute;z-index:4;right:7%;bottom:12%;padding:15px 18px;background:var(--orange);color:#fff8ef;font:700 13px/1.2 var(--display);letter-spacing:-.3px;transform:rotate(4deg);box-shadow:3px 5px 0 rgba(12,13,14,.08);transition:transform .4s var(--ease)}
.featured-sticker b{font-weight:700}.featured-project:hover .featured-sticker{transform:rotate(0deg) translateY(-5px)}
.featured-art-foot{position:absolute;left:23px;bottom:17px;z-index:3;color:rgba(12,13,14,.7);font:700 7px var(--mono);letter-spacing:1px}
.featured-copy{padding:clamp(25px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.featured-kicker{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--blue);font:700 8px var(--mono);letter-spacing:1px}
.featured-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);letter-spacing:.3px}.featured-status i{width:5px;height:5px;border-radius:50%;background:var(--orange);animation:pulse 1.2s infinite alternate}
.featured-copy h3{font:700 clamp(42px,5.5vw,78px)/.88 var(--display);letter-spacing:-.08em;margin:30px 0 22px}.featured-copy h3 em{font:italic .95em var(--serif);color:var(--blue);font-weight:400;letter-spacing:-.06em}
.featured-description{margin:0;max-width:450px;color:var(--muted);font-size:13px;line-height:1.85}
.featured-lessons{display:grid;gap:12px;width:100%;padding:24px 0;margin:22px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.featured-lessons span{display:flex;gap:14px;align-items:baseline;color:var(--ink);font-size:11px;font-weight:600}.featured-lessons b{font:10px var(--mono);color:var(--orange)}
.featured-card-bottom{width:100%;display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto}.featured-card-bottom .tile-tags span{background:var(--mint)}
.featured-arrow{display:grid;place-items:center;flex:none;width:41px;height:41px;border:1px solid var(--line);border-radius:50%;color:var(--orange);font-size:21px;transition:transform .3s,border-color .3s,color .3s,background .3s}
.featured-project:hover .featured-arrow{transform:rotate(45deg);background:var(--orange);color:white;border-color:var(--orange)}
.supporting-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:17px}
.support-card{display:grid;grid-template-columns:.9fr 1.1fr;min-width:0;min-height:285px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--white);transition:transform .4s var(--ease),box-shadow .4s,border-color .3s;color:var(--ink);transform-style:preserve-3d}
.support-card:hover{transform:translateY(-4px);border-color:#9bb8c2;box-shadow:0 18px 38px rgba(12,13,14,.07)}
.support-art{position:relative;min-height:285px;padding:15px;overflow:hidden;isolation:isolate}
.support-art-bank{background:#e7f4e7}.support-art-data{background:#dbe9ed}
.support-index{position:absolute;top:15px;left:15px;color:var(--blue);font:700 7px var(--mono);letter-spacing:.7px;z-index:3}
.support-bank-seal{position:absolute;top:28%;left:50%;width:92px;height:92px;transform:translateX(-50%);display:grid;place-items:center;border:2px solid var(--blue);border-radius:50%;color:var(--ink);font:700 36px var(--display)}
.support-bank-seal::before{content:'';position:absolute;inset:10px;border:2px solid var(--orange);border-radius:50%;transition:inset .4s}
.support-card:hover .support-bank-seal::before{inset:3px}
.support-ledger{position:absolute;left:15%;right:15%;top:75%;display:flex;gap:5px}.support-ledger i{height:3px;flex:1;background:var(--blue);opacity:.65}
.support-art-note{position:absolute;bottom:14px;left:15px;right:15px;color:var(--blue);font:700 7px var(--mono);letter-spacing:.5px}
.support-art-data{display:flex;flex-direction:column;justify-content:center}
.forecast-skyline{position:relative;margin-top:18px}.forecast-skyline svg{display:block;width:100%;height:auto;overflow:visible;transform:translateY(5px);transition:transform .5s var(--ease)}.support-card:hover .forecast-skyline svg{transform:translateY(-3px)}
.forecast-sun{position:absolute;top:-13px;right:12%;width:28px;height:28px;border-radius:50%;background:var(--orange);opacity:.8;box-shadow:0 0 0 10px rgba(245,130,22,.11)}
.support-copy{padding:clamp(18px,2vw,27px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.support-copy .tile-category{font-size:7px;letter-spacing:.9px}
.support-copy h3{font:700 clamp(19px,2vw,28px)/1.05 var(--display);letter-spacing:-.055em;margin:14px 0 12px;max-width:340px}
.support-copy h3 span{color:var(--orange);display:inline-block;transition:transform .25s}.support-card:hover .support-copy h3 span{transform:translate(3px,-3px)}
.support-copy>p:not(.tile-category){margin:0 0 17px;color:var(--muted);font-size:11px;line-height:1.75}
.support-copy .tile-tags{margin-top:auto;gap:5px}.support-copy .tile-tags span{font-size:8px}
.selected-work-section .wide-link{margin-top:17px;border-radius:4px;padding:17px 22px;min-height:53px}
.selected-work-section .wide-link b{transition:transform .35s var(--ease)}.selected-work-section .wide-link:hover b{transform:translate(3px,-3px) rotate(45deg)}
/* Whole-site cinematic curtain. On page leave it covers; on enter it peels upward. */
.page-transition{inset:0;height:auto;z-index:200;transform:none;visibility:hidden;background:var(--navy);clip-path:inset(100% 0 0 0);transition:none}
.page-transition::before{content:'SP.';position:absolute;left:clamp(28px,6vw,90px);top:clamp(28px,5vh,60px);color:var(--orange);font:700 clamp(24px,4vw,48px)/1 var(--display);letter-spacing:-.08em}
.page-transition::after{content:attr(data-label);position:absolute;left:clamp(28px,6vw,90px);bottom:clamp(35px,8vh,90px);color:var(--paper);font:700 clamp(30px,7vw,98px)/.9 var(--display);letter-spacing:-.07em;text-transform:uppercase}
body.entering .page-transition{visibility:visible;animation:curtain-reveal .9s var(--ease-cinematic) .05s both}
body.leaving .page-transition{visibility:visible;animation:curtain-cover .55s var(--ease-cinematic) both}
@keyframes curtain-reveal{0%{clip-path:inset(0 0 0 0)}78%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes curtain-cover{0%{clip-path:inset(100% 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
/* Stateful micro-interactions + pointer/focus feedback. */
button:active,.button:active,.nav-cta:active,.hero-image-card:active,.support-card:active,.featured-project:active{transform:scale(.985)}
button,.button,.quiet-link,.wide-link,.site-nav a{outline-offset:5px}
.menu-toggle:hover{color:var(--orange)}
.menu-toggle:focus-visible{outline:1px solid var(--orange);outline-offset:4px}
body.menu-open .site-header{z-index:101}
body.menu-open .brand{position:relative;z-index:102}
body.menu-open .menu-toggle{position:fixed;right:clamp(24px,4vw,64px);top:22px}
.hero-image-card:focus-visible,.featured-project:focus-visible,.support-card:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
/* Page-wide scroll choreography */
html.js-enabled [data-scroll]{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--scroll-delay,0ms)}
html.js-enabled [data-scroll].is-visible{opacity:1;transform:translateY(0)}
html.js-enabled .hero-monument{animation:hero-type-arrive 1.15s var(--ease-cinematic) .12s both}
html.js-enabled .hero-landscape{animation:landscape-arrive 1.35s var(--ease-cinematic) .2s both}
html.js-enabled .hero-photo-card{animation:photo-card-arrive .8s var(--ease) .28s both}
@keyframes hero-type-arrive{from{opacity:0;transform:translateY(18%) scaleY(1.05);letter-spacing:-.13em}to{opacity:1;transform:translateY(7%) scaleY(1);letter-spacing:-.095em}}
@keyframes landscape-arrive{from{opacity:0;transform:translate(4%,8%) rotate(-3deg)}to{opacity:.72;transform:rotate(-1.1deg)}}
@keyframes photo-card-arrive{from{opacity:0;transform:translateY(18px) rotate(4deg)}to{opacity:1;transform:rotate(1.2deg)}}
.reveal.visible,.reveal-scale.visible{transition-delay:var(--scroll-delay,0ms)}
/* mobile, narrow tablet */
@media(max-width:860px){
 .site-header{width:calc(100% - 20px);margin-top:10px;border-radius:13px 13px 0 0}.header-inner{min-height:62px}.site-header .container{width:calc(100% - 32px)}
 .site-nav{width:auto;top:0;right:0;bottom:0;left:0;padding:110px 28px 70px;grid-template-columns:1fr;align-content:center;transform:translateY(-105%);border:0;box-shadow:none}
 .site-nav>a{font-size:clamp(30px,8vw,54px);padding:13px 0;margin:0!important}.site-nav .nav-cta{font-size:16px;margin-top:18px!important;padding:16px 0}
 .site-nav::before{left:28px;top:28px}.site-nav::after{right:28px;bottom:26px;font-size:7px}
 .home-hero-cinema{width:calc(100% - 20px);padding:33px 22px 15px;}
 .hero-topline{grid-template-columns:minmax(0,1fr) 150px;gap:20px;min-height:155px}
 .manifesto-copy{font-size:clamp(21px,3vw,28px)}.manifesto-byline{font-size:7px;letter-spacing:.7px;max-width:260px;line-height:1.6}
 .hero-monument-stage{height:clamp(190px,34vw,290px);margin:0 -3vw}
 .hero-monument{font-size:clamp(100px,22vw,190px);bottom:6%;letter-spacing:-.09em}
 .hero-landscape{left:19%;right:1%;top:28%;height:58%}
 .landscape-caption{font-size:6px}
 .hero-bottomline{grid-template-columns:1fr auto;row-gap:8px}.hero-bottomline p:nth-child(2){display:none}
 .selected-work-section{padding-top:72px}
 .featured-project{grid-template-columns:1fr;min-height:0}
 .featured-art{min-height:390px}.featured-copy{padding:28px}.featured-copy h3{font-size:56px;margin:23px 0 17px}.featured-lessons{margin:18px 0 16px;padding:17px 0;gap:10px}
 .support-card{grid-template-columns:.85fr 1.15fr;min-height:255px}.support-art{min-height:255px}
}
@media(max-width:580px){
 .site-header{width:calc(100% - 14px);margin-top:7px}.site-header .container{width:calc(100% - 28px)}.header-inner{min-height:57px}.brand-wordmark{font-size:21px}.brand-role{display:block;font-size:7px;margin-left:10px;padding-left:10px;letter-spacing:.6px}
 .menu-toggle{font-size:9px}.site-nav{padding-inline:23px}.site-nav::before{left:23px}.site-nav::after{right:23px}
 .home-hero-cinema{width:calc(100% - 14px);padding:28px 15px 13px;border-radius:0 0 12px 12px}
 .hero-topline{grid-template-columns:1fr 106px;gap:12px;min-height:147px}
 .hero-manifesto .hero-eyebrow{font-size:7px;letter-spacing:.65px;margin-bottom:12px}
 .manifesto-copy{font-size:clamp(20px,5.9vw,25px);letter-spacing:-.7px;line-height:1.01}
 .manifesto-byline{font-size:6px;letter-spacing:.25px;margin-top:12px}
 .hero-image-card{aspect-ratio:.86 / 1;margin-top:0}
 .hero-photo-label{font-size:5px;left:7px;top:7px;letter-spacing:.4px}.hero-photo-caption{font-size:6px;left:7px;bottom:8px;letter-spacing:.2px}.hero-photo-index{right:7px;bottom:8px;font-size:6px}
 .hero-monument-stage{height:clamp(150px,40vw,210px);margin:0 -3vw}
 .hero-monument{font-size:clamp(80px,21vw,126px);left:-.055em;bottom:7%;letter-spacing:-.09em}
 .hero-landscape{left:14%;right:-1%;top:28%;height:58%}.landscape-caption{left:6px;right:6px;bottom:5px;font-size:4.5px;letter-spacing:.25px}
 .hero-bottomline{padding-top:9px;grid-template-columns:1fr auto;gap:10px}.hero-bottomline p{font-size:6px;letter-spacing:.25px}.hero-scroll-link{font-size:6px;letter-spacing:.2px}.hero-scroll-link span{margin-left:3px}
 .selected-work-section{padding-top:57px;padding-bottom:10px}.selected-work-section .section-head{gap:14px;margin-bottom:21px}.selected-work-section .section-kicker{margin-bottom:12px}.selected-work-section .section-title{font-size:clamp(31px,9vw,42px);letter-spacing:-.07em}.selected-work-section .section-head>p{font-size:11px;line-height:1.7}
 .featured-art{min-height:280px;padding:14px}.featured-art-top{left:14px;right:14px;top:14px;font-size:6px}.featured-art::before{width:245px;height:245px;right:-70px;top:45px}.featured-art::after{width:173px;height:173px;right:-17px;top:79px}.featured-glyph{font-size:110px;top:60px;right:3%}.featured-editor{left:5%;top:25%;width:84%;padding:0 10px 10px}.featured-editor-top{height:31px;font-size:7px;gap:5px}.featured-editor-code{font-size:7px;line-height:1.9}.editor-live{font-size:5px}.featured-editor-bottom{font-size:5px;letter-spacing:.15px}.featured-sticker{right:5%;bottom:12%;padding:10px 12px;font-size:10px}.featured-art-foot{left:14px;bottom:10px;font-size:5px}
 .featured-copy{padding:21px 18px 18px}.featured-kicker{font-size:7px;letter-spacing:.5px}.featured-status{font-size:6px}.featured-copy h3{font-size:52px;margin:22px 0 17px}.featured-description{font-size:12px}.featured-lessons span{font-size:10px;gap:10px}.featured-card-bottom{align-items:center}.featured-card-bottom .tile-tags span{font-size:8px;padding:6px}.featured-arrow{width:34px;height:34px}
 .supporting-projects{grid-template-columns:1fr;gap:12px;margin-top:12px}.support-card{grid-template-columns:.78fr 1.22fr;min-height:218px}.support-art{min-height:218px;padding:10px}.support-index{top:10px;left:10px;font-size:6px;letter-spacing:.25px}.support-bank-seal{width:63px;height:63px;font-size:28px}.support-bank-seal::before{inset:7px}.support-ledger{left:12%;right:12%}.support-art-note{left:10px;right:8px;bottom:9px;font-size:5px;letter-spacing:.1px}.forecast-skyline{margin-top:16px}.support-copy{padding:15px 13px}.support-copy .tile-category{font-size:6px;letter-spacing:.45px}.support-copy h3{font-size:19px;margin:10px 0 8px}.support-copy>p:not(.tile-category){font-size:10px;line-height:1.6;margin-bottom:11px}.support-copy .tile-tags span{font-size:7px;padding:5px 6px}
 .selected-work-section .wide-link{font-size:8px;line-height:1.5;padding:13px 14px;margin-top:12px}.selected-work-section .wide-link b{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.hero-monument,.hero-landscape,.hero-photo-card{animation:none!important}.hero-photo{transition:none}.page-transition{display:none!important}html.js-enabled [data-scroll],html.js-enabled .reveal,html.js-enabled .reveal-scale{opacity:1;transform:none;transition:none}}
.is-magnetic{transform:translate(var(--magnetic-x,0),var(--magnetic-y,0))}
.filter-just-selected{animation:filter-pop .34s var(--ease)}
@keyframes filter-pop{50%{transform:translateY(-2px) scale(1.03)}}
@media(max-width:580px){.is-magnetic{transform:none}}
.hero-landscape-image{transform:translateY(var(--parallax-y,0px)) scale(1.04)}
.hero-image-card[data-scroll].is-visible{transform:rotate(1.2deg)}
.hero-image-card[data-scroll].is-visible:hover{transform:rotate(0) translateY(-4px)}
.featured-project[data-scroll].is-visible:hover,.support-card[data-scroll].is-visible:hover{transform:translateY(-4px)}

/* ================================================================
   FIELDNOTES v2 — persistent theme, premium cursor, curved journey,
   and a skill tree that reads as a map rather than a checklist.
   ================================================================ */
html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0b1118;
  --white:#131d27;
  --ink:#edf2ef;
  --navy:#060b11;
  --muted:#a5b5bd;
  --line:#30414a;
  --mint:#182c2b;
  --mint-deep:#25403a;
  --pale-blue:#c5dbe4;
  --blue:#8bb7d2;
}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header.scrolled{background:rgba(11,17,24,.94);border-color:transparent;box-shadow:none}
html[data-theme="dark"] .site-header.scrolled{border-color:var(--line);box-shadow:0 10px 35px rgba(0,0,0,.22)}
html[data-theme="dark"] .home-hero-cinema{background:var(--paper);border-color:#273641}
html[data-theme="dark"] .hero-monument{color:#f5f3e9}
html[data-theme="dark"] .hero-monument i{color:var(--orange)}
html[data-theme="dark"] .hero-landscape{mix-blend-mode:screen;opacity:.34}
html[data-theme="dark"] .hero-landscape::after{background:linear-gradient(90deg,rgba(11,17,24,.28),rgba(11,17,24,0) 35%,rgba(11,17,24,.2))}
html[data-theme="dark"] .landscape-caption{color:rgba(240,245,241,.72)}
html[data-theme="dark"] .hero-photo{filter:saturate(.72) brightness(.82) contrast(1.08)}
html[data-theme="dark"] .featured-art{background:#152b31}
html[data-theme="dark"] .featured-art::before{border-color:rgba(139,183,210,.55)}
html[data-theme="dark"] .featured-art::after{border-color:rgba(255,152,59,.75)}
html[data-theme="dark"] .featured-glyph{color:rgba(139,183,210,.18)}
html[data-theme="dark"] .support-art-bank{background:#172c28}
html[data-theme="dark"] .support-art-data{background:#182b36}
html[data-theme="dark"] .support-bank-seal{color:var(--ink)}
html[data-theme="dark"] .field-note,
html[data-theme="dark"] .principles-panel,
html[data-theme="dark"] .work-footnote{background:#111f2a;border-color:#2c4855}
html[data-theme="dark"] .preloader-progress{background:#223543}
html[data-theme="dark"] .preloader-rail,
html[data-theme="dark"] .preloader-tag,
html[data-theme="dark"] .preloader-status{color:#b6cbd4}
html[data-theme="dark"] .site-nav{background:var(--paper)}
html[data-theme="dark"] .menu-toggle{color:var(--ink)}
html[data-theme="dark"] .button-outline{color:var(--ink)}
html[data-theme="dark"] .theme-toggle{background:#17242d;border-color:#41535b;color:#f5f1e9}
html[data-theme="dark"] .theme-toggle .theme-glyph{color:#ffb060}
html[data-theme="dark"] .theme-toggle:hover{background:#20333e;border-color:var(--blue)}
html[data-theme="dark"] .journey-item{background:rgba(19,29,39,.88);border-color:#2d424d}
html[data-theme="dark"] .journey-index{color:#ffab55}
html[data-theme="dark"] .journey-path-shadow{stroke:#1c3834}
html[data-theme="dark"] .journey-path-line{stroke:#7fa8bf}
html[data-theme="dark"] .journey-item::before{border-color:var(--paper);box-shadow:0 0 0 1px var(--orange),0 0 0 5px rgba(245,130,22,.12)}
html[data-theme="dark"] .skills-sheet{background:#101922;border-color:#2c3f49}
html[data-theme="dark"] .skill-tree-root{background:#1b312f;border-color:#3a5758}
html[data-theme="dark"] .skill-branch{background:#0d151d;border-color:#30434d}
html[data-theme="dark"] .skill-branch-toggle{background:#14222a}
html[data-theme="dark"] .skill-branch-toggle:hover{background:#1a3038}
html[data-theme="dark"] .skill-leaf{background:#121e27;border-color:#2d414c}
html[data-theme="dark"] .skill-leaf .leaf-type{background:#1a303a;color:#9fc4d7;border-color:#365463}
html[data-theme="dark"] .skill-leaf.leaf-next{background:#241f18;border-color:#584431}
html[data-theme="dark"] .skill-leaf.leaf-next .leaf-type{background:#3b2b1d;color:#ffb264;border-color:#64492d}
html[data-theme="dark"] .skill-tree-footnote{background:#101922;border-color:#2b404b}
html[data-theme="dark"] .theme-toggle{box-shadow:0 4px 16px rgba(0,0,0,.18)}

/* Theme switch — small and considered, never a floating giant pill. */
.header-inner{position:relative}
.theme-toggle{position:absolute;right:61px;top:17px;z-index:102;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:22px;background:var(--white);color:var(--ink);cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .2s;}
.theme-toggle:hover{background:var(--mint);border-color:var(--blue);transform:translateY(-1px)}
.theme-glyph{font-size:16px;color:var(--blue);line-height:1}
.theme-label{font:700 8px var(--mono);letter-spacing:.65px}
.theme-toggle:active{transform:scale(.96)}
@media(max-width:860px){.theme-toggle{right:62px;top:15px;min-height:32px}.site-header.scrolled{background:var(--paper)}}
@media(max-width:580px){.theme-toggle{right:54px;top:12px;min-width:32px;width:32px;height:32px;padding:0;gap:0}.theme-label{display:none}.theme-glyph{font-size:17px}.header-inner{padding-right:0}.brand-role{display:none}}

/* Premium cursor: the inner point is immediate, the halo catches up softly. */
.custom-cursor{position:fixed;top:0;left:0;z-index:9999;width:0;height:0;pointer-events:none;opacity:0;visibility:hidden;mix-blend-mode:normal;transition:opacity .2s,visibility .2s;}
body.custom-cursor-enabled .custom-cursor{opacity:1;visibility:visible}
.cursor-halo,.cursor-core-ring{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%);will-change:transform,width,height,background,border-color;}
.cursor-halo{width:45px;height:45px;border:1px solid var(--blue);background:rgba(83,130,161,.035);transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),border-color .25s,background .25s;}
.cursor-core-ring{width:5px;height:5px;background:var(--orange);box-shadow:0 0 0 4px rgba(245,130,22,.10);transition:width .2s,height .2s,background .2s;}
.cursor-label{position:absolute;left:18px;top:-29px;padding:5px 7px;border-radius:2px;background:var(--orange);color:#fff8ef;font:700 8px var(--mono);letter-spacing:.6px;white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;}
.custom-cursor.is-interactive .cursor-halo{width:70px;height:70px;border-color:var(--orange);background:rgba(245,130,22,.07)}
.custom-cursor.is-interactive .cursor-core-ring{width:9px;height:9px;background:var(--blue)}
.custom-cursor.is-interactive .cursor-label{opacity:1;transform:translateY(0)}
.custom-cursor.is-pressed .cursor-halo{width:32px;height:32px;background:rgba(245,130,22,.17)}
body.custom-cursor-enabled,body.custom-cursor-enabled a,body.custom-cursor-enabled button,body.custom-cursor-enabled [role="button"],body.custom-cursor-enabled input,body.custom-cursor-enabled textarea,body.custom-cursor-enabled select{cursor:none!important}
body.custom-cursor-enabled.using-keyboard,body.custom-cursor-enabled.using-keyboard a,body.custom-cursor-enabled.using-keyboard button,body.custom-cursor-enabled.using-keyboard input,body.custom-cursor-enabled.using-keyboard textarea,body.custom-cursor-enabled.using-keyboard select{cursor:auto!important}
body.using-keyboard .custom-cursor{opacity:0;visibility:hidden}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.custom-cursor{display:none!important}body,body a,body button{cursor:auto!important}}

/* The About timeline becomes a winding trail with six useful milestones. */
.journey-intro{max-width:460px;margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.75}
.journey-list.journey-path{position:relative;margin-top:28px;padding:0 0 8px;border:0;isolation:isolate}
.journey-path-art{position:absolute;z-index:-1;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.journey-path-shadow{fill:none;stroke:var(--mint-deep);stroke-width:14;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.journey-path-line{fill:none;stroke:var(--blue);stroke-width:1.8;stroke-dasharray:5 8;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.journey-path .journey-item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;min-height:104px;margin:0 0 17px;padding:17px 16px 17px 19px;background:rgba(255,253,248,.9);border:1px solid var(--line);border-radius:8px;box-shadow:0 7px 20px rgba(15,28,35,.025);transition:transform .35s var(--ease),border-color .3s,background .3s,box-shadow .3s;width:var(--step-width,90%);margin-left:var(--step-offset,5%)}
.journey-path .journey-item:hover{transform:translateY(-3px) rotate(-.3deg);border-color:var(--blue);box-shadow:0 12px 28px rgba(15,28,35,.07)}
.journey-path .journey-item::before{content:"";position:absolute;left:-20px;top:24px;width:12px;height:12px;background:var(--orange);border:3px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--orange),0 0 0 5px rgba(245,130,22,.10);z-index:2}
.journey-path .journey-item::after{content:attr(data-step);position:absolute;right:12px;top:9px;color:var(--blue);font:700 7px var(--mono);letter-spacing:.6px;opacity:.8}
.journey-path .journey-index{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;background:var(--mint);padding:0;color:var(--orange);font-size:9px}
.journey-path .journey-item p{font-size:8px;letter-spacing:.9px;margin:0 0 5px;color:var(--blue)}
.journey-path .journey-item h3{font-size:clamp(14px,1.25vw,18px);line-height:1.22;letter-spacing:-.035em;margin:0 0 6px;max-width:100%}
.journey-path .journey-item div>span{font-size:10px;line-height:1.65;max-width:400px}
.journey-path .journey-item:nth-child(2){--step-offset:9%;--step-width:88%}
.journey-path .journey-item:nth-child(3){--step-offset:55%;--step-width:43%}
.journey-path .journey-item:nth-child(4){--step-offset:19%;--step-width:78%}
.journey-path .journey-item:nth-child(5){--step-offset:54%;--step-width:44%}
.journey-path .journey-item:nth-child(6){--step-offset:13%;--step-width:85%}
.journey-path .journey-item:nth-child(7){--step-offset:49%;--step-width:49%}

/* Branching skill tree. Each branch can be expanded independently. */
.skills-tree-sheet{padding:clamp(18px,2.2vw,28px);overflow:hidden}
.skills-tree-sheet h2{font-size:clamp(23px,2.1vw,29px);line-height:1.08;letter-spacing:-.055em}
.skills-tree-sheet .skills-sheet-sub{max-width:410px;line-height:1.65;margin-bottom:25px}
.skill-tree{position:relative;padding-top:1px}
.skill-tree-root{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:0 auto 27px;padding:12px 16px;background:#e7f4e7;border:1px solid #bfd5c9;border-radius:6px;box-shadow:0 6px 0 rgba(83,130,161,.08)}
.skill-tree-root::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:28px;background:var(--blue)}
.tree-root-glyph{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:var(--orange);border-radius:50%;font:700 13px var(--mono)}
.skill-tree-root strong,.skill-tree-root small{display:block}
.skill-tree-root strong{font:700 10px var(--mono);letter-spacing:.5px;color:#142f3c}
.skill-tree-root small{font-size:9px;color:#5d7075;margin-top:3px}
.skill-tree-branches{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding-top:17px}
.skill-tree-branches::before{content:"";position:absolute;top:0;left:25%;right:25%;height:1px;background:var(--blue);opacity:.75}
.skill-branch{position:relative;min-width:0;border:1px solid var(--line);border-radius:7px;background:rgba(255,253,248,.75);padding:0 9px 10px;transition:border-color .25s,background .25s}
.skill-branch::before{content:"";position:absolute;left:50%;bottom:100%;height:17px;width:1px;background:var(--blue);opacity:.8}
.skill-branch:hover{border-color:var(--blue)}
.skill-branch-toggle{width:calc(100% + 18px);margin:0 -9px;padding:12px 10px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px 6px 0 0;background:var(--mint);color:var(--ink);text-align:left;cursor:pointer;transition:background .25s;min-width:0}
.skill-branch-toggle:hover{background:#d8eada}
.branch-number{flex:none;display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;font:8px var(--mono);color:var(--orange)}
.branch-heading{display:block;flex:1;min-width:0}
.branch-heading strong{display:block;font:700 11px var(--display);letter-spacing:-.025em;line-height:1.2}
.branch-heading small{display:block;margin-top:4px;font:7px var(--mono);letter-spacing:.35px;color:var(--blue);line-height:1.35}
.branch-caret{flex:none;display:grid;place-items:center;width:20px;height:20px;background:var(--white);border:1px solid var(--line);border-radius:50%;font:12px var(--mono);color:var(--orange);transition:transform .25s}
.skill-leaves{position:relative;display:grid;gap:7px;padding:12px 0 0 17px}
.skill-leaves::before{content:"";position:absolute;top:15px;bottom:20px;left:7px;width:1px;background:var(--blue);opacity:.7}
.skill-leaf{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:8px 8px;background:var(--white);border:1px solid var(--line);border-radius:5px;transition:transform .25s,border-color .25s,background .25s}
.skill-leaf::before{content:"";position:absolute;left:-11px;top:50%;width:11px;height:1px;background:var(--blue);opacity:.85}
.skill-leaf:hover{transform:translateX(3px);border-color:var(--blue)}
.leaf-type{display:grid;place-items:center;flex:none;min-width:24px;height:24px;padding:0 4px;border:1px solid #c7d9e0;border-radius:5px;background:#edf4f5;color:#416d85;font:700 8px var(--mono)}
.skill-leaf>span:last-child{min-width:0}
.skill-leaf strong,.skill-leaf small{display:block;overflow-wrap:anywhere}
.skill-leaf strong{font:700 9px/1.3 var(--body);color:var(--ink)}
.skill-leaf small{font-size:8px;line-height:1.4;color:var(--muted);margin-top:3px}
.skill-leaf.leaf-next{background:#fff5e9;border-color:#efcfaa}
.skill-leaf.leaf-next .leaf-type{background:#ffead3;border-color:#f1c38f;color:#a9540a}
.skill-tree-branches .skill-branch:nth-child(5){grid-column:1/-1;width:74%;justify-self:center}
.skill-tree-branches .skill-branch:nth-child(5) .skill-leaves{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:17px}
.skill-tree-footnote{display:flex;align-items:flex-start;gap:9px;margin:19px 0 0;padding:12px;border:1px dashed var(--line);border-radius:6px;background:var(--paper);color:var(--muted);font-size:9px;line-height:1.65}
.skill-tree-footnote .live-dot{margin-top:4px}
.skill-branch.is-collapsed .skill-leaves{display:none}
.skill-branch.is-collapsed .branch-caret{transform:rotate(-90deg)}
.skill-branch.is-collapsed .skill-branch-toggle{border-radius:6px}
@media(max-width:1100px){.about-main-grid-rich{grid-template-columns:1fr;gap:42px}.journey-path .journey-item:nth-child(3){--step-offset:48%;--step-width:51%}.journey-path .journey-item:nth-child(5){--step-offset:47%;--step-width:52%}.journey-path .journey-item:nth-child(7){--step-offset:42%;--step-width:57%}.skills-tree-sheet{max-width:none}}
@media(max-width:680px){.journey-intro{font-size:11px}.journey-list.journey-path{margin-top:24px}.journey-path-art{opacity:.72}.journey-path .journey-item{min-height:0;padding:14px 12px 14px 13px;grid-template-columns:27px minmax(0,1fr);gap:8px;margin-bottom:13px;width:var(--step-width,91%);margin-left:var(--step-offset,4%)}.journey-path .journey-item::before{left:-14px;top:20px;width:9px;height:9px;border-width:2px}.journey-path .journey-index{width:25px;height:25px;font-size:8px}.journey-path .journey-item p{font-size:7px}.journey-path .journey-item h3{font-size:14px}.journey-path .journey-item div>span{font-size:10px}.journey-path .journey-item:nth-child(2){--step-offset:4%;--step-width:91%}.journey-path .journey-item:nth-child(3){--step-offset:27%;--step-width:70%}.journey-path .journey-item:nth-child(4){--step-offset:10%;--step-width:86%}.journey-path .journey-item:nth-child(5){--step-offset:29%;--step-width:68%}.journey-path .journey-item:nth-child(6){--step-offset:5%;--step-width:90%}.journey-path .journey-item:nth-child(7){--step-offset:23%;--step-width:74%}.skill-tree-root{padding:10px 12px;margin-bottom:23px}.skill-tree-root::after{height:24px}.skill-tree-branches{grid-template-columns:1fr;gap:16px;padding-top:13px}.skill-tree-branches::before{left:50%;right:auto;height:100%;width:1px;background:var(--blue);opacity:.35}.skill-branch::before{height:13px}.skill-tree-branches .skill-branch:nth-child(5){grid-column:auto;width:100%}.skill-tree-branches .skill-branch:nth-child(5) .skill-leaves{grid-template-columns:1fr;padding-left:17px}.skill-leaf strong{font-size:10px}.skill-leaf small{font-size:9px}.branch-heading strong{font-size:12px}.branch-heading small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.journey-path .journey-item,.skill-leaf,.skill-branch-toggle,.theme-toggle,.cursor-halo,.cursor-core-ring{transition:none!important;animation:none!important}}
.custom-cursor.is-hidden{opacity:0!important;visibility:hidden!important}
.theme-pop{animation:theme-pop .42s var(--ease)}
@keyframes theme-pop{0%{transform:scale(1)}45%{transform:scale(.9) rotate(-8deg)}100%{transform:scale(1)}}
html[data-theme="dark"] .skill-tree-root strong{color:#eef4f0}
html[data-theme="dark"] .skill-tree-root small{color:#b1c1c1}
html[data-theme="dark"] .skill-tree-root{background:#1b312f;border-color:#34504c}
html[data-theme="dark"] .leaf-type{background:#182a33;border-color:#36515f;color:#b4d4e2}
html[data-theme="dark"] .skill-leaf.leaf-next{background:#282016;border-color:#614a33}
html[data-theme="dark"] .skill-leaf.leaf-next .leaf-type{background:#3a2a1b;border-color:#63482c;color:#ffbd78}
html[data-theme="dark"] .journey-path .journey-item{background:rgba(19,29,39,.93);box-shadow:0 7px 22px rgba(0,0,0,.1)}
html[data-theme="dark"] .journey-path .journey-item:hover{background:#172531;box-shadow:0 13px 28px rgba(0,0,0,.23)}


/* Fountain-pen cursor: canvas underneath the precise core + ink halo. */
.ink-trail-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:9997;pointer-events:none;overflow:hidden}
.custom-cursor{z-index:9999}
.cursor-halo{border-color:var(--blue);background:rgba(83,130,161,.025);mix-blend-mode:multiply}
.cursor-core-ring{width:4px;height:4px;box-shadow:0 0 0 3px rgba(245,130,22,.12)}
html[data-theme="dark"] .cursor-halo{mix-blend-mode:screen;background:rgba(139,183,210,.055)}
html[data-theme="dark"] .ink-trail-canvas{filter:none;opacity:1}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.ink-trail-canvas{display:none!important}}

/* Project index expansion: illustration styles for newly added case studies. */
.art-ipl{background:#e9e1d3!important;color:#142f3c}
.ipl-art{position:relative;width:82%;padding:23px 20px 16px;background:#fbf8f0;border:1px solid #c8d5cd;box-shadow:8px 8px 0 rgba(20,47,60,.08);transform:rotate(-1.5deg)}
.ipl-stamp{font:700 8px var(--mono);letter-spacing:1.2px;color:#5382a1}
.ipl-score{display:flex;justify-content:space-between;align-items:center;margin:22px 0 15px;font:700 28px var(--display);letter-spacing:-1px}.ipl-score em{font:italic 11px var(--serif);color:var(--orange)}
.ipl-prob{height:7px;background:#dfe7e1;overflow:hidden}.ipl-prob span{display:block;height:100%;background:linear-gradient(90deg,#5382a1,#f58216)}
.ipl-prob-label{display:flex;justify-content:space-between;margin-top:7px;font:8px var(--mono);color:#5d7075}.ipl-prob-label b{color:#142f3c}.ipl-art>p{margin:17px 0 0;font:7px var(--mono);letter-spacing:.6px;color:#5d7075}
.art-sapling{background:#172b2a!important}.sapling-art{position:relative;width:80%;height:76%;border:1px solid #52736a;background:linear-gradient(135deg,#1d3b36,#101f24);overflow:hidden;transform:rotate(1deg)}
.sapling-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(193,220,203,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(193,220,203,.15) 1px,transparent 1px);background-size:23px 23px;transform:rotate(-9deg) scale(1.2)}
.sapling-crosshair{position:absolute;left:50%;top:49%;width:112px;height:112px;transform:translate(-50%,-50%);border:1px solid rgba(245,130,22,.9);border-radius:50%;box-shadow:0 0 0 17px rgba(245,130,22,.06),0 0 0 37px rgba(83,130,161,.14)}
.sapling-point{position:absolute;width:8px;height:8px;border-radius:50%;background:#f58216;box-shadow:0 0 0 4px rgba(245,130,22,.14)}.sapling-point.p1{left:22%;top:28%}.sapling-point.p2{left:40%;top:63%}.sapling-point.p3{left:73%;top:32%}.sapling-point.p4{left:63%;top:71%}.sapling-point.p5{left:82%;top:56%}.sapling-caption{position:absolute;left:13px;bottom:12px;font:7px var(--mono);letter-spacing:.7px;color:#c7ded3}
.art-safespace{background:#161e2d!important}.safe-art{position:relative;width:80%;height:78%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 48%,rgba(83,130,161,.23),transparent 52%)}.safe-shield{display:grid;place-items:center;width:70px;height:84px;clip-path:polygon(50% 0,94% 17%,88% 69%,50% 100%,12% 69%,6% 17%);background:#f58216;color:#fff;font:300 44px var(--display);z-index:2;box-shadow:0 0 25px rgba(245,130,22,.2)}
.safe-orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(139,183,210,.65);border-radius:50%;aspect-ratio:1}.safe-orbit.orbit-a{width:145px}.safe-orbit.orbit-b{width:210px;border-color:rgba(245,130,22,.48)}.safe-wave{position:absolute;width:34px;height:34px;border:1px solid #8bb7d2;border-radius:50%;opacity:.6}.wave1{left:5%;top:25%}.wave2{right:7%;top:22%;width:21px;height:21px;border-color:#f58216}.wave3{right:19%;bottom:6%;width:13px;height:13px}.safe-art>b{position:absolute;left:0;bottom:0;font:7px var(--mono);letter-spacing:.8px;color:#c5dbe4}
.art-portfolio{background:#eee6d9!important}.portfolio-art{position:relative;width:82%;height:75%;padding:18px;background:#fffaf1;border:1px solid #ddd1c2;box-shadow:8px 8px 0 rgba(14,28,38,.1);transform:rotate(-1deg)}.portfolio-monogram{display:block;color:#f58216;font:700 19px var(--display)}.portfolio-lines{display:block;width:80%;height:2px;margin-top:18px;background:#5382a1;box-shadow:0 8px 0 #d0d9d5,0 16px 0 #d0d9d5,0 24px 0 #d0d9d5}.portfolio-art strong{position:absolute;left:18px;bottom:40px;font:700 19px/1.05 var(--display);letter-spacing:-.7px;color:#142f3c}.portfolio-art small{position:absolute;bottom:14px;left:18px;font:7px var(--mono);letter-spacing:.6px;color:#5382a1}
.art-noelle{background:#171528!important}.noelle-art{position:relative;width:85%;height:78%;display:grid;place-items:center;background:radial-gradient(ellipse,rgba(133,105,189,.21),transparent 63%)}.noelle-orbit{position:absolute;left:50%;top:44%;border:1px solid rgba(174,151,225,.75);border-radius:50%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-22deg)}.noelle-a{width:140px}.noelle-b{width:205px;transform:translate(-50%,-50%) rotate(45deg);border-color:rgba(245,130,22,.65)}.noelle-core{position:absolute;top:20%;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f58216;color:#171528;font:700 22px var(--display);box-shadow:0 0 0 9px rgba(245,130,22,.1)}.noelle-art strong{position:absolute;bottom:21px;font:700 18px var(--display);letter-spacing:2.5px;color:#f2eefc}.noelle-art small{position:absolute;bottom:3px;font:7px var(--mono);letter-spacing:.8px;color:#b5a7d3}
.art-liveportfolio{background:#f58216!important}.live-site-art{position:relative;display:flex;flex-direction:column;justify-content:center;width:82%;height:75%;padding:18px;background:#142f3c;color:#fff8ef;box-shadow:8px 8px 0 rgba(14,28,38,.12);transform:rotate(1deg)}.live-site-art strong{font:700 clamp(16px,2.4vw,28px) var(--display);letter-spacing:-1px}.live-site-art small{margin-top:8px;font:7px var(--mono);letter-spacing:.8px;color:#9ec2d2}.live-site-art i{position:absolute;right:16px;top:14px;color:#f58216;font-size:25px;font-style:normal}.live-site-dot{position:absolute;top:17px;left:18px;width:6px;height:6px;border-radius:50%;background:#f58216}
.work-card[hidden]{display:none!important}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-theme="dark"] .project-tile{background:#121d26;border-color:#30414a}
html[data-theme="dark"] .art-ipl{background:#29313a!important}
html[data-theme="dark"] .ipl-art{background:#182630;border-color:#35505b;color:#edf2ef}
html[data-theme="dark"] .ipl-score b,html[data-theme="dark"] .ipl-prob-label b{color:#edf2ef}
html[data-theme="dark"] .art-portfolio{background:#202933!important}
html[data-theme="dark"] .portfolio-art{background:#141c24;border-color:#354651}
html[data-theme="dark"] .portfolio-art strong{color:#edf2ef}
html[data-theme="dark"] .live-site-art{border:1px solid #416170}
@media(max-width:860px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.work-grid{grid-template-columns:1fr}.ipl-art{width:86%}.sapling-art{width:88%}.safe-art{width:88%}}


/* Repository actions on every case-study page. */
.project-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:23px}
.project-detail-actions .button{min-height:43px}
.project-detail-actions svg{width:16px;height:16px;flex:none}
.case-bottom .project-detail-actions{margin-top:0}
.case-bottom .project-detail-actions .button{font-size:10px;padding:12px 14px}
html[data-theme="dark"] .case-pills span{background:#17262e;border-color:#34505b;color:#a7cce0}
html[data-theme="dark"] .takeaway-panel{background:#152b2d;border-color:#2f4a4c}
html[data-theme="dark"] .stack-panel{background:#111b24;border-color:#30414a}
html[data-theme="dark"] .case-art.art-sapling{background:#11201f}
html[data-theme="dark"] .case-art.art-portfolio{background:#202933}
@media(max-width:580px){.project-detail-actions{width:100%}.project-detail-actions .button{flex:1;min-width:0}.case-bottom .project-detail-actions{flex-direction:column;align-items:stretch;width:100%}}
.featured-repo-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 24px;padding:13px 18px;border-bottom:1px solid var(--line);font:700 9px var(--mono);letter-spacing:.7px;color:var(--muted)}.featured-repo-link a{color:var(--blue);font:700 11px var(--body);letter-spacing:0;transition:color .2s,transform .2s}.featured-repo-link a:hover{color:var(--orange);transform:translateX(3px)}

/* Hierarchical skill map — a real, editable branching tree rather than a list. */
.about-main-grid-rich{grid-template-columns:minmax(0,1fr)!important}
.journey-column{width:100%;max-width:1000px;margin-inline:auto}
.skills-tree-section{padding-top:28px;padding-bottom:22px}
.skills-tree-sheet{width:100%;padding:clamp(20px,3.2vw,42px);overflow:hidden}
.skills-tree-sheet h2{font-size:clamp(27px,3.2vw,42px);letter-spacing:-.065em}
.skills-tree-sheet .skills-sheet-sub{font-size:12px;max-width:580px;margin-bottom:26px}
.skill-tree-diagram{position:relative;isolation:isolate;padding:12px 0 4px;overflow:visible}
.skill-tree-diagram>.skill-tree-root{position:relative;z-index:2;width:max-content;max-width:100%;margin:0 auto 83px;padding:15px 22px;gap:13px;border:1px solid #365361;border-radius:8px;background:var(--navy);box-shadow:0 7px 0 rgba(83,130,161,.11);color:var(--paper)}
.skill-tree-diagram>.skill-tree-root::after{display:none}
.skill-tree-diagram .tree-root-glyph{width:42px;height:42px;background:rgba(245,130,22,.12);border:1px solid rgba(245,130,22,.48);color:var(--orange);font-size:14px}
.skill-tree-diagram .skill-tree-root strong{font:700 10px var(--mono);letter-spacing:.8px;color:var(--paper)}
.skill-tree-diagram .skill-tree-root small{display:block;margin-top:4px;font-size:9px;color:#b9ccd2;letter-spacing:.15px}
.skill-tree-links{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
.skill-tree-links .tree-link{fill:none;stroke:var(--blue);stroke-width:1.25;stroke-linecap:round;opacity:.58;vector-effect:non-scaling-stroke}
.skill-tree-links .tree-link-root{stroke:var(--orange);stroke-width:1.45;opacity:.72}
.skill-tree-links .tree-link-sub{opacity:.53}
.skill-tree-links .tree-link-leaf{opacity:.37;stroke-width:1.05}
.skill-tree-links .tree-link-dot{fill:var(--orange);opacity:.95}
.skill-tree-links .tree-link-dot-leaf{fill:var(--blue);opacity:.85}
.skill-tree-domains{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:clamp(8px,1.2vw,17px)}
.skill-domain{position:relative;min-width:0;overflow:visible}
.skill-domain-toggle{width:100%;min-height:94px;display:grid;grid-template-columns:22px minmax(0,1fr) 19px;grid-template-rows:auto auto;align-items:center;gap:6px 7px;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:var(--mint);color:var(--ink);text-align:left;cursor:pointer;transition:transform .28s var(--ease),border-color .25s,background .25s,box-shadow .25s}
.skill-domain-toggle:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 9px 22px rgba(18,41,52,.08)}
.domain-index{grid-column:1;grid-row:1/3;align-self:start;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font:8px var(--mono);color:var(--orange)}
.domain-icon{grid-column:2;grid-row:1;justify-self:start;display:grid;place-items:center;min-width:25px;height:24px;padding:0 5px;border-radius:4px;background:var(--navy);color:var(--orange);font:700 8px var(--mono)}
.domain-title{grid-column:2;grid-row:2;display:block;min-width:0}
.domain-title strong{display:block;font:700 clamp(10px,.95vw,13px)/1.2 var(--display);letter-spacing:-.035em;overflow-wrap:anywhere}
.domain-title small{display:block;margin-top:5px;color:var(--blue);font:7px/1.35 var(--mono);letter-spacing:.35px}
.domain-caret{grid-column:3;grid-row:1;align-self:start;display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--orange);font:12px var(--mono);transition:transform .25s}
.skill-domain-children{display:grid;gap:25px;padding-top:33px}
.skill-subbranch{position:relative;min-width:0}
.skill-subbranch-toggle{position:relative;display:flex;align-items:center;gap:7px;width:100%;min-height:39px;padding:8px 7px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.skill-subbranch-toggle:hover{transform:translateY(-2px);border-color:var(--blue);background:var(--mint)}
.skill-subbranch-toggle strong{flex:1;min-width:0;font:700 9px/1.25 var(--body);letter-spacing:-.015em}
.subbranch-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(245,130,22,.10)}
.subbranch-caret{flex:none;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line);color:var(--blue);font:10px var(--mono)}
.skill-node-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:13px 1px 2px}
.skill-node-chip{position:relative;display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--muted);font:500 9px/1.35 var(--body);overflow-wrap:anywhere;transition:transform .22s,border-color .22s,color .22s,background .22s}
.skill-node-chip:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--ink);background:var(--white)}
.skill-node-chip.skill-node-next{background:#fff2e2;border-color:#efc99e;color:#a6530b}
.skill-tree-diagram [hidden]{display:none!important}
.skill-tree-diagram .is-collapsed>.skill-domain-children,.skill-tree-diagram .is-collapsed>.skill-node-list{display:none}
.skill-domain.is-collapsed .domain-caret,.skill-subbranch.is-collapsed .subbranch-caret{transform:rotate(-90deg)}
.skill-domain.is-collapsed .skill-domain-toggle{background:var(--white)}
.skill-subbranch.is-collapsed .skill-subbranch-toggle{background:var(--paper)}
.skill-tree-diagram .skill-tree-footnote{position:relative;z-index:1;margin-top:28px;padding:12px 14px;font-size:10px}
html[data-theme="dark"] .skill-tree-diagram>.skill-tree-root{background:#111c25;border-color:#36515f;box-shadow:0 7px 0 rgba(139,183,210,.08)}
html[data-theme="dark"] .skill-tree-diagram .skill-tree-root strong{color:#f2f1e8}
html[data-theme="dark"] .skill-tree-diagram .skill-tree-root small{color:#b4c7ce}
html[data-theme="dark"] .skill-domain-toggle{background:#182a31;border-color:#36505a;color:#eff3ed}
html[data-theme="dark"] .skill-domain-toggle:hover{background:#203940;border-color:var(--blue)}
html[data-theme="dark"] .domain-icon{background:#0f1a22;color:#ffab57}
html[data-theme="dark"] .domain-title small{color:#98c3d8}
html[data-theme="dark"] .domain-caret{background:#0d1720;border-color:#3b5059;color:#ffab57}
html[data-theme="dark"] .skill-subbranch-toggle{background:#121e27;border-color:#304753;color:#eef3ed}
html[data-theme="dark"] .skill-subbranch-toggle:hover{background:#1b3039;border-color:#7eafc8}
html[data-theme="dark"] .subbranch-caret{border-color:#39515d;color:#9fc6d8}
html[data-theme="dark"] .skill-node-chip{background:#111c25;border-color:#314854;color:#c1d0d3}
html[data-theme="dark"] .skill-node-chip:hover{background:#1d303b;color:#f4f2e8;border-color:#7eafc8}
html[data-theme="dark"] .skill-node-chip.skill-node-next{background:#302315;border-color:#76502c;color:#ffc17f}
html[data-theme="dark"] .skill-tree-links .tree-link{stroke:#8bb7d2}
html[data-theme="dark"] .skill-tree-links .tree-link-root{stroke:#ff983b}
html[data-theme="dark"] .skill-tree-links .tree-link-dot{fill:#ff983b}
html[data-theme="dark"] .skill-tree-links .tree-link-dot-leaf{fill:#8bb7d2}
@media(max-width:1120px){.skill-tree-domains{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 14px}.skill-tree-diagram>.skill-tree-root{margin-bottom:72px}}
@media(max-width:720px){.skills-tree-section{padding-top:10px}.skills-tree-sheet{padding:21px 16px}.skill-tree-domains{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.domain-title strong{font-size:12px}.domain-title small{font-size:7px}.skill-domain-toggle{min-height:85px;padding:10px 8px}.skill-domain-children{padding-top:27px;gap:20px}.skill-subbranch-toggle{gap:6px;padding:8px 6px}.skill-subbranch-toggle strong{font-size:9px}.skill-node-list{gap:5px;padding-top:10px}.skill-node-chip{font-size:9px;padding:5px 7px}.skill-tree-diagram>.skill-tree-root{margin-bottom:66px;padding:13px 15px}}
@media(max-width:460px){.skill-tree-domains{grid-template-columns:1fr;gap:23px}.skill-domain-toggle{grid-template-columns:25px 30px minmax(0,1fr) 20px;grid-template-rows:auto;min-height:67px;align-items:center}.domain-index{grid-column:1;grid-row:1}.domain-icon{grid-column:2;grid-row:1}.domain-title{grid-column:3;grid-row:1}.domain-caret{grid-column:4;grid-row:1;align-self:center}.skill-domain-children{padding:24px 0 0 16px;margin-left:10px;border-left:1px solid color-mix(in srgb,var(--blue) 40%,transparent);gap:19px}.skill-subbranch-toggle{max-width:360px}.skill-node-list{padding-left:14px}.skill-tree-diagram>.skill-tree-root{max-width:100%;margin-bottom:58px;padding:11px 12px}.skill-tree-diagram .tree-root-glyph{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.skill-domain-toggle,.skill-subbranch-toggle,.skill-node-chip{transition:none!important}}


/* ─────────────────────────────────────────────────────────────────────
   FINISHING PASS / VISUAL FRAME, CALLIGRAPHIC NIB & COHESIVE DARK THEME
   ───────────────────────────────────────────────────────────────────── */
.hero-topline{grid-template-columns:minmax(0,1fr) minmax(285px,340px);gap:clamp(24px,4vw,58px);min-height:clamp(205px,21vw,270px);align-items:start}
.hero-manifesto{max-width:640px;padding-top:8px}
.hero-image-shell{position:relative;justify-self:end;width:100%;max-width:340px;padding:10px 10px 9px;border:1px solid var(--line);background:var(--white);box-shadow:8px 8px 0 color-mix(in srgb,var(--blue) 11%,transparent);transform:rotate(1.15deg);transition:background .3s,border-color .3s,box-shadow .3s;}
.hero-shell-heading,.hero-shell-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font:700 7px/1.4 var(--mono);letter-spacing:.75px;}
.hero-shell-heading{padding:0 1px 9px}
.hero-shell-caption{padding:9px 1px 0;color:var(--blue);}
.hero-image-shell:hover{transform:rotate(0) translateY(-3px);box-shadow:10px 14px 0 color-mix(in srgb,var(--blue) 12%,transparent)}
.hero-image-shell .hero-image-card{max-width:none;aspect-ratio:1.42/1;margin:0;transform:rotate(0);border-radius:2px;box-shadow:none}
.hero-image-shell .hero-image-card:hover{transform:none;box-shadow:none}
.hero-image-card::before{content:"";position:absolute;z-index:3;inset:8px;border:1px solid rgba(255,248,239,.38);pointer-events:none}
.hero-image-card .hero-photo-label{left:17px;top:17px}
.hero-image-card .hero-photo-caption{left:17px;bottom:17px}
.hero-image-card .hero-photo-index{right:17px;bottom:17px}

/* A recognizable little calligraphy tool instead of a generic dot cursor. */
.custom-cursor{z-index:9999}
.cursor-halo{width:32px;height:21px;border:1px solid color-mix(in srgb,var(--blue) 78%,transparent);border-radius:52% 48% 43% 57% / 56% 42% 58% 44%;background:color-mix(in srgb,var(--blue) 5%,transparent);transition:width .24s var(--ease),height .24s var(--ease),border-color .24s,background .24s,opacity .2s;}
.cursor-halo::before{content:"";position:absolute;left:50%;top:50%;width:58%;height:1px;background:var(--orange);transform:translate(-50%,-50%);opacity:.8}
.cursor-nib{position:absolute;z-index:2;left:0;top:0;width:21px;height:30px;overflow:visible;transform:translate(-50%,-50%) rotate(var(--nib-angle,0deg));transform-origin:50% 50%;filter:drop-shadow(0 2px 3px rgba(12,24,30,.18));transition:filter .2s;}
.cursor-nib .nib-shell{fill:var(--orange);stroke:var(--ink);stroke-width:1.1;stroke-linejoin:round}
.cursor-nib .nib-slit{fill:none;stroke:var(--paper);stroke-width:1.25;stroke-linecap:round;opacity:.9}
.cursor-nib .nib-breath{fill:var(--navy);stroke:var(--paper);stroke-width:.7}
.cursor-label{left:17px;top:-26px;padding:5px 7px;background:var(--navy);border:1px solid color-mix(in srgb,var(--blue) 55%,transparent);color:var(--paper);border-radius:2px;font-size:7px;letter-spacing:.8px;box-shadow:0 4px 12px rgba(0,0,0,.09)}
.custom-cursor.is-interactive .cursor-halo{width:39px;height:27px;border-color:var(--orange);background:color-mix(in srgb,var(--orange) 8%,transparent)}
.custom-cursor.is-interactive .cursor-halo::before{width:72%;height:1.5px}
.custom-cursor.is-interactive .cursor-nib .nib-shell{fill:var(--blue);stroke:var(--orange)}
.custom-cursor.is-pressed .cursor-halo{width:24px;height:16px;background:color-mix(in srgb,var(--orange) 16%,transparent)}
.custom-cursor.is-pressed .cursor-nib{transform:translate(-50%,-50%) rotate(var(--nib-angle,0deg)) scale(.86)}
.custom-cursor.is-fast .cursor-halo{width:23px;height:13px;opacity:.65}
.custom-cursor.is-offscreen{opacity:0!important;visibility:hidden!important}
body.using-keyboard .custom-cursor{display:none!important}

/* A proper dark palette: ink canvas, elevated slate surfaces and warm highlights. */
html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0b1016;
  --white:#131d27;
  --ink:#f1f0e8;
  --navy:#101c27;
  --muted:#a7b7bf;
  --line:#2b3d48;
  --mint:#172b2b;
  --mint-deep:#25413e;
  --pale-blue:#c3dbe4;
  --blue:#8fbcd2;
  --orange:#ff9d46;
}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .site-header,html[data-theme="dark"] .site-header.scrolled{background:rgba(11,16,22,.92);border-color:transparent}
html[data-theme="dark"] .site-header.scrolled{border-color:var(--line);box-shadow:0 10px 35px rgba(0,0,0,.26)}
html[data-theme="dark"] .home-hero-cinema{background:var(--paper);border-color:#263943;box-shadow:0 26px 80px rgba(0,0,0,.12)}
html[data-theme="dark"] .hero-image-shell{background:#121d26;border-color:#304652;box-shadow:8px 8px 0 rgba(106,165,190,.09)}
html[data-theme="dark"] .hero-shell-heading{color:#96abb5}
html[data-theme="dark"] .hero-shell-caption{color:#9fc3d5}
html[data-theme="dark"] .hero-image-card{background:#101b25}
html[data-theme="dark"] .hero-photo{filter:saturate(.65) brightness(.68) contrast(1.12)}
html[data-theme="dark"] .hero-photo-overlay{background:linear-gradient(180deg,rgba(4,9,14,.1),rgba(4,9,14,.76))}
html[data-theme="dark"] .hero-monument{color:#f1efe7}
html[data-theme="dark"] .hero-monument i{color:var(--orange)}
html[data-theme="dark"] .hero-landscape{mix-blend-mode:screen;opacity:.23}
html[data-theme="dark"] .hero-landscape::after{background:linear-gradient(90deg,rgba(11,16,22,.32),rgba(11,16,22,0) 32%,rgba(11,16,22,.29))}
html[data-theme="dark"] .landscape-caption{color:rgba(229,239,238,.68)}
html[data-theme="dark"] .ticker-wrap{background:#162431;color:#f1f0e8}
html[data-theme="dark"] .ticker i{color:#ff9d46}
html[data-theme="dark"] .featured-project,html[data-theme="dark"] .support-card,html[data-theme="dark"] .project-tile{background:#131d27;border-color:#2b3d48;color:#f1f0e8}
html[data-theme="dark"] .featured-project:hover,html[data-theme="dark"] .support-card:hover,html[data-theme="dark"] .project-tile:hover{border-color:#648ca0;box-shadow:0 25px 60px rgba(0,0,0,.28)}
html[data-theme="dark"] .featured-art{background:#142b31}
html[data-theme="dark"] .featured-art-foot{color:rgba(226,238,237,.72)}
html[data-theme="dark"] .featured-glyph{color:rgba(143,188,210,.17)}
html[data-theme="dark"] .support-art-bank{background:#162a26}
html[data-theme="dark"] .support-art-data{background:#172936}
html[data-theme="dark"] .support-bank-seal{color:#e8eee8}
html[data-theme="dark"] .support-ledger i{background:#8fbcd2}
html[data-theme="dark"] .support-art-note{color:#a5cbda}
html[data-theme="dark"] .tile-tags span{background:#1b3039;border-color:#324a55;color:#bed5de}
html[data-theme="dark"] .featured-card-bottom .tile-tags span{background:#1a302e}
html[data-theme="dark"] .field-note,html[data-theme="dark"] .principles-panel,html[data-theme="dark"] .work-footnote,html[data-theme="dark"] .takeaway-panel{background:#14252e;border-color:#2d4652;color:#f1f0e8}
html[data-theme="dark"] .journey-path .journey-item{background:rgba(19,29,39,.96);border-color:#2c414c;color:#f1f0e8;box-shadow:0 8px 24px rgba(0,0,0,.14)}
html[data-theme="dark"] .journey-path .journey-item:hover{background:#182833;border-color:#6b99b0;box-shadow:0 14px 35px rgba(0,0,0,.28)}
html[data-theme="dark"] .journey-path-shadow{stroke:#1b3432}
html[data-theme="dark"] .journey-path-line{stroke:#83b6cf}
html[data-theme="dark"] .skills-sheet,html[data-theme="dark"] .skills-tree-sheet{background:#0f1821;border-color:#293d48}
html[data-theme="dark"] .skill-tree-root,html[data-theme="dark"] .skill-tree-diagram>.skill-tree-root{background:#152b2b;border-color:#365857}
html[data-theme="dark"] .skill-branch{background:#111b24;border-color:#2d424d}
html[data-theme="dark"] .skill-branch-toggle,html[data-theme="dark"] .skill-domain-toggle{background:#1a2d2d;color:#f1f0e8;border-color:#344d52}
html[data-theme="dark"] .skill-branch-toggle:hover,html[data-theme="dark"] .skill-domain-toggle:hover{background:#203a39;border-color:#75a9bf}
html[data-theme="dark"] .skill-leaf,html[data-theme="dark"] .skill-node-chip{background:#131f29;color:#d8e3e2;border-color:#304650}
html[data-theme="dark"] .skill-leaf strong,html[data-theme="dark"] .skill-node-chip:hover{color:#f1f0e8}
html[data-theme="dark"] .skill-leaf small{color:#a2b4bc}
html[data-theme="dark"] .skill-leaf.leaf-next,html[data-theme="dark"] .skill-node-chip.skill-node-next{background:#302316;border-color:#71502e;color:#ffd0a0}
html[data-theme="dark"] .skill-tree-footnote{background:#111b24;border-color:#30434d;color:#a7b7bf}
html[data-theme="dark"] .site-nav{background:#0b1016}
html[data-theme="dark"] .site-nav>a{color:#f1f0e8;border-color:#2b3d48}
html[data-theme="dark"] .site-nav>a:hover{color:#8fbcd2}
html[data-theme="dark"] .theme-toggle{background:#15232d;border-color:#38515e;color:#f1f0e8}
html[data-theme="dark"] .theme-toggle:hover{background:#1d3039;border-color:#8fbcd2}
html[data-theme="dark"] .button-outline{color:#f1f0e8;border-color:#425762}
html[data-theme="dark"] .button-outline:hover{background:#142630;border-color:#ff9d46}
html[data-theme="dark"] .cinematic-preloader{background:#080e14;color:#f1f0e8}
html[data-theme="dark"] .preloader-tag,html[data-theme="dark"] .preloader-status,html[data-theme="dark"] .preloader-rail{color:#b7ccd5}
html[data-theme="dark"] .preloader-subtitle{color:#9fc2d2}
html[data-theme="dark"] .page-transition{background:#0d1923}
html[data-theme="dark"] .page-transition::after{color:#f1f0e8}
html[data-theme="dark"] .contact-form-wrap,html[data-theme="dark"] .contact-bottom,html[data-theme="dark"] .case-sidebar .side-panel,html[data-theme="dark"] .stack-panel{background:#131d27;border-color:#2b3e49;color:#f1f0e8}
html[data-theme="dark"] .contact-form input,html[data-theme="dark"] .contact-form textarea,html[data-theme="dark"] .contact-form select{background:#0e1720;border-color:#334853;color:#f1f0e8}
html[data-theme="dark"] .contact-form input::placeholder,html[data-theme="dark"] .contact-form textarea::placeholder{color:#8298a2}
html[data-theme="dark"] .case-pills span{background:#172831;border-color:#36505c;color:#c4dce5}
html[data-theme="dark"] .case-art.art-sapling{background:#10201f}
html[data-theme="dark"] .case-art.art-portfolio{background:#202a34}
html[data-theme="dark"] .ipl-art{background:#16252d;border-color:#354c57;color:#eaf0e9}
html[data-theme="dark"] .portfolio-art{background:#131e28;border-color:#344651}
html[data-theme="dark"] .portfolio-art strong{color:#f1f0e8}
html[data-theme="dark"] .live-site-art{border:1px solid #426274}
html[data-theme="dark"] .art-ipl{background:#27323b!important}
html[data-theme="dark"] .art-portfolio{background:#202a34!important}
html[data-theme="dark"] .cursor-halo{border-color:#8fbcd2;background:rgba(143,188,210,.07)}
html[data-theme="dark"] .cursor-nib .nib-shell{stroke:#d9e5e4}
html[data-theme="dark"] .cursor-nib .nib-slit{stroke:#13202a}
html[data-theme="dark"] .cursor-nib .nib-breath{fill:#f1f0e8;stroke:#152431}
html[data-theme="dark"] .cursor-label{background:#1a2d38;border-color:#527d90;color:#f1f0e8}
html[data-theme="dark"] .ink-trail-canvas{opacity:1;filter:none}
@media(max-width:1120px){.hero-topline{grid-template-columns:minmax(0,1fr) minmax(245px,300px);gap:26px;min-height:230px}.hero-image-shell{max-width:300px}}
@media(max-width:860px){.hero-topline{grid-template-columns:minmax(0,1fr) 235px;gap:22px;min-height:210px}.hero-image-shell{max-width:235px;padding:8px}.hero-shell-heading,.hero-shell-caption{font-size:6px}.hero-image-shell .hero-image-card{aspect-ratio:1.1/1}}
@media(max-width:580px){.hero-topline{grid-template-columns:minmax(0,1fr) 112px;gap:12px;min-height:160px}.hero-image-shell{max-width:112px;padding:5px;box-shadow:3px 4px 0 color-mix(in srgb,var(--blue) 11%,transparent)}.hero-shell-heading{font-size:4px;letter-spacing:0;padding-bottom:5px;gap:2px}.hero-shell-caption{font-size:4px;letter-spacing:0;padding-top:5px;gap:2px}.hero-image-shell .hero-image-card{aspect-ratio:.78/1}.hero-image-card::before{inset:4px}.hero-image-card .hero-photo-label{left:7px;top:7px}.hero-image-card .hero-photo-caption{left:7px;bottom:7px}.hero-image-card .hero-photo-index{right:7px;bottom:7px}}
@media(prefers-reduced-motion:reduce){.hero-image-shell,.cursor-halo,.cursor-nib{transition:none!important;animation:none!important}}

/* FIELD JOURNAL / VISUAL PASS — an authored, locally stored moving-image frame. */
:root{--ease-cinematic:cubic-bezier(.19,1,.22,1)}
html,body{overflow-x:clip}
.site-header{background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(20px) saturate(1.25)}
.site-header.scrolled{box-shadow:0 12px 36px color-mix(in srgb,var(--ink) 8%,transparent)}
.brand-wordmark{font-size:27px;letter-spacing:-1.8px}
.home-hero-cinema{padding-top:clamp(52px,7vw,92px)}
.hero-topline{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:clamp(34px,7vw,112px);min-height:clamp(250px,29vw,385px);align-items:center}
.hero-manifesto{padding:0;max-width:540px}
.manifesto-copy{font-size:clamp(35px,5vw,70px);line-height:.99;letter-spacing:-.075em;text-wrap:balance}
.manifesto-copy em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
.hero-image-shell{max-width:none;padding:11px 11px 10px;transform:perspective(1100px) rotateX(var(--hero-tilt-y,0deg)) rotateY(var(--hero-tilt-x,0deg)) rotate(1.6deg) translateY(10px);transform-style:preserve-3d;box-shadow:12px 13px 0 color-mix(in srgb,var(--orange) 17%,transparent),0 25px 65px color-mix(in srgb,var(--ink) 15%,transparent);transition:transform .7s var(--ease-cinematic),box-shadow .7s,border-color .3s}
.hero-image-shell:hover{transform:perspective(1100px) rotateX(var(--hero-tilt-y,0deg)) rotateY(var(--hero-tilt-x,0deg)) rotate(0deg) translateY(0);box-shadow:14px 18px 0 color-mix(in srgb,var(--orange) 20%,transparent),0 34px 80px color-mix(in srgb,var(--ink) 19%,transparent)}
.hero-image-shell .hero-image-card{aspect-ratio:1.78/1;overflow:hidden;background:#182329}
.hero-photo{filter:saturate(.74) contrast(1.08);transform:scale(1.04);animation:field-film-breathe 18s ease-in-out infinite alternate}
.hero-film{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.74) contrast(1.08);transition:opacity .65s ease}
.hero-film[data-stream-ready]{opacity:1}
.hero-photo.film-poster{animation:none;opacity:0!important;transition:opacity .65s ease}
.hero-photo-overlay{background:linear-gradient(180deg,rgba(6,11,15,.05),rgba(6,11,15,.02) 45%,rgba(6,11,15,.68))}
.hero-image-card::after{content:"";position:absolute;z-index:2;inset:-35% auto -35% -38%;width:24%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,239,211,.25),transparent);animation:field-light-pass 9s ease-in-out 1s infinite}
.hero-image-card::before{border-color:rgba(255,248,239,.46)}
.hero-shell-heading,.hero-shell-caption{font-size:8px;letter-spacing:1px}
.hero-monument-stage{height:clamp(250px,33vw,460px);margin:0 -4.2vw;perspective:1100px;isolation:isolate}
.hero-landscape{left:17%;right:2.8%;top:13%;height:76%;transform:rotate(-1.2deg) rotateY(-4deg);opacity:1;mix-blend-mode:normal;filter:drop-shadow(0 22px 30px rgba(20,30,36,.12));border:1px solid rgba(183,210,218,.36);box-shadow:12px 14px 0 color-mix(in srgb,var(--blue) 20%,transparent);background-color:#142f3c;background-image:radial-gradient(ellipse at 73% 20%,rgba(245,130,22,.35),transparent 34%),radial-gradient(ellipse at 21% 85%,rgba(83,130,161,.34),transparent 42%),repeating-linear-gradient(0deg,transparent 0 42px,rgba(220,233,230,.08) 43px),repeating-linear-gradient(90deg,transparent 0 42px,rgba(220,233,230,.07) 43px)}
.hero-landscape::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(112deg,transparent 0 47%,rgba(245,130,22,.31) 47.2%,transparent 47.5%);mix-blend-mode:screen;pointer-events:none}
.hero-landscape::after{z-index:2;background:radial-gradient(circle at 69% 34%,rgba(255,209,151,.19),transparent 13%),linear-gradient(105deg,rgba(8,21,28,.2),transparent 24%,transparent 72%,rgba(7,17,22,.24))}
.hero-landscape-image{opacity:0;filter:none;transform:translateY(var(--parallax-y,0px)) scale(1.08);transition:filter .6s}
.hero-monument{color:#f5f1e7;font-size:clamp(105px,23.4vw,365px);letter-spacing:-.105em;bottom:1%;transform:translateY(9%);text-shadow:0 3px 0 color-mix(in srgb,var(--paper) 24%,transparent)}
.hero-monument i{position:relative;z-index:4}
.landscape-caption{z-index:3;left:14px;right:14px;bottom:12px;font-size:7px;letter-spacing:1px;color:#f5f1e4;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.hero-bottomline{position:relative;z-index:4;padding-top:17px;border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}
.hero-bottomline p:first-child{color:var(--ink)}
.selected-work-section{padding-top:clamp(92px,12vw,164px)}
.selected-work-section .section-head{margin-bottom:clamp(28px,4vw,52px)}
.selected-work-section .section-title{font-size:clamp(42px,5.6vw,78px);line-height:.99;letter-spacing:-.08em}
.featured-project{border:0;border-radius:2px;box-shadow:0 22px 75px color-mix(in srgb,var(--ink) 10%,transparent);min-height:520px}
.featured-project:hover{transform:translateY(-7px);box-shadow:0 36px 92px color-mix(in srgb,var(--ink) 16%,transparent)}
.featured-art{perspective:1000px}
.featured-editor{transform:rotate(-4deg) translateY(6px) translateZ(32px);transition:transform .8s var(--ease-cinematic),box-shadow .6s}
.featured-project:hover .featured-editor{transform:rotate(-1deg) translateY(-9px) translateZ(54px)}
.featured-glyph{transform:translateZ(85px);text-shadow:0 20px 65px rgba(0,0,0,.2)}
.support-card{border:0;border-radius:2px;box-shadow:0 12px 42px color-mix(in srgb,var(--ink) 8%,transparent)}
.support-card:hover{transform:translateY(-7px);box-shadow:0 26px 68px color-mix(in srgb,var(--ink) 14%,transparent)}
.supporting-projects{gap:clamp(16px,2vw,28px)}
.project-tile{border:0;border-radius:2px;box-shadow:0 14px 44px color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.project-tile:hover{transform:translateY(-6px);box-shadow:0 27px 68px color-mix(in srgb,var(--ink) 15%,transparent)}
.tile-art{min-height:230px;overflow:hidden;isolation:isolate}
.tile-art::after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 37%,rgba(8,22,28,.14));mix-blend-mode:soft-light}
.tile-art>*{position:relative;z-index:1}
.project-tile:nth-child(3n + 2){transform:translateY(24px)}
.project-tile:nth-child(3n + 2):hover{transform:translateY(16px)}
.project-grid.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,2.2vw,30px);row-gap:clamp(30px,4vw,58px);align-items:stretch}
.project-grid.work-grid>.project-tile{grid-column:span 6;display:flex;flex-direction:column;transform:none}
.project-grid.work-grid>.project-tile:nth-child(6n + 1){grid-column:span 7;display:grid;grid-template-columns:1fr 1fr;min-height:370px}
.project-grid.work-grid>.project-tile:nth-child(6n + 1) .tile-art{height:100%;min-height:370px}
.project-grid.work-grid>.project-tile:nth-child(6n + 2){grid-column:span 5;min-height:455px;margin-top:48px}
.project-grid.work-grid>.project-tile:nth-child(6n + 2) .tile-art{min-height:260px}
.project-grid.work-grid>.project-tile:nth-child(6n + 3){grid-column:span 5;min-height:440px;margin-top:0}
.project-grid.work-grid>.project-tile:nth-child(6n + 3) .tile-art{min-height:250px}
.project-grid.work-grid>.project-tile:nth-child(6n + 4){grid-column:span 7;display:grid;grid-template-columns:1fr 1fr;min-height:370px;margin-top:46px}
.project-grid.work-grid>.project-tile:nth-child(6n + 4) .tile-art{height:100%;min-height:370px}
.project-grid.work-grid>.project-tile:nth-child(6n + 5){grid-column:span 7;display:grid;grid-template-columns:1fr 1fr;min-height:370px}
.project-grid.work-grid>.project-tile:nth-child(6n + 5) .tile-art{height:100%;min-height:370px}
.project-grid.work-grid>.project-tile:nth-child(6n){grid-column:span 5;min-height:450px;margin-top:48px}
.project-grid.work-grid>.project-tile:nth-child(6n) .tile-art{min-height:260px}
.project-grid.work-grid .tile-body{padding:clamp(20px,2.8vw,36px)}
.project-grid.work-grid .tile-title{font-size:clamp(21px,2.3vw,32px);line-height:1.05;letter-spacing:-.055em}
.project-grid.work-grid .tile-desc{line-height:1.75}
.project-grid.work-grid .tile-index{font-size:8px;letter-spacing:1.15px}
.work-results{padding-bottom:90px}
.case-hero{padding-top:clamp(68px,9vw,120px);padding-bottom:clamp(55px,8vw,96px);gap:clamp(40px,7vw,110px)}
.case-hero:has(> .project-detail-actions)>.case-intro{grid-column:1;grid-row:1}
.case-hero:has(> .project-detail-actions)>.project-detail-actions{grid-column:1;grid-row:2;align-self:start;margin-top:0}
.case-hero:has(> .project-detail-actions)>.case-art{grid-column:2;grid-row:1 / span 2;align-self:center}
.case-hero:not(:has(> .project-detail-actions))>.case-art{grid-column:2;grid-row:1;align-self:center}
.case-intro h1{font-size:clamp(52px,7.2vw,104px);line-height:.92;letter-spacing:-.085em;max-width:760px;text-wrap:balance}
.case-deck{max-width:54ch;font-size:16px}
.case-art{height:clamp(310px,35vw,480px);border-radius:2px;transform:perspective(1100px) rotateY(-3deg) rotateX(1deg);box-shadow:18px 20px 0 color-mix(in srgb,var(--orange) 16%,transparent),0 38px 90px color-mix(in srgb,var(--ink) 15%,transparent);transition:transform .7s var(--ease-cinematic),box-shadow .7s}
.case-art:hover{transform:perspective(1100px) rotateY(0) rotateX(0) translateY(-4px);box-shadow:22px 25px 0 color-mix(in srgb,var(--orange) 20%,transparent),0 45px 100px color-mix(in srgb,var(--ink) 19%,transparent)}
.case-content{gap:clamp(45px,8vw,130px);padding-top:40px}
.case-story h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.065em;line-height:1.04}
.takeaway-panel,.next-panel,.stack-panel{border-radius:2px;padding:clamp(22px,3vw,34px)}
.next-panel{box-shadow:12px 12px 0 color-mix(in srgb,var(--orange) 14%,transparent)}
.custom-cursor{mix-blend-mode:multiply}
.cursor-halo{backdrop-filter:blur(2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 55%,transparent),0 0 25px color-mix(in srgb,var(--orange) 20%,transparent)}
.cursor-label{font-size:7px;letter-spacing:.7px}
html[data-theme="dark"] .hero-landscape{mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 22px 35px rgba(0,0,0,.4));border-color:rgba(124,177,198,.46);box-shadow:12px 14px 0 rgba(80,137,160,.18)}
html[data-theme="dark"] .hero-landscape::after{background:radial-gradient(circle at 69% 34%,rgba(255,209,151,.18),transparent 13%),linear-gradient(105deg,rgba(5,10,15,.25),transparent 24%,transparent 72%,rgba(5,10,15,.34))}
html[data-theme="dark"] .hero-landscape-image{filter:none}
html[data-theme="dark"] .hero-film{filter:saturate(.65) brightness(.68) contrast(1.12)}
html[data-theme="dark"] .project-tile,html[data-theme="dark"] .featured-project,html[data-theme="dark"] .support-card{box-shadow:0 20px 64px rgba(0,0,0,.25)}
html[data-theme="dark"] .project-tile:hover,html[data-theme="dark"] .featured-project:hover,html[data-theme="dark"] .support-card:hover{box-shadow:0 32px 88px rgba(0,0,0,.39)}
html[data-theme="dark"] .custom-cursor{mix-blend-mode:screen}
@keyframes field-film-breathe{from{transform:scale(1.035) translate3d(-.3%,.3%,0)}to{transform:scale(1.12) translate3d(.8%,-.5%,0)}}
@keyframes field-light-pass{0%,12%{left:-38%;opacity:0}24%{opacity:1}48%,100%{left:118%;opacity:0}}
@media(max-width:860px){.hero-topline{grid-template-columns:minmax(0,1fr) 42%;min-height:230px;gap:24px}.hero-image-shell{max-width:none}.hero-monument-stage{height:clamp(230px,43vw,360px)}.case-art{height:340px}.case-hero:has(> .project-detail-actions)> .case-art{grid-column:1;grid-row:3}.case-hero:has(> .project-detail-actions)> .project-detail-actions{grid-column:1;grid-row:2}.case-hero:not(:has(> .project-detail-actions))>.case-art{grid-column:1;grid-row:2}.project-tile:nth-child(3n + 2){transform:none}.project-tile:nth-child(3n + 2):hover{transform:translateY(-6px)}.project-grid.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.project-grid.work-grid>.project-tile,.project-grid.work-grid>.project-tile:nth-child(n){grid-column:span 1;display:flex;flex-direction:column;min-height:0;margin:0;transform:none}.project-grid.work-grid>.project-tile:nth-child(1){grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;min-height:310px}.project-grid.work-grid>.project-tile:nth-child(1) .tile-art{height:100%;min-height:310px}.project-grid.work-grid .tile-body{padding:22px}.project-grid.work-grid .tile-title{font-size:25px}}
@media(max-width:580px){.home-hero-cinema{padding-top:36px}.hero-topline{grid-template-columns:1fr;gap:18px;min-height:0}.hero-manifesto{max-width:none}.manifesto-copy{font-size:clamp(34px,10vw,48px);line-height:1.02}.hero-image-shell{width:86%;justify-self:end;max-width:430px;transform:rotate(1.3deg)}.hero-image-shell .hero-image-card{aspect-ratio:1.48/1}.hero-shell-heading,.hero-shell-caption{font-size:6px;letter-spacing:.6px}.hero-monument-stage{height:clamp(168px,49vw,230px);margin:0 -3vw}.hero-landscape{left:9%;right:-2%;top:21%;height:57%}.hero-monument{font-size:clamp(83px,22vw,130px);bottom:5%}.landscape-caption{left:5px;right:5px;bottom:4px;font-size:4.5px;letter-spacing:.3px}.selected-work-section{padding-top:64px}.selected-work-section .section-title{font-size:clamp(36px,10vw,48px)}.featured-project{min-height:0}.case-hero{padding-top:42px}.case-intro h1{font-size:clamp(44px,12vw,64px)}.case-art{height:250px;transform:none;box-shadow:8px 9px 0 color-mix(in srgb,var(--orange) 16%,transparent)}.case-art:hover{transform:none}.case-content{gap:30px;padding-top:15px}.work-results{padding-bottom:55px}.project-grid.work-grid{grid-template-columns:1fr;gap:16px}.project-grid.work-grid>.project-tile,.project-grid.work-grid>.project-tile:nth-child(n){grid-column:1;display:flex;flex-direction:column;transform:none}.project-grid.work-grid>.project-tile:nth-child(1){grid-column:1;display:flex;min-height:0}.project-grid.work-grid>.project-tile .tile-art,.project-grid.work-grid>.project-tile:nth-child(1) .tile-art{height:220px;min-height:220px}.project-grid.work-grid .tile-body{padding:19px}.project-grid.work-grid .tile-title{font-size:23px}}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero-photo-card::after{animation:none!important}.hero-photo{transform:none}.case-art{transform:none}.case-art:hover{transform:none}.project-tile:nth-child(3n + 2){transform:none}}

/* Java is the first story the homepage tells. */
.manifesto-copy{font-size:clamp(39px,5.3vw,76px)}
.hero-monument{font-size:clamp(132px,27vw,420px);letter-spacing:-.105em}
.java-console{position:absolute;z-index:3;top:clamp(12px,2.3vw,30px);right:clamp(14px,4vw,58px);width:min(390px,46%);padding:11px 15px 10px;background:rgba(7,18,25,.84);border:1px solid rgba(181,215,221,.35);border-top:2px solid var(--orange);box-shadow:0 18px 48px rgba(0,0,0,.24);backdrop-filter:blur(10px);transform:rotate(1.1deg) translateZ(40px);color:#e9f0eb}
.java-console-head,.java-console-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font:7px/1.4 var(--mono);letter-spacing:.75px;color:#9bb9c0}
.java-console-head{height:21px;border-bottom:1px solid rgba(180,210,220,.17);padding-bottom:7px}
.java-console-head .editor-dots{gap:4px}
.java-console-head .editor-dots i{width:4px;height:4px}
.java-console-head>b{color:#ffb76a;font-weight:500}
.java-console pre{margin:10px 0 9px;overflow:hidden;color:#e6eee7;font:clamp(8px,.85vw,11px)/1.55 var(--mono);white-space:pre}
.java-console code span{color:#8fc3d4}
.java-console code strong{color:#f2c17f;font-weight:500}
.java-console code em{font-style:normal;color:#9ac8d7}
.java-console code i{font-style:normal;color:#f7a65a}
.java-console-foot{padding-top:7px;border-top:1px solid rgba(180,210,220,.17);font-size:6px;color:#86a8b2}
.java-console-foot span:last-child{display:inline-flex;align-items:center;gap:5px;color:#a7cfb1}
.java-console-foot i{width:5px;height:5px;border-radius:50%;background:#92c39e;box-shadow:0 0 8px rgba(146,195,158,.8)}
.hero-java-mark{position:absolute;z-index:4;right:clamp(10px,2vw,25px);bottom:clamp(12px,2.1vw,27px);display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;row-gap:2px;padding:9px 12px;background:rgba(7,18,25,.82);border:1px solid rgba(181,215,221,.35);border-left:2px solid var(--orange);color:#eef2ea;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.24);transform:rotate(-1deg)}
.hero-java-mark>b{grid-row:span 2;color:#ffb76a;font:600 21px/.9 var(--mono);letter-spacing:-3px}
.hero-java-mark>span{font:600 8px/1 var(--mono);letter-spacing:1.2px}
.hero-java-mark>i{font:6px/1.2 var(--mono);font-style:normal;letter-spacing:.45px;color:#9bb9c0}
.landscape-caption{font-size:7px;letter-spacing:.85px}
html[data-theme="dark"] .java-console{background:rgba(5,12,18,.82);border-color:rgba(153,199,212,.38);border-top-color:var(--orange)}
@media(max-width:860px){.hero-monument{font-size:clamp(138px,29vw,330px)}.java-console{width:min(360px,53%);right:18px;top:16px}}
@media(max-width:580px){.manifesto-copy{font-size:clamp(38px,11.2vw,55px)}.hero-monument{font-size:clamp(96px,25vw,152px)}.java-console{top:7px;right:8px;width:77%;padding:6px 8px 6px;transform:rotate(.7deg)}.java-console-head{height:14px;padding-bottom:4px;font-size:5px}.java-console-head .editor-dots{gap:2px}.java-console-head .editor-dots i{width:3px;height:3px}.java-console pre{margin:5px 0;font-size:6px;line-height:1.38}.java-console-foot{padding-top:4px;font-size:4px}.java-console-foot i{width:4px;height:4px}.landscape-caption{font-size:4.3px;letter-spacing:.18px}.hero-java-mark{right:7px;bottom:8px;padding:6px 8px;column-gap:6px}.hero-java-mark>b{font-size:15px}.hero-java-mark>span{font-size:6px}.hero-java-mark>i{font-size:4px}}

/* The cursor sits on the nib tip; each wet segment dries from the tail forward. */
.ink-trail-canvas{mix-blend-mode:multiply;opacity:.96}
.custom-cursor{mix-blend-mode:normal}
.cursor-halo{width:48px;height:34px;border:1px solid color-mix(in srgb,var(--blue) 65%,transparent);border-radius:64% 36% 52% 48% / 47% 58% 42% 53%;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--paper) 38%,transparent),color-mix(in srgb,var(--blue) 6%,transparent) 68%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 65%,transparent),0 5px 20px color-mix(in srgb,var(--blue) 14%,transparent);backdrop-filter:blur(1.5px)}
.cursor-halo::before{width:1px;height:54%;background:linear-gradient(180deg,transparent,var(--orange) 38%,var(--orange) 62%,transparent);opacity:.86}
.cursor-halo::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border:1px solid color-mix(in srgb,var(--orange) 75%,var(--ink));border-radius:50%;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--paper) 70%,transparent)}
.cursor-core-ring{width:4px;height:4px;background:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--paper) 72%,transparent),0 0 0 4px color-mix(in srgb,var(--orange) 33%,transparent)}
.cursor-nib{width:24px;height:34px;transform:translate(-50%,-100%) rotate(var(--nib-angle,0deg));transform-origin:50% 100%;filter:drop-shadow(0 2px 3px rgba(20,25,25,.28));transition:filter .2s}
.cursor-nib .nib-shell{fill:url(#nib-metal);stroke:#66401f;stroke-width:1.15;stroke-linejoin:round}
.cursor-nib .nib-facet{fill:none;stroke:rgba(255,247,220,.78);stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}
.cursor-nib .nib-slit{fill:none;stroke:#523119;stroke-width:1.05;stroke-linecap:round}
.cursor-nib .nib-breath{fill:#152d39;stroke:#fff0d2;stroke-width:.8}
.cursor-nib .nib-tip{fill:none;stroke:#fff0d2;stroke-width:.8;stroke-linecap:round;opacity:.72}
.cursor-label{left:18px;top:-31px;padding:6px 9px;background:var(--navy);border:1px solid color-mix(in srgb,var(--orange) 64%,var(--blue));border-radius:2px;color:#fff5e6;font-size:7px;letter-spacing:.85px;box-shadow:0 6px 18px rgba(10,24,31,.22)}
.custom-cursor.is-interactive .cursor-halo{width:42px;height:30px;border-color:var(--orange);background:radial-gradient(ellipse,color-mix(in srgb,var(--orange) 13%,transparent),transparent 72%);box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 70%,transparent),0 6px 23px color-mix(in srgb,var(--orange) 19%,transparent)}
.custom-cursor.is-interactive .cursor-halo::before{width:1px;height:70%}
.custom-cursor.is-interactive .cursor-core-ring{width:5px;height:5px;background:var(--orange)}
.custom-cursor.is-interactive .cursor-nib .nib-shell{fill:url(#nib-metal);stroke:#66401f}
.custom-cursor.is-pressed .cursor-halo{width:35px;height:25px;background:color-mix(in srgb,var(--orange) 18%,var(--paper))}
.custom-cursor.is-pressed .cursor-nib{filter:drop-shadow(0 1px 1px rgba(20,25,25,.32));transform:translate(-50%,-100%) rotate(var(--nib-angle,0deg)) scale(.86)}
.custom-cursor.is-fast .cursor-halo{width:36px;height:24px;opacity:.78}
html[data-theme="dark"] .ink-trail-canvas{mix-blend-mode:screen;opacity:.88}
html[data-theme="dark"] .cursor-nib .nib-shell{stroke:#412718}
html[data-theme="dark"] .cursor-nib .nib-facet{stroke:rgba(255,247,220,.86)}
html[data-theme="dark"] .cursor-nib .nib-slit{stroke:#46291a}
html[data-theme="dark"] .cursor-core-ring{background:#fff1d5;box-shadow:0 0 0 2px rgba(11,17,24,.72),0 0 0 4px rgba(245,130,22,.38)}
@media(prefers-reduced-motion:reduce){.cursor-halo,.cursor-core-ring,.cursor-nib{transition:none!important}}

/* Quiet orbital cursor: direct movement, no pen and no trail. */
.ink-trail-canvas,.cursor-nib{display:none!important}
.custom-cursor{mix-blend-mode:normal}
.cursor-halo{width:28px;height:28px;border:1px solid color-mix(in srgb,var(--blue) 70%,transparent);border-radius:50%;background:color-mix(in srgb,var(--paper) 16%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 58%,transparent);backdrop-filter:none;transition:width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1),border-radius .22s,border-color .22s,background .22s}
.cursor-halo::before{content:none}
.cursor-halo::after{content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;border-radius:50%;background:var(--orange);border:1px solid var(--paper);transform:none}
.cursor-core-ring{width:5px;height:5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--paper) 92%,transparent);transition:transform .18s,background .18s}
.cursor-label{left:22px;top:-9px;padding:5px 8px;background:var(--navy);border:1px solid color-mix(in srgb,var(--blue) 65%,var(--orange));border-radius:2px;color:#fff5e6;font:6px/1 var(--mono);letter-spacing:.75px;box-shadow:0 5px 16px rgba(10,24,31,.2)}
.custom-cursor.is-interactive .cursor-halo{width:39px;height:39px;border-radius:12px;border-color:var(--orange);background:color-mix(in srgb,var(--orange) 8%,var(--paper));box-shadow:0 0 0 1px color-mix(in srgb,var(--paper) 72%,transparent)}
.custom-cursor.is-interactive .cursor-core-ring{background:var(--orange);transform:scale(.82)}
.custom-cursor.is-pressed .cursor-halo{width:25px;height:25px;border-radius:50%;background:color-mix(in srgb,var(--orange) 18%,var(--paper))}
.custom-cursor.is-pressed .cursor-core-ring{transform:scale(1.3)}
html[data-theme="dark"] .cursor-halo{border-color:rgba(162,204,221,.75);background:rgba(143,188,210,.07)}
html[data-theme="dark"] .cursor-halo::after{border-color:#17232c}
html[data-theme="dark"] .cursor-core-ring{background:#f5f1e7;box-shadow:0 0 0 2px rgba(11,17,24,.8)}

/* The lower hero is an editorial process diagram, not a single-language logo. */
.hero-monument-stage{height:clamp(350px,39vw,510px);margin:0 -4.2vw;perspective:none}
.hero-landscape{left:37%;right:2.8%;top:8%;height:78%;transform:rotate(-1.2deg);opacity:1}
.hero-monument{left:2%;right:auto;bottom:17%;display:block;width:52%;font:700 clamp(68px,10.8vw,150px)/.78 var(--display);letter-spacing:-.09em;white-space:normal;text-align:left;transform:none;color:var(--ink);text-shadow:none}
.hero-monument span{display:block}
.hero-monument i{display:block;color:var(--orange);font-style:normal}
html[data-theme="dark"] .hero-monument{color:#f1efe7}
.hero-java-mark{grid-template-columns:18px auto;column-gap:8px;padding:8px 11px}
.hero-java-mark .java-steam{position:relative;grid-row:span 2;width:14px;height:11px;margin-top:4px;border:1px solid rgba(255,183,106,.86);border-top:0;border-radius:0 0 3px 3px}
.hero-java-mark .java-steam::before{content:"";position:absolute;left:3px;top:-7px;width:5px;height:6px;border-left:1px solid #ffb76a;border-radius:50%;transform:rotate(18deg)}
.hero-java-mark .java-steam::after{content:"";position:absolute;right:-5px;top:3px;width:4px;height:5px;border:1px solid rgba(255,183,106,.8);border-left:0;border-radius:0 4px 4px 0}
.hero-java-mark>b{grid-row:auto;color:#ffb76a;font:600 7px/1 var(--mono);letter-spacing:1px}
.hero-java-mark>span:not(.java-steam){display:none}
.hero-java-mark>i{font-size:5px}
@media(max-width:860px){.hero-monument-stage{height:clamp(300px,49vw,400px)}.hero-landscape{left:33%;right:1%;top:11%;height:74%}.hero-monument{left:2%;bottom:18%;width:49%;font-size:clamp(59px,11vw,100px)}}
@media(max-width:580px){.hero-monument-stage{height:clamp(245px,65vw,320px)}.hero-landscape{left:25%;right:-2%;top:14%;height:66%}.hero-monument{left:1%;bottom:19%;width:48%;font-size:clamp(43px,12vw,69px);line-height:.82}.hero-monument-stage .java-console{width:70%;top:9px;right:8px}.hero-java-mark{right:7px;bottom:8px;padding:5px 7px;column-gap:6px}.hero-java-mark>i{font-size:4px}}

/* Make the chapter menu a true viewport overlay at every breakpoint. */
body.menu-open .site-header{z-index:300!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.menu-open .brand{opacity:0;pointer-events:none}
body.menu-open .site-nav{position:fixed;inset:0;z-index:301;min-height:100vh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;isolation:isolate;background:#fffaf1!important;background-image:none!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.menu-open .menu-toggle{position:fixed;z-index:303;right:clamp(16px,4vw,64px);top:calc(14px + env(safe-area-inset-top));min-width:80px;height:38px;background:var(--orange);border-color:var(--orange);color:#fff}
.menu-toggle{display:flex;width:auto;min-width:80px;height:38px;align-items:center;justify-content:center;flex-direction:row-reverse;gap:0;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);box-shadow:0 3px 14px color-mix(in srgb,var(--ink) 8%,transparent)}
.menu-toggle:hover{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 8%,var(--white))}
.menu-toggle[aria-expanded="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
html[data-theme="dark"] body.menu-open .site-nav{background:#0b1118!important}
html[data-theme="dark"] .menu-toggle{background:#15232d;border-color:#38515e;color:#f1f0e8}
html[data-theme="dark"] .menu-toggle[aria-expanded="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
@media(max-width:860px){body.menu-open .site-nav{grid-template-columns:minmax(0,1fr);align-content:center;padding:calc(82px + env(safe-area-inset-top)) clamp(24px,8vw,64px) calc(70px + env(safe-area-inset-bottom));transform:translateY(-105%)}body.menu-open .site-nav.open{transform:translateY(0)}body.menu-open .site-nav>a{font-size:clamp(29px,8vw,52px);padding:clamp(10px,2.2dvh,17px) 0;margin:0!important}body.menu-open .site-nav>a:nth-child(n){margin-inline:0}.site-nav::before{top:calc(24px + env(safe-area-inset-top));left:clamp(24px,8vw,64px)}.site-nav::after{right:clamp(24px,8vw,64px);bottom:calc(23px + env(safe-area-inset-bottom))}}
@media(max-height:560px) and (max-width:860px){body.menu-open .site-nav{align-content:start;padding-top:calc(76px + env(safe-area-inset-top));padding-bottom:calc(64px + env(safe-area-inset-bottom))}body.menu-open .site-nav>a{font-size:clamp(26px,6vw,36px);padding:8px 0}}
@media(max-width:360px){body.menu-open .site-nav{padding-inline:20px}.menu-toggle{min-width:74px;padding-inline:11px}.header-inner{gap:8px}.brand-wordmark{font-size:19px}}

.form-honeypot{display:none!important}.form-actions button:disabled{opacity:.65;cursor:wait}
