@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Bodoni+Moda:opsz,wght@6..96,700;6..96,800&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#29261e;color:#e9c99d;font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}main{width:100%;max-width:1600px;margin:auto}.hero{position:relative;width:100%;aspect-ratio:850/814;overflow:hidden}.portrait{display:block;width:100%;height:100%;object-fit:fill}header{position:absolute;top:3.2%;left:2.8%;right:3%;display:flex;justify-content:space-between;align-items:center}.mark{display:block;width:3.5%;min-width:25px}.mark svg{display:block;width:100%}nav{display:flex;gap:clamp(18px,3.1vw,50px);font-size:clamp(12px,1.4vw,21px)}nav a{transition:color .2s}nav a:hover{color:#fff2da}.role{position:absolute;right:5.5%;top:61.7%;font-size:clamp(10px,1.36vw,21px);line-height:1.65;letter-spacing:.27em;color:#e5bd86}.role span,.rule{display:block;width:26px;height:1px;background:currentColor;margin-top:20px}.paper-layout{position:relative;aspect-ratio:850/1037;background:url('assets/paper-collage.png') center/100% 100% no-repeat}.about{position:absolute;top:6.1%;left:9.05%;color:#242319;width:54%}h2,h3{font-family:'Bodoni Moda',Georgia,serif;letter-spacing:-.065em;font-weight:800;margin:0}h2{font-size:clamp(42px,7.7vw,120px);line-height:.84}.about p,footer p{font-size:clamp(12px,1.57vw,24px);line-height:1.4;margin:2.1% 0 0;letter-spacing:-.025em}.about p{margin-top:4%}.rule{opacity:.6;margin-top:2.4%}.work{position:absolute;top:35.7%;left:9.05%;right:9.05%}.work-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.1%}.work-heading h2{font-size:clamp(44px,8vw,125px)}.work-heading>a{font-size:clamp(9px,1.15vw,18px);letter-spacing:.12em;display:flex;align-items:center;gap:15px}.work-heading>a span{width:24px;height:1px;background:currentColor}.projects{display:grid;grid-template-columns:1.035fr 1fr;gap:3%}.project-image{display:block;border:0;padding:0;width:100%;aspect-ratio:344/185;background:#ca944f;border-radius:11px;overflow:hidden;cursor:pointer}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.project-image:hover img{transform:scale(1.04)}h3{font-size:clamp(21px,2.8vw,43px);line-height:1.2;margin-top:4%}h3 button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;padding:0;cursor:pointer}.projects p{font-size:clamp(12px,1.53vw,23px);margin:1% 0 0}footer{position:absolute;top:77.3%;left:9.05%;right:9.05%;color:#242319;display:flex;align-items:center;justify-content:space-between}footer h2{font-size:clamp(36px,7.4vw,116px);white-space:nowrap}footer p{margin-top:5%}footer .rule{margin-top:5%}.socials{display:flex;gap:clamp(8px,2vw,30px);margin-top:-4%}.socials a{display:grid;place-items:center;width:clamp(38px,6.8vw,107px);aspect-ratio:1;border:1px solid #8d7a5b;border-radius:30%;background:transparent;color:#25241b;cursor:pointer;transition:background .2s,transform .2s}.socials a:hover{background:#ebcc9d;transform:translateY(-3px)}.socials svg{width:43%;fill:none;stroke:currentColor;stroke-width:1.9}.socials .fill{fill:currentColor;stroke:none}.linkedin{font:bold clamp(20px,3vw,45px) Arial!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:#e6c69d;color:#28251b;border:1px solid #9b7b52;border-radius:8px;max-width:420px;padding:44px 32px;box-shadow:0 20px 90px #0008}dialog::backdrop{background:#17140caa;backdrop-filter:blur(4px)}dialog h2{font-size:45px;line-height:1.1}dialog p{line-height:1.6}.close{position:absolute;right:12px;top:6px;border:0;background:none;font-size:30px;cursor:pointer}:focus-visible{outline:2px solid #c7803c;outline-offset:5px}@media(min-width:1600px){nav{font-size:21px}.role{font-size:21px}.about p,footer p{font-size:24px}}@media(max-width:580px){.hero{aspect-ratio:850/940}.portrait{object-fit:cover}.role{right:4%;top:66%;font-size:9px;letter-spacing:.2em}header{top:18px;left:18px;right:18px}nav{gap:16px;font-size:11px}.paper-layout{aspect-ratio:auto;min-height:1040px;background-size:auto 100%;background-position:62% center}.about{top:6%;width:64%;left:7%}.about h2{font-size:53px}.about p{font-size:13px;max-width:220px;margin-top:17px}.desktop{display:none}.work{top:35%;left:7%;right:7%}.work-heading{margin-bottom:20px}.work-heading h2{font-size:55px}.projects{gap:15px}.project-image{aspect-ratio:1.4;border-radius:8px}h3{font-size:25px;margin-top:12px}.projects p{font-size:11px;max-width:145px;line-height:1.4}footer{top:77%;left:7%;right:7%;display:block}footer h2{font-size:49px}footer p{font-size:13px;margin-top:18px}footer .rule{margin-top:15px}.socials{margin-top:22px;gap:12px}.socials a{width:43px}.linkedin{font-size:24px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.floating-contact{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;z-index:20;display:flex;align-items:flex-end;flex-direction:column;gap:12px}.contact-toggle{display:flex;align-items:center;gap:10px;padding:15px 20px;border:1px solid #d8b381;border-radius:999px;background:#29261e;color:#ebc99c;box-shadow:0 6px 24px #0004;cursor:pointer}.contact-toggle svg,.contact-panel svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.contact-panel{width:260px;padding:18px;background:#e9c99d;color:#29261e;border:1px solid #a78354;border-radius:16px;box-shadow:0 10px 40px #0004}.contact-panel[hidden]{display:none}.contact-panel p{font-family:'Bodoni Moda',Georgia,serif;font-size:29px;margin:0 0 12px}.contact-panel a{display:flex;align-items:center;gap:12px;padding:12px 8px;border-radius:8px;font-size:15px}.contact-panel a:hover{background:#d8b381}.socials a:hover{background:#ebcc9d;transform:translateY(-3px)}@media(max-width:580px){.floating-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.contact-toggle{padding:13px 16px;font-size:13px}}

