/* Shared typography and navigation. Scene geometry stays in each page's CSS. */
:root{--header-height:80px;--ink:#100e0d;--paper:#eee8dc;--muted:#b6aea3;--orange:#eea16b;--line:#ffffff26;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
body{font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:80px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#100e0df2;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.site-header .brand{display:flex;align-items:center;gap:10px;font:600 20px/1 Arial,Helvetica,sans-serif;letter-spacing:-.045em;white-space:nowrap}.brand svg{width:22px;height:22px;color:var(--orange)}
.site-header .desktop-nav{display:flex;gap:28px;font-size:14px;line-height:1.4}.desktop-nav a{padding:12px 0;color:#eee8dc}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--orange)}
.site-header .header-cta{display:flex;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid #eee8dc70;font-size:14px}.site-header .menu-toggle{display:none;background:none;color:var(--paper);border:1px solid var(--line);padding:10px 14px;font-size:14px;min-height:44px}
.mobile-nav{position:fixed;inset:var(--header-height) 0 auto;z-index:99;background:#100e0d;padding:18px 6vw 26px;max-height:calc(100svh - var(--header-height));overflow:auto;border-bottom:1px solid #eea16b55;box-shadow:0 35px 65px #0009}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;align-items:center;font-size:22px;line-height:1.25;letter-spacing:-.035em;padding:17px 0;border-bottom:1px solid var(--line)}.mobile-nav a:last-child{border:0;color:var(--orange)}.menu-open{overflow:hidden}
.skip{position:fixed;top:-90px;left:20px;z-index:120;background:var(--paper);color:var(--ink);padding:12px 16px}.skip:focus{top:10px}
.eyebrow,.opening-hero>span{font:11px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.12em}.opening-hero h2{font-size:clamp(56px,7.5vw,118px);line-height:1;letter-spacing:-.065em;margin:20px 0}.opening-hero p{font-size:clamp(15px,1.2vw,18px);line-height:1.6;margin-top:22px}.opening-hero{bottom:25%}
.eight-caption h2{font-size:clamp(21px,2vw,30px);letter-spacing:-.035em;line-height:1.2}.eight-caption a{font-size:14px}.eight-caption span{font-size:11px}.eight-nav button{font-size:12px;min-height:48px}
.section h2,.edit-outro h2,.dev-outro h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,4.5vw,64px);line-height:1.08;letter-spacing:-.045em;font-weight:400;margin:0 0 30px}.section-heading{margin-bottom:40px}.section-heading h2{margin:0}.service-row h3{font-size:clamp(25px,2.6vw,36px);line-height:1.2;letter-spacing:-.04em}.service-row p{font-size:16px;line-height:1.65;max-width:420px;color:#4e4b43}
.closing{padding:76px 6vw 36px}.closing-link{font-size:clamp(42px,7vw,100px);letter-spacing:-.055em;margin:0 0 48px}.footer-bottom{font:13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0}.footer-bottom nav{flex-wrap:wrap}
.gallery-title,.gallery-heading h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(30px,3.5vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.15}.gallery-heading h1{margin:6px 0 0}.counter{font-size:12px;color:#b6aea3}.project-info h2{font-size:22px;line-height:1.25}.project-info .eyebrow{font-size:11px;letter-spacing:.1em}.open-project{font-size:14px;min-height:44px}.project-categories button{font-size:14px;min-height:44px}.project-picker button{font-size:13px;min-height:44px}.project-picker button span{font-size:11px;color:#b6aea3}.arrows button{width:44px;height:44px}
.category-nav button{font-size:13px;line-height:1.35;min-height:54px}.category-nav button span{font-size:11px}.monitor-caption{font-size:13px;line-height:1.4}.monitor-caption span:last-child{font-size:11px}.art small{font-size:10px}.art .art-kicker{font-size:10px}
.edit-outro,.dev-outro{padding:80px 6vw 38px}.edit-outro>a,.dev-outro>a{font-size:20px;line-height:1.5}.edit-outro>div{margin-top:60px;font-size:14px}.dev-outro p{font-size:14px;line-height:1.6;max-width:460px}.dialog-label{font-size:11px;letter-spacing:.1em}dialog h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.035em}#work-description,#dialog-copy{font-size:16px;line-height:1.65}.dialog-close,.close-dialog{min-height:44px;font-size:14px}
.contact-page{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:calc(var(--header-height) + 80px) 6vw 80px;min-height:calc(100svh - 110px)}
.contact-intro h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,5.5vw,78px);font-weight:400;line-height:1.05;letter-spacing:-.055em;margin:24px 0}.contact-intro>p{max-width:390px;font-size:17px;line-height:1.7;color:var(--muted)}.direct-contact{display:inline-block;margin-top:22px;padding:10px 0;border-bottom:1px solid #eea16b88;font-size:clamp(16px,1.7vw,23px);overflow-wrap:anywhere;color:var(--orange)}.contact-signature{border-top:1px solid var(--line);padding-top:24px;margin-top:60px;max-width:390px;display:flex;flex-direction:column;gap:4px}.contact-signature>span{font-size:26px;letter-spacing:-.04em}.contact-signature small{font-size:14px;color:var(--muted)}
.contact-page .brief-form{padding-top:4px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-page .field{margin-bottom:26px}.contact-page .field span{font-size:14px;margin-bottom:7px;color:var(--paper)}.contact-page .field input,.contact-page .field select,.contact-page .field textarea{font-size:16px;line-height:1.5;padding:12px 0;min-height:48px;color:var(--paper);background:transparent}.contact-page .field option{background:var(--ink)}.contact-page .field textarea{min-height:142px}.contact-page .field input::placeholder,.contact-page .field textarea::placeholder{color:#8f8a82;opacity:1}.contact-page .form-button{display:flex;justify-content:space-between;gap:30px;width:100%;padding:17px 20px;font-size:16px;background:var(--orange);color:var(--ink);border:0;min-height:54px}.contact-page .form-note,.contact-page .form-status{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0 0;max-width:none}.contact-page .form-status:empty{display:none}.brief-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;padding:18px;border:1px solid var(--line)}.contact-footer{padding:24px 6vw 34px}.contact-footer .footer-bottom{margin:0}
@media(max-width:760px){
 :root{--header-height:64px}.site-header{height:64px;padding:0 5vw;gap:12px}.site-header .brand{font-size:19px}.brand svg{width:21px;height:21px}.site-header .desktop-nav,.site-header .header-cta{display:none}.site-header .menu-toggle{display:block}.mobile-nav a{font-size:22px}
 .opening-hero{bottom:27%}.opening-hero h2{font-size:clamp(42px,10.5vw,76px);line-height:1.05;letter-spacing:-.055em}.opening-hero>span{font-size:11px}.opening-hero p{font-size:15px}.eight-caption,.opening-full .eight-caption{gap:12px;padding:12px 5vw}.eight-caption h2,.opening-full .eight-caption h2{font-size:20px;line-height:1.2}.eight-caption span{font-size:10px}.eight-caption a{font-size:12px;max-width:100px}.eight-nav button{font-size:12px;padding:14px 12px}
 .section{padding:64px 6vw}.section h2{font-size:36px}.service-row{grid-template-columns:24px minmax(0,1fr) 26px;gap:12px}.service-row h3{font-size:25px;overflow-wrap:normal}.service-row p{font-size:15px;max-width:none}.service-row .index{font-size:11px}.closing-link{font-size:clamp(42px,10vw,70px);margin-bottom:36px}.footer-bottom{gap:18px;font-size:13px}.footer-bottom nav{gap:22px}
 .gallery-title,.gallery-heading h1{font-size:30px;letter-spacing:-.04em}.project-stage{padding-top:82px}.counter{font-size:11px;bottom:-25px}.project-info{gap:12px;padding:10px 0 14px}.project-info h2{font-size:18px;max-width:210px}.project-info .eyebrow{font-size:10px}.open-project{font-size:12px}.open-project span{margin-left:5px}.project-categories button{font-size:13px}.project-picker button{font-size:12px;min-width:130px}.gallery-controls{padding:6px 0}.project-picker{padding-bottom:10px}.arrows button{height:40px;width:40px}.category-nav button{font-size:12px;flex-basis:126px;min-height:54px}.category-nav button span{font-size:10px}.monitor-caption{font-size:12px;margin-top:8px}.monitor-caption span:last-child{font-size:10px}.art small,.art .art-kicker{font-size:9px}
 .edit-outro,.dev-outro{padding:60px 6vw 32px}.edit-outro h2,.dev-outro h2{font-size:36px}.edit-outro>div{margin-top:42px;gap:20px;font-size:13px}.dialog-label{font-size:10px}.contact-page{grid-template-columns:1fr;padding:104px 6vw 52px;gap:42px}.contact-intro h1{font-size:46px;margin:18px 0 20px}.contact-intro>p{font-size:16px;max-width:440px}.contact-signature{display:none}.contact-fields{grid-template-columns:1fr;gap:0}.contact-page .form-note{font-size:13px}.contact-footer{padding-bottom:26px}
}
@media(max-width:600px) and (max-height:680px){.edit-stage{padding-top:68px}.gallery-title{font-size:26px;margin:12px 0 0}.screen-stage{gap:14px;padding:12px 0}.screen-placement{width:min(90%,52svh)}.monitor-caption{font-size:11px}.category-nav button{min-height:48px;font-size:11px}.project-info h2{font-size:16px}.project-info .eyebrow{font-size:10px}.project-stage{padding-top:76px}.gallery-heading h1{font-size:27px}.opening-hero h2{font-size:42px}.opening-hero p{font-size:14px}.eight-caption h2,.opening-full .eight-caption h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.mobile-nav{scroll-behavior:auto}}
/* Locally hosted type and full-name animated wordmark. */
@font-face{font-family:Sora;src:url('fonts/Sora-Variable.ttf') format('truetype');font-weight:100 800;font-display:swap}
:root{--font-ui:Sora,Arial,Helvetica,sans-serif;font-family:var(--font-ui)}
body,.eyebrow,.opening-hero>span,.footer-bottom,.gallery-title,.gallery-heading h1,.section h2,.edit-outro h2,.dev-outro h2,.contact-intro h1,dialog h2{font-family:var(--font-ui)}
.site-header .brand{font-family:var(--font-ui);font-size:22px;font-weight:600;letter-spacing:-.065em;min-height:44px;gap:0;perspective:500px}
.site-header .brand .brand-wordmark,.site-header .brand .brand-word,.site-header .brand .brand-letter{font:inherit;color:inherit;margin:0}
.site-header .brand .brand-wordmark{display:inline-flex;gap:.3em;white-space:nowrap}
.site-header .brand .brand-word{display:inline-flex;--word-delay:0s}
.site-header .brand .brand-word:nth-child(2){--word-delay:-.65s}
.site-header .brand .brand-letter{display:inline-block;background:linear-gradient(115deg,#d68d59 0%,#f3d8b2 25%,#fff5df 43%,#c58555 60%,#f1dcc2 85%,#d68d59 100%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transform-origin:50% 70%;animation:name-wave 4.2s ease-in-out infinite,name-sheen 3.6s linear infinite;animation-delay:calc(var(--letter)*-.11s + var(--word-delay)),calc(var(--letter)*-.11s);padding-block:5px}
@keyframes name-wave{0%,60%,100%{transform:translateY(0) rotateX(0deg) rotateY(0deg)}22%{transform:translateY(-3px) rotateX(22deg) rotateY(-12deg)}40%{transform:translateY(1px) rotateX(-9deg) rotateY(5deg)}}
@keyframes name-sheen{from{background-position:260% 0}to{background-position:0 0}}
.header-cta,.closing-link,.edit-outro>a,.dev-outro>a,.text-link,.open-project,.form-button{font-family:var(--font-ui);letter-spacing:-.035em;font-weight:450}
.header-cta{gap:0}.closing-link>span:last-child{font-size:1em;color:inherit}.service-row{grid-template-columns:70px 1.2fr 1fr}.arrows button{width:auto;min-width:48px;padding:8px;font-size:12px}.open-project{white-space:nowrap}.open-project span:empty{display:none}
@media(max-width:760px){.site-header .brand{font-size:20px}.service-row{grid-template-columns:24px minmax(0,1fr)}.service-row h3{font-size:24px}.project-categories{gap:16px}.gallery-controls{gap:10px}.project-categories button{font-size:12px}.arrows{gap:5px}.arrows button{font-size:11px;min-width:42px}.project-info h2{font-size:16px}.open-project{font-size:11px}.eight-caption h2,.opening-full .eight-caption h2{font-size:18px}.contact-intro h1{font-size:42px}.edit-outro>div{flex-wrap:wrap}}
/* A small moving copper sculpture, with a stable 48px touch target. */
.site-header .menu-toggle{position:relative;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 35% 25%,#eea16b20,#100e0d75 75%);box-shadow:inset 0 0 0 1px #eea16b30;transition:background-color .3s,box-shadow .3s}
.menu-sculpture{position:absolute;inset:10px;perspective:100px;pointer-events:none}
.menu-blade{position:absolute;left:0;top:12px;width:28px;height:3px;transform-origin:center;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .25s}
.menu-blade:nth-child(1){transform:translateY(-8px);--blade-delay:0s}
.menu-blade:nth-child(2){--blade-delay:-.45s}
.menu-blade:nth-child(3){transform:translateY(8px);--blade-delay:-.9s}
.menu-blade i{display:block;width:100%;height:100%;border-radius:3px;background:linear-gradient(100deg,#a85c36,#ffe5be 45%,#e59b66 70%,#b86f45);box-shadow:0 1px 0 #6a352b,0 0 7px #eea16b26;animation:menu-blade-wave 2.8s ease-in-out infinite;animation-delay:var(--blade-delay)}
@keyframes menu-blade-wave{0%,100%{transform:translateX(-2px) scaleX(.68) rotateY(-25deg)}50%{transform:translateX(2px) scaleX(1) rotateY(18deg)}}
.site-header .menu-toggle[aria-expanded=true]{background-color:#eea16b13;box-shadow:inset 0 0 0 1px #eea16b60}
.menu-toggle[aria-expanded=true] .menu-blade:nth-child(1){transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-blade:nth-child(2){transform:scaleX(0);opacity:0}
.menu-toggle[aria-expanded=true] .menu-blade:nth-child(3){transform:rotate(-45deg)}
.menu-toggle[aria-expanded=true] .menu-blade i{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.site-header .brand .brand-letter{animation:none;background:none;-webkit-text-fill-color:#eed8bb;color:#eed8bb}.menu-blade,.site-header .menu-toggle{transition:none}.menu-blade i{animation:none}}
@media(max-width:600px) and (max-height:680px){.project-sheet{width:min(90%,90cqh)}.forma .work-copy strong{font-size:13cqw}.forma .art-image{top:54%;height:36%}.forma .seal{top:55%;font-size:15cqw}}

.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:12px;letter-spacing:.04em}.language-switch a{display:grid;place-items:center;min-width:36px;min-height:44px;color:inherit;text-decoration:none;opacity:.58}.language-switch a[aria-current=true]{opacity:1;text-decoration:underline;text-underline-offset:5px}.language-switch a:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:760px){.site-header{gap:8px}.site-header .language-switch{margin-left:auto}.site-header .brand{min-width:0}.language-switch a{min-width:30px}.site-header .menu-toggle{margin-left:0}}
.no-script-gallery{padding:40px 6vw}.no-script-gallery video{display:block;max-width:100%;max-height:70vh;margin:20px auto}.no-script-gallery h2{font-size:22px}.no-script-gallery a{display:inline-block;padding:12px}
