/* The base document is a complete reading layout. Animation is opt-in on ready. */
*{box-sizing:border-box}
html{background:#f4f3ef;color:#20272e;font-family:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:#145dff}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #145dff;outline-offset:5px}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:100;top:-100px;left:20px;background:#20272e;color:#fff;padding:12px 22px}.skip-link:focus{top:15px}
.site-header{height:84px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,39,46,.09);position:relative;z-index:20;background:#f4f3ef}
.wordmark{font-size:13px;letter-spacing:.11em;font-weight:650;white-space:nowrap}.wordmark>span:last-child{font-weight:450;font-size:11px;letter-spacing:.16em}.wordmark-divider{padding:0 13px;color:#92969b;font-weight:300}
.prototype-label{font-size:9px;letter-spacing:.18em;color:#727780}.prototype-label span{margin-left:12px;color:#20272e}.header-actions{display:flex;align-items:center;gap:24px;font-size:11px}.header-pdf{color:#656d75}.header-actions button{background:none;border:0;padding:10px 0}.header-actions button span{margin-left:8px}
#loading-status{font-size:11px;letter-spacing:.03em;color:#69717a;text-align:center;padding:10px 20px;margin:0;background:rgba(255,255,255,.5)}
#compat-note,.noscript-note{max-width:1060px;padding:18px 24px;border-left:2px solid #145dff;background:#e9edf3;margin:32px auto 0;color:#424d58;font-size:13px;line-height:1.8}#compat-note strong{font-weight:600;color:#20272e}#compat-note p{margin:3px 0}
#morning-scene,#stage,#story,#caption,#skill-hotspots,#stage-mark,#contact-overlay,.scene-controls{display:none}
.small-label{display:block;font-size:10px;font-weight:500;letter-spacing:.16em;color:#737c85;line-height:1.5}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#145dff;margin-right:8px;vertical-align:middle}
#reading-view{width:calc(100% - 96px);max-width:1060px;margin:0 auto}.read-intro{padding:68px 0 0}.read-intro-topline{display:flex;align-items:center;justify-content:space-between}.read-availability{font-size:11px;color:#69717a}.read-intro h1{font-weight:500;font-size:76px;line-height:1.16;letter-spacing:-.05em;margin:40px 0 24px}.read-intro h1 span{display:block;font-size:30px;letter-spacing:-.02em;font-weight:400;margin-top:16px;color:#6e7780}.read-intro-text{max-width:760px;font-size:17px;line-height:1.95;color:#57616b}.read-intro-meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin:28px 0 42px;font-size:12px}.read-intro-meta span{color:#69717a}.read-nav{display:flex;flex-wrap:wrap;border-top:1px solid #cdd1d0;border-bottom:1px solid #cdd1d0;padding:19px 0;gap:18px 45px;font-size:12px}.read-nav span{font-size:9px;color:#8b9299;padding-left:8px}
.read-section{padding:78px 0 0;scroll-margin-top:32px}.section-heading{margin-bottom:36px}.section-heading h2{font-size:34px;line-height:1.35;font-weight:500;letter-spacing:-.035em;margin:12px 0}.section-heading p{color:#737c85;font-size:13px;margin:0}.read-section h3{font-size:20px;font-weight:550;line-height:1.55;margin:0 0 8px}.read-skill{display:flex;padding:26px 0;border-top:1px solid #d9dcd9}.read-skill-title{width:31%;flex-shrink:0;padding-right:20px}.read-skill-title .small-label{font-size:8px;letter-spacing:.12em;margin-bottom:8px}.read-skill-title h3{font-size:18px}.read-skill>div:last-child{flex:1}.read-skill p{margin:0;color:#5d6873}.read-stack{font-size:11px;letter-spacing:.015em;color:#828a91!important;line-height:1.9;margin:12px 0 0!important}.read-experience{display:flex;padding:30px 0;border-top:1px solid #d9dcd9}.read-experience-time{width:24%;flex-shrink:0;padding-right:24px}.read-year{font-size:31px;font-weight:400;letter-spacing:-.055em}.read-experience-time p{font-size:11px;color:#7c858e;line-height:1.65;margin-top:7px}.read-experience-body{flex:1}.read-experience-body>p{color:#5d6873;margin:8px 0}.read-role{font-size:12px;letter-spacing:.02em;color:#20272e!important}.read-bullets{padding-left:18px;color:#5d6873;font-size:14px;line-height:1.9}.read-bullets li{padding-left:2px;margin:8px 0}.read-bullets strong{font-weight:550;color:#424e59}.related-projects{font-size:11px}.related-projects a{text-decoration:underline;text-decoration-color:#b7bdc1;text-underline-offset:4px}.read-project{border-top:1px solid #d9dcd9;padding:32px 0;scroll-margin-top:32px}.read-project-heading{display:flex;align-items:flex-start;gap:24px}.read-number{font-size:12px;letter-spacing:.05em;color:#8b939a;line-height:30px}.read-meta{font-size:11px;color:#7b838b;margin:3px 0}.read-overview{font-size:16px;line-height:1.85;color:#4c5863}.read-project .read-bullets{max-width:930px}.read-project>p:last-child a{font-size:12px}.read-contact{padding-bottom:80px}.read-contact h2{font-size:44px;font-weight:450;letter-spacing:-.05em;margin:18px 0 24px;line-height:1.4}.read-email{font-size:27px;letter-spacing:-.025em}.read-contact>p{font-size:13px;color:#727c85}.contact-separator{padding:0 16px;color:#b1b8be}.download-link{display:inline-block;margin-top:16px;border-bottom:1px solid #20272e;padding:6px 0;font-size:12px}.download-link span{margin-left:38px}.read-footer{border-top:1px solid #cdd1d0;padding:22px 0 34px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;color:#7c858d}
/* Animation stage: enabled only after all required assets and renderer succeed. */
.enhanced body{overflow-x:hidden}.enhanced .site-header{position:fixed;top:0;left:0;right:0;background:rgba(244,243,239,.78);height:76px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:transparent}.enhanced #reading-view,.enhanced #loading-status,.enhanced #compat-note{display:none!important}.enhanced #story{display:block;height:900vh;position:relative;pointer-events:none}.enhanced #stage{display:block;position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.enhanced #stage canvas{width:100%;height:100%;display:block;outline:0}.enhanced #caption{display:block;position:fixed;z-index:3;left:6.1vw;top:29vh;width:335px;pointer-events:none}.chapter-eyebrow{display:flex;align-items:center;gap:10px;color:#858c92;font-size:8px;letter-spacing:.15em;white-space:nowrap}#chapter-index{color:#20272e;font-size:9px;letter-spacing:.07em;font-variant-numeric:tabular-nums}.eyebrow-rule{height:1px;background:#c3c8c9;width:21px}#chapter-title{font-size:48px;line-height:1.28;letter-spacing:-.055em;font-weight:450;margin:24px 0 20px;white-space:pre-line}#chapter-text{font-size:13px;line-height:1.95;color:#6e7983;margin:0;max-width:290px;white-space:pre-line}.chapter-tags{display:flex;gap:8px 15px;flex-wrap:wrap;margin-top:27px;color:#79828b;font-size:9px;letter-spacing:.015em}.chapter-tags span{border-bottom:1px solid #cdd2d3;padding-bottom:5px}.enhanced #stage-mark{display:block;position:fixed;z-index:4;right:4vw;bottom:128px;font-size:8px;letter-spacing:.16em;color:#90979c;pointer-events:none}.enhanced #skill-hotspots{display:block;position:fixed;inset:0;z-index:4;pointer-events:none}.skill-hotspot,.hotspot{position:absolute;padding:8px 12px;background:rgba(244,243,239,.94);border:1px solid rgba(110,127,145,.2);border-radius:4px;color:#52616d;font-size:10px;white-space:nowrap;backdrop-filter:blur(10px)}
.enhanced .scene-controls{display:flex;position:fixed;z-index:10;left:0;right:0;bottom:0;min-height:91px;padding:20px 4vw 23px;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(to bottom,rgba(244,243,239,0),rgba(244,243,239,.96) 32%);pointer-events:none}.scene-controls>*{pointer-events:auto}#phase-nav{display:flex;align-items:center;gap:22px}#phase-nav button{padding:9px 0;border:0;background:transparent;color:#939a9f;font-size:10px;position:relative;white-space:nowrap}#phase-nav button span{font-size:8px;margin-right:7px;letter-spacing:.04em}#phase-nav button.active,#phase-nav button[aria-current="step"],#phase-nav button[aria-selected="true"]{color:#20272e}#phase-nav button.active:after,#phase-nav button[aria-current="step"]:after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:100%;background:#20272e}.transport{display:flex;align-items:center;gap:18px}#play-toggle{font-size:10px;background:none;border:1px solid #b7bfc6;border-radius:100px;padding:6px 13px;min-width:56px}#progress{width:150px;height:2px;border:0;background:#c9cfd3;accent-color:#20272e;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:2px}#progress::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:8px;border-radius:50%;background:#20272e}#progress::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:#20272e}.transport-hint{font-size:9px;color:#8b949c;letter-spacing:.04em}
.enhanced #contact-overlay{display:block;position:fixed;left:0;top:0;width:800px;height:460px;z-index:5;transform-origin:0 0;opacity:0;pointer-events:none;padding:55px 64px;color:#e5edf4;background:#101821;overflow:hidden;border-radius:4px;will-change:transform,opacity}.contact-kicker{display:block;font-size:11px;letter-spacing:.18em;color:#7e96ad}#contact-overlay h2{font-size:55px;line-height:1.2;letter-spacing:-.05em;font-weight:400;margin:25px 0 18px}.contact-person{font-size:16px;color:#a1b2c1;margin:0 0 24px}.screen-email{font-size:29px;letter-spacing:-.025em;display:block;width:100%;border-bottom:1px solid #344351;padding-bottom:15px}.screen-email span{float:right;color:#94bdf4}.screen-contact-bottom{display:flex;justify-content:space-between;margin-top:18px;font-size:15px;color:#90a4b7}#contact-overlay a:hover{color:#b9d6ff}
@media(min-width:1600px){.enhanced #caption{left:8vw;width:360px}#chapter-title{font-size:55px}#chapter-text{font-size:14px}.enhanced .scene-controls{padding-left:6vw;padding-right:6vw}}
@media(max-width:1000px){.site-header{padding:0 28px}.prototype-label{display:none}.enhanced #caption{left:5vw;width:285px}#chapter-title{font-size:40px}#chapter-text{font-size:12px;max-width:250px}#phase-nav{gap:16px}.transport-hint{display:none}#progress{width:115px}.scene-controls{gap:18px}.enhanced #stage-mark{bottom:108px}}
@media(max-width:759px){.site-header,.enhanced .site-header{height:64px;padding:0 22px}.wordmark{font-size:12px}.wordmark>span:last-child{font-size:9px}.wordmark-divider{padding:0 8px}.header-actions{font-size:10px;gap:16px}.header-pdf{display:none}#loading-status{font-size:10px;padding:9px 15px}#compat-note,.noscript-note{margin:22px 20px 0;padding:13px 16px;font-size:12px}#reading-view{width:auto;margin:0 23px}.read-intro{padding-top:36px}.read-intro-topline{display:block}.read-availability{display:block;margin-top:12px;font-size:10px}.read-intro h1{font-size:52px;margin:30px 0 20px}.read-intro h1 span{font-size:22px;margin-top:12px}.read-intro-text{font-size:14px;line-height:1.9}.read-intro-meta{gap:8px 19px;font-size:11px;margin:25px 0 28px}.read-nav{gap:14px 24px;font-size:11px}.read-nav span{font-size:8px}.read-section{padding-top:48px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:28px}.read-skill{display:block;padding:21px 0}.read-skill-title{width:auto;padding:0;margin-bottom:12px}.read-skill p{font-size:13px}.read-experience{display:block;padding:23px 0}.read-experience-time{width:auto;padding:0;display:flex;align-items:baseline;gap:14px}.read-year{font-size:27px}.read-experience-time p{font-size:9px}.read-experience-body{margin-top:10px}.read-section h3{font-size:18px}.read-experience-body>p,.read-bullets{font-size:13px}.read-project{padding:23px 0}.read-project-heading{gap:14px}.read-meta{line-height:1.9;font-size:10px}.read-overview{font-size:14px}.read-contact h2{font-size:32px}.read-email{font-size:22px}.read-contact{padding-bottom:55px}.read-footer{font-size:8px;padding-top:18px}.enhanced #caption{left:27px;right:27px;width:auto;top:104px;max-width:390px}.chapter-eyebrow{font-size:7px;gap:8px}#chapter-index{font-size:8px}.eyebrow-rule{width:16px}#chapter-title{font-size:34px;line-height:1.2;letter-spacing:-.05em;margin:17px 0 13px}#chapter-text{font-size:11px;line-height:1.8;max-width:315px}.chapter-tags{margin-top:14px;font-size:8px;gap:8px 12px}.chapter-tags span{padding-bottom:3px}.enhanced #stage-mark{right:24px;bottom:145px;font-size:7px;letter-spacing:.12em}.enhanced .scene-controls{padding:15px 25px max(18px,env(safe-area-inset-bottom));min-height:124px;flex-direction:column;gap:9px;justify-content:flex-end;align-items:stretch;background:linear-gradient(to bottom,rgba(244,243,239,0),rgba(244,243,239,.96) 28%)}#phase-nav{justify-content:space-between;gap:9px}#phase-nav button{font-size:9px;padding:6px 0}#phase-nav button span{font-size:7px;margin-right:5px}.transport{justify-content:space-between;gap:18px}#play-toggle{font-size:9px;padding:4px 12px;min-width:52px}#progress{flex:1;width:auto}.transport-hint{display:block;font-size:8px}.skill-hotspot,.hotspot{font-size:8px;padding:6px 9px}.enhanced #story{height:900vh}}
@media(max-width:759px) and (max-height:720px){.enhanced #caption{top:87px}#chapter-title{font-size:28px;margin:12px 0 10px}#chapter-text{font-size:10px;line-height:1.65}.chapter-tags{margin-top:9px}.enhanced #stage-mark{bottom:125px}.enhanced .scene-controls{min-height:106px;padding-top:10px;padding-bottom:14px;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{html,body{background:#fff;color:#111;font-size:10pt}.site-header,#loading-status,#compat-note,.noscript-note,#morning-scene,#stage,#story,#caption,#skill-hotspots,#stage-mark,#contact-overlay,.scene-controls,.read-nav,.skip-link{display:none!important}#reading-view,.enhanced #reading-view{display:block!important;width:auto;max-width:none;margin:0}.read-intro{padding:0}.read-intro h1{font-size:27pt;margin:16pt 0}.read-intro h1 span{font-size:14pt}.read-intro-text{font-size:10pt}.read-intro-meta{margin:12pt 0 20pt}.read-section{padding-top:22pt}.section-heading{margin-bottom:12pt}.section-heading h2{font-size:17pt}.read-skill,.read-experience,.read-project{break-inside:avoid;page-break-inside:avoid;padding:12pt 0}.read-section h3{font-size:12pt}.read-bullets{font-size:10pt}.read-contact{padding-bottom:0}.read-contact h2{font-size:19pt}.read-email{font-size:14pt}.read-footer{margin-top:20pt}.download-link{display:none}}

/* Let the final contact content sit on the screen's pale generated-light wallpaper. */
.enhanced #contact-overlay{background:transparent;color:#213449;border-radius:0}
#contact-overlay .contact-kicker{color:#6a8199}
#contact-overlay .contact-person{color:#637b93}
#contact-overlay .screen-email{border-color:rgba(71,103,136,.22)}
#contact-overlay .screen-email span{color:#367bb9}
#contact-overlay .screen-contact-bottom{color:#536e89}
#contact-overlay a:hover{color:#1269b7}
.caption-enter{animation:caption-arrive .38s ease both}
@keyframes caption-arrive{from{transform:translateY(7px)}to{transform:translateY(0)}}
@media(max-width:760px){
 .enhanced #contact-overlay{padding:24px 44px;line-height:1.3}
 #contact-overlay .contact-kicker{font-size:14px;line-height:1.3}
 #contact-overlay h2{font-size:60px;line-height:1.1;margin:12px 0 8px}
 #contact-overlay .contact-person{font-size:22px;line-height:1.3;margin:0 0 8px}
 #contact-overlay .screen-email{font-size:36px;line-height:1.3;padding-bottom:9px}
 #contact-overlay .screen-contact-bottom{font-size:24px;line-height:1.3;margin-top:10px}
}

@media(min-width:760px) and (max-width:1100px){.enhanced #caption{left:4vw;width:235px}#chapter-title{font-size:34px}#chapter-text{max-width:230px;font-size:12px}.chapter-eyebrow{font-size:7px;letter-spacing:.07em}}
@media(max-width:759px){.header-pdf{display:inline}.header-actions{gap:12px}}
@media(min-width:760px){
 .enhanced #contact-overlay{padding:36px 54px;line-height:1.3}
 #contact-overlay .contact-kicker{line-height:1.3}
 #contact-overlay h2{margin:18px 0 12px}
 #contact-overlay .contact-person{line-height:1.3;margin:0 0 14px}
 #contact-overlay .screen-email{line-height:1.3;padding-bottom:10px}
 #contact-overlay .screen-contact-bottom{line-height:1.3;margin-top:14px}
}

/* Personal edition 02: morning light, a warm desk, and room for the product. */
.enhanced #morning-scene{display:block;position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:var(--desk-opacity,1);will-change:opacity}
.enhanced #morning-scene .morning-photo{position:absolute;inset:-2%;background:url("assets/morning-desk-v8.png") 16% center/cover no-repeat;transform:translateY(var(--desk-shift,0px)) scale(var(--desk-scale,1));transform-origin:center center;will-change:transform}
.enhanced #morning-scene .morning-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,245,238,.62) 0%,rgba(247,245,238,.38) 28%,rgba(247,245,238,.08) 49%,rgba(247,245,238,0) 70%)}
.enhanced .site-header{background:rgba(246,244,237,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.enhanced[data-phase="cover"] #chapter-kicker{font-size:10px;letter-spacing:.06em;color:#65717c}
.enhanced[data-phase="cover"] #chapter-text{color:#586771}
.enhanced[data-phase="cover"] .chapter-tags{color:#7b817e}
#contact-overlay h2{font-size:52px;line-height:1.16}
@media(min-width:1101px){
 .enhanced[data-phase="cover"] #caption{top:26vh;width:390px}
 .enhanced[data-phase="cover"] #chapter-title{font-size:56px;line-height:1.18;letter-spacing:-.06em;margin:27px 0 24px;font-weight:450}
 .enhanced[data-phase="cover"] #chapter-text{font-size:14px;line-height:1.9;max-width:310px}
}
@media(min-width:1600px){
 .enhanced[data-phase="cover"] #chapter-title{font-size:64px}
 .enhanced[data-phase="cover"] #caption{width:430px}
}
@media(max-width:759px){
 .enhanced #morning-scene .morning-wash{background:linear-gradient(180deg,rgba(247,245,238,.7) 0%,rgba(247,245,238,.35) 30%,rgba(247,245,238,0) 56%)}
 .enhanced[data-phase="cover"] #chapter-kicker{font-size:8px;letter-spacing:.035em}
 .enhanced[data-phase="cover"] #chapter-title{font-weight:450;letter-spacing:-.055em}
 #contact-overlay h2{font-size:54px;line-height:1.1}
}
@media print{#morning-scene,.enhanced #morning-scene{display:none!important}}
.enhanced[data-desk-status="unavailable"] #morning-scene{display:none}
@media(min-width:760px) and (max-height:650px){
 .enhanced .site-header{height:58px;padding:0 4vw}
 .enhanced #caption,.enhanced[data-phase="cover"] #caption{top:calc(64px + 2vh);left:4vw;width:clamp(230px,27vw,330px)}
 .enhanced #chapter-title,.enhanced[data-phase="cover"] #chapter-title{font-size:clamp(27px,6vh,38px);line-height:1.18;margin:13px 0 11px}
 .enhanced #chapter-text,.enhanced[data-phase="cover"] #chapter-text{font-size:11px;line-height:1.65;max-width:100%}
 .enhanced .chapter-tags{margin-top:12px;font-size:8px;gap:6px 10px}
 .enhanced .scene-controls{min-height:64px;padding:12px 4vw 16px}
 .enhanced #stage-mark{bottom:83px}
 .enhanced #chapter-kicker,.enhanced[data-phase="cover"] #chapter-kicker{font-size:7px}
}

/* Edition 05: compensate screen foreshortening without changing the chosen camera. */
.enhanced #contact-overlay{display:flex;flex-direction:column;justify-content:center;padding:28px 44px;line-height:1.2}
#contact-overlay .contact-kicker{font-size:12px;line-height:1.2}
#contact-overlay h2{font-size:48px;line-height:1.06;margin:12px 0 10px}
#contact-overlay .contact-person{font-size:18px;line-height:1.3;margin:0 0 10px}
#contact-overlay .screen-email{font-size:30px;line-height:1.2;padding-bottom:8px}
#contact-overlay .screen-contact-bottom{font-size:20px;line-height:1.2;margin-top:12px}
@media(max-width:759px){
 .enhanced #contact-overlay{padding:24px 32px}
 #contact-overlay .contact-kicker,#contact-overlay .contact-person{display:none}
 #contact-overlay h2{font-size:56px;line-height:1.02;margin:0 0 16px}
 #contact-overlay .screen-email{font-size:48px;line-height:1.15;padding-bottom:12px}
 #contact-overlay .screen-contact-bottom{font-size:42px;line-height:1.15;margin-top:14px}
}
@media(min-width:760px) and (max-height:650px){
 .enhanced #contact-overlay{padding:32px 34px}
 #contact-overlay .contact-kicker,#contact-overlay .contact-person,#contact-overlay h2{display:none}
 #contact-overlay .screen-email{font-size:60px;line-height:1.15;padding-bottom:14px}
 #contact-overlay .screen-contact-bottom{font-size:60px;line-height:1.15;margin-top:18px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
}

/* Edition 07: centered product reveal, six editorial chapters, a supporting device. */
#chapter-rail{display:none}
.enhanced #story{height:1600vh}
.enhanced #caption{left:44vw;right:auto;top:calc(50vh - 205px);width:49vw;max-width:700px;will-change:transform,opacity}
.enhanced #chapter-title{font-size:clamp(44px,4.4vw,70px);line-height:1.16;font-weight:450;letter-spacing:-.055em;margin:20px 0 22px}
.enhanced #chapter-text{font-size:16px;line-height:1.85;max-width:570px;color:#626f79}
.enhanced .chapter-eyebrow{font-size:9px;letter-spacing:.14em}
#chapter-scope{font-size:12px;letter-spacing:.02em;line-height:1.5;color:#6c7e8a;margin:16px 0 0}
#chapter-scope:empty,#chapter-evidence:empty{display:none}
.enhanced .chapter-tags{font-size:11px;gap:10px 20px;margin-top:25px}
#chapter-evidence{font-size:12px;line-height:1.7;color:#506574;padding:0 0 0 12px;border-left:2px solid #91a8b5;margin:23px 0 0;max-width:580px}
.enhanced #chapter-rail{display:flex;position:fixed;z-index:4;left:44vw;bottom:146px;width:50vw;max-width:710px;gap:17px;flex-wrap:wrap;opacity:0}
.chapter-rail-item{border:0;border-top:1px solid #d4d9d8;background:transparent;color:#8d979e;padding:10px 0 0;font-size:10px;white-space:nowrap;transition:color .2s,border-color .2s}
.chapter-rail-item span{font-size:8px;margin-right:5px;font-variant-numeric:tabular-nums}
.chapter-rail-item.active{color:#253f50;border-color:#466c82}
.skill-hotspot{border:0;border-bottom:1px solid #9daeb8;background:rgba(244,243,239,.9);border-radius:0;padding:6px 8px;font-size:9px;letter-spacing:.03em;box-shadow:none}
.enhanced[data-phase="cover"] #caption,.enhanced[data-phase="reveal"] #caption{left:6vw;right:6vw;top:12vh;width:88vw;max-width:none;text-align:center}
.enhanced[data-phase="cover"] .chapter-eyebrow,.enhanced[data-phase="reveal"] .chapter-eyebrow{justify-content:center}
.enhanced[data-phase="cover"] #chapter-title,.enhanced[data-phase="reveal"] #chapter-title{font-size:clamp(32px,3vw,48px);line-height:1.25;margin:16px 0 9px}
.enhanced[data-phase="cover"] #chapter-text,.enhanced[data-phase="reveal"] #chapter-text{max-width:none;font-size:13px;line-height:1.7;color:#647078}
.enhanced #morning-scene .morning-wash{background:linear-gradient(180deg,rgba(247,245,238,.62),rgba(247,245,238,.16) 42%,rgba(247,245,238,0) 75%)}
@media(min-width:760px) and (max-width:1100px){
 .enhanced #caption{left:43vw;width:52vw;top:calc(50vh - 182px)}
 .enhanced #chapter-title{font-size:42px;margin:16px 0 18px}
 .enhanced #chapter-text{font-size:14px;line-height:1.8}
 .enhanced #chapter-rail{left:43vw;width:52vw;gap:12px;bottom:118px}
 .chapter-rail-item{font-size:9px}
}
@media(max-width:759px){
 .enhanced #stage-mark{display:none}
 .enhanced #caption{left:24px;right:24px;width:auto;top:86px;max-width:none}
 .enhanced #chapter-title{font-size:32px;line-height:1.16;margin:10px 0 12px}
 .enhanced #chapter-text{font-size:12px;line-height:1.7;max-width:none}
 .enhanced .chapter-eyebrow{font-size:7px;letter-spacing:.08em}
 #chapter-scope{font-size:9px;line-height:1.5;margin:8px 0 0}
 .enhanced .chapter-tags{font-size:9px;gap:6px 12px;margin-top:12px}
 #chapter-evidence{font-size:10px;line-height:1.6;padding-left:9px;margin-top:12px}
 .enhanced #chapter-rail{left:24px;right:24px;width:auto;max-width:none;bottom:133px;gap:0;justify-content:space-between}
 .chapter-rail-item{font-size:0;padding-top:7px;min-width:36px;text-align:center}
 .chapter-rail-item span{font-size:9px;margin:0}
 .chapter-rail-item:focus-visible{outline-offset:1px}
 .enhanced[data-phase="cover"] #caption,.enhanced[data-phase="reveal"] #caption{top:84px;left:20px;right:20px;width:auto}
 .enhanced[data-phase="cover"] #chapter-title,.enhanced[data-phase="reveal"] #chapter-title{font-size:27px;margin:14px 0 8px}
 .enhanced[data-phase="cover"] #chapter-text,.enhanced[data-phase="reveal"] #chapter-text{font-size:11px}
 .skill-hotspot{font-size:8px;padding:4px 6px}
}
@media(max-width:759px) and (max-height:720px){
 .enhanced #caption{top:79px}
 .enhanced #chapter-title{font-size:28px;margin:8px 0 9px}
 .enhanced #chapter-text{font-size:12px;line-height:1.65}
 #chapter-scope{font-size:8px;margin-top:7px}
 .enhanced .chapter-tags{font-size:8px;margin-top:9px;gap:5px 10px}
 #chapter-evidence{font-size:9px;margin-top:9px}
 .enhanced #chapter-rail{bottom:113px}
}
@media(min-width:760px) and (max-height:650px){
 .enhanced #caption{top:76px;left:43vw;width:53vw}
 .enhanced #stage-mark{display:none}
 .enhanced #chapter-title{font-size:28px;line-height:1.15;margin:7px 0 8px}
 .enhanced #chapter-text{font-size:11px;line-height:1.6}
 .enhanced .chapter-eyebrow{font-size:7px}
 #chapter-scope{font-size:8px;margin-top:5px}
 .enhanced .chapter-tags{font-size:8px;margin-top:9px;gap:6px 12px}
 #chapter-evidence{font-size:9px;margin-top:9px}
 .enhanced #chapter-rail{bottom:80px;left:43vw;width:53vw;gap:9px}
 .chapter-rail-item{font-size:8px;padding-top:5px}
 .chapter-rail-item span{font-size:7px}
 .enhanced[data-phase="cover"] #caption,.enhanced[data-phase="reveal"] #caption{top:68px}
 .enhanced[data-phase="cover"] #chapter-title,.enhanced[data-phase="reveal"] #chapter-title{font-size:26px;margin:7px 0}
 .enhanced[data-phase="cover"] #chapter-text,.enhanced[data-phase="reveal"] #chapter-text{font-size:10px}
}
@media print{#chapter-rail{display:none!important}}

/* V8: retain a little greenery within the portrait crop of the opening desk. */
@media(max-width:759px){.enhanced #morning-scene .morning-photo{background-position:100% center}}

/* V9: concise stage copy with a readable route to the underlying project. */
#chapter-evidence{display:block;text-decoration:none;width:fit-content}
#chapter-evidence[href]:hover{text-decoration:underline;text-underline-offset:4px;color:#233e50}
#chapter-evidence[href]:focus-visible{outline:2px solid #466c82;outline-offset:5px}
.read-project{scroll-margin-top:88px}
.read-metric-note{font-size:13px;line-height:1.8;color:#65727a;background:#eef0ed;border-left:2px solid #a2b4ba;padding:12px 16px;margin-top:22px}
#contact-overlay .contact-availability{font-size:16px;line-height:1.5;margin:0 0 14px;color:#506574}
@media(max-width:759px){
 #contact-overlay .contact-availability{font-size:26px;line-height:1.3;margin:0 0 14px}
}
@media(min-width:760px) and (max-height:650px){
 .enhanced[data-phase="cover"] #caption,.enhanced[data-phase="reveal"] #caption{top:62px}
 .enhanced[data-phase="cover"] #chapter-title,.enhanced[data-phase="reveal"] #chapter-title{margin:5px 0}
 .enhanced[data-phase="cover"] #chapter-text,.enhanced[data-phase="reveal"] #chapter-text{line-height:1.55}
 #contact-overlay .contact-availability{display:none}
}

/* Keep the longer personal-site wordmark and header actions legible on narrow phones. */
@media(max-width:380px){
 .site-header,.enhanced .site-header{padding-left:16px;padding-right:16px;gap:8px}
 .wordmark{font-size:11px}
 .wordmark>span:last-child{font-size:8px;letter-spacing:.11em}
 .wordmark-divider{padding:0 6px}
 .header-actions{font-size:9px;gap:10px;white-space:nowrap}
}
