/* Quiet Currents — two rooms, one home.
   Visual references (never printed in the UI):
   Wander hero: silver-green valleys, flowing arches; tools: a warm garden;
   notes: sea mist and distant gold; dusk: old woods, rain, a half-hidden light.
   The study tab uses a neutral, restrained palette and practical typography. */
:root {
  color-scheme: light;
  --paper:#f5f4ee; --surface:#faf9f5; --ink:#293e36; --text:#526158;
  --muted:#69776c; --line:#d8ddd1; --green:#506c59; --green-dark:#354f40;
  --sage:#e9ede3; --sage-deep:#d8e1cd; --warm:#a17c49; --warm-pale:#eee4d2;
  --sky:#e0e9e5; --hill-far:#c7d4cb; --hill-middle:#a4bba9; --hill-near:#7f9b83;
  --plant:#54745c; --plant-alt:#718b6b; --diagram:#78927b;
  --garden:#eaf0e2; --garden-card:#f8f8f1; --gold:#b9a265;
  --sea:#e9efed; --sea-ink:#38585a; --sea-line:#bdceca;
  --study-bg:#f1f3ee; --study-panel:#f8faf6; --study-ink:#293b34;
  --header-height:94px; --shadow:0 16px 40px #293e3609;
  --serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
  --sans:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;
  --soft-sans:Optima,Candara,'Trebuchet MS','Segoe UI',Arial,sans-serif;
  --reading:'Palatino Linotype','Book Antiqua',Palatino,'Iowan Old Style',Georgia,serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
[data-theme=dusk] {
  color-scheme:dark;
  --paper:#172720; --surface:#1d3026; --ink:#e0e5d8; --text:#b8c7ba;
  --muted:#a0b1a1; --line:#3a5141; --green:#adc3a1; --green-dark:#d7e3cd;
  --sage:#223a2b; --sage-deep:#334e37; --warm:#d1b077; --warm-pale:#4c4630;
  --sky:#273f39; --hill-far:#385a4b; --hill-middle:#486a52; --hill-near:#5a7956;
  --plant:#9db68c; --plant-alt:#78976e; --diagram:#9bb28f;
  --garden:#203928; --garden-card:#1c3024; --gold:#c1ab71;
  --sea:#1b3031; --sea-ink:#cfdfd9; --sea-line:#446362;
  --study-bg:#192a24; --study-panel:#20332b; --study-ink:#d9e5da;
  --shadow:0 16px 40px #00000012;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased;transition:background .35s,color .35s}
button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block}button svg{pointer-events:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--warm);outline-offset:5px}
::selection{background:var(--sage-deep);color:var(--ink)}[hidden]{display:none!important}
.page-shell{max-width:1440px;margin:auto;padding:0 76px}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 18px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
/* Persistent header: opaque paper keeps the reading surface calm when scrolling. */
.site-header{height:var(--header-height);position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;transition:background .35s,box-shadow .2s}
.site-header:before{content:'';position:absolute;inset:0 -76px;background:var(--paper);z-index:-1;border-bottom:1px solid var(--line)}
.site-header.scrolled{box-shadow:0 12px 22px -20px #20372ba0}
.brand{display:flex;align-items:center;font-size:25px;letter-spacing:-.8px;font-weight:500;line-height:1;flex-shrink:0}
.brand-mark{width:38px;margin-right:11px}.brand-mark svg{fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round}.brand-dot{color:var(--warm)}
.view-tabs{display:flex;align-items:center;gap:25px;margin-left:26px;height:100%;white-space:nowrap}
.view-tabs a{font-size:14px;position:relative;color:var(--text);height:100%;display:flex;align-items:center}
.view-tabs a:after{content:'';position:absolute;bottom:-1px;height:2px;left:0;right:100%;background:var(--green);transition:right .2s}
.view-tabs a[aria-selected=true]{color:var(--ink)}.view-tabs a[aria-selected=true]:after{right:0}.view-tabs a:hover{color:var(--ink)}
.main-nav{display:flex;gap:24px;margin-left:auto;font-size:14px;color:var(--text)}.main-nav a:hover{color:var(--ink)}
.theme-toggle{display:flex;align-items:center;gap:9px;padding:9px 0 9px 22px;border:0;border-left:1px solid var(--line);background:none;font-size:13px;color:var(--text);min-width:110px;justify-content:center}
.theme-toggle svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
/* Title typography is retained from the first version. */
.hero{min-height:688px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;padding:70px 0 48px}
.hello{margin:0 0 20px;color:var(--text);font-size:20px;font-family:var(--soft-sans)}
.hero h1{font-family:var(--serif);font-size:clamp(64px,6.7vw,94px);font-weight:400;line-height:1.04;letter-spacing:-4.3px;margin:0 0 30px}
.hero h1 em,h2 em{font-weight:400;color:var(--green)}
.hero-description{color:var(--text);font-family:var(--soft-sans);font-size:18px;line-height:1.85;max-width:465px;margin:0}
.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}
.primary-link{background:var(--green-dark);color:var(--paper);font-size:14px;padding:13px 21px;border:1px solid var(--green-dark);display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border-radius:3px;transition:transform .2s,box-shadow .2s}
.primary-link:hover{transform:translateY(-2px);box-shadow:0 6px 13px #26372d15}
.text-link{font-size:14px;display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0;color:var(--text)}.text-link:hover{color:var(--ink);border-color:var(--green)}
.eyebrow,.section-label{font-family:var(--sans);font-size:12px;letter-spacing:1.5px;color:var(--muted);font-weight:400}
.eyebrow{margin:0 0 25px}.section{padding:84px 0;border-bottom:1px solid var(--line)}
h2{font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.16;letter-spacing:-1.7px;margin:0}
/* Abstract original SVG: drifting land, light, river, and open arches. */
.hero-art{margin:0;padding-top:10px;align-self:center;min-width:0}
.landscape{width:100%;max-height:530px;overflow:visible}
.outer-orbit{stroke:var(--line);stroke-width:1;stroke-dasharray:2 9}
.sky-fill{fill:var(--sky)}.sun-fill{fill:var(--warm-pale)}
.hill-far{fill:var(--hill-far)}.hill-middle{fill:var(--hill-middle)}.hill-near{fill:var(--hill-near)}
.valley-mist{stroke:var(--paper);stroke-width:2.2;opacity:.32}.river-bed{stroke:var(--sky);stroke-width:12;opacity:.6}.river-light{stroke:var(--surface);stroke-width:2;opacity:.7}
.arch-lines{stroke:var(--diagram);stroke-width:1.2;opacity:.72}.arch-lines path:nth-child(2){opacity:.45}
.contour-back{fill:var(--sage-deep);fill-opacity:.84}.contour-front{fill:var(--sky);fill-opacity:.85}.contour-line{stroke:var(--diagram);stroke-width:1;opacity:.6}
.gold-leaf{fill:var(--gold)}.silver-leaf{fill:var(--hill-middle)}.leaf-a{opacity:.7}.leaf-b{opacity:.8}.leaf-d{opacity:.55}
.light-petal{fill:var(--warm-pale);stroke:var(--gold);stroke-width:.7}.light-core{fill:var(--warm)}.light-ripple{stroke:var(--gold);stroke-width:1;opacity:.5}
.rain-traces{stroke:var(--diagram);stroke-width:1;opacity:.35}.stars{fill:#e3d9b8;opacity:0;transition:opacity .4s}.firefly{fill:var(--gold);opacity:0}
.hero-art figcaption{display:flex;align-items:center;gap:12px;font-family:var(--reading);font-style:italic;color:var(--text);font-size:16px;padding:0 24px;margin-top:-15px}
.caption-stroke{width:26px;border-top:1px solid var(--gold)}.breeze-button{margin-left:auto;padding:5px 8px;background:none;border:0;font:25px/1 var(--serif);color:var(--green);transition:transform .2s}.breeze-button:hover{transform:translateX(4px)}
[data-theme=dusk] .stars{opacity:1}[data-theme=dusk] .sun-fill{fill:#c7cdb0}[data-theme=dusk] .light-core{fill:#e3c285;filter:drop-shadow(0 0 6px #e3c28580)}[data-theme=dusk] .firefly{animation:glimmer 6s ease-in-out infinite}[data-theme=dusk] .firefly.second{animation-delay:2.4s}
.landscape.breezing .leaf-a{animation:drift-a 3s ease-in-out}.landscape.breezing .leaf-b{animation:drift-b 3s ease-in-out}.landscape.breezing .leaf-c,.landscape.breezing .leaf-d{animation:drift-c 3s ease-in-out}.landscape.breezing .rain-traces{animation:soften 3s ease-in-out}
@keyframes drift-a{50%{transform:translate(13px,8px) rotate(2deg);opacity:1}}
@keyframes drift-b{50%{transform:translate(-12px,-9px);opacity:.5}}
@keyframes drift-c{50%{transform:translate(9px,-6px);opacity:1}}
@keyframes soften{50%{opacity:.1;transform:translate(3px,4px)}}
@keyframes glimmer{0%,100%{opacity:.1}50%{opacity:.8;transform:translate(2px,-4px)}}
/* The existing personal introduction keeps its copy and overall composition. */
.about{display:grid;grid-template-columns:126px 1fr 204px;gap:35px}
.about>.section-label{display:flex;flex-direction:column;align-items:flex-start;align-self:start;gap:58px;margin:10px 0 0}.tiny-plant{font-size:28px;color:var(--green)}
.about-main h2{margin-bottom:30px}.about-prose{max-width:540px;font-family:var(--soft-sans);font-size:17px;line-height:1.95;color:var(--text)}.about-prose p{margin:0 0 18px}.about-prose strong{font-weight:500;color:var(--ink)}
.interest-strip{display:flex;flex-wrap:wrap;gap:10px 19px;font-size:13px;color:var(--green);margin-top:27px}.interest-strip span:before{content:'↳';margin-right:6px;color:var(--warm)}
.about-margin{border-left:1px solid var(--line);padding-left:27px;align-self:center}.margin-heading{font-size:12px;letter-spacing:1px;color:var(--muted)}.about-margin dl{margin:24px 0}.about-margin dl div{margin-bottom:23px}.about-margin dt{font-size:13px;color:var(--muted);margin-bottom:5px}.about-margin dd{margin:0;font-size:15px;line-height:1.8}
/* A warm garden shelf: no toolbar, taxonomy, or template instructions. */
.tools{margin:68px -30px 0;padding:52px 30px 36px;background:var(--garden);border:1px solid var(--line);border-radius:5px}
.tools-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:42px}.tools h2{font-size:52px}.tools-heading>p{font:19px/1.8 var(--reading);color:var(--text);margin:0 10px 4px 0}.tools .eyebrow{margin-bottom:22px}
/* The shelf is a single sideways track: five or fifty tools all fit. */
.tool-grid{display:grid;grid-auto-flow:column;grid-auto-columns:340px;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:10px 0 18px;margin:-10px 0 0;scrollbar-width:thin;scrollbar-color:var(--sage-deep) transparent}
.tool-grid::-webkit-scrollbar{height:6px}.tool-grid::-webkit-scrollbar-thumb{background:var(--sage-deep);border-radius:3px}.tool-grid::-webkit-scrollbar-track{background:none}
.tool-card{display:flex;flex-direction:column;background:var(--garden-card);border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0;scroll-snap-align:start;transition:transform .25s,box-shadow .25s}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tool-scroll{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.tool-scroll button{width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--garden-card);color:var(--green);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center}.tool-scroll button:hover:not(:disabled){background:var(--sage);color:var(--ink)}.tool-scroll button:disabled{opacity:.35;cursor:default}
.tool-art{height:208px;position:relative;border-bottom:1px solid var(--line);padding:22px;background:var(--surface);overflow:hidden}.tool-art--constellation{background:var(--warm-pale)}.tool-art--desk{background:var(--sky)}.tool-art svg{height:100%;width:100%;stroke:var(--diagram);fill:none;stroke-width:1.1}.tool-art .art-fill{fill:var(--sage-deep);stroke:none}.tool-art .art-warm{fill:var(--warm-pale);stroke:none}.tool-art .art-solid{fill:var(--plant);stroke:none}.tool-art text{fill:var(--text);stroke:none;font-family:var(--reading);font-size:15px}.tool-art .art-small{font-family:var(--sans);font-size:9px;fill:var(--muted)}
.tool-card-body{padding:27px 23px 25px;display:flex;flex-direction:column;flex:1}.tool-card h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.3;letter-spacing:-.6px;margin:0 0 17px}.tool-card-description{font:17px/1.85 var(--reading);color:var(--text);margin:0;flex:1}.tool-action{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding:15px 0 0;border:0;border-top:1px solid var(--line);background:none;font-size:14px;color:var(--green);text-align:left}.tool-action:hover{color:var(--ink)}.tool-action span{font-size:21px}.sample-label{font-size:12px;color:var(--muted);margin-top:22px}.sample-label+.tool-action{margin-top:8px}
/* Sea air, a distant gold crescent: the quieter end of the page. */
.notes{margin-top:64px;position:relative;padding:70px 0 78px;border-top:1px solid var(--sea-line);border-bottom:1px solid var(--sea-line);color:var(--sea-ink)}
.notes:before{content:'';position:absolute;inset:0 -30px;background:var(--sea);border-radius:5px;z-index:-1}
.notes-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:68px}.notes-intro p:not(.eyebrow){font:18px/1.85 var(--reading);color:var(--text);margin-top:27px}.notes h2 em{color:var(--sea-ink)}.notes-drawing{width:210px;margin-top:24px;stroke:var(--sea-ink);stroke-width:1;opacity:.7}.harbour-sun{fill:var(--gold);stroke:none;opacity:.6}
.note-list{border-top:1px solid var(--sea-line)}.note-entry{display:grid;grid-template-columns:1fr;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--sea-line);padding:26px 0}.note-entry:last-child{border-bottom:0}.note-entry h3{font-family:var(--serif);font-size:27px;letter-spacing:-.4px;line-height:1.35;font-weight:400;margin:0 0 13px}.note-entry p{font:18px/1.85 var(--reading);color:var(--text);margin:0;max-width:450px}.note-link{font-size:14px;color:var(--sea-ink);display:inline-flex;gap:20px;align-items:center;justify-self:start;background:none;border:0;padding:8px 0 0}
/* Academic room: neutral colour, no decorative serif headlines or fantasy UI. */
[data-view=study] body{background:var(--study-bg)}[data-view=study] .site-header,[data-view=study] .site-header:before{background:var(--study-bg)}
#study-view{color:var(--study-ink)}.study-hero{padding:80px 0 62px;display:grid;grid-template-columns:1.45fr 1fr;gap:65px;align-items:center;border-bottom:1px solid var(--line)}
.study-hero h1{font:500 clamp(42px,4.4vw,62px)/1.15 var(--sans);letter-spacing:-2px;margin:0 0 30px}.study-intro{font-size:18px;color:var(--text);line-height:1.9;max-width:640px;margin:0}.study-links{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:30px}
.system-sketch svg{width:100%;stroke:var(--diagram);stroke-width:1.2}.sketch-grid{stroke:var(--line);stroke-width:.7}.signal-line{stroke:var(--green);stroke-width:1.8}.sketch-text{fill:var(--text);stroke:none;font:13px var(--sans)}
.study-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:64px 0;border-bottom:1px solid var(--line)}
#study-view h2{font:500 28px/1.35 var(--sans);letter-spacing:-.5px}.study-education>p:not(.eyebrow){font-size:16px;color:var(--text);margin:16px 0;line-height:1.9}.study-education .degree{font-size:19px!important;color:var(--study-ink)!important}.expected{font-size:14px}.skill-block{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}.skill-block h3{font-size:16px;font-weight:500;margin:0 0 15px}.skill-block p{font-size:16px;color:var(--text);margin:5px 0}.study-focus dl{margin:29px 0 0}.study-focus dl>div{margin-bottom:24px}.study-focus dl>div:last-child{margin-bottom:0}.study-focus dt{font-size:17px;font-weight:500;margin-bottom:5px}.study-focus dd{font-size:16px;margin:0;color:var(--text);line-height:1.85}
.study-projects{padding:58px 0 62px}.study-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.study-section-head>p{font-size:15px;color:var(--text);margin:0}
.work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.work-entry{display:flex;flex-direction:column;gap:18px;align-items:flex-start;border:1px solid var(--line);border-radius:4px;background:var(--study-panel);padding:30px;color:inherit}.work-entry h3{font-size:23px;line-height:1.4;font-weight:500;letter-spacing:-.5px;margin:0}.work-category{font-size:13px;letter-spacing:.4px;color:var(--muted)}.work-entry p{font-size:16px;line-height:1.9;color:var(--text);margin:0;flex:1}.work-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.tag{font-size:13px;border:1px solid var(--line);border-radius:3px;padding:3px 9px;color:var(--text)}.work-entry .text-link{margin-top:2px}.study-return{padding:34px 0 5px;font-size:15px;color:var(--text)}.study-return a{display:inline-flex;align-items:center;gap:20px}
/* Footer and native modal. */
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:37px 0 33px;color:var(--muted);font-size:13px}.site-footer>span:nth-child(2){font-family:var(--reading);font-style:italic;font-size:16px}.back-top{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text)}.back-top:hover{background:var(--sage)}
dialog{max-width:600px;width:calc(100% - 40px);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:5px;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #0002}dialog::backdrop{background:#12231ed0;backdrop-filter:blur(5px)}.dialog-inner{padding:45px;position:relative}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;padding:8px;font-size:27px;line-height:1;color:var(--muted)}.dialog-inner h2{font-size:36px}.dialog-inner>p:not(.eyebrow){font:19px/1.9 var(--reading);color:var(--text);margin:25px 0 30px;white-space:pre-line}.dialog-done{gap:30px}
.noscript-note{text-align:center;padding:20px;border:1px solid var(--line);margin:20px}
/* Tool detail page: a short introduction above an embedded, full-window view. */
.tool-page{padding:58px 0 70px}
.tool-page .eyebrow{margin:0;letter-spacing:2px}
.tool-page h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,62px);line-height:1.05;letter-spacing:-2.4px;margin:16px 0 22px}
.tool-lead{font:19px/1.9 var(--reading);color:var(--text);max-width:780px;margin:0 0 26px}
.tool-tags{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin:0 0 30px}
.tool-embed{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.tool-embed-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 20px;background:var(--garden);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.tool-embed-bar a{color:var(--green)}.tool-embed-bar a:hover{color:var(--ink)}
.tool-embed iframe{display:block;width:100%;height:calc(100vh - 130px);min-height:520px;border:0;background:var(--paper)}
.tool-notes{display:grid;grid-template-columns:210px 1fr;gap:38px;margin-top:48px;padding-top:38px;border-top:1px solid var(--line)}
.tool-notes h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.25;margin:0}
.tool-highlights{list-style:none;margin:0;padding:0;font:17px/1.85 var(--reading);color:var(--text)}
.tool-highlights li{position:relative;padding:0 0 14px 24px}.tool-highlights li:before{content:'↳';position:absolute;left:0;top:0;color:var(--warm);font-size:14px}
.tool-missing{font:19px/1.9 var(--reading);color:var(--text);margin:0 0 28px}

