@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-display:swap}@font-face{font-family:Crimson;src:url('/assets/fonts/crimson-pro-latin.woff2') format('woff2');font-display:swap}
:root{--ink:#080f13;--panel:#101d22;--line:rgba(202,227,221,.17);--text:#e8eeea;--muted:#a1b5b5;--accent:#a1d8c5;--gold:#e4bc88;--serif:Crimson,Georgia,serif;--sans:Manrope,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ink);color:var(--text);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#9bd3c1;color:#06120f}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{max-width:100%;display:block}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.02}h3{font-size:1.45rem;line-height:1.25;font-weight:500;letter-spacing:-.035em}p{margin-bottom:1.4em}h1{font-size:clamp(3.8rem,6.8vw,7.3rem)}h2{font-size:clamp(2.5rem,4.8vw,4.8rem)}em,.serif-i{font-family:var(--serif);font-weight:400;color:var(--accent)}strong{font-weight:650}small{font-size:.8rem}ul{padding-left:1.2em}button{border:0;background:none}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:99;background:var(--text);color:var(--ink);padding:10px}.skip-link:focus{top:10px}.container{width:min(1240px,calc(100% - 96px));margin:auto}.site-nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 42px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:#091115ef}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand img{width:33px;height:33px}.brand span{font-size:21px;letter-spacing:-.05em}.brand b{font-weight:400;color:var(--gold)}.nav-links{display:flex;align-items:center;gap:27px;font-size:.86rem}.nav-links a{color:#a6b7b8;position:relative;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current]{color:var(--text)}.nav-links a[aria-current]:after{content:'';position:absolute;bottom:-14px;left:0;right:0;height:1px;background:var(--accent)}.nav-links .nav-contact{color:var(--text);padding:10px 0 10px 18px;border-left:1px solid var(--line)}.menu-toggle{display:none;align-items:center;gap:10px;font-size:14px}.eyebrow,.kicker,.section-kicker{display:block;font:500 .75rem/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:'';width:23px;height:1px;background:currentColor;display:inline-block;vertical-align:middle;margin-right:12px}.btn,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:.875rem;min-height:48px;padding:11px 20px;border:1px solid var(--line);transition:background .2s,transform .2s;color:var(--text)}.btn:hover{background:#203238;transform:translateY(-2px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#091914}.btn-primary:hover{background:#c0e8d9;color:#091914}.text-link{border:0;border-bottom:1px solid #91b1ab;padding:8px 0;justify-content:flex-start}.cta-row{display:flex;gap:17px;flex-wrap:wrap;margin-top:28px}.muted,.lead{color:var(--muted)}.lead{font-size:1.0625rem;line-height:1.8;max-width:680px}.brass{color:var(--gold)}
/* The two home experiences share one body of work. */
.home-hero{min-height:min(840px,calc(100svh - 94px));height:calc(100svh - 94px);position:relative;isolation:isolate;overflow:hidden;background:#08141e}.scene-art{position:absolute;inset:0;z-index:-3;overflow:hidden}.scene-art img{width:100%;height:100%;object-fit:cover;object-position:65% 55%;transform:scale(1.025) translate(var(--pan-x,0),var(--pan-y,0));transition:transform 1.8s ease-out}.home-hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,13,22,.9),rgba(4,13,22,.5) 31%,transparent 62%),linear-gradient(0deg,#080f13 0%,transparent 17%,rgba(5,12,18,.16) 88%)}.hero-topline{position:absolute;top:26px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;gap:18px}.scene-index{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#a1b8c3}.view-switch{display:flex;padding:4px;background:#071017ad;border:1px solid #8faab53d;border-radius:40px;gap:3px}.view-switch button{padding:7px 15px;font-size:.75rem;border-radius:25px;color:#94aeb7;transition:.2s}.view-switch button[aria-pressed=true]{background:#d8e6de;color:#142527}.hero-copy{position:absolute;left:6.2%;top:23%;width:min(480px,39%)}.hero-copy h1{font-size:clamp(4.4rem,6.3vw,7.2rem);margin:22px 0 25px;line-height:.96}.hero-copy h1 em{color:#c7d9cd}.hero-copy p{max-width:340px;color:#b6c6cc;font-size:.95rem;line-height:1.8}.hero-copy .text-link{margin-top:6px;border-color:#6a918e}.hero-base{position:absolute;left:42px;right:42px;bottom:28px;display:flex;justify-content:space-between;align-items:flex-end;color:#94aab5;font-size:.75rem;letter-spacing:.03em}.hero-base span{display:block}.hero-base .explore-hint{color:#c3d7d5}.branch{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;background:#07131bcd;border:1px solid #d0e5e033;border-radius:3px;font-size:.78rem;letter-spacing:.02em;transition:background .2s,border-color .2s,transform .2s;z-index:3;box-shadow:0 3px 30px #020a1370}.branch:before{content:'';width:5px;height:5px;background:#b4e7da;border-radius:50%;box-shadow:0 0 0 4px #83c9bd18,0 0 13px #84e5d2}.branch:hover,.branch[aria-expanded=true]{background:#17343c;border-color:#a4dbd3;transform:translateY(-3px)}.branch[data-tone=violet]:before{background:#c8b5f0;box-shadow:0 0 12px #b7a4ed}.branch small{color:#85a2af;font-size:.65rem}.tree-orbit{position:absolute;width:12px;height:12px;background:#d7eaff88;border-radius:50%;filter:blur(2px);left:75%;top:45%;z-index:-1;box-shadow:60px 100px 10px #bcadfa42,-130px 40px 3px #5bc1d52e,170px -80px 4px #c7a2fd33;animation:breathe 7s ease-in-out infinite}.branch-panel{position:absolute;left:6.2%;top:20%;width:365px;max-height:69%;overflow:auto;background:#0c1c25f5;border:1px solid #90b5bd4d;padding:30px;z-index:15;box-shadow:0 22px 80px #0009;animation:appear .3s ease}.branch-panel .close-panel{position:absolute;top:12px;right:12px;width:32px;height:32px;font-size:25px;color:var(--muted)}.branch-panel h2{font-size:3rem;margin:24px 0 17px}.branch-panel p{font-size:.9rem;line-height:1.85;color:#b7c8cd}.branch-panel .tag-row{margin-bottom:20px}.branch-panel .btn{width:100%;margin-top:12px}.studio-mode .scene-art img{object-position:70% 50%;opacity:.85}.studio-mode .hero-copy{width:49%;top:23%}.studio-mode .hero-copy h1{font-size:clamp(4rem,6.8vw,7.7rem)}.studio-mode .home-hero:after{background:linear-gradient(90deg,#0a1216 0%,#0a1216c4 22%,transparent 85%),linear-gradient(0deg,#080f13,transparent 24%)}.studio-mode .branch,.studio-mode .tree-orbit{display:none}.studio-disciplines{position:absolute;right:6%;bottom:15%;display:flex;gap:40px;font:italic 1.5rem var(--serif);color:#d0d6ce}.studio-disciplines span{border-top:1px solid #adc8c246;padding-top:15px}.home-intro{padding:95px 0 62px;display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.home-intro h2{max-width:520px;margin:19px 0}.home-intro p{color:var(--muted);max-width:460px;margin-top:52px;font-size:1.1rem}.project-index{border-top:1px solid var(--line);padding-bottom:90px}.index-head{display:flex;justify-content:space-between;align-items:center;padding:25px 0}.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.branch-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 30px 27px;min-height:220px;position:relative;background:linear-gradient(145deg,#12212755,transparent);transition:background .3s}.branch-card:hover{background:#14272d}.branch-card .number{font-family:var(--serif);font-size:1.2rem;color:#658384}.branch-card h3{margin:19px 0 13px}.branch-card p{font-size:.86rem;color:var(--muted);margin:0;max-width:310px}.branch-card .arrow{position:absolute;top:27px;right:28px;color:var(--accent)}.status{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#8eacac;margin-left:14px}.status:before{content:'·';color:var(--accent);margin-right:6px}.root-note{padding:65px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}.root-note h2{margin:0;max-width:800px}.root-note .btn{white-space:nowrap}
/* Shared page anatomy; each practice has its own composition. */
.page-hero{position:relative;overflow:hidden;isolation:isolate;min-height:545px;padding:83px 0 72px;background:#0b161c;border-bottom:1px solid var(--line)}.page-hero .container{position:relative;z-index:2}.page-hero h1{max-width:800px;margin:20px 0 24px}.page-hero .hero-desc{max-width:515px;color:#afc2c8;font-size:1rem;line-height:1.85}.page-hero .hero-image{position:absolute;z-index:-2;inset:0}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center}.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#09141ced 0%,#09141cda 32%,#09141c19 100%)}.page-hero .folio{position:absolute;bottom:22px;right:40px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#b2c0bd}.page-hero .hero-actions{display:flex;gap:24px;align-items:center;margin-top:28px}.page-hero .hero-note{font-size:.8rem;color:var(--muted)}.page-projects{--accent:#c3d8c3}.page-projects .page-hero{min-height:590px}.page-projects .hero-image{left:26%;opacity:.8}.page-projects .page-hero h1{font-size:clamp(5rem,9vw,10rem);max-width:700px}.page-projects .page-hero .hero-desc{max-width:410px}.page-services{--accent:#94cec6}.page-services .page-hero{background:#10282d;min-height:575px}.page-services .hero-image{left:54%;top:43px;bottom:43px;right:43px;border:1px solid var(--line)}.page-services .hero-image img{object-position:72%}.page-services .page-hero:after{background:linear-gradient(90deg,#10282d 0%,#10282df5 38%,transparent 65%)}.page-services .page-hero h1{max-width:630px}.page-websites{--accent:#b8d0f0;--panel:#121e32}.page-websites .page-hero{background:#142139;min-height:600px}.page-websites .page-hero:after{background:linear-gradient(90deg,#142139,transparent 86%)}.page-websites .hero-image{left:30%;opacity:.3;mix-blend-mode:luminosity}.page-websites .page-hero h1{max-width:640px}.website-type{position:absolute;right:5%;top:26%;font:italic 13rem/1 var(--serif);letter-spacing:-.1em;color:#bdd1f41f;z-index:1;pointer-events:none;transform:rotate(-12deg)}.page-about{--accent:#dac7a6}.page-about .page-hero{background:#191916}.page-about .hero-image{left:52%;filter:sepia(.2);opacity:.7}.page-about .page-hero:after{background:linear-gradient(90deg,#191916 0%,#191916 22%,transparent 90%)}.page-about .page-hero h1{max-width:810px;font-size:clamp(4.2rem,7.9vw,8.5rem)}.page-research{--accent:#a9c9e0}.page-research .page-hero{background:#111c22;min-height:620px}.page-research .hero-image{left:22%;opacity:.9}.page-research .page-hero h1{font-size:clamp(4rem,6.8vw,7rem);max-width:700px}.page-research .page-hero:after{background:linear-gradient(90deg,#101a20 0%,#101a20dc 28%,transparent 85%)}.page-contact{--accent:#e5bd8c}.page-contact .page-hero{min-height:465px;background:#201d19}.page-contact .hero-image{left:35%;opacity:.6;filter:sepia(.5)}.page-contact .page-hero:after{background:linear-gradient(90deg,#201d19,#201d19b8 40%,transparent 100%)}.page-contact .page-hero h1{max-width:750px}.page-for-sale{--accent:#e0b188}.page-for-sale .page-hero{min-height:490px;background:#27211b}.page-for-sale .hero-image{left:44%;opacity:.65}.page-for-sale .page-hero:after{background:linear-gradient(90deg,#27211b,#27211bd9 33%,transparent 100%)}
.section,.proj-group{padding:76px 0;border-bottom:1px solid var(--line)}.section-tight{padding:65px 0}.band-sand{background:#101c22}.band-dark{background:#061116}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:35px}.section-head h2{max-width:650px;margin-bottom:0}.section-head .head-side{max-width:390px;color:var(--muted);font-size:.95rem}.section-head .kicker{margin-bottom:15px}.group-num{font:italic 2rem var(--serif);color:var(--accent);margin-right:25px}.proj-jump{display:flex;gap:14px;flex-wrap:wrap;padding:24px 0;color:var(--muted);font-size:.9rem}.proj-jump a{padding:8px 15px;border:1px solid var(--line)}.proj-group-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.proj-group-head h2{margin:0;font-size:3rem}.group-note{font-size:.9rem;max-width:320px;color:var(--muted)}.disclose{border-top:1px solid var(--line);padding:18px 0}.disclose>summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;min-height:55px}.disclose>summary::-webkit-details-marker{display:none}.disclose>summary:after{content:'+';margin-left:auto;font:300 1.8rem var(--sans);color:var(--accent)}.disclose[open]>summary:after{content:'−'}.disclose-chevron{display:none}.disclose-count,.disclose-meta{color:var(--muted);font-size:.84rem}.disclose--group>summary{padding:8px 0}.disclose-body{padding-top:25px}.card{padding:38px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px 50px}.card>h3{grid-column:1;font:400 2.35rem var(--serif)}.card>p,.card>ul,.card>.cta-row,.card>.video-wrap,.card>.subsection-grid,.card>.find-links{grid-column:2}.card>.tag-row{grid-column:1}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;border:1px solid var(--line);padding:3px 9px;color:#a5c4c4}.tag-live,.tag-field{color:var(--accent)}.tag .dot{width:4px;height:4px;border-radius:50%;background:currentColor}.card p,.card .feat-list,.card .kv{color:var(--muted);font-size:.95rem}.card h3{margin-bottom:8px}.card .kv strong{color:var(--text)}.feat-list li{margin:8px 0}.subsection-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.subsection{padding:20px;border:1px solid var(--line)}.subsection h4{font-weight:500}.subsection-head{display:flex;gap:10px;align-items:center}.find-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.86rem}.find-links a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.video-wrap video{width:100%;max-height:450px}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}.offer-card{padding:30px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(160deg,#20313955,transparent);display:flex;flex-direction:column}.offer-card h3{font:400 2rem var(--serif);margin:18px 0 12px}.offer-icon{color:var(--accent);width:36px;height:36px;margin-bottom:15px}.offer-icon svg{width:30px;height:30px}.offer-head{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.offer-sub,.offer-list,.offer-fine{color:var(--muted);font-size:.9rem}.offer-fine{font-size:.78rem}.offer-cta{margin-top:auto;padding-top:25px;display:flex;gap:12px;flex-wrap:wrap}.offer-list{padding-left:1.1rem}.offer-list li{margin:9px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:steps}.step{padding-top:25px;border-top:1px solid var(--line);color:var(--muted)}.step h3{color:var(--text)}.step:before{counter-increment:steps;content:'0' counter(steps);display:block;font:italic 2.5rem var(--serif);color:var(--accent);margin-bottom:20px}.step svg{display:none}.step p{font-size:.95rem}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:80px}.split>aside{border-left:1px solid var(--line);padding-left:35px}.page-about .split{grid-template-columns:1.5fr 1fr}.page-about h2{margin-top:35px}.side-label{font-size:.75rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}.portrait{border:1px solid var(--line);padding:40px;background:#24231c}.avatar{width:85px;height:85px;color:var(--accent)}.portrait-name{font:400 2rem var(--serif);margin-top:30px}.portrait-role{color:var(--muted);font-size:.9rem}.principles,.cred-list{padding-left:1.2em;color:var(--muted)}.principles li,.cred-list li{padding:8px 0}.divider{margin:40px 0;border-top:1px solid var(--line)}.study-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.study-card{padding:35px;border:1px solid var(--line);background:linear-gradient(140deg,#1e374550,#0b171c);position:relative;display:block}.study-card h3{font:400 2.4rem/1.12 var(--serif);margin:22px 0}.study-card p{color:var(--muted);font-size:.95rem}.study-go{color:var(--accent);font-size:.85rem}.paper-head{max-width:880px;margin-bottom:35px}.paper-title{font-size:3.7rem}.paper-sub,.paper-meta{color:var(--muted)}.paper-meta{display:flex;gap:20px;font-size:.8rem}.prose{max-width:860px;margin:0 auto;line-height:1.9;color:#b5c7ca}.prose h3{font:400 2rem var(--serif);color:var(--text);margin-top:32px}.prose a,.refs a{color:var(--accent);text-decoration:underline}.prose .card{display:block}.callout,.finding{border-left:2px solid var(--accent);padding:20px 27px;background:#182a315c;margin:28px 0}.verdict{padding:25px;border:1px solid var(--line);margin:25px 0}.verdict-label,.probe-id{color:var(--accent);font-size:.8rem;letter-spacing:.08em}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}td,th{border-bottom:1px solid var(--line);padding:16px;text-align:left;vertical-align:top}th{color:var(--text)}.refs{font-size:.9rem}.refs li{padding:9px 0}.provenance{padding:24px;color:var(--muted);border:1px solid var(--line);font-size:.9rem}.paper-actions{display:flex;gap:16px;margin:25px 0}.flourish{display:none}.form-card{padding:32px;border:1px solid var(--line);background:#14242b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:23px}.field label{display:block;font-size:.85rem;margin-bottom:8px;color:#b8cbcb}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #69858c55;border-radius:0;background:#07151c;color:var(--text);padding:13px 15px;min-height:49px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{min-height:145px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#6a878d}.field small{color:var(--muted)}.span-2{grid-column:span 2}.hp{display:none}.preview-form-note{font-size:.8rem;color:var(--gold);padding:12px 0;border-top:1px solid var(--line);margin-bottom:8px}.form-msg{margin-top:18px;color:var(--accent);font-size:.9rem}.after-send{list-style:none;padding:0}.after-send li{display:flex;gap:15px;padding:17px 0;color:var(--muted);font-size:.9rem}.after-send svg{margin-top:5px;color:var(--accent)}.sale-empty{padding:60px;max-width:780px;margin:auto;border:1px solid var(--line);text-align:center;background:linear-gradient(125deg,#342c1d70,#121c20)}.sale-empty svg{color:var(--accent);width:50px;height:50px;margin:0 auto 25px}.sale-empty p{color:var(--muted)}.reveal{opacity:1!important;transform:none!important}.hero-contour,.runic{display:none}
.studio-footer{border-top:1px solid var(--line);padding:48px 42px 66px;background:#060d11}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{font-size:.85rem;color:#7f9a9f;max-width:310px;margin-top:17px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 50px;font-size:.85rem;color:#9db3b6}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding-top:20px;color:#627f85;font-size:.75rem}.preview-note{position:fixed;right:15px;bottom:12px;z-index:50;font-size:.68rem;letter-spacing:.07em;background:#08151ded;border:1px solid #657c804d;padding:6px 12px;color:#92a8af;border-radius:20px;pointer-events:none}.preview-note i{display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%;vertical-align:middle;margin-right:6px}
@keyframes breathe{50%{opacity:.3;transform:translateY(-20px)}}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero-copy{left:calc((100vw - 1460px)/2)}.home-hero{min-height:850px}.scene-art img{object-position:center 50%}}
@media(max-width:1150px){.nav-links{gap:17px;font-size:.8rem}.site-nav{padding:0 28px}.container{width:calc(100% - 64px)}.hero-copy{left:5%;width:40%}.hero-copy h1{font-size:5rem}.branch{font-size:.7rem;padding:8px}.branch small{display:none}.home-intro{gap:45px}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{gap:38px}.site-nav .brand{gap:8px}.site-nav .brand span{font-size:19px}}
@media(max-width:900px){.site-nav{height:76px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:25px 30px;background:#0a171eee;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;font-size:1rem}.nav-links.open{display:grid}.nav-links .nav-contact{padding:0;border:0}.nav-links a[aria-current]:after{bottom:-4px;right:auto;width:25px}.home-hero{height:760px;min-height:0}.hero-topline{top:20px;left:30px;right:30px}.scene-index{font-size:.62rem}.hero-copy{top:24%;width:47%;left:5%}.hero-copy h1{font-size:4.3rem}.hero-copy p{max-width:280px;font-size:.85rem}.branch{font-size:.68rem;gap:7px}.branch-panel{left:5%;width:340px}.branch-grid{grid-template-columns:1fr 1fr}.page-hero h1{font-size:4.5rem;max-width:600px}.page-hero{min-height:520px}.page-services .hero-image{left:35%;opacity:.45}.page-services .page-hero h1{max-width:550px}.page-about .page-hero h1{font-size:5.2rem}.website-type{display:none}.card{gap:15px 30px;grid-template-columns:1fr 1.3fr}.split,.page-about .split{grid-template-columns:1fr}.split>aside{padding:30px 0 0;border:0;border-top:1px solid var(--line)}.home-intro{padding-top:65px}.home-intro p{margin-top:40px}.section-head{align-items:flex-start;flex-direction:column;gap:20px}.steps{gap:25px}.hero-base{left:30px;right:30px}.studio-disciplines{font-size:1.2rem;gap:20px}.studio-mode .hero-copy h1{font-size:5rem}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.site-nav{padding:0 20px}.site-nav .brand span{font-size:20px}.home-hero{height:870px}.hero-topline{left:20px;right:20px;top:19px;align-items:flex-start;gap:10px}.scene-index{font-size:.62rem;max-width:90px;line-height:1.8}.view-switch button{padding:7px 11px;font-size:.7rem}.hero-copy{left:24px;top:111px;width:calc(100% - 48px)}.hero-copy h1{font-size:4.5rem;max-width:380px;margin:16px 0 18px}.hero-copy .eyebrow{font-size:.65rem}.hero-copy p{max-width:310px;font-size:.9rem}.hero-copy .text-link{font-size:.8rem}.scene-art{top:355px;bottom:12px;left:-28%;right:-8%}.scene-art img{object-position:72% center;opacity:.92;transform:none!important}.home-hero:after{background:linear-gradient(0deg,#080f13 0%,transparent 15%,transparent 49%,#08141e 63%)}.branch{top:auto!important;left:auto!important;bottom:160px;font-size:.7rem}.branch:nth-of-type(1){left:7%!important;bottom:240px}.branch:nth-of-type(2){right:7%;bottom:280px}.branch:nth-of-type(3){left:14%!important;bottom:130px}.branch:nth-of-type(n+4){display:none}.hero-base{left:24px;right:24px;bottom:22px;font-size:.63rem;gap:15px}.branch-panel{left:20px;right:20px;width:auto;top:160px;max-height:500px;padding:27px}.branch-panel h2{font-size:2.8rem}.hero-base .explore-hint{text-align:right;max-width:120px}.studio-mode .home-hero{height:830px}.studio-mode .hero-copy{top:111px;width:calc(100% - 48px)}.studio-mode .hero-copy h1{font-size:4.6rem}.studio-mode .home-hero:after{background:linear-gradient(0deg,#080f13,transparent 25%,transparent 46%,#0a1216 62%)}.studio-mode .scene-art{top:340px;left:-42%;bottom:0}.studio-disciplines{right:24px;left:24px;bottom:76px;justify-content:space-between;font-size:1.05rem;gap:10px}.home-intro{grid-template-columns:1fr;gap:0;padding:55px 0 35px}.home-intro h2{font-size:3.1rem;max-width:350px}.home-intro p{margin:5px 0 0;font-size:.95rem}.branch-grid{grid-template-columns:1fr}.branch-card{min-height:185px;padding:25px}.branch-card h3{font-size:1.45rem}.branch-card p{font-size:.9rem}.index-head{align-items:flex-start;gap:15px}.index-head .text-link{font-size:.8rem;min-height:30px}.root-note{flex-direction:column;align-items:flex-start;padding:45px 0}.root-note h2{font-size:3rem}.page-hero,.page-projects .page-hero,.page-services .page-hero,.page-websites .page-hero,.page-about .page-hero,.page-research .page-hero,.page-contact .page-hero,.page-for-sale .page-hero{min-height:0;padding:55px 0 60px}.page-hero h1,.page-projects .page-hero h1,.page-about .page-hero h1,.page-research .page-hero h1{font-size:3.9rem;max-width:100%;margin-top:20px}.page-hero .hero-desc{font-size:.95rem}.page-hero .hero-image{left:0;right:0;top:0;bottom:0;opacity:.23}.page-hero:after{background:linear-gradient(90deg,#0a161cf5,#0a161c44)!important}.page-hero .folio{font-size:.63rem;bottom:18px;right:20px}.page-hero .hero-actions{flex-wrap:wrap;gap:15px}.section,.proj-group{padding:45px 0}.section-tight{padding:40px 0}.section-head h2{font-size:2.9rem}.offer-grid,.study-list,.steps{grid-template-columns:1fr}.offer-card{padding:27px}.step{padding-bottom:15px}.card{display:block;padding:28px 0}.card>h3{font-size:2.3rem}.card>.tag-row{margin:18px 0}.card p{font-size:.95rem}.subsection-grid{grid-template-columns:1fr}.proj-group-head{display:block}.proj-group-head h2{font-size:2.6rem}.group-note{margin-top:20px}.proj-jump{font-size:.8rem;gap:8px}.proj-jump a{padding:6px 9px}.group-num{margin-right:12px}.disclose>summary{flex-wrap:wrap;font-size:.92rem;gap:12px}.disclose>summary:after{font-size:1.3rem}.disclose-count,.disclose-meta{font-size:.78rem}.form-card{padding:22px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.field input,.field textarea,.field select{font-size:16px}.study-card{padding:25px}.paper-title{font-size:2.8rem}.paper-meta{flex-wrap:wrap}.paper-actions{flex-wrap:wrap}.sale-empty{padding:30px 25px}.studio-footer{padding:40px 24px 70px}.footer-top{flex-direction:column;gap:15px}.footer-bottom{flex-direction:column;gap:10px}.footer-links{column-gap:25px}.preview-note{font-size:.6rem}.brand span{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scene-art img{transform:none!important}}
/* Long-form reading and preserved structured project details. */
.card>.kv{grid-column:2}.kv{display:grid;grid-template-columns:90px 1fr;gap:8px 20px;font-size:.86rem}.kv dt{color:#708f96}.kv dd{margin:0;color:#b5c9ca}.card>.tag-row{grid-row:1}.card>h3{grid-row:2}.card>p:first-of-type{grid-row:1 / span 2}.card>p{margin-bottom:12px}.find-links a{display:inline-flex;align-items:center;gap:8px}.find-links svg{width:17px;height:17px}.avatar{font:italic 4rem var(--serif);height:auto}.cred-list{list-style:none;padding:0}.cred-list li{display:flex;gap:15px;align-items:center}.section-head .kicker+ h2{margin-top:12px}.proj-group-head .group-num{flex-shrink:0}.research-report .report-head{max-width:1000px}.research-report .report-title{font-size:clamp(3.2rem,6vw,6rem);margin:24px 0}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:25px;font-size:.83rem}.report-meta dt{color:var(--accent);margin-bottom:6px}.report-meta dd{margin:0;color:var(--muted)}.report-byline{color:var(--muted);font-size:.9rem}.research-report .toc{padding:25px;border:1px solid var(--line);font-size:.9rem;margin:30px 0}.research-report .toc a{display:block}.eqn,.eqn-print{font:1.1rem/1.8 Georgia,serif;overflow:auto;padding:20px 25px;background:#101f2655;border-left:1px solid var(--accent);margin:25px 0}.eqn-no{float:right;color:var(--muted);margin-left:25px}.fignote{color:var(--muted);font-size:.83rem}.prose figure svg,.prose>svg,.print-doc svg{width:100%;height:auto}.prose h2{font-size:3rem;margin-top:50px}.sec-no{color:var(--accent);margin-right:18px}.print-doc{max-width:980px;padding:55px;margin:55px auto;background:#ecece5;color:#252b2c;font-family:var(--serif);font-size:1.15rem;line-height:1.65}.print-doc .report-h1{font-size:3.7rem;margin:30px 0}.print-doc .meta,.print-doc .pmeta-grid{font-family:var(--sans);font-size:.8rem;color:#50626a}.print-doc a{color:#376371;text-decoration:underline}.print-doc h2{font-size:2.4rem;margin-top:40px}.print-doc h3{font-family:var(--serif);font-size:1.8rem}.print-doc .btn{color:#24363a;border-color:#62757b;font-family:var(--sans);text-decoration:none}.print-doc .abstract-box,.print-doc .toc-print{padding:25px;background:#dde1d9;border:1px solid #82918a66;margin:30px 0}.print-doc .toc-print a{display:block}.print-doc .refs{font-family:var(--sans)}.print-doc td,.print-doc th{border-color:#758682}.print-doc th{color:#213234}.print-doc .eqn-print{background:#d8ddd5}.print-doc .fignote{color:#5c7174}.print-doc .numbered{counter-reset:section}.print-doc .v{font-style:italic}
@media(max-width:600px){.card>.kv{display:grid;grid-template-columns:75px 1fr}.card>.tag-row{margin-top:0}.report-meta{grid-template-columns:1fr}.print-doc{padding:25px;width:calc(100% - 24px);margin:20px auto;font-size:1.05rem}.print-doc .report-h1{font-size:2.9rem}.research-report .report-title{font-size:3.2rem}.print-doc .paper-actions{flex-direction:column}.kv{font-size:.8rem;gap:7px 13px}}
@media print{body{background:white!important;color:black!important}.site-nav,.studio-footer,.preview-note,.skip-link,.paper-actions{display:none!important}.print-doc{max-width:none;width:100%;padding:0;margin:0;color:black;background:white;font-size:11pt}.print-doc a{color:black}.print-doc h1{font-size:26pt!important}.print-doc h2{font-size:20pt}.print-doc h3{font-size:16pt}section{break-inside:auto}.eqn-print,.abstract-box{break-inside:avoid}}

/* Revision 2: dedicated photographic subjects, with the accepted layout preserved. */
.page-services .hero-image{left:52%;top:35px;right:35px;bottom:35px;opacity:1}
.page-services .hero-image img{object-position:70% center}
.page-services .page-hero:after{background:linear-gradient(90deg,#10282d 0%,#10282df5 40%,#10282d40 65%,transparent 92%)}
.page-websites .hero-image{left:33%;opacity:.95;mix-blend-mode:normal}
.page-websites .hero-image img{object-position:70% 50%}
.page-websites .page-hero:after{background:linear-gradient(90deg,#142139 0%,#142139ed 33%,#14213960 57%,transparent 100%)}
.page-websites .website-type{display:none}
.page-about .hero-image{left:42%;filter:none;opacity:.95}
.page-about .hero-image img{object-position:65% center}
.page-about .page-hero:after{background:linear-gradient(90deg,#191916 0%,#191916e8 31%,#19191660 60%,transparent 95%)}
.page-research .hero-image{left:25%;opacity:1}
.page-research .hero-image img{object-position:68% center}
.page-research .page-hero:after{background:linear-gradient(90deg,#101a20 0%,#101a20e0 29%,#101a2055 57%,transparent 91%)}
.page-contact .hero-image{left:36%;opacity:.93;filter:none}
.page-contact .hero-image img{object-position:70% 58%}
.page-contact .page-hero:after{background:linear-gradient(90deg,#201d19 0%,#201d19e8 31%,#201d1966 62%,transparent 100%)}
.page-for-sale .hero-image{left:37%;opacity:1}
.page-for-sale .hero-image img{object-position:67% center}
.page-for-sale .page-hero:after{background:linear-gradient(90deg,#27211b 0%,#27211be8 31%,#27211b55 65%,transparent 100%)}
.page-hero .folio{z-index:2;text-shadow:0 1px 7px #000}
@media(max-width:900px) and (min-width:601px){.page-services .hero-image{left:35%;opacity:.85}.page-hero .hero-image img{object-position:75% center}}
@media(max-width:600px){
 .page-projects{--photo-veil:#0b161c}.page-services{--photo-veil:#10282d}.page-websites{--photo-veil:#142139}.page-about{--photo-veil:#191916}.page-research{--photo-veil:#111c22}.page-contact{--photo-veil:#201d19}.page-for-sale{--photo-veil:#27211b}
 .page-projects .page-hero,.page-services .page-hero,.page-websites .page-hero,.page-about .page-hero,.page-research .page-hero,.page-contact .page-hero,.page-for-sale .page-hero{padding-bottom:275px}
 .page-hero .hero-image{left:0;right:0;top:auto;bottom:0;height:265px;opacity:1;border:0}
 .page-hero .hero-image img{object-position:65% 54%;opacity:1}
 .page-hero:after{background:linear-gradient(0deg,#00000025 0%,transparent 22%,var(--photo-veil,#0b161c) 270px)!important}
 .page-hero .folio{bottom:17px;left:20px;right:20px;padding-top:13px;border-top:1px solid #d5ded533;color:#dae3db;font-size:.64rem}
}

/* The studio is the front door; the living scene is an invitation. */
.grow-invitation{position:absolute;right:18%;top:61%;z-index:5;display:flex;align-items:center;gap:24px;padding:20px 25px;text-align:left;background:#06141b66;border:1px solid #bce3c42b;border-radius:70px;backdrop-filter:blur(12px);box-shadow:0 15px 60px #030b1855;transition:background .25s,border-color .25s}
.grow-invitation:hover{background:#132e32c9;border-color:#acdec777}
.grow-invitation>span:last-child{font-family:var(--serif);font-size:1.8rem;line-height:1.1}
.grow-invitation small{display:block;font:500 .7rem var(--sans);letter-spacing:.11em;text-transform:uppercase;color:#9bbaae;margin-bottom:7px}
.grow-invitation b{font:400 1rem var(--sans);margin-left:20px;color:var(--gold)}
.firefly-light{display:block;position:relative;width:8px;height:8px;margin:10px;background:#e9ffe6;border-radius:50%;box-shadow:0 0 8px 3px #d9ffbfb3,0 0 28px 12px #afdd9140,0 0 65px 28px #8dc8a325;animation:firefly-drift 7s ease-in-out infinite}
@keyframes firefly-drift{0%,100%{transform:translate(0,0);opacity:.85}28%{transform:translate(8px,-10px);opacity:1}62%{transform:translate(-7px,5px);opacity:.65}}
.tree-stage{position:absolute;left:32%;right:0;top:65px;bottom:0;z-index:1;opacity:0;transition:opacity .8s;mask-image:linear-gradient(90deg,transparent,black 10%,black 93%,transparent)}
.tree-rendered .tree-stage{opacity:1}
.tree-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.tree-stage canvas.dragging{cursor:grabbing}
.hero-copy,.hero-topline,.hero-base{z-index:4;pointer-events:none}
.hero-copy a,.hero-topline button,.hero-base a{pointer-events:auto}
.tree-view .hero-copy{width:33%;top:23%}
.tree-view .hero-copy h1{font-size:clamp(4.1rem,5.7vw,6.6rem)}
.tree-view .scene-art{inset:0;opacity:.85}
.tree-view .scene-art img{object-position:center 66%;transform:none}
.tree-view .home-hero:after{z-index:2;pointer-events:none;background:linear-gradient(90deg,#07121cec,transparent 44%),linear-gradient(0deg,#080f13,transparent 12%,transparent 88%,#08141e66)}
.tree-rendered .branch{left:var(--node-x)!important;top:var(--node-y)!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%);z-index:5;background:#06161dcc;backdrop-filter:blur(8px);font-size:.75rem;padding:7px 10px}
.branch-panel{z-index:8}
.tree-controls{position:absolute;left:6.2%;bottom:115px;z-index:6;display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:300px}
.tree-controls button{font-size:.75rem;border:1px solid #a2c3b04d;background:#0a1c24b3;padding:8px 12px;border-radius:25px;min-height:40px}
.tree-controls button:hover{border-color:var(--accent);background:#203b3d}
.tree-controls>span{width:100%;font-size:.75rem;color:#8ca9a9}
.tree-status{position:absolute;bottom:120px;left:6.2%;z-index:6;font-size:.8rem;color:#a5c4bc;max-width:280px}
@media(min-width:1700px){.tree-controls{left:calc((100vw - 1460px)/2)}}
@media(max-width:900px){.grow-invitation{right:8%;top:64%;padding:18px;gap:12px}.grow-invitation>span:last-child{font-size:1.5rem}.tree-stage{left:25%;top:100px}.tree-view .hero-copy{width:40%;top:20%}.tree-view .hero-copy h1{font-size:4.2rem}.tree-controls{left:5%;bottom:110px}}
@media(max-width:600px){.grow-invitation{right:24px;top:auto;bottom:150px;padding:17px 21px;gap:14px}.grow-invitation>span:last-child{font-size:1.8rem}.grow-invitation small{font-size:.7rem}.tree-stage{left:0;right:0;top:395px;bottom:80px;mask-image:linear-gradient(0deg,transparent,black 14%,black 93%,transparent)}.tree-view .hero-copy{left:24px;top:100px;width:calc(100% - 48px)}.tree-view .hero-copy h1{font-size:4.3rem;margin-top:15px;margin-bottom:18px}.tree-view .hero-copy p{font-size:.9rem;max-width:340px}.tree-view .scene-art{top:365px;left:-55%;right:-55%;bottom:50px;opacity:.8}.tree-view .home-hero:after{background:linear-gradient(0deg,#080f13,transparent 13%,transparent 58%,#08141e 67%)}.tree-rendered .branch{font-size:.68rem;padding:7px 9px}.tree-controls{left:24px;right:24px;bottom:75px;width:auto;justify-content:center;gap:10px}.tree-controls>span{display:none}.tree-controls button{font-size:.75rem}.tree-status{bottom:100px;left:24px;right:24px;max-width:100%;text-align:center}.tree-rendered .branch-panel{top:250px}.studio-mode .home-hero{height:830px}}
@media(prefers-reduced-motion:reduce){.firefly-light{animation:none}.tree-stage{transition:none}}

/* Keep copy, actions and scene controls in flow, including short desktop windows. */
.page-home .home-hero{height:auto;min-height:calc(100svh - 94px);padding:clamp(130px,17svh,185px) 6.2% 125px}
.page-home .home-hero .hero-copy{position:relative;left:auto;top:auto;width:min(480px,39vw)}
.page-home.tree-view .home-hero .hero-copy{width:min(480px,33vw)}
.hero-copy button{pointer-events:auto}
.page-home .tree-controls{position:static;width:100%;margin-top:25px;gap:10px 12px}
.page-home .tree-status{position:static;margin:22px 0 0;max-width:100%}
.tree-rendered .home-hero .branch{display:flex;width:44px;height:44px;justify-content:center;padding:0;gap:0;border:0;border-radius:50%;background:transparent;box-shadow:none;backdrop-filter:none}
.tree-rendered .branch:before{width:7px;height:7px;box-shadow:0 0 8px 3px #bde9e06b,0 0 23px 8px #80babc30;flex-shrink:0}
.tree-rendered .branch span{position:absolute;left:100%;top:50%;transform:translateY(-50%);width:max-content;max-width:min(250px,calc(100vw - var(--node-x) - 38px));padding:11px 16px;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;text-align:left;font:700 1.125rem/1.3 var(--sans);letter-spacing:.01em;color:#f0fff7;background:linear-gradient(135deg,#173b3afc,#091a24fc);border:1px solid #b7edcf99;border-radius:8px;box-shadow:0 8px 24px #02090f99,0 0 18px #98e7c326,inset 0 1px 0 #e0ffeb1a;text-shadow:0 1px 8px #bfeadc26;opacity:0;transition:opacity .2s;pointer-events:none;user-select:none}
.tree-rendered .branch[data-side=left] span{left:auto;right:100%;max-width:min(250px,calc(var(--node-x) - 38px))}
.tree-rendered .home-hero .branch:is(:hover,:focus-visible,[aria-expanded=true]){z-index:7}
.tree-rendered .branch:hover span,.tree-rendered .branch:focus-visible span,.tree-rendered .branch[aria-expanded=true] span{opacity:1}
.tree-rendered .branch small{display:none}
@media(max-width:900px){
 .page-home .home-hero{min-height:calc(100svh - 76px);padding:140px 5% 125px}
 .page-home .home-hero .hero-copy{width:44vw}
 .page-home.tree-view .home-hero .hero-copy{width:40vw}
}
@media(max-width:600px){
 .page-home .home-hero{height:auto;min-height:1000px;padding:100px 24px 610px}
 .page-home .home-hero .hero-copy,.page-home.tree-view .home-hero .hero-copy{width:100%}
 .page-home.tree-view .hero-copy h1{font-size:clamp(3.2rem,12vw,4rem)}
 .page-home .tree-controls{justify-content:flex-start;margin-top:22px}
 .page-home .tree-stage{top:auto;bottom:95px;height:480px}
 .page-home.tree-view .scene-art{top:auto;bottom:80px;height:530px}
 .page-home.tree-view .home-hero:after{background:linear-gradient(0deg,#080f13,transparent 120px,transparent 540px,#08141e 650px)}
 .page-home.studio-mode .home-hero{height:auto;min-height:830px;padding-bottom:370px}
 .page-home.tree-rendered .branch-panel{position:fixed;top:50%;transform:translateY(-50%);max-height:75svh;z-index:45}
}

/* Project details should read cleanly over the hero headline. */
.branch-panel{background:#0c1c25}

/* Quiet editorial imagery gives each branch its own material and atmosphere. */
.branch-card{isolation:isolate;overflow:hidden;background:#0b151b;transition:background .25s ease,box-shadow .25s ease}
.branch-card-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:73% 50%;opacity:.84;filter:saturate(.72);transform:scale(1.01);transition:transform .6s ease,opacity .35s ease}
.branch-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,14,19,.12),rgba(6,14,19,.57) 43%,rgba(6,14,19,.94)),linear-gradient(90deg,rgba(6,14,19,.57),rgba(6,14,19,.05) 85%)}
.branch-card .number,.branch-card .status{color:#b8cbc9;text-shadow:0 1px 8px #061016}
.branch-card h3{color:#edf1e9;text-shadow:0 2px 14px #04101880}
.branch-card p{color:#c1cecf}
.branch-card .arrow{color:#d5e9df}
.branch-card:hover,.branch-card:focus-visible{background:#13252d;box-shadow:inset 0 0 0 1px #bad6ca70}
.branch-card:hover .branch-card-art,.branch-card:focus-visible .branch-card-art{opacity:1;transform:scale(1.055)}
.branch-card:focus-visible{outline:2px solid #d5e9df;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.branch-card,.branch-card-art{transition:none}.branch-card:hover .branch-card-art,.branch-card:focus-visible .branch-card-art{transform:none}}

/* Keep the established marketplace enhancement compatible with the studio palette. */
.page-for-sale{--font-mono:var(--sans);--font-display:var(--serif);--ink:var(--text);--ink-soft:var(--muted);--green:var(--accent);--on-green:#08151c;--green-ink:#183f3d;--on-green-mut:#aec9c4;--line-strong:#648e89;--line-on-green:#8fc2b366;--card:var(--panel);--sand:#0d2028;--brass:var(--gold);--brass-bright:#f6d29f;--danger:#bb665e;--warn:#ac8450;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-md:0 12px 35px #0004;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px}
.page-for-sale .lightbox{--on-green:#e8eeea}
.form-msg.err{color:#ffb2a3}.form-msg[hidden]{display:none}

/* ── Narrow-viewport headline fix — linux-laptop 2026-09-07 ───────────────────
   MEASURED at 375x812 before this rule: <h1> font-size 73.6px, scrollWidth 348
   vs clientWidth 327 — the first word of the site's primary headline,
   "Thoughtfully", was CLIPPED by 21px on the most common phone width.
   The page had no horizontal overflow, so this was purely the type scale: the
   fixed 5rem at <=600px does not know how wide the viewport actually is.
   min() keeps the existing 5rem wherever it fits and scales with the viewport
   where it does not, so the longest word can no longer overflow its box.
   Both selectors are listed because studio and tree views size the h1 apart. */
@media (max-width: 600px) {
    .hero-copy h1,
    .studio-mode .hero-copy h1 { font-size: min(5rem, 17vw); }
}
/* ── Branch beacons: make the dots say "tap me" without a word ────────────────
   linux-laptop 2026-09-07, owner-approved (options 1 + 2 of 3).
   HIS COMPLAINT: "there's nothing directing the people to click on anything...
   nothing tells them to do anything there."
   MEASURED: 10 dots, 10 labels, and the label TEXT was reachable only by hover.
   On touch there is no hover, so a phone showed ten unexplained dots; the only
   instruction was one small line bottom-right.
   ⚠ OPTION 2 TURNED OUT TO BE ALREADY BUILT: the buttons are 44x44 (meets the
   tap-target bar), a tap toggles aria-expanded, and `.branch[aria-expanded=true]
   span` already reveals the label. So tap-to-reveal WORKS - it was never the gap.
   THE GAP WAS ONLY THAT NOTHING INVITED THE TAP. Hence a beacon, not a label:
   research says reserve hidden affordances for secondary actions and NEVER for
   primary navigation, and these dots are the way in to every project.
   WHY transform AND NOT box-shadow: `.branch[data-tone=violet]:before` carries its
   OWN shadow. Animating box-shadow would repaint every tone the same mint and
   quietly flatten the colour design. scale() leaves all colour alone.
   WHY NOT opacity/visibility: those are driven by the tree's own JS. An earlier
   attempt of mine fought that mechanism and hid the labels permanently. Not again.
   Staggered so ten dots do not blink in unison, which reads mechanical. */
@keyframes seidr-branch-beacon { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.5); } }
.tree-rendered .branch:before { animation: seidr-branch-beacon 2.6s ease-in-out infinite; }
.tree-rendered .branch:nth-of-type(3n):before   { animation-delay: .55s; }
.tree-rendered .branch:nth-of-type(3n+1):before { animation-delay: 1.15s; }
@media (prefers-reduced-motion: reduce) { .tree-rendered .branch:before { animation: none; } }

/* ── Nav link tap targets: 23px -> 24px minimum (WCAG 2.2 AA, 2.5.8) ──────────
   linux-laptop 2026-09-07, from CVXK's cold critique of my own fix.
   MEASURED: Projects 53x23 · Services 54x23 · Websites 59x23 · Research 60x23 ·
   For sale 49x23 · Studio 42x23 — six nav links one pixel under the minimum.
   🛑 CVXK SAID FOOTER AND I "CORRECTED" THEM TO HEADER NAV. CVXK WAS RIGHT.
   These are `nav.footer-links` inside `footer.studio-footer`. My classifier asked
   `e.closest('nav')` — and the FOOTER'S OWN <nav> matched — so it reported "nav"
   and I read that as the header. I then shipped padding onto `.nav-links a`, which
   was never the defect. A true answer to the wrong question, stated confidently.
   padding-block grows the pointer target; the equal negative margin-block keeps
   the visual layout byte-identical, so nothing moves on the page. */
.footer-links a { padding-block: 5px; margin-block: -5px; }
/* S-LX-222: labels start hidden; the tree reveals them inline once grown */
.branch{visibility:hidden}

.page-home.tree-view .studio-disciplines,.page-home.tree-view .grow-invitation{display:none}
