@charset "UTF-8";
:root{--ink:#183b40;--night:#102f36;--orange:#d3613e;--paper:#f4f2e9;--pink:#dfaaac;--teal:#78b9b1;--serif:"LXGW WenKai Web","Songti SC","SimSun",serif;--sans:"OPPO Sans Web","Microsoft YaHei","PingFang SC",sans-serif;--scene-h:max(100svh,760px);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);font:16px/1.8 var(--sans);color:var(--ink)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}a,button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.filters{position:absolute;pointer-events:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:10px 20px}.skip-link:focus{top:10px}.chapter{font:400 42px/1.3 var(--serif);margin:0}.site-header{position:absolute;left:0;top:0;z-index:40;width:100%;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;color:#c6ccbf}.wordmark{font:21px var(--serif);letter-spacing:4px}.site-header nav{display:flex;gap:42px}.site-header nav a{font:20px var(--serif)}.site-header nav a:hover{color:var(--orange)}
/* Homepage and introduction share one scroll-driven transition. */
.intro-journey{position:relative;height:calc(var(--scene-h) + 115svh)}.intro-scene{position:sticky;top:0;height:var(--scene-h);perspective:1500px;perspective-origin:50% 100%;overflow:clip;background:var(--paper);isolation:isolate}.hero,.about{position:absolute;inset:0;height:100%}.hero{z-index:2;overflow:hidden;background:radial-gradient(ellipse at 74% 43%,#235057 0,#153c43 33%,#102e36 66%,#0c252e 100%);color:var(--orange);transform-origin:50% 100%;backface-visibility:hidden;will-change:transform;box-shadow:0 -12px 55px #071f2940}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-light{position:absolute;inset:0;background:radial-gradient(ellipse 47% 65% at var(--lx,68%) var(--ly,36%),#b1cbb328,transparent 70%);pointer-events:none}.hero h1{position:absolute;left:10%;top:31%;margin:0;font:400 clamp(70px,7.4vw,116px)/1.2 var(--serif);letter-spacing:.02em;text-shadow:18px 27px 6px #041c2355}.signature-anchor{position:absolute;right:8%;top:44%;width:46%;aspect-ratio:952/349}.floating-signature{position:fixed;top:0;left:0;width:46vw;z-index:30;pointer-events:none;will-change:transform;visibility:hidden}.floating-signature img{width:100%;height:auto;display:block;filter:url(#signature-ink)}.english-shadow{position:absolute;right:8%;top:67%;width:46%;margin:0;font:italic clamp(25px,3vw,46px) var(--serif);color:#071f26;letter-spacing:-1px;filter:blur(.55px);white-space:nowrap;transform:translate(12px,20px) skewX(-12deg)}.scroll-cue{position:absolute;bottom:5%;left:8%;font:32px/1 var(--serif);color:#9fae9f;padding:16px}.door-edge{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#99ada133;box-shadow:0 -10px 30px #0002}.about{background:var(--paper);padding:68px 8%;z-index:1}.about-copy{position:absolute;left:8%;top:32%;width:34%;max-width:520px}.about-copy>p{font-size:18px;line-height:2.2;margin:0 0 48px}.about-name{position:absolute;right:8%;top:34%;width:46%;text-align:right}.signature-slot{width:100%;aspect-ratio:952/349}.about-name>p{font:17px var(--serif);letter-spacing:4px;margin:35px 0}.education{border-top:1px solid #becab8}.education>div{padding:16px 0;border-bottom:1px solid #d7ddce}.education span{font:12px var(--serif);color:#758476}.education p{font-size:15px;margin:7px 0 0}.education small{display:block;font-size:13px;color:#728170}.text-link{display:inline-block;border-bottom:1px solid #8fa08a;padding-bottom:4px;margin-top:26px;font-size:14px}
/* Questions are a uniform field. Selected content replaces this overview in flow. */
.inquiry{position:relative}.question-sky{position:relative;overflow:hidden;background:#15373c;color:var(--paper)}.question-field{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--cols,10),minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));pointer-events:none}.field-cell{display:grid;place-items:center;min-width:0;min-height:0}.field-mark{width:var(--mark-size,62%);max-height:94%;color:var(--teal);opacity:0;transform-origin:center;will-change:transform,opacity}.field-mark.pink{color:var(--pink)}.question-symbol{display:block;width:100%;height:100%;overflow:visible}.question-overview{position:relative;padding:65px 8% 95px;min-height:95svh;display:flex;flex-direction:column;justify-content:space-between}.question-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch;margin-top:100px;margin-bottom:65px}.question-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:285px;padding:25px 22px;color:var(--pink);background:#15373cf5;border:1px solid #d5b5b338;border-radius:3px;transition:transform .35s,border-color .35s,background .35s}.question-card.teal{color:var(--teal);border-color:#9fbdb438}.question-card:hover{transform:translateY(-10px);background:#204549;border-color:currentColor}.card-question-mark{width:47px;height:67px;display:block;margin-bottom:35px}.question-title{font:21px/1.9 var(--serif);margin-top:auto}.question-arrow{position:absolute;top:25px;right:23px;font-size:20px;opacity:.5}.need-panel{position:relative;padding:45px 8% 75px;min-height:58svh}.back-questions{padding:4px 0 8px;background:transparent;border:0;color:#a9c0b6;font-size:14px}.need-body{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:45px;align-items:center}.need-heading>span{font:20px var(--serif);color:var(--pink)}.need-heading h2{font:400 clamp(30px,3.5vw,51px)/1.65 var(--serif);margin:20px 0 0}.need-text{background:#15373ce8;padding:15px 0}.need-text h3{font-size:14px;font-weight:400;color:var(--teal);margin:0 0 12px}.need-text>p{font-size:16px;line-height:2;color:#d5dfd2;margin:0 0 22px}.need-text .thought-draft{font-size:14px;color:#a5bcb2}.need-text small{font-size:12px;color:#9bb1a8}.project-flow{background:var(--paper);padding:0 0 70px}.project-intro{padding:55px 8% 35px;display:grid;grid-template-columns:.8fr 1fr;gap:10%;align-items:start}.project-intro .project-label{font:22px var(--serif);color:#829077}.project-intro h3{font:400 clamp(31px,3.5vw,49px)/1.5 var(--serif);margin:14px 0}.project-intro p{font-size:16px;line-height:2;color:#657461;margin:45px 0 0}.project-notes{margin:0 8% 38px;border-top:1px solid #c8d2bf}.project-notes summary{cursor:pointer;font-size:14px;list-style:none;padding:16px 0;color:#586d55}.project-notes summary:after{content:"＋";float:right}.project-notes[open] summary:after{content:"−"}.project-notes summary::-webkit-details-marker{display:none}.project-notes>p{max-width:850px;font-size:16px;line-height:2;margin:12px 0 24px}.project-facts{display:flex;gap:60px;margin:10px 0 30px}.project-facts strong{font:27px var(--serif);display:block}.project-facts span{font-size:13px;color:#6d7d63}.experience-host{width:94%;margin:0 auto;background:#e7ebe0;border:1px solid #b7c5ae;border-radius:3px;overflow:hidden}.experience-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-bottom:1px solid #c6d0bb;font-size:14px;color:#50664a}.experience-toolbar>span:last-child{font-size:12px;color:#72816a}.project-web-frame{display:block;border:0;width:100%;height:78svh;min-height:580px;background:#eef1e7}.experience-note{margin:15px 3% 0;color:#76816d;font-size:12px;line-height:1.8}.experience-note a{border-bottom:1px solid;margin-left:22px}.project-discovery{margin:65px 8% 0}.explore-toggle{width:100%;background:transparent;border:0;border-top:1px solid #b9c6b1;border-bottom:1px solid #b9c6b1;padding:25px 0;display:flex;justify-content:space-between;text-align:left;font:22px var(--serif)}.explore-toggle>span{font-size:24px;transition:transform .3s}.explore-toggle[aria-expanded=true]>span{transform:rotate(45deg)}.project-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 45px)/4);gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px 0 24px;scrollbar-width:thin}.project-tabs button{background:#e6eade;border:1px solid transparent;min-height:190px;padding:23px 20px;display:flex;flex-direction:column;text-align:left;scroll-snap-align:start}.project-tabs button[aria-selected=true]{border-color:#48664c;background:#dbe4d1}.project-tabs button>span{font:12px var(--serif);color:#7a8971}.project-tabs strong{font:20px/1.6 var(--serif);margin:20px 0 12px}.project-tabs small{font-size:13px;line-height:1.7;color:#738269}.research-note{border-top:1px solid #cbd5c1;padding:20px 0}.research-note summary{cursor:pointer;font:17px var(--serif)}.research-note p{max-width:850px;color:#687960;font-size:15px;line-height:2}.research-note a{border-bottom:1px solid;font-size:14px}
/* Books stay on the shelf; the selected article opens beneath it. */
.thoughts{padding:65px 8% 0;background:#e6e9df}.bookshelf{display:flex;gap:18px;align-items:end;padding:0 35px;margin-top:80px;border-bottom:6px solid #8b9c8a;box-shadow:0 12px 13px -10px #233d3150}.book{display:flex;flex-direction:column;text-align:left;background:var(--book-color);border:0;border-left:5px solid #ffffff23;border-right:1px solid #263e3525;border-radius:2px 4px 0 0;color:#243e37;width:180px;min-height:260px;padding:22px 23px;transform-origin:center bottom;transition:transform .35s,box-shadow .35s}.book:nth-child(2){min-height:295px}.book:nth-child(3){min-height:250px;color:#f1f0e4}.book:hover,.book[aria-expanded=true]{transform:translateY(-13px);box-shadow:5px 8px 9px #354d3018}.book-title{font:26px/1.6 var(--serif);writing-mode:vertical-rl;letter-spacing:5px;height:175px;margin:0 auto}.book-subtitle{font-size:12px;margin-top:20px}.inline-article{max-width:850px;margin:75px auto 0;scroll-margin-top:30px;padding-bottom:25px}.article-header{display:flex;justify-content:space-between;align-items:start;gap:30px;border-bottom:1px solid #b6c3ab;padding-bottom:20px}.article-header h3{font:400 35px/1.5 var(--serif);margin:0}.article-header button{font-size:14px;border:0;background:none;white-space:nowrap;padding:10px 0}.draft-note{font-size:12px;color:#7a8770;margin:18px 0 30px}.article-body{font:18px/2.3 var(--serif)}.article-body p{margin:0 0 25px}.related-question{border:0;background:transparent;padding:12px 0;border-bottom:1px solid #97a78c;text-align:left;font-size:14px;line-height:1.9;margin-top:15px}footer{display:flex;justify-content:space-between;gap:20px;padding:32px 0;border-top:1px solid #b8c4b4;margin-top:100px;font-size:14px}.noscript{position:fixed;bottom:0;background:var(--paper);padding:10px;z-index:60}
@media(min-width:1600px){.about-copy{font-size:20px}.need-body{max-width:1400px;margin-left:auto;margin-right:auto}.project-intro{grid-template-columns:.8fr 1.2fr}}
@media(max-width:1050px){.question-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:65px;margin-bottom:20px;gap:20px}.question-card{min-height:220px}.card-question-mark{width:36px;height:49px;margin-bottom:25px}.question-title{font-size:23px}.about-copy{width:36%;top:28%}.about-copy>p{font-size:16px}.need-body{gap:7%}.need-heading h2{font-size:33px}.project-tabs{grid-auto-columns:calc((100% - 30px)/3)}}
@media(max-width:700px){:root{--scene-h:max(100svh,850px)}.site-header{padding:25px 7%}.wordmark{font-size:17px;letter-spacing:2px}.site-header nav{gap:22px}.site-header nav a{font-size:17px}.hero h1{top:25%;left:8%;font-size:68px}.signature-anchor{right:7%;top:50%;width:76%}.english-shadow{right:7%;top:66%;width:76%;font-size:25px}.scroll-cue{bottom:6%;left:7%}.about{padding:35px 7%}.chapter{font-size:32px}.about-name{right:7%;top:15%;width:76%}.about-name>p{font-size:13px;letter-spacing:3px;margin:20px 0}.about-copy{left:7%;right:7%;top:39%;width:auto;max-width:none}.about-copy>p{font-size:16px;line-height:2;margin-bottom:28px}.education>div{display:grid;grid-template-columns:115px 1fr;gap:14px;padding:15px 0}.education span{font-size:11px;line-height:2}.education p{margin:0;font-size:14px}.education small{font-size:12px}.question-overview{padding:45px 7% 60px;min-height:95svh}.question-cards{gap:12px;margin-top:55px}.question-card{padding:24px 15px;min-height:245px}.question-title{font-size:18px}.question-arrow{right:17px;font-size:18px}.card-question-mark{width:35px;height:50px;margin-bottom:30px}.need-panel{padding:28px 7% 40px;min-height:0}.need-body{grid-template-columns:1fr;gap:30px;margin-top:30px}.need-heading h2{font-size:31px;margin-top:13px}.need-text{padding:0;background:#15373ce0}.need-text>p{font-size:15px}.need-text .thought-draft{font-size:14px}.project-intro{display:block;padding:35px 7% 20px}.project-intro h3{font-size:32px}.project-intro p{margin:20px 0 0;font-size:15px}.project-notes{margin:0 7% 25px}.project-notes>p{font-size:15px}.project-facts{gap:25px}.project-facts strong{font-size:24px}.project-facts span{font-size:12px}.experience-host{width:96%}.experience-toolbar{padding:10px 14px;font-size:13px}.project-web-frame{min-height:550px;height:76svh}.experience-note{margin:12px 4% 0;font-size:12px}.project-discovery{margin:45px 7% 0}.explore-toggle{font-size:20px}.project-tabs{grid-auto-columns:76%;gap:12px}.project-tabs button{min-height:160px}.project-flow{padding-bottom:45px}.thoughts{padding:40px 7% 0}.bookshelf{padding:0 4px;gap:9px;margin-top:50px}.book{width:calc((100% - 18px)/3);min-width:0;min-height:232px;padding:18px 10px}.book:nth-child(2){min-height:260px}.book:nth-child(3){min-height:228px}.book-title{font-size:22px;letter-spacing:3px;height:154px}.book-subtitle{font-size:11px;line-height:1.8;margin-top:13px}.inline-article{margin-top:50px}.article-header h3{font-size:28px}.article-body{font-size:16px;line-height:2.25}.article-header{gap:15px}.article-header button{font-size:13px}.related-question{font-size:13px}footer{font-size:12px;margin-top:70px}.field-mark{max-height:90%}}
@media(max-width:350px){.question-cards{grid-template-columns:1fr}.question-card{min-height:170px}.question-title{font-size:21px}.card-question-mark{position:absolute;right:25px;top:25px}.question-arrow{display:none}.question-title{margin-top:45px}.site-header nav{gap:16px}.education>div{grid-template-columns:95px 1fr}.book-subtitle{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero{will-change:auto}.floating-signature,.field-mark{will-change:auto}}


/* A continuous home surface opens into the introduction. */
.intro-scene{perspective:none;background:#edf7e7}
.hero{background:transparent;box-shadow:none;transform:none;overflow:visible;will-change:auto}
.hero:after{display:none}



.hero-face{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 74% 43%,#235057 0,#153c43 33%,#102e36 66%,#0c252e 100%)}

.hero-face:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.about{background:#edf7e7;color:#31583f}
.about .chapter{color:#488363}
.about-copy>p{color:#355744}
.education{border-color:#b7d1b0}.education>div{border-color:#ccdfc2}
.education small,.education span{color:#65845b}
/* Pink questions about AI, blue-green questions about medical research. */
.inquiry{--ai:#b73e68;--med:#237d84;--topic:#3b7583}
.inquiry[data-topic=ai]{--topic:var(--ai)}
.inquiry[data-topic=med]{--topic:var(--med)}
.question-sky{background:radial-gradient(ellipse at 17% 54%,#ffe9f180,transparent 57%),radial-gradient(ellipse at 83% 40%,#c3eee36b,transparent 56%),#edf6ff;color:#314c5a}
.question-field{display:block}
.field-mark{position:absolute;height:auto;max-height:none;pointer-events:none;transform-origin:center}
.field-sway{display:block;animation:field-drift var(--drift-time,18s) ease-in-out var(--drift-delay,0s) infinite alternate}
@keyframes field-drift{from{transform:translate(-4px,4px) rotate(-5deg)}to{transform:translate(7px,-8px) rotate(7deg)}}
.question-overview{padding:48px 6% 75px;min-height:105svh;display:block}
.category-switch{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;position:relative;z-index:2}
.category-button{justify-self:center;display:flex;align-items:center;gap:18px;padding:4px 25px 12px;border:0;background:transparent;position:relative;transition:transform .35s,opacity .35s}
.category-button>span{font:400 76px/1.3 var(--serif)}
.category-button>small{font:14px var(--sans);letter-spacing:1px}
.category-button.ai{color:var(--ai)}.category-button.med{color:var(--med)}
.category-button:after{content:"";position:absolute;left:25px;right:25px;bottom:0;height:3px;border-radius:3px;background:currentColor;transform:scaleX(0);transition:transform .4s}
.category-button[aria-pressed=true]:after{transform:scaleX(1)}
.category-button[aria-pressed=true]{transform:translateY(-4px)}
.thought-cloud{position:relative;height:660px;margin:24px 0 0}
.bubble-group{position:absolute;top:0;bottom:0;width:48%;transition:opacity .65s,filter .65s,transform .65s}
.bubble-group.ai{left:0;color:#82334f}
.bubble-group.med{right:0;color:#235862}
.bubble-position{position:absolute}
.bubble-group.ai .bubble-0{left:3%;top:5%;width:83%}
.bubble-group.ai .bubble-1{left:17%;top:55%;width:77%}
.bubble-group.med .bubble-0{left:12%;top:19%;width:83%}
.bubble-group.med .bubble-1{left:0;top:65%;width:84%}
.bubble-motion{animation:bubble-float 13s ease-in-out infinite}
.bubble-1 .bubble-motion{animation-duration:17s;animation-delay:-8s}
.med .bubble-0 .bubble-motion{animation-duration:15s;animation-delay:-4s}
.med .bubble-1 .bubble-motion{animation-duration:19s;animation-delay:-12s}
.thought-bubble{position:relative;isolation:isolate;display:grid;place-items:center;border:0;background:none;width:100%;min-height:228px;padding:38px 24px;text-align:center;line-height:1.9;border-radius:46%}
.bubble-1 .thought-bubble{min-height:208px}
.med .bubble-0 .thought-bubble{min-height:245px}
.bubble-surface{position:absolute;inset:0;z-index:-1;border-radius:43% 57% 54% 46% / 52% 40% 60% 48%;background:radial-gradient(ellipse at 33% 20%,#ffffffab,transparent 63%),linear-gradient(140deg,#f9bfd4,#ef99b7);box-shadow:inset 3px 4px 16px #ffffff6b,0 20px 35px #c0608020;animation:bubble-morph 15s ease-in-out infinite alternate}
.med .bubble-surface{background:radial-gradient(ellipse at 33% 20%,#ffffffb5,transparent 63%),linear-gradient(135deg,#b4e7df,#80cace);box-shadow:inset 3px 4px 16px #ffffff70,0 20px 35px #488b911c;animation-delay:-6s}
.bubble-1 .bubble-surface{animation-duration:19s;animation-delay:-10s}
.bubble-question{position:relative;font:clamp(18px,2vw,27px)/1.9 var(--serif);z-index:1}
.bubble-trail{position:absolute;width:22px;height:19px;left:24%;bottom:-19px;background:#eeaac3;border-radius:52% 48% 43% 57%;box-shadow:19px 25px 0 -5px #eeaac3}
.med .bubble-trail{left:auto;right:23%;background:#99d7d5;box-shadow:-18px 26px 0 -5px #99d7d5}
.bubble-position:has(.thought-bubble:hover) .bubble-motion,.thought-bubble:hover .bubble-surface,.bubble-position:focus-within .bubble-motion,.thought-bubble:focus-visible .bubble-surface{animation-play-state:paused}
.thought-bubble:hover .bubble-surface{filter:saturate(1.12);box-shadow:inset 3px 4px 16px #ffffff70,0 22px 40px #618e922e}
.question-overview[data-focus=ai] .bubble-group.med,.question-overview[data-focus=med] .bubble-group.ai{opacity:.3;filter:saturate(.45);transform:scale(.96)}
.question-overview[data-focus=ai] .category-button.med,.question-overview[data-focus=med] .category-button.ai{opacity:.48}
.question-overview[data-focus=ai] .bubble-group.ai,.question-overview[data-focus=med] .bubble-group.med{transform:scale(1.025)}
.bubble-group:focus-within{opacity:1!important;filter:none!important}
@keyframes bubble-float{0%,100%{transform:translate(-4px,-7px) rotate(-.8deg)}45%{transform:translate(9px,7px) rotate(1deg)}75%{transform:translate(3px,13px) rotate(-.4deg)}}
@keyframes bubble-morph{0%{border-radius:43% 57% 54% 46% / 52% 40% 60% 48%}50%{border-radius:56% 44% 42% 58% / 43% 55% 45% 57%}100%{border-radius:49% 51% 62% 38% / 57% 43% 57% 43%}}
.need-panel{background:#f8fcffbd}
.back-questions{color:#57788b}
.need-heading>span{color:var(--topic);font-size:35px}
.need-heading h2{color:#304d61}
.need-text{background:transparent}
.need-text h3{color:var(--topic)}
.need-text>p{color:#405c6b}
.need-text .thought-draft{color:#627c8a}
.need-text small{color:#798d98}
.project-flow{background:#f5faff;padding:65px 0 75px;border-top:1px solid #d5e6ed}
.inquiry[data-topic] .project-flow{padding-top:0}
.inquiry[data-topic=ai] .project-flow{background:linear-gradient(#fff6fa 0,#f5faff 650px)}
.inquiry[data-topic=med] .project-flow{background:linear-gradient(#effaf6 0,#f5faff 650px)}
.project-intro .project-label{color:var(--topic)}
.project-intro h3{color:#31576a}
.project-intro p{color:#607b89}
.project-notes{border-color:#c7dde5}
.project-notes summary{color:#567782}
.project-notes>p{color:#496879}
.experience-host{background:#edf6fc;border-color:#bacfdc}
.experience-toolbar{background:#eef6fb;color:#37576e;border-color:#ccdee6}
.experience-toolbar>span:last-child{color:#6d8795}
.inquiry[data-topic=ai] .experience-host{border-color:#dcc2d0}
.inquiry[data-topic=ai] .experience-toolbar{background:#fff0f6;color:#92465f}
.inquiry[data-topic=med] .experience-toolbar{background:#e3f4ef;color:#3a786e}
.experience-note{color:#6f8795}
.project-discovery{margin:0 8%}
.project-discovery.has-selection{margin-top:65px}
.project-menu-title{font:400 44px/1.4 var(--serif);margin:0 0 35px;color:#457789;scroll-margin-top:35px}
.project-discovery.has-selection .project-menu-title{font-size:26px;margin-bottom:25px}
.project-menu{display:block}
.project-menu-row{display:grid;grid-template-columns:40px minmax(0,1fr) 100px 24px;align-items:center;gap:22px;width:100%;background:transparent;border:0;border-top:1px solid #cadde6;padding:29px 9px;text-align:left;transition:background .3s,padding .3s;color:#2e5267}
.project-menu-row strong{font:24px/1.5 var(--serif);font-weight:400}
.menu-index{font:13px var(--serif);color:#8b9fab}
.menu-kind{font-size:13px;text-align:right;color:#678597}
.menu-arrow{font-size:20px;text-align:right}
.project-menu-row.ai .menu-kind,.project-menu-row.ai .menu-arrow{color:#b45d7e}
.project-menu-row.med .menu-kind,.project-menu-row.med .menu-arrow{color:#4a9898}
.project-menu-row:hover{padding-left:18px;background:linear-gradient(90deg,#eaf3fa,transparent)}
.project-menu-row.ai:hover{background:linear-gradient(90deg,#ffeaf2,transparent)}
.project-menu-row.med:hover{background:linear-gradient(90deg,#e2f5ed,transparent)}
.research-note{border-color:#cadde6;padding:25px 9px}
.research-note summary{color:#4e7581;font-size:20px;line-height:1.6}
.research-note p{color:#617d88}
.thoughts{background:#fff3c6;color:#6c522e}
.thoughts .chapter{color:#b47736}
.bookshelf{border-color:#cfac6b;box-shadow:0 12px 13px -10px #9e6c3240}
.book{color:#254c46}
.book:nth-child(2){color:#663e2b}
.book:nth-child(3){color:#254e6e}
.article-header{border-color:#ddc690}
.draft-note{color:#9a845c}
.article-body{color:#695b42}
.related-question{border-color:#c6a65f;color:#926037}
footer{border-color:#dfcc97;color:#8e7349}
@media(max-width:1050px){
.thought-cloud{height:670px}.question-overview{padding-left:4%;padding-right:4%}
.bubble-question{font-size:21px}.thought-bubble{padding:35px 18px;min-height:210px}
.bubble-1 .thought-bubble{min-height:200px}
.category-button>span{font-size:67px}
}
@media(max-width:700px){
.question-overview{padding:40px 5% 70px;min-height:0}.category-switch{gap:5%}
.category-button{flex-direction:column;gap:2px;padding:0 15px 12px}.category-button>span{font-size:59px}
.category-button>small{font-size:13px}.category-button:after{left:12px;right:12px}
.thought-cloud{height:665px;margin-top:23px}
.bubble-group{width:47.5%}
.bubble-group.ai .bubble-0{left:0;top:3%;width:100%}
.bubble-group.ai .bubble-1{left:2%;top:51%;width:98%}
.bubble-group.med .bubble-0{left:0;top:17%;width:100%}
.bubble-group.med .bubble-1{left:0;top:61%;width:100%}
.thought-bubble,.bubble-1 .thought-bubble{padding:25px 10px;min-height:210px}
.med .bubble-0 .thought-bubble{min-height:230px}
.bubble-question{font-size:16px;line-height:2}
.bubble-trail{width:16px;height:14px;bottom:-12px;box-shadow:14px 20px 0 -4px #eeaac3}
.med .bubble-trail{box-shadow:-14px 20px 0 -4px #99d7d5}
.project-flow{padding:40px 0 50px}.project-discovery{margin:0 7%}.project-discovery.has-selection{margin-top:45px}
.project-menu-title{font-size:34px;margin-bottom:23px}.project-discovery.has-selection .project-menu-title{font-size:23px}
.project-menu-row{grid-template-columns:23px minmax(0,1fr) 19px;column-gap:12px;row-gap:6px;padding:21px 0}
.project-menu-row strong{font-size:20px}
.menu-kind{grid-column:2;grid-row:2;text-align:left;font-size:12px}
.menu-arrow{grid-column:3;grid-row:1/3}
.menu-index{font-size:12px;align-self:start;margin-top:7px}
.research-note{padding:22px 0}.research-note summary{font-size:17px}
.need-heading>span{font-size:29px}.field-mark{max-height:none}
}
@media(max-width:350px){
.bubble-question{font-size:15px}.thought-bubble,.bubble-1 .thought-bubble{padding:24px 6px}
.thought-cloud{height:730px}.category-button>span{font-size:53px}.med .bubble-0 .thought-bubble{min-height:235px}
}
@media(prefers-reduced-motion:reduce){.bubble-motion,.bubble-surface,.field-sway{animation:none!important}.bubble-group{transform:none!important}}

.motion-resting .bubble-motion,.motion-resting .bubble-surface,.motion-resting .field-sway{animation-play-state:paused}

/* A changing bottom contour joins the two spaces, with light from below. */

.hero{will-change:transform}
.hero-face{clip-path:url(#home-boundary);background:radial-gradient(ellipse at 74% 38%,#235057 0,#153c43 34%,#102e36 70%)}

.hero .scroll-cue{bottom:9%}
.about{will-change:transform}
.about-name{top:15%}
.about-name>p{margin:14px 0}
.about-copy{top:28%}
.about-portrait{position:absolute;right:12%;top:50%;width:clamp(174px,18vw,232px);aspect-ratio:4/5;margin:0;padding:9px;background:#f7fbf1;border:1px solid #cbdcc1;box-shadow:9px 11px 0 #d9e7ce80}
.portrait-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(150deg,#e5eedc,#d5e4cb);color:#79936c;font:15px var(--serif);letter-spacing:5px}
.about-portrait img{display:block;width:100%;height:100%;object-fit:cover}
/* Scalloped clouds; text stays still while the outline breathes. */
.bubble-surface,.med .bubble-surface{inset:-8% -7%;border-radius:0;background:none;box-shadow:none;animation:cloud-breathe 12s ease-in-out infinite alternate;transform-origin:50% 55%;filter:drop-shadow(0 14px 14px #627b8816)}
.cloud-shape{display:block;width:100%;height:100%;overflow:visible}
.cloud-highlight{stop-color:#ffe4ee}.cloud-shade{stop-color:#f1b0ca}
.med .cloud-highlight{stop-color:#d5f5e9}.med .cloud-shade{stop-color:#95d6d2}
.bubble-1 .bubble-surface{animation-delay:-7s;animation-duration:17s}
.med .bubble-surface{animation-delay:-4s}
.thought-bubble:hover .bubble-surface{box-shadow:none;filter:drop-shadow(0 18px 18px #627b8828) saturate(1.08)}
.bubble-question{max-width:90%}
@keyframes cloud-breathe{from{transform:scale(.98,1.015) rotate(-1deg)}to{transform:scale(1.025,.985) rotate(1deg)}}
@media(max-width:700px){
 
 .about-name{top:7%}
 .about-name>p{margin:12px 0}
 .about-portrait{top:26%;right:9%;width:128px;padding:6px;box-shadow:6px 7px 0 #d9e7ce80}
 .portrait-placeholder{font-size:13px}
 .about-copy{top:48%}
 .bubble-surface,.med .bubble-surface{inset:-5% -8%}
 .bubble-question{max-width:96%}
}
@media(prefers-reduced-motion:reduce){.bubble-surface{animation:none!important}.hero,.about{will-change:auto}}

.hero-face{isolation:isolate}
.hero-face:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 78% 46% at 50% 108%,#f3f8d9e6 0,#d6ecd3a6 22%,#b3d9cd45 48%,transparent 78%);opacity:var(--threshold-light,0)}
.hero-light{z-index:-2}
.about{background:radial-gradient(ellipse at 50% 0,#f7fbe8 0,#edf7e7 58%)}
@media(prefers-reduced-motion:reduce){.hero-face:before{display:none}}
.intro-scene{background:radial-gradient(ellipse at 50% 0,#f7fbe8 0,#edf7e7 58%)}
.about{background:transparent}
.hero-face:before{background:radial-gradient(ellipse 80% 47% at 50% 99%,#f3f8d9f2 0,#d6ecd3b0 22%,#b3d9cd4d 48%,transparent 78%)}
/* The introduction and question field share a pinned scene. */
.intro-journey{height:calc(var(--scene-h) + 220svh)}
.intro-scene>.question-sky{position:absolute;inset:0;z-index:3;height:100%;opacity:0;--ai:#b73e68;--med:#237d84;--topic:#3b7583}
.intro-scene>.question-sky .question-overview{min-height:100%;height:100%;padding-bottom:35px}
.intro-scene>.question-sky .thought-cloud{height:calc(100% - 145px);min-height:510px}
.question-overview .category-switch,.question-overview .thought-cloud{opacity:var(--questions-arrival,0);transform:scale(var(--questions-scale,.9));transform-origin:center}
.about{will-change:transform,opacity}
.project-transition{position:fixed;inset:0;z-index:100;pointer-events:auto;background:#f1f8fc;opacity:0}
html{overflow-anchor:none}
@media(max-width:700px){.intro-scene>.question-sky .thought-cloud{height:calc(100% - 140px);min-height:570px}.intro-scene>.question-sky .question-overview{padding-top:30px;padding-bottom:20px}}
/* Selected questions and their projects share normal document flow. */
.inquiry>.need-panel{min-height:0;padding:32px 8% 26px;background:transparent;color:#314c5a;scroll-margin-top:0}
.inquiry:has(>.need-panel:not([hidden])){background:#f5faff}
.inquiry[data-topic=ai]{background:#fff6fa}
.inquiry[data-topic=med]{background:#effaf6}
.inquiry>.need-panel .need-body{margin-top:24px}
.inquiry>.need-panel .need-text{background:transparent}
.inquiry>.need-panel .back-questions{position:relative;z-index:1;min-height:44px;padding:8px 0;cursor:pointer}
.inquiry[data-topic] .project-intro{padding-top:24px}
@media(max-width:700px){.inquiry>.need-panel{padding:20px 7% 14px}.inquiry>.need-panel .need-body{margin-top:16px;gap:20px}.inquiry[data-topic] .project-intro{padding-top:20px}}
.inquiry[data-topic=ai]>.need-panel{background:#fff6fa}
.inquiry[data-topic=med]>.need-panel{background:#effaf6}

/* Seven questions share the same left/right cloud field. */
#question-cards .bubble-group{width:47%}
#question-cards .bubble-position{height:21%;width:82%;left:4%;top:calc(var(--slot) * 25%)}
#question-cards .bubble-group.ai .bubble-position{height:25%;top:calc(3% + var(--slot) * 33%)}
#question-cards .bubble-position:nth-child(even){left:17%;width:80%}
#question-cards .bubble-position:nth-child(3){left:0;width:87%}
#question-cards .bubble-position:nth-child(4){left:14%;width:83%}
#question-cards .bubble-motion{height:100%;animation-duration:var(--float-duration);animation-delay:var(--float-delay)}
#question-cards .thought-bubble{height:100%;min-height:0;padding:16px 20px}
#question-cards .bubble-question{font-size:clamp(17px,1.65vw,23px);line-height:1.65;max-width:94%}
#question-cards .bubble-trail{width:14px;height:12px;bottom:-8px;box-shadow:13px 16px 0 -4px #eeaac3}
#question-cards .med .bubble-trail{box-shadow:-13px 16px 0 -4px #99d7d5}
@media(max-width:700px){
 #question-cards .bubble-group{width:47%}
 #question-cards .bubble-position,#question-cards .bubble-position:nth-child(n){width:98%;left:0}
 #question-cards .bubble-position:nth-child(even){left:3%;width:96%}
 #question-cards .thought-bubble{padding:12px 7px}
 #question-cards .bubble-question{font-size:15px;line-height:1.7}
}
@media(max-width:380px){#question-cards .bubble-question{font-size:14px}}
/* Use the actual Medium and Bold OPPO faces for readable body copy. */
body{font-weight:500}
.category-button>small,.need-text h3{font-weight:700}
.back-questions,.project-notes summary,.experience-toolbar,.text-link,.related-question,.article-header button{font-weight:700}

/* Fuller silhouettes: independent proportions and softly uneven lobes. */
#question-cards .bubble-position{width:66%;height:23%;left:9%;top:calc(var(--slot) * 25%)}
#question-cards .bubble-group.ai .bubble-position{width:69%;height:29%;top:calc(1% + var(--slot) * 33%)}
#question-cards .bubble-position:nth-child(even){left:30%;width:65%}
#question-cards .bubble-position:nth-child(3){left:0;width:70%}
#question-cards .bubble-position:nth-child(4){left:28%;width:68%}
#question-cards .bubble-surface{inset:-7% -9%}
#question-cards .bubble-question{font-size:clamp(16px,1.55vw,22px);line-height:1.65;max-width:91%}
#question-cards .bubble-trail{bottom:-1px;opacity:.8}
#question-cards .bubble-position:nth-child(2) .bubble-surface{transform-origin:42% 60%;animation-duration:21s}
#question-cards .bubble-position:nth-child(3) .bubble-surface{animation-duration:16s;animation-delay:-10s}
@media(max-width:700px){
 #question-cards .bubble-position,#question-cards .bubble-group.ai .bubble-position,#question-cards .bubble-position:nth-child(n){width:99%;left:0}
 #question-cards .bubble-position:nth-child(even){left:2%;width:97%}
 #question-cards .bubble-question{font-size:14px;line-height:1.65}
 #question-cards .thought-bubble{padding:12px 8px}
}

@media(min-width:701px){
 #question-cards .bubble-group.ai .bubble-position{width:61%;height:36%;left:0;top:calc(var(--slot) * 32%)}
 #question-cards .bubble-group.ai .bubble-position:nth-child(2){left:36%;width:60%}
 #question-cards .bubble-group.ai .bubble-position:nth-child(3){left:5%;width:62%}
 #question-cards .bubble-group.med .bubble-position{width:51%;height:36%;left:0;top:0}
 #question-cards .bubble-group.med .bubble-position:nth-child(2){left:49%;top:15%;width:51%}
 #question-cards .bubble-group.med .bubble-position:nth-child(3){left:0;top:47%;width:52%}
 #question-cards .bubble-group.med .bubble-position:nth-child(4){left:49%;top:62%;width:52%}
 #question-cards .bubble-question{font-size:clamp(15px,1.4vw,20px);max-width:90%}
 #question-cards .thought-bubble{padding:12px}
}

/* Preserve the author's line breaks from the copy editor. */
.about-copy p,.education span,.education small,.need-text p,.need-text small,.project-intro p,.project-notes p,.project-facts strong,.project-facts span,.experience-note,.research-note p,.article-body p,.article-reader p,.book-subtitle{white-space:pre-wrap;overflow-wrap:anywhere}
.project-web-frame{height:84svh;min-height:640px}
@media(max-width:700px){.experience-host{width:100%;border-left:0;border-right:0}.experience-toolbar{padding:9px 12px;font-size:11px}.experience-toolbar span:last-child{max-width:55%;text-align:right}.project-web-frame{height:86svh;min-height:620px}}
