:root{--paper:#fcfcfb;--ink:#2e302e;--muted:#777d7d;--blue:#6e9dcb;--line:#e4e7e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #6297c8;outline-offset:6px}.skip{position:fixed;left:15px;top:-70px;z-index:20;background:white;padding:10px}.skip:focus{top:15px}.sky{position:absolute;left:0;top:0;width:100%;height:215px;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#c5e3f9 0%,#e9f4fb 58%,var(--paper) 100%)}.cloud{position:absolute;fill:#fff;opacity:.85;width:300px;filter:drop-shadow(0 8px 0 #d5e9f555);animation:cloudDrift 22s ease-in-out infinite alternate}.cloud-one{width:420px;left:-100px;top:-31px}.cloud-two{width:265px;left:33%;top:-75px;opacity:.7;animation-delay:-7s}.cloud-three{width:400px;left:63%;top:-53px;animation-delay:-14s}.sky-fade{position:absolute;inset:80px 0 0;background:linear-gradient(transparent,var(--paper))}header{position:absolute;right:42px;top:33px;z-index:2}nav{display:flex;flex-direction:column;align-items:flex-end;gap:13px;font-size:12px;color:#626e77}nav a{line-height:1.6}.wave{position:relative}.wave:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:5px;background-image:url("data:image/svg+xml,%3Csvg width='24' height='5' viewBox='0 0 24 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3Q3 0 6 3T12 3T18 3T24 3' stroke='%236e9dcb' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");opacity:0;transition:opacity .2s}.wave:hover:after,.wave:focus-visible:after{opacity:1;animation:waveMove .65s linear infinite}.sound{margin-top:3px;border:1px solid #ccdbe4;border-radius:20px;padding:5px 7px;background:#ffffff80;display:flex;align-items:center;gap:5px;font-size:10px;color:#6f808b}.sound-on{display:none}.sound[aria-pressed=true] .sound-on{display:block}.sound[aria-pressed=true] .sound-off{display:none}.page{width:520px;max-width:calc(100% - 48px);margin:0 auto;padding-top:212px;position:relative;z-index:1}.intro{margin-bottom:103px}.avatar-row{height:71px;display:flex;align-items:center;gap:14px;margin-left:-6px}.avatar{padding:0;width:64px;height:64px;background:transparent;border:0;position:relative;transition:transform .2s}.avatar:hover{transform:rotate(-6deg) translateY(-3px)}.avatar svg{width:64px;height:64px;overflow:visible}.avatar-hint{font-size:11px;letter-spacing:.02em;color:#9ca4a3;opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s}.avatar-row:hover .avatar-hint,.avatar-row:focus-within .avatar-hint{opacity:1;transform:none}.avatar-hint span{margin-left:4px}.look{display:none}.avatar[data-look="1"] .look-glasses,.avatar[data-look="2"] .look-goggles,.avatar[data-look="3"] .look-cap{display:block}.avatar.blink .eyes{transform:scaleY(.2);transform-origin:26px 32px}.avatar.swap .head{animation:headPop .3s ease}.blue{color:var(--blue)}h1{font:400 34px/1.12 Georgia,'Times New Roman',serif;letter-spacing:-1.1px;margin:20px 0 32px}p{margin:0 0 17px}.intro-copy{color:#6e7473;max-width:510px;line-height:1.65}.word{cursor:default}.signature{margin-top:24px;color:#646b68;font-size:14px;line-height:1.6}.signature span{display:block;color:#939997;font-size:12px}h2{font:400 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.015em;margin:0 0 25px;color:#6e7471}.section-dot{font-size:12px;color:#9eb8ca;margin-left:6px}.project{background:transparent;border:1px solid var(--line);border-radius:16px;width:100%;display:flex;text-align:left;align-items:center;padding:16px 18px;gap:17px;margin:0 0 12px;box-shadow:0 3px 5px #24382a03;transition:background .25s,transform .25s,border-color .25s}.project:hover{background:#f3f7f9;transform:translateY(-3px);border-color:#c9dbe8}.thumb{width:68px;height:68px;border:1px solid #00000006;border-radius:12px;display:grid;place-items:center;overflow:hidden;flex-shrink:0}.thumb-fastag{background:linear-gradient(140deg,#d5e5dc,#a8c4b4)}.thumb-upi{background:linear-gradient(140deg,#e2eaf5,#b4c5e4)}.thumb-rapido{background:linear-gradient(140deg,#fff0b1,#efcd57)}.thumb-rapido svg{width:68px;height:68px}.project-info{display:block;flex:1;min-width:0}.project-title{display:block;color:#3d433f;font-size:15px;line-height:1.4}.project-description{display:block;color:#858c87;font-size:11px;margin-top:5px;line-height:1.5}.project-arrow{font-size:18px;color:#939e9b;align-self:flex-start;opacity:0;transform:translate(-4px,4px);transition:.2s}.project:hover .project-arrow,.project:focus-visible .project-arrow{opacity:1;transform:none}.tag-mini{position:relative;display:block;background:#fffff8;width:55px;height:33px;border-radius:3px;box-shadow:0 4px 8px #344a3c30;transform:rotate(-9deg);padding:6px}.tag-mini i{position:absolute;width:3px;height:5px;background:#e0a66e;right:6px;top:6px}.tag-mini b{display:block;color:#42745b;font-size:7px;line-height:1}.tag-mini small{display:block;color:#909b94;font-size:3px;letter-spacing:.8px;margin-top:2px}.tag-mini em{display:block;color:#64786e;font-size:7px;font-style:normal;line-height:1.2;letter-spacing:1px}.pay-mini{width:40px;height:52px;background:#fcfcff;box-shadow:0 4px 8px #273e6820;border-radius:6px;display:flex;align-items:center;flex-direction:column;transform:rotate(7deg);position:relative}.pay-mini>span{display:block;color:#527397;font:20px Georgia;margin-top:4px}.pay-mini i{display:grid;place-items:center;border-radius:50%;background:#daeddf;color:#6a8e78;width:11px;height:11px;font-style:normal;font-size:7px;position:absolute;right:-4px;top:28px}.pay-mini b{font-size:5px;letter-spacing:1px;margin-top:0;color:#8a9bb3}.draft-note{font-size:10px;color:#a0a6a2;margin-top:17px}.about{margin-top:94px}.about p{color:#777e79}.about p:first-of-type{font:22px/1.4 Georgia,serif;color:#535b55;letter-spacing:-.4px;margin-bottom:20px}.looks{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.looks button{font-size:11px;padding:6px 11px;border:1px solid #e0e6e2;background:transparent;border-radius:20px;color:#929a93;transition:.2s}.looks button:hover,.looks button[aria-pressed=true]{background:#edf4f9;border-color:#cadde9;color:#65849c}footer{margin-top:103px;padding-bottom:90px}footer h2{font:400 29px/1.16 Georgia,serif;color:#3f4842;letter-spacing:-.8px;margin-bottom:25px}.contact-placeholder{font-size:12px;line-height:1.8;color:#969e97}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:65px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:#9ba29c}.footer-bottom a{white-space:nowrap}.copyright{display:block;font-size:10px;color:#b0b6af;margin-top:13px}.bottom-sky{height:95px;overflow:hidden;background:linear-gradient(var(--paper),#e3f0f9);position:relative;margin-top:-65px;pointer-events:none}.bottom-sky span{position:absolute;width:180px;height:60px;background:#ffffff9c;left:6%;bottom:-25px;border-radius:70px 70px 0 0;box-shadow:45px -10px 0 -5px #ffffff9c,90px 0 0 5px #ffffff9c}.bottom-sky span:nth-child(2){left:47%;transform:scale(.6)}.bottom-sky span:nth-child(3){left:83%;transform:scale(1.4)}dialog{width:580px;max-width:calc(100% - 32px);padding:45px;border:1px solid #e4e9e8;border-radius:20px;background:var(--paper);color:var(--ink);max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #293c4d20}dialog::backdrop{background:#29394755;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:15px;border:0;background:transparent;font-size:24px;color:#86938c;padding:5px}.dialog-kicker{font-size:10px;letter-spacing:1px;color:#97a19a;text-transform:uppercase}dialog h2{font:30px/1.2 Georgia,serif;color:#37423b;letter-spacing:-.6px;margin:8px 0 12px}.dialog-category{font-size:12px;color:#7e8c83}.dialog-art{border-radius:12px;padding:35px;margin:25px 0;background:#edf3ef;display:grid;place-items:center}.dialog-art>.thumb{transform:scale(1.2)}dialog h3{font:22px Georgia,serif;color:#526458;margin-bottom:15px}dialog>p:not(.dialog-kicker){color:#839087;font-size:13px}.back-button{border:1px solid #d9e3dd;border-radius:30px;padding:9px 15px;background:transparent;color:#657c6c;font-size:12px;margin-top:10px}.back-button span{margin-left:13px}body.modal-open{overflow:hidden}@keyframes waveMove{to{background-position:24px 0}}@keyframes cloudDrift{to{transform:translateX(35px)}}@keyframes headPop{50%{transform:translateY(-2px)}}@media(min-width:1600px){.page{padding-top:240px}}@media(max-width:700px){header{top:28px;right:24px}nav{font-size:11px;gap:11px}.sound span{display:none}.sound{padding:6px}.sky{height:175px}.cloud-one{width:300px;left:-130px;top:-8px}.cloud-two{width:200px;left:23%;top:-56px}.cloud-three{width:260px;left:65%;top:-20px}.page{padding-top:185px}.intro{margin-bottom:75px}h1{font-size:32px}.avatar-hint{font-size:10px;opacity:.8}.project{padding:14px;gap:13px;border-radius:14px}.project-arrow{opacity:1;font-size:15px}.project-title{font-size:14px}.project-description{font-size:10px}.thumb{width:60px;height:60px}.about{margin-top:74px}footer{margin-top:80px;padding-bottom:80px}.footer-bottom{font-size:9px}.intro-copy{font-size:14px}dialog{padding:35px 25px}footer h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.avatar-hint{opacity:1}}

/* Day and night palette, flowing clouds, and Milan-inspired typography. */
@font-face{font-family:'Libre Baskerville';src:url('fonts/libre-baskerville-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#fcfcfb;--ink:#303a40;--muted:#626e77;--blue:#447eae;--line:#dde4e8;--sky-top:#9bc9ec;--sky-mid:#d9eafa;--cloud:#ffffff;--cloud-shadow:#719abc1a;--card-hover:#f0f5f9;--hint:#75818a;--control-bg:#ffffff80;--control-line:#c5d4de;--soft:#edf4f9;--dialog-art:#edf3f5;--footer-sky:#d9eaf7}
:root[data-theme=dark]{color-scheme:dark;--paper:#131a24;--ink:#e6eaf0;--muted:#adb8c7;--blue:#9fc9ef;--line:#303b4a;--sky-top:#152d50;--sky-mid:#1b2940;--cloud:#849bb8;--cloud-shadow:#030b1a30;--card-hover:#1c2837;--hint:#91a1b7;--control-bg:#16263aa3;--control-line:#4a6079;--soft:#253449;--dialog-art:#202e40;--footer-sky:#1d314f}
body{font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.65;background:var(--paper);color:var(--ink);transition:background-color .35s,color .35s}
button{font-family:Inter,Arial,sans-serif}.page{width:720px;padding-top:236px}.intro{margin-bottom:94px}.intro-copy{font-size:18px;max-width:680px;line-height:1.65;color:var(--muted)}h1{font-family:'Libre Baskerville',Georgia,serif;font-size:56px;line-height:1.2;font-weight:400;letter-spacing:-1.9px;margin:23px 0 32px;color:var(--ink)}h2{font-family:Inter,Arial,sans-serif;font-size:16px;color:var(--muted);margin-bottom:25px}.signature{font-size:16px;color:var(--muted);margin-top:27px}.signature span{font-size:14px;color:var(--hint)}.avatar-hint{color:var(--hint);font-size:12px}.avatar-row{height:71px}.avatar{isolation:isolate}
header{top:32px;right:40px}nav{font-size:14px;color:var(--muted);gap:13px}.nav-controls{display:flex;flex-direction:column;align-items:flex-end;gap:11px;margin-top:4px}.theme-switch{display:flex;align-items:center;gap:7px;background:var(--control-bg);border:1px solid var(--control-line);padding:7px 9px;border-radius:24px;color:var(--muted);min-height:34px}.switch-track{width:27px;height:15px;border-radius:20px;background:#b3cce0;display:block;padding:2px;transition:background .3s}.switch-track>span{display:block;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #19324f24;transition:transform .3s}.theme-switch[aria-checked=true] .switch-track{background:#52719b}.theme-switch[aria-checked=true] .switch-track>span{transform:translateX(12px)}.sun-icon{color:#4d7396}.moon-icon{opacity:.5}:root[data-theme=dark] .sun-icon{opacity:.5}:root[data-theme=dark] .moon-icon{opacity:1;color:#c6daef}.sound{background:var(--control-bg);border-color:var(--control-line);color:var(--muted);font-size:10px;margin:0;padding:6px 9px;min-height:29px}
.sky{height:285px;background:linear-gradient(180deg,var(--sky-top),var(--sky-mid) 57%,var(--paper) 100%);transition:background .4s}.sky-fade{inset:120px 0 0;background:linear-gradient(transparent,var(--paper));z-index:3}.cloud-track{position:absolute;display:flex;width:200vw;left:0;top:-47px;animation:cloudPass 64s linear infinite;will-change:transform}.cloud-group{width:100vw;height:200px;position:relative;flex:none}.cloud{position:absolute;fill:var(--cloud);filter:drop-shadow(0 7px 12px var(--cloud-shadow));animation:none;opacity:.92;transition:fill .4s}.c0,.c3{left:1%;top:8px;width:340px}.c1,.c4{left:39%;top:34px;width:260px}.c2,.c5{left:75%;top:0;width:370px}.layer-1{top:55px;animation-duration:98s;animation-delay:-43s;opacity:.55;filter:blur(2px)}.layer-1 .c3{width:270px;top:8px}.layer-1 .c4{width:340px;top:16px}.layer-1 .c5{width:240px;top:0}:root[data-theme=dark] .layer-0{opacity:.5}:root[data-theme=dark] .layer-1{opacity:.22}.stars{position:absolute;inset:0;opacity:0;transition:opacity .5s;background-image:radial-gradient(circle at 10% 16%,#e6f4ff 0 1px,transparent 1.7px),radial-gradient(circle at 29% 29%,#e6f4ff 0 1px,transparent 1.5px),radial-gradient(circle at 44% 11%,#e6f4ff 0 1px,transparent 1.7px),radial-gradient(circle at 68% 23%,#e6f4ff 0 1px,transparent 1.6px),radial-gradient(circle at 84% 10%,#e6f4ff 0 1px,transparent 1.5px),radial-gradient(circle at 58% 48%,#e6f4ff 0 .7px,transparent 1.3px)}:root[data-theme=dark] .stars{opacity:.7}@keyframes cloudPass{from{transform:translateX(0)}to{transform:translateX(-100vw)}}
.project{padding:20px;gap:20px;border-color:var(--line);background:transparent}.project:hover{background:var(--card-hover);border-color:var(--control-line)}.thumb{width:80px;height:80px}.project-title{font-size:18px;line-height:1.45;color:var(--ink)}.project-description{font-size:13px;color:var(--muted);margin-top:6px}.project-arrow{color:var(--hint)}.draft-note{font-size:12px;color:var(--hint);margin-top:19px}.section-dot{color:var(--blue)}.about{margin-top:98px}.about p{color:var(--muted);font-size:18px}.about p:first-of-type{font-family:'Libre Baskerville',Georgia,serif;font-size:30px;line-height:1.4;letter-spacing:-.8px;color:var(--ink)}.looks{gap:10px}.looks button{font-size:13px;padding:7px 14px;color:var(--muted);border-color:var(--line)}.looks button:hover,.looks button[aria-pressed=true]{background:var(--soft);border-color:var(--control-line);color:var(--blue)}footer{margin-top:112px}footer h2{font-family:'Libre Baskerville',Georgia,serif;font-size:40px;line-height:1.3;letter-spacing:-1.2px;color:var(--ink)}.contact-placeholder{font-size:15px;color:var(--muted)}.footer-bottom{font-size:12px;color:var(--hint);border-color:var(--line)}.copyright{font-size:11px;color:var(--hint)}.bottom-sky{background:linear-gradient(var(--paper),var(--footer-sky))}.bottom-sky span{background:var(--cloud);box-shadow:45px -10px 0 -5px var(--cloud),90px 0 0 5px var(--cloud);opacity:.45}
dialog{background:var(--paper);color:var(--ink);border-color:var(--line);width:680px}dialog h2{font-family:'Libre Baskerville',Georgia,serif;font-size:36px;line-height:1.3;color:var(--ink)}dialog h3{font-family:'Libre Baskerville',Georgia,serif;font-size:25px;line-height:1.4;color:var(--ink)}dialog>p:not(.dialog-kicker){color:var(--muted);font-size:16px}.dialog-art{background:var(--dialog-art)}.dialog-kicker,.dialog-category,.close{color:var(--hint)}.back-button{border-color:var(--control-line);color:var(--blue);font-size:14px}.skip{background:var(--paper)}dialog::backdrop{background:#07111c80}:root[data-theme=dark] .thumb{opacity:.9}
@media(min-width:1600px){.page{padding-top:250px}}@media(max-width:900px){header{right:24px}.page{width:650px;max-width:calc(100% - 64px)}h1{font-size:50px}.sky{height:265px}}
@media(max-width:700px){header{top:24px;right:22px}nav{font-size:12px;gap:10px}.nav-controls{gap:8px}.theme-switch{padding:6px 7px;gap:5px;min-height:32px}.sound span{display:none}.sound{padding:6px;min-height:27px}.page{max-width:calc(100% - 44px);padding-top:238px}.sky{height:225px}.sky-fade{inset:90px 0 0}.cloud-track{top:-8px;animation-duration:44s}.cloud-group{height:170px}.cloud{max-width:220px}.c0,.c3{left:-12%;width:210px;top:0}.c1,.c4{left:47%;width:155px;top:-15px}.c2,.c5{display:none}.layer-1{top:45px;animation-duration:68s;animation-delay:-28s}.layer-1 .c3{width:155px}.layer-1 .c4{width:200px}h1{font-size:clamp(32px,8.5vw,45px);line-height:1.25;letter-spacing:-1.1px;margin:22px 0 28px}.intro{margin-bottom:75px}.intro-copy{font-size:16px;line-height:1.75}.avatar-hint{font-size:11px}.signature{font-size:15px}.signature span{font-size:12px}h2{font-size:14px}.project{padding:16px 14px;gap:14px}.thumb{width:60px;height:60px}.project-title{font-size:16px}.project-description{font-size:11px}.project-arrow{font-size:16px}.draft-note{font-size:11px}.about{margin-top:78px}.about p{font-size:16px}.about p:first-of-type{font-size:26px}.looks button{font-size:12px;padding:7px 12px}footer{margin-top:85px}footer h2{font-size:30px;letter-spacing:-.9px}.contact-placeholder{font-size:14px}.footer-bottom{font-size:10px;gap:15px}.copyright{font-size:10px}dialog h2{font-size:28px}dialog h3{font-size:23px}dialog>p:not(.dialog-kicker){font-size:15px}}
@media(prefers-reduced-motion:reduce){.cloud-track{animation:none;will-change:auto}.layer-1{transform:translateX(-30vw)}}
.sky{isolation:isolate;z-index:0}

/* Soft cotton clouds with diffused edges and pale cyan volume. */
:root{--sky-top:#a9cfe9;--sky-mid:#e3eaf5;--cotton-top:#ffffff;--cotton-bottom:#e3faff;--cotton-shade:#9bdded;--cotton-glow:#f3ffff88}
:root[data-theme=dark]{--sky-top:#1c2d50;--sky-mid:#202940;--cotton-top:#c4dbea;--cotton-bottom:#87a6c1;--cotton-shade:#607e9d;--cotton-glow:#a1c9ea22}
.cloud-top{stop-color:var(--cotton-top)}.cloud-bottom{stop-color:var(--cotton-bottom)}.cloud-shade{fill:var(--cotton-shade);opacity:.25}.cloud-highlight{fill:#fff;opacity:.42}
.soft-cloud{opacity:.95;overflow:visible;filter:blur(4px) drop-shadow(0 0 9px var(--cotton-glow))}.cloud-track{top:-92px}.cloud-group{height:280px}.c0,.c3{width:410px;left:-3%;top:0}.c1,.c4{width:310px;left:38%;top:3px}.c2,.c5{width:420px;left:74%;top:-8px}.layer-1{top:28px;opacity:.6;filter:blur(2px)}.layer-1 .c3{width:270px;top:3px}.layer-1 .c4{width:350px;top:4px}.layer-1 .c5{width:250px;top:0}:root[data-theme=dark] .layer-0{opacity:.48}:root[data-theme=dark] .layer-1{opacity:.23}.sky-fade{inset:150px 0 0}
@media(max-width:700px){.cloud-track{top:-43px}.cloud-group{height:210px}.soft-cloud{max-width:none;filter:blur(3px) drop-shadow(0 0 6px var(--cotton-glow))}.c0,.c3{width:250px;left:-25%;top:0}.c1,.c4{width:210px;left:43%;top:-5px}.layer-1{top:43px}.layer-1 .c3{width:180px;top:0}.layer-1 .c4{width:220px;top:0}.sky-fade{inset:120px 0 0}}

/* A little more space for the textured curls. */
.avatar,.avatar svg{width:76px;height:76px}.avatar-row{height:83px}

/* A small patch of grass to brush on the way to selected work. */
:root{--grass-front:#75885f;--grass-mid:#96a980;--grass-back:#bdcbaa}
:root[data-theme=dark]{--grass-front:#a0b88a;--grass-mid:#7e9b6e;--grass-back:#516b4b}
.intro{margin-bottom:31px}.grass-divider{margin:0 0 58px;position:relative;text-align:center}.grass-surface{display:block;width:100%;height:104px;border:0;background:transparent;padding:0;cursor:pointer;touch-action:pan-y}.grass-surface svg{width:100%;height:100%;display:block;overflow:visible;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.grass-surface:focus-visible{outline:1px dashed var(--grass-mid);outline-offset:4px;border-radius:10px}.grass-blade{transition:fill .35s}.grass-divider>span{display:block;font-size:11px;letter-spacing:.04em;color:var(--hint);margin-top:1px}.grass-divider.is-brushing>span{color:var(--grass-front)}@media(max-width:700px){.intro{margin-bottom:27px}.grass-divider{margin-bottom:43px}.grass-surface{height:94px}.grass-divider>span{font-size:10px}}

@font-face{font-family:'Bricolage Grotesque';src:url('fonts/bricolage-grotesque-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
h1,footer h2,dialog h2,dialog h3,.about p:first-of-type{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500}h1{font-size:60px;line-height:1.06;letter-spacing:-2.2px;margin-bottom:32px}.intro-copy{max-width:660px;font-size:17px;line-height:1.75;text-align:left}.intro-copy p{margin:0 0 20px}.intro-copy p:last-child{margin-bottom:0}.signature{margin-top:27px}.grass-divider{text-align:left}.grass-divider>span{margin-left:2px}.nav-controls{margin-top:4px}@media(max-width:700px){h1{font-size:clamp(35px,9.5vw,49px);line-height:1.08;letter-spacing:-1.5px}.intro-copy{font-size:16px;line-height:1.75}.intro-copy p{margin-bottom:18px}}
h2,h3{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500}

/* Selected work: quiet list and one shared preview. */
.selected-split{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.selected-split .project{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin:0;gap:15px;box-shadow:none;background:transparent;transform:none;min-height:98px}.selected-split .project:last-child{border-bottom:1px solid var(--line)}.selected-split .project-number{font-size:10px;color:var(--hint);align-self:center;font-variant-numeric:tabular-nums}.selected-split .project-info{flex:1}.selected-split .project-title{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.4px;color:var(--muted)}.selected-split .project-description{font-size:10px;line-height:1.55;color:var(--hint);margin-top:6px}.selected-split .project-arrow{opacity:.3;transform:none;font-size:18px;align-self:center}.selected-split .project[aria-pressed=true] .project-title,.selected-split .project:hover .project-title{color:var(--ink)}.selected-split .project[aria-pressed=true] .project-arrow{opacity:1;color:var(--blue);transform:translate(2px,-2px)}.work-preview-button{width:100%;text-align:left;display:block;border:0;background:transparent;padding:0}.work-art{display:block}.work-art[hidden]{display:none}.work-art .thumb{display:grid;width:100%;height:260px;border-radius:11px;position:relative;border:0;transition:filter .2s}.work-art .thumb .tag-mini{transform:rotate(-10deg) scale(3.1)}.work-art .thumb .pay-mini{transform:rotate(8deg) scale(3)}.work-art .thumb>svg{width:185px;height:185px}.work-preview-button:hover .thumb{filter:brightness(1.025)}.preview-link{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;font-size:11px;color:var(--muted)}.preview-link>span:last-child{font-size:16px;color:var(--blue)}.work-art:not([hidden]){animation:previewArrive .22s ease}@keyframes previewArrive{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}
/* Fine, tactile section boundaries. */
.string-divider{margin:55px 0;clear:both}.loose-string{width:100%;height:56px;padding:0;display:block;border:0;background:transparent;cursor:pointer;touch-action:pan-y;color:var(--hint)}.loose-string svg{width:100%;height:100%;display:block;overflow:visible}.loose-string path{stroke:currentColor;stroke-width:1;fill:none;opacity:.54;vector-effect:non-scaling-stroke;transition:stroke .2s,opacity .2s}.loose-string circle{fill:currentColor;opacity:.45}.loose-string:hover,.loose-string:focus-visible{color:var(--blue)}.loose-string:hover path,.loose-string:focus-visible path{opacity:.85}.loose-string:focus-visible{outline:1px dashed var(--control-line);outline-offset:2px;border-radius:8px}.about{margin-top:0}footer{margin-top:0}.footer-bottom{border-top:0;padding-top:0;margin-top:57px}@media(max-width:700px){.selected-split{grid-template-columns:1fr;gap:25px}.selected-split .project{padding:21px 0;min-height:86px;gap:14px}.selected-split .project-title{font-size:20px}.selected-split .project-description{font-size:11px}.work-art .thumb{height:240px}.work-art .thumb .tag-mini{transform:rotate(-10deg) scale(3)}.work-art .thumb .pay-mini{transform:rotate(8deg) scale(2.9)}.string-divider{margin:39px 0}.about{margin-top:0}footer{margin-top:0}}

/* Only the active project takes the foreground. */
.selected-split .project{position:relative;transition:border-color .25s,background-color .25s;padding-left:0}.selected-split .project-info{opacity:.4;transform:translateX(0);transition:opacity .25s,transform .28s cubic-bezier(.2,.8,.2,1)}.selected-split .project .project-title{color:var(--ink)}.selected-split .project .project-description{color:var(--muted)}.selected-split .project .project-arrow{opacity:0;transform:translate(-5px,4px);transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.2,1)}.selected-split .project[aria-pressed=true] .project-info{opacity:1;transform:translateX(9px)}.selected-split .project[aria-pressed=true] .project-arrow{opacity:1;transform:translate(0,-3px)}.selected-split .project:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--blue);opacity:0;transform:scaleY(.4);transition:opacity .25s,transform .28s}.selected-split .project[aria-pressed=true]:before{opacity:.55;transform:scaleY(.35)}.selected-split .project[aria-pressed=true]{background:linear-gradient(90deg,var(--soft),transparent 80%)}.work-art:not([hidden]){animation:previewArrive .32s cubic-bezier(.2,.8,.2,1)}@keyframes previewArrive{from{opacity:.25;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* Keep navigation available throughout the page. */
header{position:fixed;z-index:20;top:32px;right:40px}
/* Contain label motion, and measure artwork against the actual row stack. */
.selected-split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);overflow-x:clip;overflow-y:visible}.project-list,.project-preview{min-width:0}.project-list{overflow:clip}.selected-split .project{min-width:0;max-width:100%;overflow:clip}.selected-split .project-info{min-width:0;padding-right:9px}.selected-split .project[aria-pressed=true] .project-info{transform:translateX(7px)}.work-art .thumb{height:var(--work-preview-height,294px);max-width:100%;overflow:hidden}.work-art:not([hidden]){animation:previewFade .28s ease}@keyframes previewFade{from{opacity:.3}to{opacity:1}}.work-preview-button:focus-visible{outline-offset:-2px;border-radius:11px}

@media(max-width:700px){header{top:auto;bottom:16px;left:14px;right:14px;display:flex;justify-content:center}header nav{flex-direction:row;align-items:center;justify-content:center;gap:23px;padding:10px 17px;border:1px solid var(--line);border-radius:40px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(15px);box-shadow:0 3px 20px #1529400d}header .nav-controls{margin:0}header .theme-switch{min-height:29px;padding:5px 7px}.selected-split{grid-template-columns:minmax(0,1fr)}.work-art .thumb{height:var(--work-preview-height,258px)}.copyright{padding-bottom:45px}footer{padding-bottom:105px}}

/* Wider section boundaries, with the content column kept intact. */
.grass-divider,.string-divider{width:min(calc(100vw - 40px),calc(100% + 160px));margin-left:50%;transform:translateX(-50%)}.grass-surface svg{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.selected-split .project:before,.selected-split .project[aria-pressed=true]:before{display:none;content:none}.preview-link{display:none}

/* Give the grass interlude more breathing room on both sides. */
.intro{margin-bottom:72px}.grass-divider{margin-bottom:88px}@media(max-width:700px){.intro{margin-bottom:56px}.grass-divider{margin-bottom:70px}}

/* Milan-inspired staggered project gallery. */
.work-gallery{width:min(880px,calc(100vw - 44px));margin-left:50%;transform:translateX(-50%)}
.work-gallery>h2{font-size:38px;line-height:1.2;letter-spacing:-1.2px;color:var(--ink);text-align:center;margin:0 0 42px}
.work-card-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:250px 290px;gap:14px}
.work-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-width:0;padding:30px 24px 0;border:1px solid var(--line);border-radius:25px;background:var(--soft);overflow:hidden;text-align:center;transition:transform .28s,border-color .28s,box-shadow .28s}
.work-card-fastag{grid-column:1;grid-row:1}.work-card-upi{grid-column:1;grid-row:2}.work-card-rapido{grid-column:2;grid-row:1 / 3}
.work-card-title{position:relative;z-index:2;font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500;font-size:25px;line-height:1.25;letter-spacing:-.6px;max-width:300px;color:var(--ink)}
.work-card-art{display:grid;place-items:center;flex:1;width:calc(100% + 48px);margin-top:22px;min-height:0}
.work-card-art .thumb{width:100%;height:100%;border:0;border-radius:0;transition:transform .5s cubic-bezier(.2,.8,.2,1);opacity:1}
.work-card-art .tag-mini{transform:rotate(-10deg) scale(3.6)}.work-card-art .pay-mini{transform:rotate(8deg) scale(3.3)}
.work-card-art .thumb-rapido{background:radial-gradient(ellipse at 50% 65%,#ffe58e 0%,#f7e8b7 65%,#f3edd9 100%)}.work-card-art .thumb-rapido>svg{width:80%;height:80%;max-width:330px}
.work-card-arrow{position:absolute;right:18px;bottom:14px;z-index:3;font-size:23px;opacity:0;transform:translate(-5px,5px);transition:opacity .25s,transform .25s;color:#33453e}
.work-card:hover,.work-card:focus-visible{transform:translateY(-4px);border-color:var(--control-line);box-shadow:0 12px 26px #162f4110}.work-card:hover .thumb,.work-card:focus-visible .thumb{transform:scale(1.035)}.work-card:hover .work-card-arrow,.work-card:focus-visible .work-card-arrow{opacity:1;transform:none}
:root[data-theme=dark] .work-card{background:#202a30;border-color:#354247}:root[data-theme=dark] .work-card-art{opacity:.82}
@media(max-width:700px){.work-gallery>h2{font-size:32px;margin-bottom:30px}.work-card-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:18px}.work-card-fastag,.work-card-upi,.work-card-rapido{grid-column:auto;grid-row:auto;height:310px}.work-card{padding-top:25px;border-radius:20px}.work-card-title{font-size:24px}.work-card-art{margin-top:20px}.work-card-art .thumb-rapido>svg{width:200px;height:200px}.work-card-arrow{opacity:1}}
@media(prefers-reduced-motion:reduce){.work-card,.work-card-art .thumb,.work-card-arrow{transition:none}.work-card:hover,.work-card:focus-visible,.work-card:hover .thumb,.work-card:focus-visible .thumb{transform:none}}

/* Supplied case study covers retain their complete composition. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.case-image-grid{grid-template-rows:auto;gap:18px}
.case-image-card{padding:0;border:0;border-radius:20px;background:transparent;display:block;height:auto;align-self:start;isolation:isolate}
.case-fastag{grid-column:1;grid-row:1}.case-fairday{grid-column:2;grid-row:1}.case-meetings{grid-column:1 / -1;grid-row:2}
.case-thumbnail{display:block;width:100%;height:auto;object-fit:contain;transition:filter .25s}
.case-image-card .work-card-arrow{background:var(--paper);color:var(--ink);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;bottom:12px;right:12px}
.case-image-card:hover .case-thumbnail,.case-image-card:focus-visible .case-thumbnail{filter:brightness(.98)}
.dialog-art:has(.case-thumbnail){padding:0;background:transparent;overflow:hidden}.dialog-art .case-thumbnail{width:100%;max-height:55vh;object-fit:contain}
/* Quiet photo strip: one paragraph, three evenly aligned personal images. */
.about-strip>h2{font-size:27px;line-height:1.3;letter-spacing:-.6px;color:var(--ink);margin:0 0 17px}
.about-strip .about-body{font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.75;letter-spacing:0;color:var(--muted);margin:0;max-width:660px}
.personal-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.personal-photo-strip figure{margin:0;min-width:0}.personal-photo-placeholder{aspect-ratio:1.15;display:grid;place-items:center;border-radius:8px;background:var(--soft);border:1px dashed var(--control-line);color:var(--hint);font-size:12px}.personal-photo-strip figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:9px}
@media(max-width:700px){.case-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.case-image-card{height:auto;border-radius:12px}.about-strip>h2{font-size:25px}.about-strip .about-body{font-size:16px}.personal-photo-strip{gap:10px}.personal-photo-placeholder{aspect-ratio:.85;font-size:11px}.personal-photo-strip figcaption{font-size:11px}}
@media(max-width:420px){.case-image-grid{grid-template-columns:minmax(0,1fr)}.case-fastag,.case-fairday,.case-meetings{grid-column:auto;grid-row:auto}.personal-photo-placeholder span{max-width:70px;text-align:center}}
.about-strip p.about-body:first-of-type{font-family:Inter,Arial,sans-serif;font-weight:400;font-size:17px;line-height:1.75;letter-spacing:0;color:var(--muted);margin:0;max-width:660px}
@media(max-width:700px){.about-strip p.about-body:first-of-type{font-size:16px}}

/* Selected work: outcome-led list, aligned to the main reading column. */
.outcome-work>h2{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.015em;text-align:left;margin:0 0 28px;color:var(--muted)}
.outcome-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:29px 0;text-align:left;box-shadow:none;transition:color .2s}
.outcome-row:last-child{border-bottom:1px solid var(--line)}
.outcome-copy{display:block;min-width:0;flex:1}.outcome-title{display:block;font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500;font-size:27px;line-height:1.25;letter-spacing:-.6px;color:var(--ink);transition:color .2s}
.outcome-description{display:block;font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.6;margin-top:8px;color:var(--muted)}
.outcome-result{display:block;text-align:right;flex:0 0 145px}.outcome-result strong{display:block;font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500;font-size:36px;line-height:1.1;letter-spacing:-1px;color:var(--ink)}.outcome-result>span{display:block;font-size:12px;line-height:1.6;margin-top:6px;color:var(--muted)}
.outcome-row:hover .outcome-title,.outcome-row:focus-visible .outcome-title{color:var(--blue)}
.outcome-row:focus-visible{outline:2px solid var(--control-line);outline-offset:6px}
@media(max-width:700px){.outcome-row{padding:25px 0;gap:16px}.outcome-title{font-size:23px}.outcome-description{font-size:12px}.outcome-result{flex-basis:115px}.outcome-result strong{font-size:31px}.outcome-result>span{font-size:11px}}
@media(max-width:390px){.outcome-row{gap:12px}.outcome-title{font-size:21px}.outcome-result{flex-basis:95px}.outcome-result strong{font-size:29px}}

/* A gentle nudge and blue wash on case-study interaction. */
.outcome-row{position:relative;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.outcome-row::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#dcecfb 0%,#e9f3fb80 55%,transparent 100%);opacity:0;transition:opacity .28s ease}
:root[data-theme=dark] .outcome-row::before{background:linear-gradient(90deg,#25476999 0%,#23456155 55%,transparent 100%)}
.outcome-row:hover,.outcome-row:focus-visible{transform:translateX(10px)}
.outcome-row:hover::before,.outcome-row:focus-visible::before{opacity:1}
@media(max-width:700px){.outcome-row:hover,.outcome-row:focus-visible{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.outcome-row,.outcome-row::before{transition:none}.outcome-row:hover,.outcome-row:focus-visible{transform:none}}

/* Anchor the wash to the divider; inset and move only its contents. */
.outcome-row{padding-left:18px;padding-right:18px;transform:none!important}
.outcome-copy{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.outcome-row:hover .outcome-copy,.outcome-row:focus-visible .outcome-copy{transform:translateX(8px)}
.avatar,.avatar:hover{transform:none}
.avatar svg{animation:avatarBob 2.4s ease-in-out infinite}
.avatar.swap .head{animation:none}
.avatar[data-look="1"] .look-sunglasses,.avatar[data-look="2"] .look-painter{display:block}
@keyframes avatarBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:700px){.outcome-row{padding-left:14px;padding-right:14px}.outcome-row:hover .outcome-copy,.outcome-row:focus-visible .outcome-copy{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.avatar svg{animation:none}.outcome-copy{transition:none}.outcome-row:hover .outcome-copy,.outcome-row:focus-visible .outcome-copy{transform:none}}

/* Shared typography for each main section. */
.page .section-heading{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:30px;font-weight:500;line-height:1.3;letter-spacing:-.7px;color:var(--ink);text-align:left;margin:0 0 24px}
.grass-divider>span{margin-left:0;text-align:center}
.personal-photo-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.personal-photo-strip img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px}
@media(max-width:700px){.page .section-heading{font-size:27px;letter-spacing:-.6px}.personal-photo-strip{gap:8px}.personal-photo-strip img{border-radius:6px}}
@media(max-width:420px){.personal-photo-strip{gap:6px}.personal-photo-strip img{aspect-ratio:2 / 3}}
.outcome-work .section-heading{margin-bottom:16px}
.work-intro{font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.75;color:var(--muted);max-width:660px;margin:0 0 30px}
@media(max-width:700px){.work-intro{font-size:16px}}
/* Keep the section introduction together, separate from its project list. */
.work-heading-group{display:flex;flex-direction:column;gap:8px;margin-bottom:48px}
.outcome-work .work-heading-group>.section-heading,.work-heading-group>.work-intro{margin:0}
@media(max-width:700px){.work-heading-group{gap:8px;margin-bottom:40px}}
