:root{--ink:#111;--paper:#f3f2ee;--line:#171717;--accent:#e9ff55;--muted:#686861;--sans:Arial,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{background:#e8e7e3;color:var(--ink);font-family:var(--sans);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 12%,#f7f6f2 0,transparent 30%),#e8e7e3}.site-header{height:92px;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #00000029;font-size:12px;letter-spacing:.03em}.identity{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:700}.identity em{font-size:10px;color:var(--muted);font-style:normal;font-weight:400}.identity__mark{display:grid;place-items:center;width:42px;height:42px;border:1.5px solid;border-radius:50%;font-size:13px}.header-meta{display:flex;gap:34px}.header-meta a{color:inherit}main{width:min(1200px,92vw);margin:auto}.intro{position:relative;padding:68px 0 54px}.eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 22px}.intro h1{font-size:clamp(52px,8vw,116px);letter-spacing:-.07em;line-height:.84;margin:0;font-weight:500}.intro h1 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.intro__copy{position:absolute;right:0;bottom:55px;margin:0;font-size:12px;line-height:1.7;color:#4f4f4b}.filters{display:flex;gap:10px;overflow:auto;padding:10px 0 42px}.filter{white-space:nowrap;border:1px solid #171717;border-radius:100px;background:transparent;padding:10px 16px;font:700 10px var(--sans);letter-spacing:.08em;cursor:pointer;transition:.2s}.filter sup{font-weight:400;margin-left:7px}.filter:hover,.filter.is-active{background:var(--ink);color:#fff}.archive{position:relative;height:670px;perspective:1200px;margin-bottom:85px}.archive__back{position:absolute;z-index:0;inset:0 4% auto;height:125px;border:1.5px solid;border-radius:20px 20px 0 0;background:#c9c8c3;padding:22px 28px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}.files{position:absolute;z-index:2;inset:82px 7% 118px;overflow:visible}.file{position:absolute;top:var(--y);left:0;width:100%;height:142px;border:1.5px solid var(--line);border-radius:16px 16px 2px 2px;background:var(--paper);box-shadow:0 4px 0 #00000014;cursor:grab;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s,top .35s;touch-action:none;overflow:visible}.files.is-filtered .file:not(.is-hidden){top:var(--filtered-y)}.file:hover{transform:translateY(-13px)}.file:active{cursor:grabbing}.file.is-hidden{opacity:0;pointer-events:none;transform:translateY(80px)}.file__tab{position:absolute;top:-35px;left:var(--tab);width:29%;height:37px;border:1.5px solid;border-bottom:0;border-radius:13px 13px 0 0;background:inherit;padding:10px 15px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em}.file__body{height:100%;display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:start;padding:21px 25px}.file__no{font-size:11px;color:var(--muted)}.file h3{font-size:clamp(22px,3vw,39px);letter-spacing:-.045em;line-height:.9;margin:0;font-weight:500}.file__meta{text-align:right;font-size:9px;line-height:1.6;letter-spacing:.1em}.drawer-front{position:absolute;z-index:20;inset:auto 0 0;height:126px;background:#d2d1cc;border:1.5px solid;border-radius:3px 3px 14px 14px;box-shadow:0 18px 35px #00000029;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 32px}.drawer-front__index,.drawer-front__hint{font-size:9px;letter-spacing:.13em}.drawer-front__hint{text-align:right}.drawer-label{transform:rotate(-1deg);background:var(--accent);border:1.5px solid;border-radius:5px;padding:8px 26px;text-align:center;box-shadow:2px 3px 0 #111}.drawer-label span{display:block;font-size:8px;letter-spacing:.2em}.drawer-label strong{font-size:13px;letter-spacing:.06em}footer{display:flex;justify-content:space-between;border-top:1px solid #0003;padding:24px 4vw 35px;font-size:9px;letter-spacing:.12em}
.reader{position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden}.reader.is-open{pointer-events:auto;visibility:visible}.reader__scrim{position:absolute;inset:0;background:#0f0f0e80;opacity:0;backdrop-filter:blur(6px);transition:.35s}.reader.is-open .reader__scrim{opacity:1}.reader__sheet{position:absolute;inset:2vh 2.5vw 0;background:var(--paper);border:1.5px solid;border-radius:18px 18px 0 0;overflow:auto;transform:translateY(105%);transition:transform .55s cubic-bezier(.18,.8,.2,1);box-shadow:0 -20px 60px #00000040}.reader.is-open .reader__sheet{transform:translateY(0)}.reader__handle{position:sticky;top:0;height:48px;z-index:40;background:#f3f2eef0;backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:ns-resize;border-bottom:1px solid #bbb}.reader__handle span{width:70px;height:4px;border-radius:3px;background:#111;margin-bottom:4px}.reader__handle small{font-size:7px;letter-spacing:.15em}.reader__close{position:fixed;right:4.5vw;top:3.4vh;z-index:50;width:36px;height:36px;border:1px solid;border-radius:50%;background:var(--accent);font-size:24px;line-height:28px;cursor:pointer}.experience{position:relative;min-height:calc(98vh - 48px);overflow:hidden;border-bottom:1px solid;background:#d9d8d3}.experience__heading{position:absolute;z-index:5;top:6vw;left:5vw;pointer-events:none}.experience__heading>span{font-size:9px;letter-spacing:.16em}.experience__heading h2{font-size:clamp(62px,10vw,155px);letter-spacing:-.075em;line-height:.8;margin:24px 0 18px;font-weight:500}.experience__heading p{font-size:10px;letter-spacing:.14em}.experience__shade{position:absolute;inset:0;background:linear-gradient(90deg,#e4e3df 0,transparent 45%);pointer-events:none}.model-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.model-canvas:active{cursor:grabbing}.orbit-hint,.prototype-hint{position:absolute;z-index:5;right:4vw;top:5vw;display:flex;gap:25px;font-size:8px;letter-spacing:.14em}.orbit-hint em,.prototype-hint em{font-style:normal;color:#777}.enter-case{position:absolute;z-index:9;left:5vw;bottom:5vw;border:1px solid;border-radius:100px;background:var(--accent);padding:13px 19px;font:700 9px var(--sans);letter-spacing:.12em;cursor:pointer}.enter-case span{font-size:15px;margin-left:16px}.experience--digital{background:#d6d5d0}.experience--digital.focus{background:radial-gradient(circle at 67% 49%,#f78b8b 0,#d8d6d0 29%,#c5c4bf 70%)}.experience--digital.motion{background:radial-gradient(circle at 67% 49%,#e86d69 0,#cfceca 28%,#bdbcb7 72%)}.phone-shell{position:absolute;z-index:4;left:66%;top:50%;width:min(310px,26vw);aspect-ratio:.49;transform:translate(-50%,-48%) rotate(4deg);border:7px solid #151515;border-radius:44px;background:#f2f1ed;box-shadow:28px 35px 55px #0003;overflow:hidden;transition:transform .35s}.phone-shell:hover{transform:translate(-50%,-50%) rotate(0) scale(1.025)}.phone-island{position:absolute;z-index:9;top:10px;left:50%;width:36%;height:24px;transform:translateX(-50%);border-radius:20px;background:#111}.phone-screen{position:absolute;inset:0;padding:60px 24px 78px;opacity:0;transform:translateX(22px);transition:.45s;pointer-events:none}.phone-screen.is-active{opacity:1;transform:none;pointer-events:auto}.phone-screen small{font-size:7px;letter-spacing:.13em}.phone-screen h3{font-size:30px;letter-spacing:-.055em;line-height:.96;margin:28px 0}.phone-screen p{font-size:9px;line-height:1.5;color:#555}.phone-nav{position:absolute;z-index:12;bottom:17px;left:17px;right:17px;height:50px;border-radius:25px;background:#181818;display:flex;justify-content:space-around;align-items:center}.phone-nav button{width:35px;height:35px;border:0;border-radius:50%;background:transparent;color:#aaa;cursor:pointer}.phone-nav button.is-active{background:var(--accent);color:#111}.timer-ring{width:174px;height:174px;margin:38px auto 24px;border:2px solid #111;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 10px #e76b671f}.timer-ring strong{font-size:38px;letter-spacing:-.06em}.timer-ring span{font-size:7px;letter-spacing:.15em;margin-top:5px}.sound-wave{height:48px;display:flex;align-items:center;justify-content:center;gap:4px}.sound-wave i{width:3px;height:20%;background:#e66360;animation:wave 1s ease-in-out infinite alternate}.sound-wave i:nth-child(3n){height:90%;animation-delay:.2s}.sound-wave i:nth-child(2n){height:50%;animation-delay:.4s}@keyframes wave{to{transform:scaleY(.35)}}.phone-screen ul{padding:0;list-style:none;font-size:11px}.phone-screen li{padding:14px 0;border-bottom:1px solid #bbb}.phone-screen li:before{content:'○';margin-right:10px}.phone-screen li.done{text-decoration:line-through;color:#777}.phone-screen li.done:before{content:'●';color:#e66360}.sound-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sound-grid b{aspect-ratio:1;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:8px}.climb-chart{height:160px;margin:18px 0;display:flex;align-items:flex-end;justify-content:center;gap:7px}.climb-chart i{width:22px;background:#ef6a65;clip-path:polygon(50% 0,100% 28%,83% 100%,18% 100%,0 30%)}.climb-chart i:nth-child(1){height:42%}.climb-chart i:nth-child(2){height:70%}.climb-chart i:nth-child(3){height:53%}.climb-chart i:nth-child(4){height:88%}.climb-chart i:nth-child(5){height:68%}.analysis-row{display:flex;justify-content:space-between;border-top:1px solid;padding:10px 0;font-size:8px}.coach-orb{width:140px;height:140px;border-radius:50%;margin:70px auto 35px;background:radial-gradient(circle at 35% 30%,#fff,#ef6b66 35%,#1d1d1d 73%);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.92);filter:saturate(.6)}}.progress-bars{height:230px;display:flex;gap:14px;align-items:flex-end;margin-top:50px}.progress-bars i{width:20%;background:linear-gradient(#f06b66,#262626);border-radius:5px 5px 0 0;animation:rise .8s ease both}@keyframes rise{from{height:0}}.experience--visual{background:#111}.experience__visual{position:absolute;inset:0;background-image:var(--cover);background-size:cover;background-position:center;filter:saturate(.8);transform:scale(1.04);transition:transform 4s ease}.experience--visual:hover .experience__visual{transform:scale(1)}.experience--visual .experience__shade{background:linear-gradient(90deg,#0d0d0dcc,transparent 70%)}.experience--visual .experience__heading{color:#fff}.experience--visual .enter-case{color:#111}.case-intro{min-height:48vh;padding:7vw 6vw;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid;scroll-margin-top:48px}.case-intro span{font-size:9px;letter-spacing:.14em}.case-intro h2{font-size:clamp(55px,9vw,130px);letter-spacing:-.075em;line-height:.82;margin:20px 0 0;font-weight:500}.case-intro p{max-width:520px;font-size:14px;line-height:1.7}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid}.project-facts div{padding:24px;border-right:1px solid}.project-facts span{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.project-facts strong{font-size:12px}.document-page{padding:7vw 6vw;border-bottom:1px solid}.document-page img{display:block;width:100%;border:1px solid #aaa}.document-caption{display:flex;justify-content:space-between;margin-top:14px;font-size:9px;letter-spacing:.1em;color:var(--muted)}.placeholder-page{min-height:70vh;display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:center;padding:7vw 6vw}.placeholder-page img{width:100%;border:1px solid}.placeholder-page span{font-family:Georgia,serif;font-size:clamp(32px,6vw,72px);font-style:italic}.reader-end{padding:12vh 4vw;text-align:center}.reader-end button{border:1px solid;border-radius:100px;background:var(--ink);color:#fff;padding:13px 24px;cursor:pointer}
@media(max-width:700px){.site-header{height:74px}.header-meta span{display:none}.intro{padding-top:45px}.intro__copy{position:static;margin-top:30px}.filters{padding-bottom:55px}.archive{height:615px}.archive__back{inset-inline:0}.files{inset-inline:3%;top:72px}.file{height:118px}.file__tab{width:47%;left:var(--mobile-tab)}.file__body{grid-template-columns:35px 1fr;padding:18px 16px}.file__meta{display:none}.drawer-front{height:108px;grid-template-columns:1fr;padding:15px}.drawer-front__index,.drawer-front__hint{display:none}.reader__sheet{inset:1vh 1.5vw 0}.experience{min-height:calc(99vh - 48px)}.experience__heading{top:8vw}.experience__heading h2{font-size:58px}.orbit-hint,.prototype-hint{top:auto;bottom:90px;left:5vw;right:auto}.orbit-hint span:nth-child(2){display:none}.phone-shell{left:52%;top:58%;width:245px}.experience--digital .experience__heading h2{font-size:50px}.enter-case{bottom:25px}.case-intro{grid-template-columns:1fr;gap:40px;padding:18vw 6vw}.project-facts{grid-template-columns:1fr 1fr}.project-facts div:nth-child(2){border-right:0}.document-page{padding:12vw 3vw}.placeholder-page{grid-template-columns:1fr}.reader__close{right:7vw}.model-canvas{top:12%;height:84%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.file__tab{pointer-events:none}

.header-nav{display:flex;gap:26px;margin-left:auto;margin-right:5vw}.header-nav a{color:inherit;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.header-nav a:hover{text-decoration:underline}.about-section{min-height:760px;border-top:1px solid;display:grid;grid-template-columns:80px minmax(240px,360px) 1fr;gap:5vw;padding:100px 0;align-items:start}.section-index{display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:.15em}.about-portrait{position:relative}.about-portrait:before{content:'AVAILABLE FOR WORK';position:absolute;right:-40px;top:-35px;z-index:2;background:var(--accent);border:1px solid;border-radius:50%;width:98px;height:98px;display:grid;place-items:center;text-align:center;font-size:8px;letter-spacing:.12em;transform:rotate(9deg)}.about-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1);border:1px solid}.about-copy{align-self:center}.about-lead{font-size:clamp(32px,4.5vw,68px)!important;letter-spacing:-.055em;line-height:.98!important;margin:0 0 45px!important}.about-copy>p:not(.about-lead){font-size:13px;line-height:1.8;max-width:650px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px;border-top:1px solid}.about-columns>div{padding-top:20px}.about-columns span,.about-columns small{display:block;font-size:8px;letter-spacing:.13em;color:var(--muted)}.about-columns strong{display:block;font-size:12px;line-height:1.5;margin:14px 0}.contact-section{border-top:1px solid;padding:85px 0 60px}.contact-section>p{margin:55px 0 30px;font-size:12px}.contact-section>a{display:block;color:inherit;text-decoration:none;font-size:clamp(50px,8vw,118px);line-height:.84;letter-spacing:-.065em}.contact-section>a em{font-family:Georgia,serif;font-weight:400}.contact-section>a:hover em{background:var(--accent)}.contact-meta{display:flex;justify-content:space-between;margin-top:90px;border-top:1px solid;padding-top:20px;font-size:9px;letter-spacing:.12em}.experience--app{background:#d8d7d2}.app-showcase{position:absolute;inset:5% 3% 5% 43%;display:grid;grid-template-columns:1fr .42fr;gap:18px;align-items:center}.app-showcase figure{margin:0;border:1px solid;background:#eee;box-shadow:16px 20px 35px #0002;overflow:hidden}.app-showcase__main{transform:rotate(1.5deg)}.app-showcase__cover{transform:rotate(-3deg)}.app-showcase img{display:block;width:100%;height:100%;object-fit:cover}.app-showcase__main img{aspect-ratio:16/9}.app-showcase__cover img{aspect-ratio:9/14}.experience--app .experience__heading{max-width:58%;z-index:7}.experience--app .experience__heading h2{font-size:clamp(64px,9vw,140px)}.material-lock{background:radial-gradient(circle at 68% 48%,#f3f3f0,#bbbdbd 65%,#a7a8a5)}.material-screw{background:radial-gradient(circle at 68% 48%,#f5f1e8,#cac5ba 68%,#aaa59b)}.material-light{background:radial-gradient(circle at 68% 48%,#42656a,#142528 62%,#0b1214);color:#f5f5f1}.material-light .experience__shade{background:linear-gradient(90deg,#0b1214 0,transparent 48%)}.material-light .orbit-hint{color:#fff}.material-light .enter-case{color:#111}.experience--product .experience__heading{max-width:60%}.experience--product .experience__heading h2{font-size:clamp(62px,9vw,138px)}
@media(max-width:700px){.header-nav{display:none}.about-section{grid-template-columns:45px 1fr;gap:20px;padding:75px 0}.about-portrait{grid-column:2}.about-copy{grid-column:2}.about-columns{grid-template-columns:1fr}.contact-meta{flex-direction:column;gap:12px}.contact-section>a{font-size:48px}.app-showcase{inset:32% 5% 10%;grid-template-columns:1fr}.app-showcase__cover{display:none}.experience--app .experience__heading{max-width:90%}.prototype-hint{display:none}.material-light .experience__heading{color:#fff}.about-portrait:before{right:-4px}}

/* Portfolio-first refinement: cool neutrals, readable index tabs, full media. */
:root{--paper:#f3f6f8;--muted:#59636c}html{background:#e5e9ed}body{background:linear-gradient(135deg,#edf0f3 0,#e3e7eb 100%)}.site-header{background:#e9edf0;border-color:#aeb6bd}.archive__back{background:#cbd2d8}.archive{height:720px}.files{top:90px;bottom:126px}.file{height:148px;background:#f2f5f7;box-shadow:0 4px 0 #71808b18}.file:nth-child(2n){background:#e8edf0}.file:nth-child(3n){background:#f5f7f8}.file__tab{top:-43px;left:min(var(--tab),62%);width:38%;height:45px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:7px;padding:8px 13px;pointer-events:auto;background:inherit}.file__tab strong{font-size:13px;font-weight:500;letter-spacing:-.02em;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file__tab span:last-child{text-align:right}.file__body{grid-template-columns:80px 1fr auto;align-items:start}.file__summary{margin:0;font-size:11px;letter-spacing:.1em}.drawer-front{background:#cbd2d8}.reader__sheet{background:#f3f6f8}.reader__handle{background:#f3f6f8f2}.document-page{padding:5vw 4vw;background:#e9edf0}.document-page img{background:#101316;box-shadow:0 14px 35px #27323b20}.case-intro,.project-facts{background:#f3f6f8}.experience--app{background:#d9dfe4}.material-lock{background:radial-gradient(circle at 68% 48%,#f0f4f6,#c6ced4 65%,#adb7bf)}.material-screw{background:radial-gradient(circle at 68% 48%,#f1f4f5,#ccd3d7 68%,#b3bcc2)}.model-loader{position:absolute;z-index:8;left:67%;top:52%;width:230px;transform:translate(-50%,-50%);font-size:8px;letter-spacing:.14em;text-align:center;transition:opacity .35s}.model-loader i{display:block;height:2px;margin-bottom:12px;background:linear-gradient(90deg,#111 0 45%,transparent 45%);background-size:220% 100%;animation:model-loading 1.1s linear infinite}.model-loader.is-loaded{opacity:0;pointer-events:none}@keyframes model-loading{to{background-position:-220% 0}}.experience--product .model-canvas{z-index:2}.experience--product .experience__shade{z-index:3}.experience--product .experience__heading,.experience--product .orbit-hint,.experience--product .enter-case{z-index:5}.project-facts strong{font-size:11px}
@media(max-width:700px){.archive{height:660px}.files{top:82px}.file{height:124px}.file__tab{left:var(--mobile-tab);width:59%;grid-template-columns:38px 1fr 42px;padding-inline:9px}.file__tab strong{font-size:11px}.file__body{grid-template-columns:32px 1fr}.file__summary{font-size:9px}.model-loader{left:52%;top:58%}.document-page{padding:7vw 2vw}}
.app-showcase--video{inset:8% 3% 8% 42%;display:block}.app-showcase__video{width:100%;height:100%;transform:rotate(1deg)}.app-showcase__video video{display:block;width:100%;height:100%;object-fit:cover;background:#101214}.document-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#101214;border:1px solid #7d8790;box-shadow:0 14px 35px #27323b20}
@media(max-width:700px){.app-showcase--video{inset:31% 4% 12%}.app-showcase__video{height:auto}.app-showcase__video video{aspect-ratio:16/9}}

/* Archive poster system: industrial controls, charcoal weight and tactile paper. */
:root{--ink:#171715;--paper:#e9e5d9;--line:#191917;--accent:#ff5a36;--signal:#f2c84b;--muted:#625f58}
html{background:#d7d3c8}
body{background-color:#d7d3c8;background-image:radial-gradient(circle at 18% 12%,#f2eee2b8 0,transparent 28%),radial-gradient(circle at 82% 78%,#8e8b8238 0,transparent 34%),repeating-linear-gradient(96deg,#ffffff16 0 1px,transparent 1px 5px)}
.site-header{height:82px;background:#e8e4d9;border-color:#1b1b1980}
.identity__mark{border-radius:4px;background:var(--ink);color:#f3efe5;border-color:var(--ink)}
.filters{position:relative;align-items:center;padding:48px 0 62px;gap:7px}
.filters:before{content:'SELECTED WORK · 2023—2026';margin-right:auto;font-size:9px;letter-spacing:.18em;font-weight:700}
.filter{border-radius:4px;padding:9px 13px;background:#e7e2d6;box-shadow:inset 0 0 0 1px #ffffff32}
.filter:hover,.filter.is-active{background:var(--ink);color:#f3efe5}
.archive{height:735px;margin-bottom:92px;isolation:isolate}
.archive:after{content:'';position:absolute;z-index:25;pointer-events:none;inset:-9px -7px;border-radius:28px;background-image:radial-gradient(circle at 15% 24%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 76% 64%,#000 0 1px,transparent 1.5px);background-size:23px 19px,31px 27px;mix-blend-mode:soft-light;opacity:.15}
.archive__back{inset:0 2.8% auto;height:150px;border:1.5px solid #0d0d0c;border-radius:25px 25px 2px 2px;background-color:#1b1c1a;background-image:linear-gradient(108deg,#ffffff0a,transparent 22%,#00000024 70%),repeating-linear-gradient(8deg,#ffffff08 0 1px,transparent 1px 4px);color:#eee9dd;padding:26px 30px;box-shadow:0 24px 52px #22201830}
.files{inset:103px 6% 132px}
.file{height:150px;border-color:#1c1b19;background-color:#e8e4d8;background-image:radial-gradient(circle at 10% 20%,#fff9 0,transparent 21%),repeating-linear-gradient(6deg,#00000008 0 1px,transparent 1px 5px);box-shadow:0 5px 0 #17171518,0 12px 25px #302d2510}
.file:nth-child(2n),.file:nth-child(3n){background-color:#dfdbcf}
.file:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 22% 40%,#19191914 0 .7px,transparent 1.2px);background-size:13px 17px;mix-blend-mode:multiply;opacity:.18}
.file__tab,.file__body{position:relative;z-index:1}
.file__tab{top:-44px;height:46px;border-color:#1c1b19;border-radius:14px 14px 0 0;background-color:inherit;background-image:inherit;box-shadow:inset 0 1px #ffffff65}
.file:nth-child(1) .file__tab,.file:nth-child(4) .file__tab,.file:nth-child(7) .file__tab{background:#1a1b19;color:#eee9dd;box-shadow:none}
.file__tab strong{font-family:"Courier New",monospace;font-size:12px;letter-spacing:-.04em;text-transform:lowercase}
.file__body{padding-top:22px}
.file__summary{font-family:"Courier New",monospace;font-weight:700;color:#37352f}
.file__meta{font-weight:700}
.drawer-front{height:138px;background-color:#1a1b19;background-image:linear-gradient(112deg,#ffffff0b,transparent 29%,#00000030),repeating-linear-gradient(4deg,#ffffff07 0 1px,transparent 1px 5px);color:#eee9dd;border-color:#0b0b0a;border-radius:3px 3px 17px 17px;box-shadow:0 24px 50px #1b19154a;padding-inline:34px}
.drawer-label{background:var(--accent);color:#151513;border-color:#151513;border-radius:4px;box-shadow:3px 4px 0 #f1c749;padding:9px 30px;transform:rotate(-1.5deg)}
.drawer-label strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:14px;letter-spacing:.04em}
.drawer-front__index,.drawer-front__hint{font-family:"Courier New",monospace;color:#d9d4c8}
footer{border-color:#1a1a1870}

/* Minimal full-bleed project covers. */
.experience--cover{background:#111;color:#f4f1e8}
.cover-media{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#111}
.cover-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000008 45%,#000000a8 100%),linear-gradient(90deg,#00000052 0,transparent 42%)}
.cover-copy{position:absolute;z-index:6;left:4.5vw;bottom:4.5vw;width:min(510px,52vw);padding:20px 22px 21px;background:#171715e6;color:#f4f0e5;border:1px solid #f4f0e54a;box-shadow:8px 9px 0 #ff5a36;backdrop-filter:blur(12px)}
.cover-copy__index{display:block;font:700 8px/1 var(--sans);letter-spacing:.18em;color:#f1c749}
.cover-copy h2{margin:13px 0 8px;font-size:clamp(38px,5.5vw,78px);line-height:.86;letter-spacing:-.065em;font-weight:500}
.cover-copy__type{margin:0 0 16px;font:700 9px/1.2 var(--sans);letter-spacing:.14em}
.cover-copy__desc{max-width:465px;margin:0;font-size:12px;line-height:1.55;color:#d2cec3}
.experience--cover .enter-case,.experience--product .enter-case{left:auto;right:4.5vw;bottom:4.5vw;background:var(--accent);border-radius:4px;box-shadow:3px 4px 0 #171715;color:#171715}
.experience--product .cover-copy{pointer-events:none}
.experience--product .experience__shade{background:linear-gradient(180deg,transparent 48%,#00000072 100%)}
.experience--product .orbit-hint{padding:8px 10px;background:#f2eee3c9;border:1px solid #1b1b1a;color:#171715;backdrop-filter:blur(6px)}
.material-light .cover-copy{background:#0e1110e8}
.material-light .orbit-hint{background:#111513cf;color:#f3efe6;border-color:#ded8c9}
.reader__close{background:var(--accent);border-radius:4px;box-shadow:2px 3px 0 #171715}
.reader__sheet{background:#e9e5d9}
.reader__handle{background:#e9e5d9f2}
.case-intro,.project-facts{background:#e9e5d9}
.document-page{background:#d8d4c9}

@media(max-width:700px){
 .site-header{height:72px}.filters{padding:30px 0 48px}.filters:before{display:none}.archive{height:675px}.files{top:91px;inset-inline:3%}.drawer-front{height:116px}
 .cover-copy{left:18px;right:18px;bottom:86px;width:auto;padding:16px 17px 17px;box-shadow:5px 6px 0 #ff5a36}.cover-copy h2{font-size:44px}.cover-copy__desc{font-size:11px;line-height:1.45}
 .experience--cover .enter-case,.experience--product .enter-case{left:18px;right:auto;bottom:22px}.experience--product .orbit-hint{top:18px;bottom:auto;left:18px;right:auto}.model-loader{left:50%}
}

/* A compact personal chapter after the work archive. */
.personal-note{position:relative;scroll-margin-top:82px;padding:105px 0 118px;border-top:1.5px solid var(--line)}
.personal-note:before{content:'FIELD NOTES / PERSONAL FILE';position:absolute;top:-14px;left:0;padding:7px 11px;background:var(--ink);color:#eee9dd;font:700 8px/1 "Courier New",monospace;letter-spacing:.14em}
.personal-note__mast{display:grid;grid-template-columns:170px 1fr;gap:34px;align-items:end;margin-bottom:72px}
.personal-note__index{display:flex;flex-direction:column;gap:10px;padding-bottom:9px;font:700 8px/1.2 "Courier New",monospace;letter-spacing:.12em}
.personal-note__mast h2{margin:0;font-size:clamp(48px,6.7vw,94px);font-weight:500;line-height:.88;letter-spacing:-.065em}
.personal-note__mast h2 em{font-family:Georgia,serif;font-weight:400}
.personal-note__layout{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);gap:7vw;align-items:start}
.personal-photo{position:relative;margin:0;background:#161615;border:1.5px solid #171715;box-shadow:8px 9px 0 #171715;overflow:hidden}
.personal-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04)}
.personal-photo figcaption{height:38px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;background:#171715;color:#eee9dd;font:700 7px/1 "Courier New",monospace;letter-spacing:.12em}
.personal-photo--main img{aspect-ratio:.72;object-position:center 44%}
.personal-photo--main:after{content:'AYRES / CAMERA / 001';position:absolute;top:14px;left:14px;padding:7px 9px;background:#f2c84b;color:#171715;border:1px solid;font:700 7px/1 "Courier New",monospace;letter-spacing:.1em}
.personal-note__copy{padding-top:4px}
.availability{display:inline-block;margin-bottom:35px;padding:9px 12px;background:var(--accent);border:1.5px solid #171715;box-shadow:3px 4px 0 #f2c84b;font:700 8px/1 var(--sans);letter-spacing:.13em;transform:rotate(-1deg)}
.personal-note__lead{max-width:710px;margin:0 0 30px;font-size:clamp(25px,3.1vw,43px);line-height:1.08;letter-spacing:-.04em}
.personal-note__copy>p:not(.personal-note__lead){max-width:690px;margin:0;font-size:13px;line-height:1.75;color:#4f4c46}
.personal-note__hobbies{display:grid;grid-template-columns:1.2fr .8fr;gap:17px;align-items:end;margin-top:48px}
.personal-photo--city img{aspect-ratio:1.12;object-position:center}
.personal-photo--climb img{aspect-ratio:.76;object-position:center}
.personal-photo--city{transform:rotate(.6deg)}
.personal-photo--climb{transform:rotate(-1.2deg);box-shadow:7px 8px 0 var(--accent)}
.personal-note__contact{display:grid;grid-template-columns:1.05fr .8fr 1.2fr;margin-top:62px;border-top:1.5px solid;border-bottom:1.5px solid}
.personal-note__contact>div,.personal-note__contact>a{min-width:0;padding:17px 15px 18px 0;border-right:1px solid;color:inherit;text-decoration:none}
.personal-note__contact>div+div,.personal-note__contact>a{padding-left:15px}
.personal-note__contact>a{border-right:0}
.personal-note__contact span{display:block;margin-bottom:10px;font:700 7px/1 "Courier New",monospace;letter-spacing:.14em;color:var(--muted)}
.personal-note__contact strong{display:block;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.personal-note__contact a:hover strong{color:#d7391c}

@media(max-width:700px){
 .personal-note{padding:78px 0 88px}.personal-note__mast{grid-template-columns:1fr;gap:25px;margin-bottom:44px}.personal-note__mast h2{font-size:47px}.personal-note__layout{grid-template-columns:1fr;gap:55px}.personal-photo--main{width:92%}.personal-note__lead{font-size:29px}.personal-note__hobbies{gap:10px;margin-top:38px}.personal-note__contact{grid-template-columns:1fr;margin-top:48px}.personal-note__contact>div,.personal-note__contact>a,.personal-note__contact>div+div{padding:15px 0;border-right:0;border-bottom:1px solid}.personal-note__contact>a{border-bottom:0}
}

/* Softer 1970s palette and Apple-like continuous rounding across the site. */
:root{--paper:#e9e4d9;--accent:#b86f5c;--signal:#b49a62;--muted:#6d685e}
body{background-color:#d7d1c5;background-image:radial-gradient(circle at 18% 12%,#f3eee2a6 0,transparent 31%),radial-gradient(circle at 82% 77%,#8782782b 0,transparent 38%),radial-gradient(#26231f10 .75px,transparent .9px);background-size:auto,auto,5px 5px}
.identity__mark{border-radius:14px}.filter{border-radius:18px;background:#e4ded2}.archive__back{border-radius:32px 32px 10px 10px}.file{border-radius:24px 24px 10px 10px}.file__tab{border-radius:20px 20px 0 0}.drawer-front{border-radius:12px 12px 30px 30px}.drawer-label{border-radius:14px;background:var(--accent);box-shadow:3px 4px 0 var(--signal)}
.reader__sheet{border-radius:34px 34px 0 0}.reader__handle{border-radius:33px 33px 0 0}.reader__close{border-radius:16px;background:var(--accent)}.cover-copy{border-radius:28px;box-shadow:7px 8px 0 var(--accent)}.experience--cover .enter-case,.experience--product .enter-case,.reader-end button{border-radius:18px;background:var(--accent)}.experience--product .orbit-hint{border-radius:16px}.app-showcase figure,.document-page img,.document-video,.placeholder-page img{border-radius:26px}.case-intro{margin:20px;border:1px solid;border-radius:30px}.project-facts{margin:0 20px 20px;gap:10px;border:0}.project-facts div{border:1px solid;border-radius:20px;background:#e5dfd3}.drawer-front,.archive__back{filter:saturate(.72)}

/* Independent About page — muted American pop, matte print texture. */
.about-page{background-color:#d6d0c4;background-image:radial-gradient(circle at 15% 13%,#f5efe2cc 0,transparent 27%),radial-gradient(circle at 87% 44%,#b4a88f36 0,transparent 30%),radial-gradient(#1c191611 .8px,transparent 1px);background-size:auto,auto,6px 6px}
.about-page .site-header{background:#e5dfd3d9;backdrop-filter:blur(18px);border-color:#4d49415c}
.about-page .header-nav a[aria-current="page"]{padding:8px 12px;border-radius:14px;background:#cbc3b5;text-decoration:none}
.about-main{width:min(1320px,94vw);margin:24px auto 90px}
.profile-hero{--hero-accent:#a96354;position:relative;min-height:760px;display:grid;grid-template-columns:.83fr 1.17fr;border:1.5px solid #211f1b;border-radius:42px;overflow:hidden;background:#ece7dc;box-shadow:0 22px 55px #40392e1c}
.profile-hero__copy{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,6vw,82px);border-right:1px solid #211f1b29}
.profile-kicker{margin:0 0 46px;font:700 8px/1 "Courier New",monospace;letter-spacing:.16em}
.profile-hero h1{margin:0;font-size:clamp(86px,10vw,148px);line-height:.72;letter-spacing:-.085em;font-weight:500}
.profile-hero h1 em{font-family:Georgia,serif;font-weight:400}
.profile-lead{max-width:520px;margin:52px 0 36px;font-size:17px;line-height:1.55;color:#4e4a43}
.mode-switch{display:inline-flex;align-self:flex-start;padding:5px;border:1px solid #23211d;border-radius:22px;background:#ddd6c9;gap:4px}
.mode-switch button{border:0;border-radius:16px;background:transparent;padding:10px 13px;font:700 8px/1 var(--sans);letter-spacing:.12em;color:#4e4941;cursor:pointer;transition:.25s}
.mode-switch button:hover{background:#cec5b5}.mode-switch button.is-active{background:#292824;color:#eee8db;box-shadow:0 3px 9px #0002}
.mode-note{min-height:38px;max-width:510px;margin:18px 0 0;font-size:11px;line-height:1.55;color:#686258}
.profile-hero__stage{position:relative;min-width:0;overflow:hidden;background-color:#ddd5c8;background-image:linear-gradient(115deg,#ffffff3b,transparent 45%),radial-gradient(#28241f14 .8px,transparent 1px);background-size:auto,7px 7px}
.profile-sun{position:absolute;width:min(44vw,590px);aspect-ratio:1;border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%);background:#b86f5c;opacity:.82;transition:background .4s}
.profile-dots{position:absolute;inset:7% 6%;border-radius:36px;background-image:radial-gradient(#8e7547 1px,transparent 1.5px);background-size:11px 11px;mask-image:linear-gradient(90deg,#000 0,transparent 74%);opacity:.35}
.profile-cutout{--move-x:0px;--move-y:0px;position:absolute;z-index:2;left:50%;bottom:-2%;width:min(92%,710px);height:95%;object-fit:contain;object-position:center bottom;transform:translate(calc(-50% + var(--move-x)),var(--move-y));filter:drop-shadow(0 24px 18px #302a2240);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.profile-tag{position:absolute;z-index:4;padding:12px 15px;border:1px solid #211f1b;border-radius:18px;background:#e8e1d5d9;backdrop-filter:blur(8px);font:700 8px/1.35 "Courier New",monospace;letter-spacing:.1em;box-shadow:0 8px 18px #29241e18}
.profile-tag--one{top:7%;left:6%;transform:rotate(-2deg)}.profile-tag--two{right:5%;bottom:8%;background:#a78f60;color:#f4ecdf;transform:rotate(2deg)}
.profile-hero[data-mode="camera"] .profile-sun{background:#747e81}.profile-hero[data-mode="climbing"] .profile-sun{background:#9f7957}

.about-introduction{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;margin-top:26px;padding:78px clamp(34px,6vw,86px);border:1.5px solid #2a2621;border-radius:38px;background:#9e6153;color:#f2eadf}
.about-introduction__title>span,.section-heading>span{font:700 8px/1 "Courier New",monospace;letter-spacing:.15em}
.about-introduction h2{margin:34px 0 0;font-size:clamp(46px,5.6vw,78px);line-height:.91;letter-spacing:-.06em;font-weight:500}.about-introduction h2 em{font-family:Georgia,serif;font-weight:400}
.about-introduction__body{align-self:end}.about-introduction__body>p{margin:0 0 22px;font-size:13px;line-height:1.75;color:#ede3d6}.about-introduction__body>p:first-child{font-size:20px;line-height:1.45;color:#fff7eb}
.intro-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:42px}.intro-facts span{padding:16px;border:1px solid #f0e4d278;border-radius:20px;font-size:10px;line-height:1.35}.intro-facts small{display:block;margin-bottom:9px;font:700 7px/1 "Courier New",monospace;letter-spacing:.12em;color:#e0c8b8}

.cv-section,.field-section{padding:118px 0 0}.section-heading{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:end;margin-bottom:58px}.section-heading h2{margin:0;font-size:clamp(48px,6vw,84px);line-height:.9;letter-spacing:-.06em;font-weight:500}
.cv-grid{display:grid;grid-template-columns:1fr 1fr .82fr;gap:16px}.cv-card{min-height:460px;padding:28px;border:1.5px solid #28251f;border-radius:30px;background:#e7e0d4;box-shadow:0 14px 30px #40392e10;transition:transform .3s,box-shadow .3s}.cv-card:hover{transform:translateY(-7px);box-shadow:0 22px 34px #40392e1d}.cv-card--experience{background:#c7b078}.cv-card--tools{background:#687b77;color:#f3ede2}.cv-card__index{display:block;margin-bottom:64px;font:700 8px/1 "Courier New",monospace;letter-spacing:.14em}.cv-card>div+div{margin-top:42px;padding-top:28px;border-top:1px solid #2c29244b}.cv-card time{font:700 8px/1 "Courier New",monospace;letter-spacing:.1em}.cv-card h3{margin:13px 0 8px;font-size:25px;line-height:1.05;letter-spacing:-.035em}.cv-card p{margin:0;font-size:11px;line-height:1.6;color:#5e584e}.cv-card--experience p{color:#55482f}.cv-card--tools h3{font-size:36px}.cv-card ul{margin:42px 0 0;padding:0;list-style:none}.cv-card li{padding:15px 0;border-top:1px solid #f2eadf4f;font-size:12px}

.field-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.field-photo{position:relative;margin:0;min-height:610px;border:1.5px solid #28251f;border-radius:34px;overflow:hidden;background:#272622}.field-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.63) contrast(1.02);transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .5s}.field-photo:hover img{transform:scale(1.025);filter:saturate(.78)}.field-photo--camera img{object-position:center}.field-photo--climb img{object-position:center}.field-photo figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:22px;border-radius:24px;background:#ebe4d9e8;border:1px solid #2a2722;backdrop-filter:blur(12px)}.field-photo figcaption span{font:700 8px/1 "Courier New",monospace;letter-spacing:.14em}.field-photo figcaption p{max-width:490px;margin:12px 0 0;font-size:12px;line-height:1.55}

.about-contact{margin-top:118px;padding:62px;border:1.5px solid #171714;border-radius:38px;background:#292824;color:#eee7da}.about-contact>span{font:700 8px/1 "Courier New",monospace;letter-spacing:.14em;color:#bdb4a5}.about-contact>a{display:flex;justify-content:space-between;align-items:center;margin:42px 0 62px;color:inherit;text-decoration:none;font-size:clamp(34px,6.6vw,92px);letter-spacing:-.065em;line-height:.92}.about-contact>a b{display:grid;place-items:center;flex:0 0 auto;width:72px;height:72px;border-radius:24px;background:#a96354;color:#211f1c;font-size:32px}.about-contact>div{display:flex;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid #eee7da42;font-size:9px;letter-spacing:.08em}.about-contact>div a{color:inherit}
.reveal.is-visible{animation:about-reveal .75s both cubic-bezier(.2,.8,.2,1)}@keyframes about-reveal{from{opacity:.35;transform:translateY(28px)}to{opacity:1;transform:none}}

@media(max-width:900px){.profile-hero{grid-template-columns:1fr;min-height:1150px}.profile-hero__copy{min-height:570px;border-right:0;border-bottom:1px solid #211f1b29}.profile-hero__stage{min-height:580px}.profile-sun{width:min(78vw,520px)}.about-introduction{grid-template-columns:1fr;gap:55px}.cv-grid{grid-template-columns:1fr 1fr}.cv-card--tools{grid-column:1/-1;min-height:auto}.field-photo{min-height:520px}.about-contact{padding:45px}.about-contact>div{flex-wrap:wrap}}
@media(max-width:700px){.about-main{width:min(94vw,620px);margin-top:14px}.profile-hero{border-radius:30px;min-height:1040px}.profile-hero__copy{padding:36px 24px;min-height:510px}.profile-kicker{margin-bottom:35px}.profile-hero h1{font-size:86px}.profile-lead{margin:40px 0 28px;font-size:15px}.profile-hero__stage{min-height:530px}.profile-tag--one{top:5%;left:4%}.profile-tag--two{right:4%;bottom:5%}.about-introduction{padding:48px 25px;border-radius:30px}.intro-facts{grid-template-columns:1fr}.cv-section,.field-section{padding-top:88px}.section-heading{grid-template-columns:1fr;gap:25px}.section-heading h2{font-size:49px}.cv-grid,.field-grid{grid-template-columns:1fr}.cv-card{min-height:auto}.cv-card--tools{grid-column:auto}.field-photo{min-height:520px}.about-contact{padding:34px 22px;border-radius:30px}.about-contact>a{font-size:32px;overflow-wrap:anywhere}.about-contact>a b{width:48px;height:48px;border-radius:17px}.about-contact>div{flex-direction:column}.project-facts{grid-template-columns:1fr}.case-intro{margin:10px}.document-page img,.document-video{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.profile-cutout{transition:none}.reveal.is-visible{animation:none}}
