/* Real portfolio content, shared by the desk drawers and the reading pages. */
.portfolio-kicker{font-size:9px;line-height:1.7;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin:0 0 20px}.portfolio-kicker>span{color:#87907c;margin-left:6px}.portfolio-heading{margin:8px 0 34px}.portfolio-heading h1,.portfolio-heading h2{font:400 clamp(34px,3.2vw,50px)/1.06 Desk Sans,sans-serif;letter-spacing:-.055em;max-width:540px;margin:0}.portfolio-lead{font-size:13px;line-height:1.85;color:#737d69;max-width:570px;margin:20px 0 0}.portfolio-projects{display:grid;gap:36px}.portfolio-project{border-bottom:1px solid var(--line);padding-bottom:30px}.project-image{display:block;aspect-ratio:16/10;background:#e9e5d9;border:1px solid #555c3610;overflow:hidden;border-radius:4px}.project-image img{display:block;width:100%;height:100%;transition:transform .4s}.project-image:hover img{transform:scale(1.025)}.project-illustration{height:100%;min-height:180px;background:#dfe5d7;display:flex;flex-direction:column;justify-content:center;gap:20px;align-items:center;color:#68795e}.project-illustration svg{width:80%;height:85px;fill:none;stroke:#729074;stroke-width:2}.project-illustration span{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.project-meta{font-size:8px;line-height:1.7;text-transform:uppercase;letter-spacing:.09em;color:#849077;margin:18px 0 9px}.project-card-copy h3{font-size:24px;font-weight:400;line-height:1.16;letter-spacing:-.04em;margin:0}.project-card-copy h3 a{display:flex;justify-content:space-between;gap:15px}.project-card-copy h3 span{color:var(--orange);font-size:20px}.project-card-copy>p:not(.project-meta){font-size:12px;line-height:1.85;color:#76816d;margin:13px 0 0}.portfolio-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:16px 0 0}.portfolio-tags li{font-size:9px;line-height:1.5;color:#69765f;padding:5px 8px;border:1px solid #74856026;border-radius:2px;background:#74856006}.project-read{display:inline-flex;align-items:center;gap:24px;font-size:10px;border-bottom:1px solid #cd613b60;padding-bottom:6px;margin-top:20px;color:#57654d}.project-read span{color:var(--orange)}.project-read:hover{color:var(--orange)}.portfolio-block{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.portfolio-block h2,.portfolio-block h3{font:400 21px/1.25 Desk Sans,sans-serif;letter-spacing:-.03em;margin:0 0 16px;color:#47553e}.portfolio-block>p,.about-intro>p{font-size:13px;line-height:1.9;color:#707c66;margin:10px 0}.portfolio-block h3:not(:first-child){font-size:16px;margin:25px 0 8px}.portfolio-portrait{width:115px;height:137px;object-fit:cover;float:left;margin:4px 20px 10px 0;border-radius:3px;filter:saturate(.75)}.about-intro{display:flow-root}.portfolio-block .education-school{font-size:17px;line-height:1.5;color:#48563e;margin-top:0}.portfolio-block .record-period,.record-period{font-size:9px;color:#919b87;line-height:1.8;margin:0 0 15px}.language-note{font-size:10px!important;margin-top:18px!important}.portfolio-record{border-top:1px solid #353b321b}.portfolio-record:last-child{border-bottom:1px solid #353b321b}.portfolio-record summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;cursor:pointer}.portfolio-record summary::-webkit-details-marker{display:none}.portfolio-record summary strong{font-size:14px;line-height:1.4;font-weight:500;display:block}.portfolio-record summary>span>span{display:block;color:#7e8973;font-size:10px;line-height:1.7;margin-top:5px}.record-toggle{font-size:20px;color:var(--orange);font-weight:400}.portfolio-record[open] .record-toggle{transform:rotate(45deg)}.record-content{padding:0 0 22px}.record-content>ul:not(.portfolio-tags),.certificate-list,.approach-list{padding-left:17px;color:#74816a;font-size:12px;line-height:1.9}.record-content>ul>li,.certificate-list>li,.approach-list>li{margin-bottom:9px}.community-photo{width:100%;height:200px;object-fit:cover;object-position:50% 45%;border-radius:3px;margin:0 0 25px;filter:saturate(.75)}.portfolio-award{display:grid;grid-template-columns:75px 1fr 15px;gap:15px;align-items:center;border-top:1px solid var(--line);padding:23px 0}.portfolio-award:last-child{border-bottom:1px solid var(--line)}.award-result{font-size:19px;letter-spacing:-.04em;color:var(--orange)}.portfolio-award strong{display:block;font-size:14px;font-weight:400;line-height:1.4}.portfolio-award small{display:block;font-size:10px;line-height:1.8;margin-top:5px;color:#849077}.portfolio-award>span:last-child{color:var(--orange)}.portfolio-award:hover strong{color:var(--orange)}.essay-note{padding:27px;background:#e8e5d8;margin:30px 0 0;border-radius:3px}.essay-note h3{font:italic 30px/1.1 Desk Serif,serif;letter-spacing:-.02em;font-weight:400;margin:0 0 20px}.essay-note p:not(.portfolio-kicker){font-size:12px;line-height:1.8;color:#78816a}.essay-note .essay-result{color:var(--orange)!important}.essay-note small{font-size:8px;color:#959b88}.contact-email{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:clamp(16px,2vw,25px);letter-spacing:-.04em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;overflow-wrap:anywhere}.contact-email span{color:var(--orange)}.contact-email:hover{color:var(--orange)}.contact-location{font-size:11px;color:#7e8a70;margin:16px 0 35px}.contact-socials{display:flex;gap:35px}.contact-socials a{display:flex;gap:30px;font-size:13px}.contact-socials span{color:var(--orange)}.contact-note{margin:55px 0 20px;display:flex;gap:23px;align-items:center}.contact-note>span{font-size:53px;color:var(--orange)}.contact-note p{font-size:13px;line-height:1.8;color:#7f8a72}
/* Left-hand drawer keeps the selected object in view on desktop. */
.portfolio-drawer{position:fixed;left:0;right:auto;top:0;bottom:0;margin:0;width:min(650px,49vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-right:1px solid #dadbcb;background:#f7f4ec;color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:20px 0 80px #313a2114;scrollbar-width:thin;scrollbar-color:#c8cabb #f7f4ec}.portfolio-drawer::backdrop{background:#353b3218;backdrop-filter:blur(1px)}.drawer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 34px;background:#f7f4ecf0;backdrop-filter:blur(10px);position:sticky;top:0;z-index:2;border-bottom:1px solid #353b3218}.drawer-bar>span{font-size:7px;letter-spacing:.12em;color:#8b947f}.drawer-close{border:1px solid #7c866d33;border-radius:30px;background:transparent;padding:9px 12px;font-size:9px;display:flex;gap:17px;align-items:center}.drawer-close>span{font-size:15px;color:var(--orange)}.drawer-close:hover{border-color:var(--orange)}.drawer-content{padding:32px 40px 45px}.drawer-bottom{border-top:1px solid var(--line);margin:0 40px 30px;padding-top:20px}.drawer-bottom a{font-size:9px;color:#79846d}.drawer-bottom a:hover{color:var(--orange)}body.has-drawer{overflow:hidden}body.has-drawer .hotspots{visibility:hidden}.header-actions{display:flex;gap:20px;align-items:center}.reading-link{font-size:9px;color:#7a8470}.menu-toggle{display:flex;gap:20px;align-items:center;border:0;border-bottom:1px solid #cd613b66;background:transparent;padding:9px 0;font-size:10px}.menu-toggle>span{color:var(--orange);font-size:15px}.quick-menu{position:absolute;right:0;top:84px;width:285px;background:#f8f5ed;border:1px solid #b7bba740;padding:12px 20px;box-shadow:0 12px 40px #313b2110;border-radius:3px}.quick-menu[hidden]{display:none}.quick-menu>button,.quick-menu>a{width:100%;display:flex;gap:20px;align-items:center;text-align:left;border:0;border-bottom:1px solid #353b3214;background:transparent;padding:16px 0;font-size:12px}.quick-menu>button>span{font-size:10px;color:var(--orange)}.quick-menu>button:hover,.quick-menu>a:hover{color:var(--orange)}.quick-menu>a{font-size:10px;color:#819074;border-bottom:0}.panel .panel-open{font:400 11px Desk Sans,sans-serif;background:transparent;border:0;border-bottom:1px solid #cd613b88;display:inline-flex;align-items:center;gap:25px;padding:0 0 8px;margin-top:27px}.panel-open>span{font-size:19px;color:var(--orange)}.panel-open:hover{color:var(--orange)}.panel .tour-link{font-size:8px;display:block;color:#939b87;letter-spacing:.08em;margin-top:23px}.panel .description{max-width:345px}.portfolio-name{font-size:clamp(88px,7.4vw,126px);line-height:.95}.portfolio-name em{font-size:1.12em}.panel .identity-note{font-size:8px;letter-spacing:.08em;color:#89947b;margin-top:32px;display:flex;align-items:center;gap:8px}
/* Reading view never loads the 3D scene. */
.reading-page{background:#f7f4ec}.reading-header{max-width:1180px;margin:auto;padding:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.reading-brand{font-size:26px;letter-spacing:-.07em;font-weight:500}.reading-brand>span{color:var(--orange)}.reading-header nav{display:flex;gap:26px;flex-wrap:wrap;align-items:center;font-size:10px;color:#77846a}.reading-header nav a:hover{color:var(--orange)}.reading-content{max-width:1040px;padding:70px 36px 90px;margin:auto}.reading-intro{padding-bottom:50px}.reading-intro h1{font-size:clamp(42px,5.7vw,80px);line-height:1.03}.reading-intro .portfolio-lead{font-size:15px}.reading-section{padding:70px 0 25px;border-top:1px solid var(--line);scroll-margin-top:30px}.reading-section .portfolio-heading h1,.reading-section .portfolio-heading h2{font-size:45px}.reading-section .portfolio-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.reading-section .about-intro{max-width:750px}.reading-section .portfolio-block{max-width:750px}.reading-section .portfolio-portrait{width:170px;height:202px;margin-right:30px}.reading-section .portfolio-awards{max-width:750px}.reading-section .essay-note{max-width:750px}.reading-section .contact-email{max-width:650px}.reading-footer{max-width:1100px;margin:auto;padding:30px 36px;display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font-size:9px;color:#859176}.case-heading h1{font-size:clamp(42px,5vw,75px);line-height:1.04;max-width:850px}.case-heading .portfolio-lead{font-size:15px;max-width:780px}.case-team{font-size:12px;color:#929b86;margin:18px 0}.case-image{margin:40px 0 45px;border-radius:3px;overflow:hidden;background:#eae7dc}.case-image>img{width:100%;height:auto;max-height:630px;display:block;object-fit:contain!important}.case-image>figcaption{font-size:9px;line-height:1.7;padding:14px 18px;color:#89967a}.case-body{max-width:720px;margin:0 auto}.case-body .portfolio-block h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--orange)}.case-body .portfolio-block>p{font-size:15px;line-height:1.9}.case-body .approach-list{font-size:15px;line-height:1.9}.case-body .approach-list>li{margin-bottom:20px}.case-ask{display:inline-block;font-size:12px;margin-top:30px;color:var(--orange);border-bottom:1px solid #cd613b60;padding-bottom:8px}.project-external{display:flex;flex-wrap:wrap;gap:14px 25px;margin-top:20px}.project-external>a{font-size:11px;line-height:1.6;color:var(--orange);border-bottom:1px solid #cd613b33;padding-bottom:5px}
@media(max-width:1050px){.header-note{display:none}.header-actions{gap:20px}.portfolio-drawer{width:56vw}.drawer-content{padding:25px 30px 40px}.drawer-bar{padding:20px 25px}.drawer-bottom{margin:0 30px 25px}.portfolio-heading h2{font-size:36px}.portfolio-name{font-size:9.5vw}.hotspots .hotspot-label{font-size:8px}#chapter-nav{gap:18px}}
@media(max-width:700px){.header-actions{gap:17px}.reading-link{display:none}.menu-toggle{font-size:9px;gap:15px}.quick-menu{top:66px;width:260px}.portfolio-drawer{left:0;right:0;top:auto;bottom:0;width:100%;height:91dvh;max-height:91dvh;border-radius:16px 16px 0 0;border:1px solid #dadbcb}.drawer-bar{padding:18px 24px}.drawer-content{padding:25px 25px 35px}.drawer-bottom{margin:0 25px 25px}.drawer-bar>span{font-size:6px}.portfolio-heading h2{font-size:37px}.portfolio-lead{font-size:12px}.portfolio-card-copy>p{font-size:12px}.project-card-copy h3{font-size:24px}.portfolio-block>p,.about-intro>p{font-size:12px}.portfolio-name{font-size:clamp(65px,17vw,96px)}.panel .description{font-size:11px;max-width:285px}.panel .panel-open{font-size:10px;margin-top:20px}.panel .tour-link{margin-top:15px;font-size:7px}.panel .identity-note{font-size:7px;margin-top:22px}.header .brand-small{font-size:5px}#chapter-nav{gap:13px}#chapter-nav a{font-size:6px}#chapter-nav a>span{display:none}.scroll-indicator{display:none}.scene-caption{bottom:14%;font-size:5px}.scene-caption #caption>span{font-size:4px}.portfolio-award{grid-template-columns:60px 1fr 12px;gap:10px}.award-result{font-size:17px}.portfolio-award strong{font-size:13px}.portfolio-award small{font-size:9px}.contact-email{font-size:21px}.reading-header{padding:22px 25px;align-items:flex-start;gap:15px}.reading-brand{font-size:24px}.reading-header nav{gap:12px 17px;justify-content:flex-end;max-width:230px;font-size:9px}.reading-content{padding:45px 25px 65px}.reading-intro{padding-bottom:25px}.reading-intro .portfolio-lead{font-size:13px}.reading-section{padding-top:45px}.reading-section .portfolio-heading h1,.reading-section .portfolio-heading h2{font-size:35px}.reading-section .portfolio-projects{grid-template-columns:1fr}.reading-section .portfolio-portrait{width:110px;height:131px;margin-right:20px}.case-heading h1{font-size:40px}.case-heading .portfolio-lead{font-size:13px}.case-body .portfolio-block>p,.case-body .approach-list{font-size:13px}.reading-footer{padding:25px;font-size:8px}.case-image{margin:30px 0}.portfolio-drawer::backdrop{background:#353b3240}.portfolio-kicker>span{display:block;margin:6px 0 0}.hotspot-label{display:none}}
html,body,.chapter{overflow-anchor:none}body.has-drawer .panel{visibility:hidden!important}#contact .replay{display:block;margin-top:23px;font-size:9px;border:0;color:#8d9780}#contact .replay span{font-size:14px}.hotspots button{min-width:34px;min-height:34px}
@media(max-width:760px){.portfolio-drawer{left:0;right:0;top:auto;bottom:0;width:100%;height:91dvh;max-height:91dvh;border-radius:16px 16px 0 0;border:1px solid #dadbcb}.header-actions{gap:15px}.reading-link{display:none}.menu-toggle{font-size:9px;gap:15px}.quick-menu{top:66px;width:260px}.drawer-bar{padding:18px 24px}.drawer-content{padding:25px 25px 35px}.drawer-bottom{margin:0 25px 25px}.drawer-bar>span{font-size:6px}.portfolio-heading h2{font-size:37px}.portfolio-name{font-size:clamp(65px,17vw,96px)}.panel .description{font-size:11px;max-width:285px}.panel .panel-open{font-size:10px;margin-top:20px}.panel .identity-note{font-size:7px;margin-top:22px}.header .brand-small{font-size:5px}#chapter-nav{gap:13px}#chapter-nav a{font-size:6px}#chapter-nav a>span{display:none}.scroll-indicator{display:none}.portfolio-drawer::backdrop{background:#353b3240}}
/* An invitation at each camera stop; never a blocking modal. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.discovery-prompt{position:fixed;z-index:8;right:5.5%;bottom:16%;width:340px;padding:21px 23px 0;background:#fbf8f0f7;border:1px solid #c8c8b5;border-radius:5px;box-shadow:0 12px 45px #40452b20;backdrop-filter:blur(14px);animation:discovery-in .35s cubic-bezier(.2,.8,.2,1) both}.discovery-prompt[hidden]{display:none}.discovery-prompt:before{content:'';position:absolute;left:22px;right:22px;top:-1px;height:2px;background:var(--orange)}.discovery-top{display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:.12em;color:#939d85}.discovery-symbol{color:var(--orange);font-size:17px;line-height:1}.discovery-dismiss{margin:-9px -10px -9px auto;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;min-width:36px;min-height:36px;font-size:19px;color:#a1a58e}.discovery-dismiss:hover{background:#cd613b0b;color:var(--orange)}.discovery-prompt h3{font:400 24px/1.12 Desk Sans,sans-serif;letter-spacing:-.045em;margin:16px 0 11px;color:#46513e;max-width:270px}.discovery-prompt>p{font-size:11px;line-height:1.8;color:#829074;margin:0;max-width:290px}.discovery-actions{display:flex;align-items:center;gap:17px;margin:18px 0 17px}.discovery-open{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;line-height:1.4;background:#566449;color:#faf7ed;border:1px solid #566449;border-radius:3px;min-height:40px;padding:10px 12px;transition:background .2s}.discovery-open>span{font-size:15px;color:#e3bd8e}.discovery-open:hover{background:#3d4d32}.discovery-next{display:flex;align-items:center;gap:7px;background:transparent;border:0;font-size:9px;line-height:1.4;color:#8b967d;min-height:40px;padding:7px 0}.discovery-next>span{font-size:12px;color:var(--orange)}.discovery-next:hover{color:var(--orange)}.discovery-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #353b3217;padding:12px 0;font-size:5px;letter-spacing:.08em;color:#a4ac97}.discovery-foot>span:first-child{color:var(--orange);font-size:7px;font-variant-numeric:tabular-nums}body.has-drawer .discovery-prompt{display:none}
@keyframes discovery-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px) and (min-width:761px){.discovery-prompt{right:4%;bottom:15%;width:310px;padding:19px 20px 0}.discovery-prompt h3{font-size:23px}.discovery-actions{gap:12px}.discovery-open{font-size:9px}}
@media(max-width:760px){.discovery-prompt{left:6%;right:6%;bottom:84px;width:auto;padding:18px 21px 0;max-width:440px;margin-left:auto}.discovery-prompt h3{font-size:24px;max-width:none;margin:10px 0 7px}.discovery-top{font-size:7px}.discovery-prompt>p{font-size:11px;line-height:1.7;max-width:none}.discovery-actions{margin:13px 0 12px;justify-content:space-between;gap:12px}.discovery-open{font-size:11px;min-height:44px;padding:11px 15px;gap:22px}.discovery-next{font-size:10px;min-height:44px}.discovery-dismiss{min-width:44px;min-height:44px;margin-top:-12px;margin-bottom:-12px}.discovery-foot{font-size:5px;padding:10px 0}.discovery-foot>span:first-child{font-size:7px}}
@media(max-height:600px){.discovery-prompt{bottom:76px;padding-top:14px}.discovery-prompt h3{font-size:21px;margin:8px 0}.discovery-prompt>p{font-size:10px}.discovery-actions{margin:10px 0}.discovery-foot{padding:8px 0}}

/* UPGRADED: A quieter type scale gives the desk and project photographs room. */
:root{--reading-text:#5d6854;--desk-title-size:clamp(40px,4vw,62px);--desk-name-size:clamp(70px,6.3vw,94px)}
.panel{max-width:470px}
.panel h1.portfolio-name{font-size:var(--desk-name-size);line-height:1.02;letter-spacing:-.055em}
.panel h2{font-size:var(--desk-title-size);line-height:1.12;letter-spacing:-.045em}
.panel h1.portfolio-name em,.panel h2 em{font-family:Desk Sans,sans-serif;font-style:normal;font-size:1em;font-weight:400;letter-spacing:inherit}
.panel h1.portfolio-name em{font-weight:500;color:var(--ink)}
.panel .description{font-size:14px;line-height:1.8;color:var(--ink);max-width:355px;margin-top:25px}
.panel .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.055em;margin-bottom:24px}
.panel .eyebrow>span{font-size:10px}
.panel .panel-open{font-size:13px;margin-top:26px;min-height:35px}
.panel .tour-link{font-size:10px;letter-spacing:.04em}
.panel .identity-note{font-size:9px;letter-spacing:.035em;line-height:1.7;max-width:350px}
.panel .field-note{margin-top:30px;padding-left:13px}
.panel .field-note>span{font-size:9px;letter-spacing:.055em}
.panel .field-note p{font-size:12px;line-height:1.85;color:var(--ink)}
.header .header-note{font-size:9px;letter-spacing:.06em}
#chapter-nav a{font-size:10px;letter-spacing:.04em}
#chapter-nav a>span{font-size:9px}
.footer-label{font-size:8px;line-height:1.5}.footer-label>span{font-size:7px}

/* UPGRADED: Short invitations use readable body text and a smaller heading. */
.discovery-prompt{width:315px;padding:17px 20px 0}
.discovery-top{font-size:10px;letter-spacing:.02em;min-height:23px}
.discovery-symbol{font-size:14px}
.discovery-prompt h3{font-size:20px;font-weight:500;letter-spacing:-.03em;margin:12px 0 8px}
.discovery-prompt>p{font-size:13px;line-height:1.7;color:var(--reading-text)}
.discovery-actions{margin:17px 0 13px;gap:16px}
.discovery-open{font-size:12px;min-height:42px;padding:10px 12px;gap:15px}
.discovery-next{font-size:11px;min-height:42px}
.discovery-foot{font-size:9px;letter-spacing:0;padding:10px 0;color:var(--reading-text)}
.discovery-foot>span:first-child{font-size:9px}

/* UPGRADED: Real project images and prose carry the reading views. */
.portfolio-heading h2{font-size:clamp(29px,2.8vw,40px);line-height:1.15;letter-spacing:-.04em}
.portfolio-lead{font-size:15px;color:var(--reading-text)}
.portfolio-kicker{font-size:10px;letter-spacing:.055em}
.project-image{aspect-ratio:4/3}
.project-meta{font-size:10px;line-height:1.8;letter-spacing:.045em}
.project-card-copy>p:not(.project-meta){font-size:14px;line-height:1.85;color:var(--reading-text)}
.portfolio-tags li{font-size:11px;padding:5px 8px}
.project-read{font-size:12px}
.portfolio-block>p,.about-intro>p{font-size:14px;line-height:1.9;color:var(--reading-text)}
.portfolio-record summary strong{font-size:16px}
.portfolio-record summary>span>span{font-size:12px}
.record-content>ul:not(.portfolio-tags),.certificate-list{font-size:14px;color:var(--reading-text)}
.reading-intro h1{font-size:clamp(38px,4.6vw,65px);line-height:1.13}
.reading-intro h1 em{font-family:Desk Sans,sans-serif;font-size:1em;font-style:normal;font-weight:400;letter-spacing:inherit}
.case-heading h1{font-size:clamp(36px,4.5vw,62px);line-height:1.1}

/* UPGRADED: Keep the same hierarchy in the narrower desk view. */
@media(max-width:1050px) and (min-width:761px){.panel{width:43%}.panel .description{font-size:13px}.panel .eyebrow{font-size:9px}.discovery-prompt{width:305px}}
@media(max-width:760px){
  :root{--desk-title-size:clamp(31px,5.8vw,43px);--desk-name-size:clamp(51px,9.8vw,70px)}
  .panel{max-width:520px;width:84%;top:max(102px,13%);isolation:isolate}
  .panel::before{content:"";position:absolute;inset:-14px -12px -18px;z-index:-1;border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 97%,transparent) 85%,transparent);pointer-events:none}
  .panel h1.portfolio-name,.panel h2{line-height:1.1}
  .panel .eyebrow{font-size:12px;margin-bottom:16px;gap:10px;letter-spacing:.02em}
  .panel .eyebrow>span{font-size:12px}
  .panel .description{font-size:16px;line-height:1.65;margin-top:18px;max-width:390px}
  .panel .description br{display:none}
  .panel .panel-open{font-size:15px;margin-top:16px;min-height:44px}
  .panel .tour-link{font-size:12px;margin-top:8px;min-height:44px;display:inline-flex;align-items:center;letter-spacing:0}
  .panel .identity-note{font-size:11px;margin-top:14px;max-width:250px;letter-spacing:0}
  .panel .field-note{display:none}
  .footer{left:5%;right:5%;height:64px;background:color-mix(in srgb,var(--paper) 97%,transparent);backdrop-filter:blur(12px)}
  #chapter-nav{gap:0;flex:1;justify-content:space-between}#chapter-nav a{font-size:clamp(10px,2.9vw,12px);font-weight:500;letter-spacing:0;min-height:48px;min-width:42px;padding:0;display:flex;align-items:center;justify-content:center}
  #chapter-nav a>span,.footer-label,.scroll-indicator,.scene-caption{display:none}
  body:not(.no-webgl) .desk-status{display:none}
  .discovery-prompt{width:auto;max-width:390px;padding:16px 19px 0}
  .discovery-prompt h3{font-size:20px;margin:9px 0 7px}
  .discovery-prompt>p{font-size:16px;line-height:1.6}
  .discovery-top{font-size:12px}
  .discovery-actions{margin:13px 0 10px;gap:12px}
  .discovery-open,.discovery-next{font-size:14px;min-height:44px}
  .discovery-foot{font-size:12px;padding:10px 0}.discovery-foot>span:first-child{font-size:12px}
  .portfolio-heading h2{font-size:32px}.portfolio-lead{font-size:16px}
  .header .brand{gap:8px;font-size:16px}.header .brand-icon{font-size:32px}.brand-small{display:none}
  .header .menu-toggle{font-size:14px;min-height:44px;padding:8px;gap:8px}
  .header .motion,.header .theme-control{min-width:44px;min-height:44px;justify-content:center;padding:8px}
  .header .motion-glyph,.header .theme-glyph{font-size:18px}
  .drawer-bar{padding:16px 6%}.drawer-bar>span{font-size:12px;letter-spacing:.02em}.drawer-close{font-size:14px;min-height:44px;padding:9px 14px;white-space:nowrap;flex-shrink:0;gap:12px}
  .drawer-content{padding:26px 6%}.drawer-bottom a{font-size:14px;line-height:1.6;display:inline-flex;align-items:center;min-height:44px}
  .portfolio-kicker,.project-meta{font-size:12px;letter-spacing:.03em}
  .project-card-copy>p:not(.project-meta),.portfolio-block>p,.about-intro>p,.record-content>ul:not(.portfolio-tags),.certificate-list,.approach-list,.contact-note p{font-size:16px;line-height:1.75}
  .portfolio-record summary strong{font-size:18px}.portfolio-record summary>span>span,.record-period,.portfolio-block .record-period,.portfolio-award small,.contact-location,.case-team,.case-image>figcaption{font-size:14px;line-height:1.65}
  .portfolio-tags li{font-size:12px}.project-read,.contact-socials a,.cv-download{font-size:15px;min-height:44px}
  .reading-header{padding:20px 6%;align-items:flex-start;gap:14px}.reading-header nav{font-size:14px;gap:4px 16px}
  .reading-header nav a{min-height:44px;display:inline-flex;align-items:center}.reading-content{padding:32px 6% 70px}
  .reading-footer{font-size:13px;line-height:1.6}.contact-email{font-size:clamp(22px,5.8vw,34px);overflow-wrap:anywhere}
  .case-body .portfolio-block>p,.case-body .approach-list,.reading-content .portfolio-lead{font-size:16px;line-height:1.75}
  .case-body .portfolio-block h2{font-size:14px;line-height:1.5}
  .project-external a,.case-ask{font-size:15px;min-height:44px;display:inline-flex;align-items:center;line-height:1.6}
}
@media(max-height:700px) and (min-width:761px){.panel{top:21%}.panel .eyebrow{margin-bottom:18px}.panel .description{margin-top:18px}.panel .field-note{margin-top:20px}.panel .identity-note{margin-top:22px}}
/* UPGRADED: Give chapter links enough room on a small phone. */
@media(max-width:400px){.header .brand{font-size:14px}.panel .identity-note{display:none}.footer{justify-content:center}#chapter-nav{gap:0}}
@media(max-width:360px){.header .brand{font-size:12px;white-space:nowrap}.header .brand-icon{font-size:28px}#chapter-nav{gap:3px}#chapter-nav a{min-width:0;padding:0 2px}}
@media(max-width:760px) and (max-height:700px){.panel{top:98px}.panel h1.portfolio-name{font-size:44px}.panel h2{font-size:32px}.panel .eyebrow{margin-bottom:10px}.panel .description{margin-top:14px}.panel .tour-link,.panel .identity-note{display:none}}
/* UPGRADED: A plain header keeps navigation readable over close-up objects. */
.header{background:var(--paper);transition:background-color .5s}

/* Download the supplied CV without changing the portfolio layout. */
.photo-links{position:fixed;inset:0;z-index:4;pointer-events:none}
.photo-links a{position:absolute;display:block;pointer-events:auto;cursor:pointer;background:transparent;transition:background .2s}
.photo-links a[hidden]{display:none}
.photo-links a:hover{background:#fff7d52b}
.photo-links a:focus-visible{background:#d7a56c55;outline:0;box-shadow:inset 0 0 0 4px #b85e3b}
.photo-links a span{position:absolute;left:0;right:0;bottom:8%;text-align:center;font-size:10px;font-weight:500;opacity:0}
.photo-links a:focus-visible span{opacity:1}
body.has-drawer .photo-links,.no-webgl .photo-links{display:none}
.cv-download{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:12px 16px;margin:0 0 24px;border:1px solid #61705355;border-radius:3px;background:#566449;color:#faf7ed;font-size:13px;line-height:1.5}
.cv-download>span{font-size:10px;color:#e5d1ac;white-space:nowrap}.cv-download:hover{background:#3f5035}.contact-socials+.cv-download{margin-top:30px}.reading-header nav .cv-nav{color:var(--orange)}
html[data-theme="dark"] .cv-download{background:#bac8a7;color:#203029;border-color:#bac8a7}html[data-theme="dark"] .cv-download>span{color:#536047}html[data-theme="dark"] .cv-download:hover{background:#d1ddbf}
