@font-face{font-family:Lexend;src:url('assets/landing/Lexend.ttf');font-weight:100 900;font-display:swap}
:root{--paper:#eee8de;--white:#faf9f6;--ink:#141517;--muted:#6c7075;--green:#4a5d4e;--u:min(.0520833333vw,1px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:Lexend,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #a47a37;outline-offset:6px}p,h1,h2,h3,figure,dl,dd{margin:0}strong{font-weight:700}.page{width:100%;max-width:1920px;margin:auto;overflow:hidden}.wrap{width:calc(1520 * var(--u));margin:auto}.header{height:calc(190 * var(--u));display:flex;align-items:flex-start;justify-content:space-between;padding-top:calc(50 * var(--u))}.brand img{width:calc(84 * var(--u));height:calc(100 * var(--u));display:block}.header nav{display:flex;gap:calc(60 * var(--u));padding-top:0;font-size:calc(16 * var(--u));font-weight:700;letter-spacing:calc(2 * var(--u));text-transform:uppercase;color:var(--muted)}.header nav a:hover{color:var(--green)}.hero{height:calc(950 * var(--u));position:relative}.hero-copy{position:absolute;left:calc(200 * var(--u));top:calc(61 * var(--u))}.eyebrow{text-transform:uppercase;color:var(--muted);font-weight:700;font-size:calc(16 * var(--u));line-height:calc(24 * var(--u));letter-spacing:calc(.5 * var(--u))}h1{font-size:calc(60 * var(--u));line-height:calc(74 * var(--u));font-weight:400;letter-spacing:0;margin-top:calc(24 * var(--u))}.intro-copy{margin-top:calc(34 * var(--u));font-size:calc(24 * var(--u));line-height:calc(36 * var(--u));color:var(--muted)}.intro-copy p+p{margin-top:calc(16 * var(--u))}.actions{display:flex;gap:calc(24 * var(--u));align-items:center;margin-top:calc(44 * var(--u))}.button{height:calc(84 * var(--u));padding:0 calc(36 * var(--u));border:calc(2 * var(--u)) solid var(--green);border-radius:calc(16 * var(--u));display:inline-flex;align-items:center;justify-content:center;gap:calc(14 * var(--u));font-weight:700;font-size:calc(24 * var(--u));text-transform:uppercase;letter-spacing:calc(.25 * var(--u));color:var(--green);white-space:nowrap}.button.primary{background:var(--green);color:var(--white)}.button span{font-size:calc(32 * var(--u));line-height:1}.button img{width:calc(24 * var(--u));height:calc(24 * var(--u))}.button:hover{filter:brightness(.92)}.photo{position:relative;overflow:hidden}.photo img{position:absolute;max-width:none;display:block}.workbench{position:absolute;inset:0;pointer-events:none}.paper{position:absolute;left:calc(1042 * var(--u));top:calc(40 * var(--u));width:calc(615 * var(--u));height:calc(496 * var(--u));background:#fff;border-radius:calc(21 * var(--u));outline:calc(5 * var(--u)) solid var(--paper)}.workbench .photo{position:absolute;border-radius:calc(21 * var(--u));outline:calc(5 * var(--u)) solid var(--paper);transform-origin:top left}.hero-main{left:calc(1072.11 * var(--u));top:calc(7.823 * var(--u));width:calc(615 * var(--u));height:calc(496 * var(--u));transform:rotate(2.5deg)}.hero-momo{left:calc(972.208 * var(--u));top:calc(394.338 * var(--u));width:calc(208.064 * var(--u));height:calc(259.035 * var(--u));transform:rotate(-10deg)}.hero-ride{left:calc(1476.89 * var(--u));top:calc(444.692 * var(--u));width:calc(249 * var(--u));height:calc(285 * var(--u));transform:rotate(5deg)}.caption{position:absolute;font-size:calc(16 * var(--u));line-height:calc(22 * var(--u));font-weight:700;text-transform:uppercase;transform-origin:left center}.team-caption{left:calc(1197 * var(--u));top:calc(-10 * var(--u));transform:rotate(2.5deg)}.momo-caption{left:calc(1063 * var(--u));top:calc(646 * var(--u));transform:rotate(-10deg)}.ride-caption{left:calc(1462 * var(--u));top:calc(731 * var(--u));transform:rotate(5deg)}
h2{font-size:calc(48 * var(--u));line-height:calc(62 * var(--u));font-weight:400;letter-spacing:0}.section-heading>p{font-size:calc(20 * var(--u));line-height:calc(30 * var(--u));color:var(--muted);margin-top:calc(8 * var(--u))}.work .section-heading{height:calc(153 * var(--u));padding-top:calc(10 * var(--u))}.project{background:var(--white);border-radius:calc(24 * var(--u));position:relative;padding:calc(40 * var(--u))}.project .eyebrow{font-size:calc(14 * var(--u));line-height:calc(20 * var(--u));letter-spacing:calc(.5 * var(--u));font-weight:400}.featured{height:calc(667 * var(--u))}.project-logo{position:absolute;display:block;object-fit:contain}.finance-logo{left:calc(40 * var(--u));top:calc(114 * var(--u));width:calc(54 * var(--u));height:calc(60 * var(--u))}.project h3{font-size:calc(40 * var(--u));line-height:calc(50 * var(--u));font-weight:400;letter-spacing:0}.featured h3{position:absolute;left:calc(40 * var(--u));top:calc(193 * var(--u))}.description{font-size:calc(20 * var(--u));line-height:calc(30 * var(--u));color:var(--muted)}.featured .description{position:absolute;left:calc(40 * var(--u));top:calc(316 * var(--u))}.project-image{padding:0;border:0;display:block;background:none;overflow:hidden}.project-image .photo{width:100%;height:100%}.finance-image{position:absolute;left:calc(680 * var(--u));top:calc(40 * var(--u));width:calc(800 * var(--u));height:calc(450 * var(--u));border-radius:calc(16 * var(--u))}.text-link{border:0;border-bottom:calc(2 * var(--u)) solid var(--green);background:none;padding:0 0 calc(15 * var(--u));text-transform:uppercase;color:var(--green);font-size:calc(20 * var(--u));font-weight:700;letter-spacing:calc(.25 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:calc(30 * var(--u))}.featured .text-link{position:absolute;bottom:calc(39 * var(--u));left:calc(40 * var(--u));width:calc(300 * var(--u))}.metrics{position:absolute;right:calc(40 * var(--u));top:calc(533 * var(--u));display:flex;gap:0}.metrics>div{width:calc(300 * var(--u));text-align:right;padding-right:calc(32 * var(--u));border-right:calc(1 * var(--u)) solid #deded9}.metrics>div:last-child{padding-right:0;border:0;width:calc(291 * var(--u))}.metrics dt{font-size:calc(68 * var(--u));line-height:calc(68 * var(--u));font-weight:700;color:var(--green)}.metrics dd{font-size:calc(20 * var(--u));line-height:calc(30 * var(--u));color:var(--muted);margin-top:calc(6 * var(--u));white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(60 * var(--u));margin-top:calc(60 * var(--u))}.secondary{height:calc(803.625 * var(--u))}.secondary .project-logo{left:calc(40 * var(--u));top:calc(114 * var(--u));height:calc(40 * var(--u))}.siaa-logo{width:calc(80.1712 * var(--u))}.placed-logo{width:calc(122 * var(--u))}.secondary h3{position:absolute;left:calc(40 * var(--u));top:calc(173 * var(--u))}.secondary .description{position:absolute;left:calc(40 * var(--u));top:calc(296 * var(--u))}.secondary .project-image{position:absolute;left:calc(40 * var(--u));top:calc(398 * var(--u));width:calc(650 * var(--u));height:calc(365.625 * var(--u))}.secondary:last-child .project-image{border-radius:calc(16 * var(--u))}.resume-banner{height:calc(220 * var(--u));margin-top:calc(60.375 * var(--u));padding:0 calc(60 * var(--u));border-radius:calc(24 * var(--u));display:flex;align-items:center;justify-content:space-between;background:var(--green);color:var(--white)}.resume-banner p{font-size:calc(40 * var(--u));line-height:calc(50 * var(--u));font-weight:400}.resume-banner .button{background:var(--white)}
.about{padding-top:calc(480 * var(--u) / 3);height:calc(1362 * var(--u));position:relative;background:linear-gradient(to bottom,var(--paper) 0,var(--paper) calc(582 * var(--u)),var(--white) calc(582 * var(--u)),var(--white) calc(1122 * var(--u)),var(--paper) calc(1122 * var(--u)))}.about .section-heading{height:calc(177 * var(--u))}.team-gallery{height:calc(1030 * var(--u))}.gallery-row{display:flex;gap:calc(50 * var(--u));height:calc(490 * var(--u));position:relative}.gallery-row .photo{flex-shrink:0;height:100%;border-radius:calc(21 * var(--u));outline:calc(5 * var(--u)) solid var(--paper)}.row-one{left:calc(-271 * var(--u))}.row-two{left:calc(-47 * var(--u));margin-top:calc(50 * var(--u))}.photo-7{width:calc(630 * var(--u))}.photo-8{width:calc(650 * var(--u))}.photo-9{width:calc(330 * var(--u))}.photo-10{width:calc(864 * var(--u))}.photo-11{width:calc(785 * var(--u))}.photo-12{width:calc(370 * var(--u))}.photo-13{width:calc(862 * var(--u))}.personal{height:calc(927 * var(--u));padding-top:calc(140 * var(--u));background:linear-gradient(to bottom,var(--paper) calc(572 * var(--u)),var(--white) calc(572 * var(--u)))}.personal .section-heading{height:calc(197 * var(--u))}.interest-gallery{display:flex;gap:calc(50 * var(--u));margin-left:calc(195 * var(--u))}.interest-gallery .photo{width:calc(385 * var(--u));height:calc(510 * var(--u));flex-shrink:0;border-radius:calc(21 * var(--u));outline:calc(10 * var(--u)) solid var(--paper)}.contact{height:calc(958 * var(--u));background:var(--green);color:var(--white);padding-top:calc(150 * var(--u))}.contact h2{font-size:calc(60 * var(--u));line-height:calc(74 * var(--u));letter-spacing:0}.contact p{font-size:calc(24 * var(--u));line-height:calc(36 * var(--u));margin-top:calc(32 * var(--u))}.contact .actions{margin-top:calc(62 * var(--u));gap:calc(24 * var(--u))}.contact .button{border-color:var(--white);color:var(--white)}.contact .primary{background:var(--white);color:var(--green)}.contact .resume img{filter:brightness(0) invert(1)}.footer-brand{display:block;margin-top:calc(120 * var(--u));width:calc(138 * var(--u));height:calc(130 * var(--u))}.footer-brand img{width:100%;height:100%;object-fit:contain}.footer-line{border-top:1px solid #738375;margin-top:calc(60 * var(--u));padding-top:calc(32 * var(--u));display:flex;justify-content:space-between;font-size:calc(20 * var(--u));line-height:calc(30 * var(--u))}.skip{position:fixed;left:16px;top:-80px;z-index:50;background:var(--green);color:white;padding:16px}.skip:focus{top:16px}
dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);width:min(1000px,94vw);max-height:90dvh;padding:0;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#122018aa;backdrop-filter:blur(6px)}.dialog-toolbar{position:sticky;top:0;background:var(--paper);padding:20px 30px;border-bottom:1px solid #cfc9bb;display:flex;align-items:center;justify-content:space-between;font-size:12px;z-index:2}.dialog-toolbar button{background:none;border:1px solid #aaa99b;padding:10px 18px}#project-content{padding:35px 6% 60px}#project-content h2{font-size:48px;line-height:1.15}#project-content h3{font-size:30px;line-height:1.25}#project-content .eyebrow{font-size:12px;line-height:1.6}#project-content p{line-height:1.7;color:var(--muted);margin:16px 0}#project-content img{width:100%;margin:25px 0}#project-content section{padding:25px 0;border-top:1px solid #cfc9bb}#project-content aside{background:#e7e0d2;padding:18px 25px;font-size:14px;line-height:1.7}#project-content .evidence{font-size:13px;border-top:1px solid #cfc9bb;padding-top:20px}
@media(max-width:700px){:root{--u:1px}.wrap{width:calc(100% - 40px)}.header{height:110px;padding-top:24px;align-items:flex-start}.brand img{width:42px;height:50px}.header nav{font-size:11px;gap:22px;letter-spacing:1px;padding-top:10px}.hero{height:auto;padding:12px 20px 70px}.hero-copy{position:static}.eyebrow{font-size:11px;line-height:18px}h1{font-size:44px;line-height:49px;margin-top:20px}.intro-copy{font-size:16px;line-height:24px;margin-top:24px}.intro-copy br{display:none}.intro-copy p+p{margin-top:14px}.actions{margin-top:26px;gap:12px;flex-wrap:wrap}.button{font-size:13px;height:48px;padding:0 18px;border-radius:9px;gap:9px;border-width:1px}.button span{font-size:23px}.button img{width:17px;height:17px}.workbench{position:relative;inset:auto;height:380px;margin:45px auto 0;--u:calc((100vw - 40px)/800)}.workbench .paper{left:calc(60 * var(--u));top:calc(50 * var(--u))}.workbench .hero-main{left:calc(90 * var(--u));top:calc(18 * var(--u))}.workbench .hero-momo{left:calc(0 * var(--u));top:calc(404 * var(--u))}.workbench .hero-ride{left:calc(495 * var(--u));top:calc(455 * var(--u))}.team-caption{left:calc(215 * var(--u));top:calc(-1 * var(--u))}.momo-caption{left:calc(81 * var(--u));top:calc(656 * var(--u))}.ride-caption{left:calc(480 * var(--u));top:calc(741 * var(--u))}.work .section-heading{height:auto;padding:0;margin-bottom:28px}h2{font-size:28px;line-height:35px;letter-spacing:-.3px}.section-heading>p{font-size:14px;line-height:21px;margin-top:10px}.section-heading br{display:none}.project{padding:24px;border-radius:16px}.featured,.secondary{height:auto}.project .eyebrow{font-size:9px;line-height:15px;letter-spacing:.25px}.project-logo,.secondary .project-logo,.finance-logo{position:relative;left:auto;top:auto;margin:28px 0 20px}.finance-logo{width:45px;height:50px}.project h3{font-size:25px;line-height:31px;letter-spacing:-.3px}.featured h3,.secondary h3,.featured .description,.secondary .description{position:static}.description{font-size:14px;line-height:21px;margin-top:16px}.description br{display:none}.finance-image,.secondary .project-image{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:800/450;margin-top:26px;border-radius:10px}.project-image .photo{position:absolute;inset:0}.featured .text-link{position:static;width:auto;font-size:13px;padding-bottom:10px;margin-top:26px;gap:20px}.metrics{position:static;margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.metrics>div,.metrics>div:last-child{width:auto;text-align:center;padding:0 5px;border-width:1px}.metrics dt{font-size:29px;line-height:36px}.metrics dd{font-size:10px;line-height:15px;white-space:normal;margin-top:5px}.project-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.secondary .project-logo{height:32px}.siaa-logo{width:64px}.placed-logo{width:98px}.resume-banner{height:auto;padding:26px;display:block;margin-top:26px;border-radius:16px}.resume-banner p{font-size:24px;line-height:30px}.resume-banner p br{display:none}.resume-banner .button{margin-top:24px}.about{height:auto;padding-top:70px;background:var(--paper)}.about .section-heading{height:auto;margin-bottom:30px}.team-gallery{height:auto;overflow-x:auto;padding:5px 20px 8px}.gallery-row{height:220px;gap:18px;width:max-content;left:0}.gallery-row .photo{border-radius:12px;outline-width:3px}.row-two{margin-top:18px}.photo-7{width:283px}.photo-8{width:292px}.photo-9{width:148px}.photo-10{width:388px}.photo-11{width:352px}.photo-12{width:166px}.photo-13{width:387px}.personal{height:auto;padding:70px 0 45px;background:linear-gradient(to bottom,var(--paper) 65%,var(--white) 65%)}.personal .section-heading{height:auto;margin-bottom:30px}.interest-gallery{margin:0;padding:5px 20px 10px;overflow-x:auto;gap:20px}.interest-gallery .photo{width:200px;height:265px;border-radius:12px;outline-width:4px}.contact{height:auto;padding:60px 0 30px}.contact h2{font-size:34px;line-height:40px}.contact p{font-size:16px;line-height:24px;margin-top:22px}.contact p br{display:none}.contact .actions{margin-top:30px;gap:10px}.footer-brand{margin-top:65px;width:70px;height:80px}.footer-line{margin-top:30px;padding-top:22px;font-size:11px;line-height:18px;flex-wrap:wrap;gap:20px}.footer-line a{margin-left:auto}.dialog-toolbar{padding:15px;font-size:10px}#project-content h2{font-size:34px}#project-content h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Export-measured type weights, baselines and control geometry. */
strong{font-weight:600}.button,.text-link,.eyebrow,.caption,.header nav{font-weight:600}.button,.text-link{letter-spacing:0}.text-link{white-space:nowrap;gap:0;text-align:left}.hero-copy{top:calc(63 * var(--u))}.hero-copy .eyebrow{letter-spacing:0}.hero-copy .actions{margin-top:calc(42 * var(--u))}.hero .primary{width:calc(307 * var(--u))}.hero .resume{width:calc(210 * var(--u))}.hero .actions{gap:calc(24 * var(--u))}.button span{font-size:calc(28 * var(--u))}.about .section-heading{position:relative;top:calc(-11 * var(--u))}.personal .section-heading{position:relative;top:calc(10 * var(--u))}.section-heading>p{margin-top:calc(11 * var(--u))}.featured h3{top:calc(194 * var(--u))}.featured .description{top:calc(317 * var(--u))}.metrics{top:calc(514 * var(--u))}.metrics dt{font-size:calc(70 * var(--u));line-height:calc(84 * var(--u));font-weight:400}.metrics dd{margin-top:0}.footer-brand{width:calc(137.425 * var(--u));height:calc(128 * var(--u))}.contact .primary{width:calc(292 * var(--u))}.contact .button:nth-child(2){width:calc(234 * var(--u))}.contact .resume{width:calc(210 * var(--u))}.resume-banner .resume{width:calc(210 * var(--u))}
@media(max-width:700px){.hero-copy{position:static}.hero-copy .actions{margin-top:26px}.hero .primary,.hero .resume,.contact .primary,.contact .button:nth-child(2),.contact .resume,.resume-banner .resume{width:auto}.hero .actions{gap:12px}.button span{font-size:23px}.about .section-heading,.personal .section-heading{top:0}.metrics dt{font-size:29px;line-height:36px}.metrics dd{margin-top:5px}.footer-brand{width:70px;height:65px}.text-link{gap:20px}}
@media(max-width:700px){h1{font-size:clamp(30px,9.7vw,52px);line-height:1.15}.workbench{height:calc((100vw - 40px)*.98)}}

.button .forward{width:calc(25 * var(--u));height:calc(18 * var(--u))}.project-arrow{width:calc(20 * var(--u));height:calc(14 * var(--u))}.button .up{width:calc(20 * var(--u));height:calc(20 * var(--u))}.workbench .photo::after,.gallery-row .photo::after,.interest-gallery .photo::after{content:"";position:absolute;inset:0;border:calc(5 * var(--u)) solid var(--paper);border-radius:inherit;pointer-events:none}.interest-gallery .photo{outline-width:calc(5 * var(--u))}
@media(max-width:700px){.button .forward{width:18px;height:13px}.project-arrow{width:16px;height:12px}.button .up{width:16px;height:16px}.gallery-row .photo::after,.interest-gallery .photo::after{border-width:2px}.interest-gallery .photo{outline-width:3px}}

/* Motion adds feedback without changing the exported resting layout. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.7,.3,1)}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:100}
.motion-ready .reveal{opacity:0;translate:0 24px;transition:opacity .7s var(--ease-out),translate .8s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;translate:0 0}
.motion-ready .header.reveal{translate:0 -10px}
.motion-ready .header.reveal.is-visible{translate:0 0}
.motion-ready .workbench>.reveal{translate:var(--parallax-x,0px) calc(var(--parallax-y,0px) + 16px)}
.motion-ready .workbench>.reveal.is-visible{translate:var(--parallax-x,0px) var(--parallax-y,0px);transition-delay:0ms}
.header nav a{position:relative;padding-bottom:8px;transition:color .2s ease}
.header nav a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--green);scale:0 1;transform-origin:left;transition:scale .25s var(--ease-out)}
.header nav a[aria-current=location]{color:var(--green)}
.header nav a[aria-current=location]::after,.header nav a:focus-visible::after{scale:1 1}
.button{transition:background .2s ease,color .2s ease,box-shadow .25s ease,translate .25s var(--ease-out);filter:none}
.button img,.text-link img{transition:translate .25s var(--ease-out)}
.button:active{translate:0 1px;box-shadow:none}
.button[aria-busy=true],.text-link[aria-busy=true],.project-image[aria-busy=true]{cursor:progress;opacity:.65}
.project{transition:box-shadow .35s ease}
.motion-ready .project.reveal{transition:opacity .7s var(--ease-out),translate .8s var(--ease-out),box-shadow .35s ease}
.project-image{cursor:pointer}
.project-image img{transition:scale .65s var(--ease-out)}
.project-image:focus-visible img{scale:1.025}
.text-link{transition:color .2s ease,border-color .2s ease}
.text-link:focus-visible img{translate:4px 0}
.gallery-row .photo img,.interest-gallery .photo img{transition:scale .7s var(--ease-out)}
.team-gallery,.interest-gallery{scrollbar-width:thin;scrollbar-color:#8a978b transparent;overscroll-behavior-x:contain}
.team-gallery.is-dragging,.interest-gallery.is-dragging{cursor:grabbing;user-select:none;scroll-behavior:auto}
.footer-brand img,.brand img{transition:opacity .2s ease,rotate .4s var(--ease-out)}
.footer-line a{position:relative;transition:opacity .2s ease}
.footer-line a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .25s var(--ease-out)}
.dialog-toolbar button{border-radius:6px;transition:background .2s ease,color .2s ease}
dialog[open]{animation:dialog-in .28s var(--ease-out) both}
dialog[open]::backdrop{animation:backdrop-in .25s ease both}
dialog[open].is-closing{animation:dialog-out .16s ease both}
dialog[open].is-closing::backdrop{animation:backdrop-out .16s ease both}
@keyframes dialog-in{from{opacity:0;translate:0 16px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes dialog-out{from{opacity:1;translate:0 0}to{opacity:0;translate:0 8px}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes backdrop-out{from{opacity:1}to{opacity:0}}
@media(hover:hover) and (pointer:fine){
 .header nav a:hover::after{scale:1 1}
 .button:hover{filter:none;translate:0 -3px;box-shadow:0 7px 16px #203a2a18;background:#e4e9df}
 .button.primary:hover{background:#3c5040;color:var(--white)}
 .contact .button:not(.primary):hover{background:#ffffff12}
 .contact .button.primary:hover{background:#e7e7df;color:var(--green)}
 .resume-banner .button:hover{background:#e7e7df}
 .button:hover .forward,.text-link:hover img{translate:4px 0}
 .button:hover .up{translate:2px -2px}
 .button.resume:hover img{translate:0 3px}
 .button:active{translate:0 1px}
 .project:hover{box-shadow:0 16px 35px #22352712}
 .motion-ready .project.reveal.is-visible:hover{translate:0 -4px;transition-delay:0ms}
 .project-image:hover img{scale:1.035}
 .gallery-row .photo:hover img,.interest-gallery .photo:hover img{scale:1.035}
 .brand:hover img,.footer-brand:hover img{opacity:.75;rotate:-4deg}
 .footer-line a:hover::after{scale:1 1}
 .dialog-toolbar button:hover{background:var(--green);color:var(--white)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .motion-ready .reveal,.motion-ready .workbench>.reveal,.motion-ready .workbench>.reveal.is-visible{opacity:1;translate:0 0!important}
 .button:hover,.button:active,.motion-ready .project.reveal.is-visible:hover{translate:0 0}
 .project-image img,.gallery-row .photo img,.interest-gallery .photo img{scale:1!important}
 .button img,.text-link img{translate:0 0!important}
 .brand img,.footer-brand img{rotate:0deg!important}
}

.motion-ready .reveal:focus-within{opacity:1;translate:0 0}

.team-gallery:focus-visible,.interest-gallery:focus-visible{outline:2px solid #8a6a38;outline-offset:5px}
@media(max-width:700px) and (hover:hover) and (pointer:fine){.team-gallery,.interest-gallery{cursor:grab}.team-gallery.is-dragging,.interest-gallery.is-dragging{cursor:grabbing}}

/* Original Figma chapter imagery: preserve the complete 16:9 compositions. */
#project-content .case-study-figure{margin:26px 0 30px}
#project-content .case-study-figure img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;margin:0;border-radius:10px;background:var(--white)}
#project-content .case-study-figure figcaption{margin-top:12px;font-size:13px;line-height:1.6;color:var(--muted)}
#project-content .case-study-hero{margin-top:28px}
@media(max-width:700px){#project-content .case-study-figure{margin:22px 0 26px}#project-content .case-study-figure img{border-radius:6px}#project-content .case-study-figure figcaption{font-size:12px}}

/* One native button covers each complete card, without nested controls. */
.project{cursor:pointer}
.project-trigger{position:absolute;inset:0;z-index:3;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;touch-action:manipulation}
.project-trigger:focus-visible{outline:3px solid #a47a37;outline-offset:5px}
.project:focus-within .project-image img{scale:1.025}
.project:focus-within .text-link img{translate:4px 0}
.project-trigger[aria-busy=true]{cursor:progress}
@media(hover:hover) and (pointer:fine){.project:hover .project-image img{scale:1.035}.project:hover .text-link img{translate:4px 0}}
