@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#181b19;--muted:#626762;--line:#dfe3dd;--acid:#dff783;--paper:#fafbf8;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #557621;outline-offset:6px}header{height:104px;max-width:1440px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between}nav{display:flex;align-items:center;gap:33px;font-size:15px}nav a:hover,.text-link:hover{color:#557621}.identity{font-family:'Manrope',Arial,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.3px}.identity-dot{color:#7e9a39}nav .nav-contact{border:1px solid var(--ink);padding:9px 20px;border-radius:100px}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--acid);padding:10px}.skip:focus{top:10px}.hero,.work,.about,.practice,.case-hero,.case-body,.resume{max-width:1312px;margin:auto}.hero{padding:62px 0 92px}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.7px;line-height:1.5}.location{font-size:14px;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(76px,9vw,132px);letter-spacing:-8px;line-height:1.02;font-weight:550;margin:29px 0 37px}h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-7px;position:relative}h1 em:after{content:'';position:absolute;z-index:-1;left:-2%;right:-6%;height:24%;background:var(--acid);bottom:5%;transform:rotate(-2deg)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero-bottom p{max-width:515px;color:#525852;font-size:20px;line-height:1.65}.pill{display:inline-flex;align-items:center;gap:30px;background:var(--ink);color:white;padding:15px 17px 15px 24px;border-radius:50px;font-size:15px}.pill span{border:1px solid #777;border-radius:50%;font-size:12px;width:30px;height:30px;display:grid;place-items:center}.pill:hover{background:#394b24}.section-label{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:26px 0 32px;align-items:center}.section-label h2{font-size:20px;font-weight:600}.section-label>span{font-size:14px;color:var(--muted)}.project-card{margin-bottom:82px}.project-visual{display:block;border-radius:18px;overflow:hidden;position:relative;transition:transform .4s}.project-visual:hover{transform:translateY(-4px)}.remix-cover{background:#242c37;color:#fff;height:620px;padding:38px 42px 28px}.cover-top,.cover-bottom{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.cover-top{font-size:13px;letter-spacing:2px}.cover-top span:first-child{font-weight:700}.remix-stage{height:430px;display:flex;gap:24px;align-items:flex-start;justify-content:center;padding:46px 38px 0;overflow:hidden;mask-image:linear-gradient(black 82%,transparent)}.remix-stage img{width:49%;border-radius:6px;box-shadow:0 20px 50px #0008;transform:rotate(-3deg)}.remix-stage img+img{margin-top:32px;transform:rotate(3deg)}.cover-bottom{margin-top:16px;line-height:1.3;font-family:'Manrope',sans-serif;font-size:24px;letter-spacing:-.7px}.cover-chip{border:1px solid #ffffff66;padding:10px 16px;border-radius:30px;font:14px 'DM Sans',sans-serif;letter-spacing:0}.project-description{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:32px 4px}.project-description h3{font-size:32px;letter-spacing:-1.3px;line-height:1.25;margin-top:12px;font-weight:550}.project-description p{color:var(--muted);max-width:510px;margin:7px 0 23px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid #d7dcd4;font-size:12px;padding:4px 11px;border-radius:20px}.ascension-cover{background:#e8e8f1;color:#282548}.journey{padding:45px 48px 30px}.journey-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;font-weight:600}.journey-main{display:flex;gap:50px;align-items:center;justify-content:center;min-height:340px}.journey-intent{font:italic 35px var(--serif)}.journey-hub{background:#343158;color:white;font-size:35px;line-height:1.2;letter-spacing:-1px;padding:38px;border-radius:20px;position:relative}.journey-hub:before,.journey-hub:after{content:'';position:absolute;height:1px;background:#7e7c99;width:50px;top:50%;left:-50px}.journey-hub:after{left:auto;right:-50px}.journey-hub small{display:block;font:14px 'DM Sans',sans-serif;letter-spacing:0;margin-top:26px;color:#dedbed}.journey-tasks{display:grid;gap:12px}.journey-tasks span{background:#ffffffa3;border:1px solid #d0cfdd;border-radius:8px;padding:15px 28px;font-size:16px}.journey>p{font-size:23px;letter-spacing:-.7px}.diagram-caption{display:block;margin-top:10px;font-size:12px;opacity:.75}.booking-cover{height:600px;background:#d4e6dd}.booking-cover>img{width:100%;height:100%;object-fit:cover}.booking-label{position:absolute;bottom:30px;left:36px;background:#fff;padding:13px 22px;font-size:14px;letter-spacing:1px;border-radius:8px}.booking-label small{display:block;font-size:12px;letter-spacing:0;color:#515953}.about{display:grid;grid-template-columns:5fr 6fr;gap:100px;padding:75px 0 120px;border-top:1px solid var(--line);scroll-margin-top:30px}.about-photo img{height:560px;width:100%;object-fit:cover;object-position:43% center;border-radius:10px}.about-photo>span{display:block;margin-top:16px;font-size:13px;color:var(--muted)}.about-copy{align-self:center}.about h2,.practice h2{font-size:43px;letter-spacing:-2px;line-height:1.2;margin:20px 0 28px;font-weight:550}.about p{margin-bottom:18px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:3px;font-size:15px;margin-top:10px}.practice{display:grid;grid-template-columns:1fr 3fr;gap:50px;padding:65px 0 100px;border-top:1px solid var(--line)}.practice h2{margin-top:0}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.practice-grid article>span{font-size:13px;color:#737b6e}.practice h3{font-size:19px;letter-spacing:-.5px;margin:14px 0}.practice p{font-size:16px;color:var(--muted)}footer{background:#1b211c;color:#f5f6f1;padding:70px max(64px,calc((100vw - 1312px)/2)) 26px}footer h2{font-size:clamp(40px,5vw,76px);line-height:1.12;letter-spacing:-3px;font-weight:500;margin:25px 0 45px}footer h2 span{color:var(--acid)}.footer-bottom{display:flex;align-items:center;gap:40px}.email{font-size:25px;letter-spacing:-.6px;border-bottom:1px solid #71816d}.footer-bottom>span{margin-left:auto;font-size:13px;color:#b2b9af}.colophon{margin-top:70px;padding-top:24px;border-top:1px solid #465043;display:flex;justify-content:space-between;color:#bac1b7;font-size:12px}dialog{border:0;background:#f7f8f4;color:#171917;padding:70px 24px 24px;width:min(95vw,1500px);max-height:95dvh;border-radius:12px}dialog::backdrop{background:#111d;backdrop-filter:blur(6px)}dialog img{margin:auto;max-height:none}dialog p{max-width:850px;margin:20px auto;font-size:15px}.close-viewer{position:absolute;right:22px;top:18px;border:1px solid #555;background:white;border-radius:20px;padding:8px 18px;cursor:pointer}body:has(dialog[open]){overflow:hidden}
@media(min-width:900px) and (max-width:1439px){.hero,.work,.about,.practice,.case-hero,.case-body,.resume{margin-left:64px;margin-right:64px}}
@media(max-width:899px){header{padding:0 28px;height:88px}.hero,.work,.about,.practice,.case-hero,.case-body,.resume{margin-left:28px;margin-right:28px}.hero{padding-top:35px}.hero h1{font-size:90px;letter-spacing:-5px}.hero h1 em{letter-spacing:-5px}.hero-bottom p{font-size:18px;max-width:400px}.hero-bottom{gap:25px}.pill{white-space:nowrap;gap:15px}.remix-cover{height:490px;padding:30px}.remix-stage{height:315px;padding:35px 0 0}.cover-bottom{font-size:21px}.project-description{gap:30px}.project-description h3{font-size:26px}.journey{padding:30px}.journey-main{gap:25px}.journey-hub{font-size:27px;padding:26px}.journey-hub:before,.journey-hub:after{width:25px;left:-25px}.journey-hub:after{left:auto;right:-25px}.journey-intent{font-size:26px}.journey-tasks span{padding:14px}.booking-cover{height:450px}.about{gap:35px}.about-photo img{height:490px}.about h2,.practice h2{font-size:33px;letter-spacing:-1px}.practice{grid-template-columns:1fr;gap:20px}footer{padding:60px 28px 24px}.footer-bottom{flex-wrap:wrap;gap:24px}.footer-bottom>span{width:100%;margin-left:0}}
@media(max-width:600px){header{padding:0 22px;height:86px}.identity{font-size:21px}nav{gap:17px;font-size:14px}nav .nav-contact{display:none}.hero,.work,.about,.practice,.case-hero,.case-body,.resume{margin-left:22px;margin-right:22px}.hero{padding:30px 0 60px}.hero-top{align-items:flex-start;gap:20px}.eyebrow{font-size:11px;letter-spacing:1.2px}.location{font-size:12px;text-align:right;max-width:105px}.hero h1{font-size:clamp(57px,15vw,90px);letter-spacing:-3.7px;margin:30px 0}.hero h1 em{letter-spacing:-3.5px}.hero-bottom{display:block}.hero-bottom p{font-size:18px}.pill{margin-top:26px;padding:12px 14px 12px 20px}.section-label{padding:20px 0}.section-label h2{font-size:17px}.section-label>span{font-size:12px}.project-card{margin-bottom:36px}.project-visual{border-radius:12px}.remix-cover{height:365px;padding:21px 17px}.cover-top{font-size:10px;letter-spacing:1px}.remix-stage{height:239px;padding-top:35px;gap:14px}.remix-stage img{width:62%}.cover-bottom{font-size:18px;margin-top:9px}.cover-chip{font-size:11px;padding:8px 10px;max-width:100px;text-align:center}.project-description{grid-template-columns:1fr;gap:12px;padding:23px 0}.project-description h3{font-size:27px}.project-description p{font-size:16px;margin:0 0 18px}.tags span{font-size:11px}.journey{padding:23px 20px}.journey-top{font-size:9px;gap:15px;letter-spacing:1px}.journey-main{min-height:340px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.journey-intent{grid-column:1/-1;font-size:28px;text-align:center;padding-top:28px}.journey-hub{font-size:23px;padding:20px 15px;border-radius:12px}.journey-hub small{font-size:11px;margin-top:18px}.journey-hub:before{display:none}.journey-hub:after{width:20px;right:-20px}.journey-tasks span{padding:12px 8px;font-size:12px}.journey>p{font-size:20px;margin-top:18px}.diagram-caption{font-size:10px}.booking-cover{height:330px}.booking-cover>img{object-position:55%}.booking-label{bottom:15px;left:15px;padding:10px 14px;font-size:11px}.booking-label small{font-size:10px}.about{padding:44px 0 60px;grid-template-columns:1fr;gap:34px}.about-photo img{height:420px;object-position:40%}.about h2,.practice h2{font-size:33px}.about p{font-size:17px}.practice{padding:40px 0 60px}.practice-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.practice-grid h3{margin:5px 0}.practice-grid p{max-width:340px}footer{padding:50px 22px 24px}footer h2{font-size:40px;letter-spacing:-1.8px}.email{font-size:21px}.colophon{flex-wrap:wrap;gap:12px;margin-top:50px}.colophon>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.back-link{display:block;width:max-content;border-bottom:1px solid #a6aea0;font-size:14px;padding-bottom:3px;margin-bottom:47px;color:#596052}.case-hero{padding:38px 0 0}.case-hero h1,.resume h1{font-size:clamp(55px,6.4vw,91px);letter-spacing:-4.9px;line-height:1.1;font-weight:500;margin:23px 0 32px}.case-hero h1 em,.resume h1 em{letter-spacing:-3.8px}.case-intro{font-size:23px;max-width:850px;line-height:1.65;color:#555e54}.project-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:28px 0 36px;margin-top:43px}.project-meta dt{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.project-meta dd{margin:0;font-size:16px;line-height:1.5;max-width:300px}.case-cover{border-radius:16px;overflow:hidden}.case-cover.remix-cover{height:620px}.case-cover .remix-stage{height:590px;mask-image:linear-gradient(black 88%,transparent);padding-top:55px}.case-cover.booking-cover{height:650px}.case-jump{position:sticky;top:0;z-index:5;justify-content:center;gap:42px;background:#fafbf8ed;backdrop-filter:blur(15px);border-bottom:1px solid var(--line);padding:18px 25px;margin-top:35px;font-size:14px}.case-jump a:hover{color:#466519}.case-body{padding-top:20px}.story-section{display:grid;grid-template-columns:1fr 3fr;gap:70px;padding:80px 0;border-bottom:1px solid var(--line);scroll-margin-top:55px}.story-section>.eyebrow{padding-top:8px}.story-section h2{font-size:39px;font-weight:550;line-height:1.22;letter-spacing:-1.5px;max-width:780px;margin-bottom:27px}.story-section p{max-width:790px;margin:0 0 21px;color:#535c52;font-size:18px;line-height:1.8}.story-section p:last-child{margin-bottom:0}.callout{background:#eef1e8;border-left:3px solid #7a962f;padding:30px 35px;margin:34px 0 0;border-radius:0 10px 10px 0}.callout>span{font-size:11px;letter-spacing:1.7px}.story-section .callout p{font-size:24px;line-height:1.5;letter-spacing:-.4px;color:var(--ink);margin-top:12px}.workflow-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:40px 0 0;border:1px solid #d8ded3;border-radius:10px;overflow:hidden}.workflow-strip>div{padding:24px;border-right:1px solid #d8ded3;background:#f0f3eb}.workflow-strip>div:last-child{border:0}.workflow-strip b{font-size:11px;letter-spacing:1px;color:#64724b}.workflow-strip h3{font-size:18px;line-height:1.35;margin:14px 0 9px;letter-spacing:-.5px}.workflow-strip p{font-size:15px;line-height:1.5}.decision-section{padding:70px 0 15px;scroll-margin-top:40px}.decision-section>.section-label{border-top:0;margin-bottom:30px}.decision-section>.section-label h2{font-size:29px;letter-spacing:-1px}.decision-pair{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start;margin:40px 0 85px}.decision-pair.reverse>div{order:2}.decision-pair.reverse>.case-figure{order:1}.decision{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:24px 0}.decision-number{font-size:13px;color:#60784b;padding-top:4px}.decision h3{font-size:25px;line-height:1.35;font-weight:550;letter-spacing:-.9px;margin:0 0 15px}.decision p{color:#596154;font-size:17px;line-height:1.75;max-width:790px}.case-figure{margin:0}.case-figure button{display:block;border:1px solid #e0e3dc;border-radius:10px;padding:16px;background:#eef0eb;width:100%;cursor:zoom-in;position:relative;overflow:hidden}.case-figure img{width:100%;height:auto;border-radius:4px}.case-figure figcaption{font-size:13px;color:var(--muted);margin-top:13px;line-height:1.55}.zoom-label{display:block;text-align:right;font-size:12px;padding-top:11px;color:#4e5947}.case-figure button:hover{border-color:#788769}.wide-figure{max-width:980px;margin:40px auto 65px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:35px 0 60px}.recognition{border:1px solid #d3dacd;border-radius:10px;padding:30px;margin-top:35px}.recognition h3{font-size:24px;letter-spacing:-.6px;line-height:1.4;margin:16px 0}.story-section .recognition p{font-size:16px}.next-case{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:65px 0 85px;padding:35px;border:1px solid var(--line);border-radius:12px;background:#f0f3eb}.next-case strong{font-family:'Manrope',Arial;font-size:30px;letter-spacing:-1px;font-weight:550}.next-case>span:last-child{font-size:14px;border-bottom:1px solid}.next-case:hover{background:#e7ecd9}.findings{margin:40px 0}.finding-head{display:grid;grid-template-columns:1fr 1fr;padding:18px 30px;gap:70px;font-size:11px;letter-spacing:1.5px;color:#626c5b}.findings article{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:35px 30px;border-top:1px solid #d6d8e0}.findings article>div:last-child{background:#eaeaf3;padding:26px;border-radius:10px}.findings article>div:first-child{padding:0 10px 0 0}.findings article span{font-size:11px;letter-spacing:1.5px;color:#655f81}.findings h3{font-size:23px;line-height:1.35;letter-spacing:-.7px;font-weight:550;margin:12px 0 15px}.findings p{color:#626478;font-size:16px;line-height:1.7}.story-section p.small-caption{font-size:12px;margin-top:12px;color:#6b7367}.resume{padding:38px 0 90px}.resume-layout{display:grid;grid-template-columns:2fr 1fr;gap:130px;margin-top:70px}.experience{border-top:1px solid var(--line);padding:34px 0 45px}.experience>span{font-size:11px;letter-spacing:1.6px;color:#697162}.experience h2{font-size:35px;letter-spacing:-1.5px;margin:13px 0 8px;font-weight:550}.experience h3{font-size:17px;font-weight:600;margin-bottom:18px}.experience p{color:var(--muted);max-width:750px}.resume aside{border-top:1px solid var(--line);padding-top:34px}.resume aside h2{font-size:17px;margin:0 0 14px}.resume aside p{color:var(--muted);font-size:16px;margin-bottom:35px}.resume aside .pill{font-size:14px}
@media(max-width:899px){.case-hero h1,.resume h1{font-size:66px;letter-spacing:-3px}.case-hero h1 em,.resume h1 em{letter-spacing:-3px}.case-cover.remix-cover{height:500px}.case-cover .remix-stage{height:460px}.case-cover.booking-cover{height:440px}.story-section{gap:30px;grid-template-columns:1fr 3fr}.story-section h2{font-size:32px}.decision-pair{gap:30px}.decision h3{font-size:22px}.findings article{gap:28px}.resume-layout{gap:50px}.next-case strong{font-size:25px}}
@media(max-width:600px){.case-hero{padding-top:24px}.back-link{margin-bottom:32px;font-size:13px}.case-hero h1,.resume h1{font-size:47px;letter-spacing:-2.8px;line-height:1.13}.case-hero h1 em,.resume h1 em{letter-spacing:-2px}.case-intro{font-size:19px}.project-meta{grid-template-columns:1fr;gap:22px;margin-top:30px;padding-bottom:25px}.project-meta dt{font-size:11px}.project-meta dd{font-size:15px;max-width:100%}.case-cover.remix-cover{height:340px}.case-cover .remix-stage{height:310px;padding-top:40px}.case-cover.booking-cover{height:300px}.case-jump{gap:18px;justify-content:space-between;padding:15px 22px;font-size:12px;margin-top:24px}.case-jump a{line-height:1.4;max-width:115px}.story-section{grid-template-columns:1fr;gap:22px;padding:45px 0}.story-section h2{font-size:30px;letter-spacing:-1px}.story-section p{font-size:17px}.callout{padding:24px}.story-section .callout p{font-size:21px}.workflow-strip{grid-template-columns:1fr}.workflow-strip>div{border-right:0;border-bottom:1px solid #d8ded3;padding:20px}.workflow-strip h3{margin-top:8px}.decision-section{padding-top:35px}.decision-section>.section-label{display:block;margin-bottom:0}.decision-section>.section-label h2{font-size:26px;margin-bottom:12px}.decision-pair{grid-template-columns:1fr;gap:24px;margin:10px 0 38px}.decision-pair.reverse>div,.decision-pair.reverse>.case-figure{order:initial}.decision{grid-template-columns:25px 1fr;gap:12px;padding:22px 0}.decision h3{font-size:23px}.decision p{font-size:16px}.case-figure button{padding:8px}.case-figure figcaption{font-size:12px}.image-pair{grid-template-columns:1fr;gap:28px}.wide-figure{margin:24px 0 35px}.recognition{padding:23px}.recognition h3{font-size:22px}.next-case{display:grid;gap:15px;padding:25px;margin:40px 0 50px}.next-case strong{font-size:28px}.next-case>span:last-child{width:max-content}.finding-head{display:none}.findings{margin:24px 0}.findings article{grid-template-columns:1fr;gap:20px;padding:30px 0}.findings article>div:last-child{padding:23px}.findings article>div:last-child:before{content:'DESIGN PRIORITY';font-size:10px;letter-spacing:1.5px;color:#655f81}.findings h3{font-size:22px}.resume-layout{grid-template-columns:1fr;gap:35px;margin-top:40px}.resume h1{font-size:54px}.resume aside .pill{margin-top:0}}
/* Readable metadata and a complete navigation at narrow widths. */
.eyebrow,.project-meta dt,.callout>span,.workflow-strip b,.experience>span,.finding-head,.findings article span{font-size:12px}
@media(max-width:600px){header{height:112px;align-content:center;gap:13px;flex-wrap:wrap}.identity{width:100%}header nav{width:100%;justify-content:space-between;gap:16px}nav .nav-contact{display:inline;padding:0;border:0}.eyebrow,.cover-top,.tags span,.journey-top,.diagram-caption,.booking-label,.booking-label small,.findings article>div:last-child:before{font-size:12px}.journey-top{letter-spacing:.5px}.cover-top{letter-spacing:.5px}.journey-hub small{font-size:12px}.cover-chip{font-size:12px;max-width:110px}}
dialog{padding-top:18px}.viewer-toolbar{display:flex;justify-content:flex-end;gap:12px;margin-bottom:18px}.viewer-toolbar button{position:static;border:1px solid #64705a;background:white;border-radius:22px;padding:8px 18px;cursor:pointer;font-size:14px}.viewer-media{max-height:72dvh;overflow:auto;border:1px solid #e2e5de;border-radius:5px}.viewer-media img{width:100%;max-width:100%}.viewer-media.zoomed img{width:auto;max-width:none;margin:0}.viewer-toolbar button:hover{background:#eaf1de}

/* Zofia's personal palette: blush, lilac, and butter yellow. */
:root{--ink:#302638;--muted:#6b6070;--line:#e8dce5;--acid:#f7e8a2;--paper:#fffdfb;--pink:#f7dce6;--lilac:#e8dff5;--butter:#fbefbd;--plum:#634970}
body{background:radial-gradient(ellipse 700px 520px at 91% 210px,#f7e3ec80,transparent 80%),var(--paper)}
::selection{background:#e6d5f3;color:#302638}
a:focus-visible,button:focus-visible{outline-color:#79518b}
.identity-dot{color:#af78a1}
nav a:hover,.text-link:hover,.case-jump a:hover{color:#79518b}
nav .nav-contact{border-color:#ccb4cc;background:#f4eaf4}
nav .nav-contact:hover{background:var(--lilac);color:var(--ink)}
.hero h1{font-weight:500}
h1 em{color:var(--plum)}
h1 em:after{height:19%;bottom:4%;background:var(--butter);transform:rotate(-2deg);border-radius:50% 30% 35% 20%}
.hero-top .eyebrow{background:#f5e6ee;border:1px solid #ead3df;padding:9px 14px;border-radius:30px;letter-spacing:1.35px}
.hero-bottom p,.case-intro,.story-section p,.decision p,.findings p,.resume aside p{color:var(--muted)}
.pill{background:var(--lilac);color:var(--ink);border:1px solid #cfbadf;box-shadow:0 5px 0 #f4edf8;transition:background .2s,transform .2s,box-shadow .2s}
.pill span{border-color:#bc9dcc;background:#f8f1ff}
.pill:hover{background:#ddcdee;color:var(--ink);transform:translateY(-2px);box-shadow:0 7px 0 #f4edf8}
.project-visual,.case-cover{border-radius:26px}
.remix-cover{background:var(--pink);color:var(--ink);border:1px solid #edc9d9}
.remix-stage img{box-shadow:0 16px 40px #74445b28}
.cover-chip{background:#fff8fbbb;border:1px solid #b18d9f;color:#594151}
.project-card:nth-of-type(1) .tags span{background:#fceaf1;border-color:#ecd5df}
.project-card:nth-of-type(2) .tags span{background:#f1eafa;border-color:#e0d3ed}
.project-card:nth-of-type(3) .tags span{background:#fcf4d6;border-color:#eaddb0}
.ascension-cover{background:var(--lilac);color:#44334e;border:1px solid #d9cae8}
.journey-hub{background:#685075;color:#fffafb;border-radius:25px 25px 25px 5px;box-shadow:0 10px 25px #7c5c9220}
.journey-hub small{color:#f1e7f6}
.journey-hub:before,.journey-hub:after{background:#9d81ad}
.journey-tasks span{background:#fffcfbdd;border-color:#d6c3e0;border-radius:12px}
.journey-tasks span:nth-child(2){background:var(--butter);border-color:#e9dca9}
.booking-cover{background:var(--butter);padding:24px;border:1px solid #ecdfb5}
.booking-cover>img{border-radius:13px}
.booking-label{background:#fff7d7;border:1px solid #e6d6a2;color:#554932;bottom:42px;left:44px;box-shadow:0 6px 20px #57432616}
.booking-label small{color:#665942}
.about-photo{position:relative;align-self:start}
.about-photo img{border:12px solid #eee2f3;border-radius:150px 150px 24px 24px;box-shadow:10px 10px 0 #fbefbd}
.about-photo>span{margin:22px 0 0 10px;color:#796780;font-family:var(--serif);font-size:17px;font-style:italic}
.about-copy h2{color:#58415f}
.practice-grid{gap:16px}
.practice-grid article{background:#f9e5ed;border:1px solid #ecd4df;padding:25px 22px;border-radius:18px}
.practice-grid article:nth-child(2){background:#eee5f8;border-color:#e0d2ee}
.practice-grid article:nth-child(3){background:#fbf1ca;border-color:#ebdfb5}
.practice-grid article>span{color:#735579}
.practice p{color:#675c6b}
footer{background:#f5e3ed;color:#3b2d42;border-top:1px solid #e6cfdf}
footer .eyebrow{color:#74547d}
footer h2{max-width:1000px}
footer h2 span{color:#94709e}
.email{border-color:#b88fac}
.footer-bottom>span,.colophon{color:#756279}
.colophon{border-color:#d9bed2}
footer a:hover{color:#785087}
.back-link{border-color:#c8afce;color:#735d7b}
.case-jump{background:#fffafcf0}
.callout{background:#fcf3d5;border-left-color:#c2a64d;border-radius:0 18px 18px 0}
.workflow-strip{border-color:#dfd0e7;border-radius:16px}
.workflow-strip>div{background:#f4ecf8;border-color:#dfd0e7}
.workflow-strip>div:nth-child(2){background:#fbeaf0}
.workflow-strip>div:nth-child(3){background:#fcf3d5}
.workflow-strip b,.decision-number,.finding-head,.experience>span{color:#795d87}
.case-figure button{background:#f5eff7;border-color:#e4d7eb;border-radius:16px}
.case-figure button:hover{border-color:#ad8bbd}
.zoom-label{color:#745a80}
.recognition{background:#fcf4d8;border-color:#e8dcb2;border-radius:18px}
.next-case{background:#f0e6f7;border-color:#decae8;border-radius:20px}
.next-case:hover{background:#e7d7f1}
.findings article{border-color:#e5d6ed}
.findings article>div:last-child{background:#eee3f7;border-radius:18px}
.findings article:nth-of-type(even)>div:last-child{background:#f9e4ed}
.findings article span,.findings article>div:last-child:before{color:#7b5b89}
.story-section p.small-caption{color:#786580}
dialog{background:#fffbfe;color:var(--ink);border:1px solid #ddc8e7;border-radius:20px}
dialog::backdrop{background:#302638c9}
.viewer-toolbar button{border-color:#c7aed2;color:var(--ink);background:#f7eefb}
.viewer-toolbar button:hover{background:var(--lilac)}
.viewer-media{border-color:#e4d8e9}
@media(max-width:899px){.practice-grid article{padding:22px 17px}.booking-cover{padding:18px}.booking-label{bottom:30px;left:30px}}
@media(max-width:600px){body{background:radial-gradient(ellipse 360px 480px at 110% 230px,#f7e3ec75,transparent 85%),var(--paper)}.hero-top .eyebrow{max-width:220px;font-size:11px;padding:8px 11px;letter-spacing:.8px}.hero-top{gap:12px;align-items:center}.hero-top .location{max-width:100px}.project-visual,.case-cover{border-radius:20px}.booking-cover{padding:12px}.booking-cover>img{border-radius:10px}.booking-label{bottom:23px;left:23px;max-width:calc(100% - 46px);padding:10px 12px}.about-photo img{border-width:9px;border-radius:120px 120px 20px 20px;box-shadow:7px 7px 0 var(--butter)}.about-photo>span{margin-top:19px}.practice-grid article{padding:25px}.practice-grid{gap:14px}.workflow-strip>div{border-color:#dfd0e7}nav .nav-contact{background:none}}
/* A custom illustrated portrait, with space for the complete composition. */
.about-illustration{align-self:center}
.about-illustration img{height:auto;width:100%;aspect-ratio:4/5;object-fit:contain;object-position:center;border:0;border-radius:24px;box-shadow:none;background:#fffdfb}
.about-illustration>span{text-align:center;margin-left:0;margin-top:20px}
@media(max-width:600px){.about-illustration{max-width:430px;margin:0 auto;width:100%}.about-illustration img{height:auto;border-radius:18px;box-shadow:none}}

/* Shared navigation follows the editorial homepage. */
header{height:88px}
.identity{font-family:var(--serif);font-size:30px;letter-spacing:-1px;font-weight:400}
header nav{gap:32px;font-size:16px}
header nav a{padding:5px 0;border-bottom:1px solid transparent}
header nav .nav-contact{padding:5px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:none}
header nav a:hover,header nav .nav-contact:hover{border-bottom-color:#bd669f;background:none}
.portfolio-home header nav a[href="index.html#about"]{border-bottom-color:#bd669f}
@media(max-width:700px){header{height:auto;min-height:110px;padding:20px 22px 14px;gap:15px;flex-wrap:wrap}.identity{width:100%;font-size:27px}header nav{width:100%;justify-content:space-between;gap:16px;font-size:14px}}