.view-all{font:inherit;font-size:clamp(9px,1.15vw,18px);letter-spacing:.12em;display:flex;align-items:center;gap:15px;background:none;border:0;color:inherit;padding:10px 0;cursor:pointer}.view-all span{width:24px;height:1px;background:currentColor}.project-image.app-art{display:flex;align-items:center;justify-content:center;background:transparent;border-radius:0;overflow:visible}.project-image.app-art img{width:auto;height:83%;aspect-ratio:1;object-fit:contain;border-radius:22%;box-shadow:none}.projects .app-card p{font-size:clamp(11px,1.35vw,20px);line-height:1.4;max-width:34ch}.all-work{width:min(900px,92vw);max-width:900px;max-height:88dvh;padding:40px;background:#29261e;color:#e9c99d;border-color:#9b7b52}.all-work h2{font-size:clamp(38px,5vw,64px);margin-bottom:30px}.all-work .close{color:#e9c99d;right:16px;top:8px}.more-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.more-projects .app-art{aspect-ratio:1.85}.more-projects h3{font-size:30px;letter-spacing:-.035em;line-height:1.2}.more-projects h3[dir=auto]{text-align:start}.more-projects p{font-size:14px;line-height:1.5;margin-top:8px}@media(max-width:580px){.projects .app-card p{font-size:11px;max-width:none}.all-work{padding:32px 20px}.more-projects{grid-template-columns:1fr;gap:28px}.more-projects h3{font-size:28px}.more-projects .app-art{aspect-ratio:2}.more-projects p{font-size:14px}}