@media(min-width:1440px){.hero{min-height:710px}.hero h1{font-size:96px}}
@media(max-width:1180px){.page-shell{padding:0 45px}.site-header{gap:23px}.site-header:before{left:-45px;right:-45px}.view-tabs{margin-left:12px;gap:22px}.main-nav{gap:19px}.theme-toggle{padding-left:18px;min-width:100px}.hero h1{font-size:76px;letter-spacing:-3px}.hero{gap:15px;min-height:650px}.hero-description{font-size:17px}.about{grid-template-columns:95px 1fr 185px;gap:26px}.about-margin{padding-left:23px}.tools{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.tool-grid{gap:16px;grid-auto-columns:300px}.tool-card-body{padding:25px 20px}.tool-card h3{font-size:25px}.tool-card-description{font-size:17px}.notes:before{left:-20px;right:-20px}}
@media(max-width:1000px){.main-nav{display:none}.view-tabs{margin-left:auto}.theme-toggle{margin-left:15px}.hero h1{font-size:66px;letter-spacing:-2.5px}.hero-description{font-size:16px}.hello{font-size:18px}.hero-art figcaption{font-size:14px;padding:0 10px}.hero{min-height:600px}.about{grid-template-columns:90px 1fr}.about-margin{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:15px}.about-margin dl{display:flex;gap:28px;margin:20px 0}.about-margin dl div{flex:1;margin-bottom:0}.about-margin dd{font-size:14px}.tools-heading>p{font-size:18px}.tool-art{height:170px;padding:18px 10px}.tool-card h3{font-size:24px}.tool-card-description{font-size:16px}.tool-action{font-size:13px}.notes-layout{gap:42px}.notes h2{font-size:42px}.note-entry h3{font-size:25px}.note-entry p{font-size:17px}.study-hero{gap:35px;grid-template-columns:1.6fr 1fr}.study-intro{font-size:17px}.study-layout{gap:45px}}
@media(max-width:820px){.page-shell{padding:0 30px}.site-header:before{left:-30px;right:-30px}.hero{grid-template-columns:1fr 1fr;gap:10px;min-height:570px;padding-top:45px}.hero h1{font-size:61px}.hero-actions{gap:20px;flex-wrap:wrap}.primary-link{padding:12px 18px;gap:26px}.hero-description{font-size:16px}.desktop-break{display:none}.about-prose{font-size:17px}.interest-strip{font-size:12px}.tools{padding-top:40px}.tools-heading{gap:20px;align-items:center}.tools h2{font-size:46px}.tools-heading>p{font-size:17px}.tool-grid{gap:16px;grid-auto-columns:min(520px,86vw)}.tool-card{display:grid;grid-template-columns:.8fr 1.2fr}.tool-art{height:100%;min-height:240px;border-bottom:0;border-right:1px solid var(--line);padding:30px 12px}.tool-card-body{padding:28px 25px}.tool-card h3{font-size:29px}.tool-card-description{font-size:18px}.tool-action{font-size:14px}.notes-layout{grid-template-columns:1fr 1.25fr;gap:35px}.notes-intro p:not(.eyebrow){font-size:17px}.note-entry h3{font-size:24px}.notes h2{font-size:38px}.study-layout{gap:35px}.study-hero{grid-template-columns:1fr}.system-sketch{display:none}.study-hero h1{font-size:54px}.study-layout h2{font-size:25px!important}.work-entry{padding:25px}.work-entry h3{font-size:21px}.study-section-head>p{max-width:220px}}
@media(max-width:620px){
  :root{--header-height:108px}
  html{scroll-padding-top:calc(var(--header-height) + 15px)}
  .page-shell{padding:0 23px}.site-header{height:var(--header-height);gap:0 15px;flex-wrap:wrap;align-content:center;padding-top:10px}.site-header:before{left:-23px;right:-23px}.brand{font-size:23px}.brand-mark{width:31px;margin-right:8px}.theme-toggle{margin-left:auto;padding:6px 0 6px 17px;font-size:12px;min-width:95px}.theme-toggle svg{width:17px}
  .view-tabs{order:3;flex-basis:100%;justify-content:center;height:48px;margin:5px 0 -1px;gap:37px}.view-tabs a{font-size:14px}
  .hero{grid-template-columns:1fr;gap:37px;padding:47px 0 25px;min-height:0}.hello{font-size:18px;margin:0 0 20px}.hero h1{font-size:clamp(56px,12vw,78px);letter-spacing:-3px;margin-bottom:25px}.hero-description{font-size:17px;line-height:1.9;max-width:370px}.hero-actions{gap:25px;margin-top:29px}.primary-link{font-size:14px;gap:31px;padding:12px 18px}.text-link{font-size:14px}.hero-art{width:100%;max-width:440px;margin:auto}.landscape{max-height:420px}.hero-art figcaption{font-size:15px;padding:0 4px;gap:10px;margin-top:-8px}.caption-stroke{width:20px}.breeze-button{font-size:24px}.section{padding:49px 0}.eyebrow,.section-label{font-size:11px;letter-spacing:1.3px}
  .about{grid-template-columns:1fr;gap:0;padding-top:43px}.about>.section-label{flex-direction:row;justify-content:space-between;align-items:center;margin:0 0 27px}.tiny-plant{font-size:24px}.about-main h2,h2{font-size:38px;letter-spacing:-1.3px}.about-main h2{margin-bottom:26px}.about-prose{font-size:17px;line-height:1.9}.about-prose p{margin-bottom:19px}.interest-strip{font-size:13px;gap:8px 15px;margin-top:25px}.about-margin{grid-column:auto;margin-top:29px;padding-top:24px}.margin-heading{font-size:11px}.about-margin dl{gap:15px;flex-wrap:wrap}.about-margin dl div{flex:1 1 130px}.about-margin dt{font-size:13px}.about-margin dd{font-size:14px}.about-margin .text-link{margin-top:6px}
  .tools{margin:42px -10px 0;padding:33px 17px 20px}.tools-heading{display:block;margin-bottom:30px}.tools h2{font-size:43px}.tools .eyebrow{margin-bottom:22px}.tools-heading>p{font-size:18px;line-height:1.75;margin:25px 0 0}.tool-grid{gap:18px;grid-auto-columns:calc(100% - 30px)}.tool-scroll{margin-top:10px}.tool-card{display:flex}.tool-art{height:206px;min-height:0;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.tool-card-body{padding:26px 22px}.tool-card h3{font-size:28px;margin-bottom:16px}.tool-card-description{font-size:18px;line-height:1.8}.tool-action{font-size:14px;margin-top:24px;padding-top:15px}.sample-label{font-size:12px;margin-top:22px}
  .notes{padding:44px 0 35px;margin-top:49px}.notes:before{left:-10px;right:-10px}.notes-layout{grid-template-columns:1fr;gap:20px}.notes h2{font-size:38px}.notes-intro h2 br:nth-child(2){display:none}.notes-intro p:not(.eyebrow){font-size:18px;margin-top:25px}.notes-drawing{width:160px;margin-top:10px;margin-bottom:5px}.note-entry{padding:27px 0}.note-entry h3{font-size:26px;line-height:1.4}.note-entry p{font-size:18px;line-height:1.85}.note-list{margin-top:0}
  .study-hero{padding:47px 0 44px;gap:0}.study-hero h1{font-size:43px;letter-spacing:-1.5px;margin-bottom:25px}.study-intro{font-size:17px;line-height:1.9}.study-links{gap:20px;margin-top:28px}.study-layout{grid-template-columns:1fr;gap:45px;padding:45px 0}#study-view h2{font-size:27px!important}.study-education>p:not(.eyebrow){font-size:16px}.skill-block{margin-top:30px}.study-focus dl{margin-top:26px}.study-focus dt{font-size:18px}.study-focus dd{font-size:16px}.study-projects{padding:44px 0}.study-section-head{display:block}.study-section-head>p{font-size:16px;margin-top:20px;max-width:none}.work-list{grid-template-columns:1fr;gap:20px}.work-entry{padding:27px 23px;gap:18px}.work-entry h3{font-size:23px}.work-entry p{font-size:16px}.work-category{font-size:13px}.tag{font-size:13px}.study-return{padding-top:30px;font-size:15px}
  .site-footer{padding:30px 0 27px;flex-wrap:wrap;gap:15px;font-size:12px}.site-footer>span:nth-child(2){order:3;width:100%;font-size:15px}.back-top{width:36px;height:36px;margin-left:auto}.dialog-inner{padding:40px 26px}.dialog-inner h2{font-size:32px}.dialog-inner>p:not(.eyebrow){font-size:18px}
  .tool-page{padding:36px 0 48px}.tool-page h1{font-size:40px}.tool-lead{font-size:17px;line-height:1.8}.tool-actions{gap:12px 18px;margin-bottom:24px}.tool-embed-bar{padding:11px 15px;font-size:12px}.tool-embed iframe{height:72vh;min-height:400px}.tool-notes{grid-template-columns:1fr;gap:18px;margin-top:32px;padding-top:26px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.page-shell{padding:0 20px}.site-header{position:static;height:65px}.theme-toggle,.breeze-button,.back-top,dialog,.view-tabs,.main-nav{display:none!important}.hero{min-height:0;padding:25px 0}.hero h1{font-size:60px}.section{padding:30px 0;break-inside:avoid}.tool-card,.note-entry,.work-entry{break-inside:avoid}.tool-grid{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;overflow:visible;scroll-snap-type:none}.tool-scroll,.tool-embed,.tool-actions{display:none!important}.tools{margin-top:25px}.notes{margin-top:25px}.site-footer{padding:20px 0}}
@media(min-width:621px) and (max-width:820px){.tool-page{padding:42px 0 56px}.tool-lead{font-size:17px}.tool-embed iframe{height:calc(100vh - 120px);min-height:460px}.tool-notes{grid-template-columns:1fr;gap:20px;margin-top:36px;padding-top:28px}}
