:root{--ink:#17364a;--paper:#fff;--mist:#edf4fa;--blue:#245dca;--muted:#526878;--line:#d2e0e8;--focus:#bf4600;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 "Avenir Next",Avenir,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body:has(.image-dialog[open]){overflow:hidden}
button{font:inherit;cursor:pointer}
a{color:inherit;text-underline-offset:5px}
a:hover{color:var(--blue)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
button:disabled{cursor:default}
[hidden]{display:none!important}
img{max-width:100%}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.skip{position:fixed;left:20px;top:-100px;z-index:60;background:white;padding:10px 18px}
.skip:focus{top:12px}
.read-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:51;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.sitebar{position:sticky;top:0;z-index:40;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid #d2e0e880}
.sitebar header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px;border:0}
.name{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:750;letter-spacing:-.4px;text-decoration:none;white-space:nowrap}
.monogram{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:white;border-radius:10px;font-size:23px;letter-spacing:-1.5px;padding-right:2px}
nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}
nav a{position:relative;padding:9px 0;text-decoration:none}
nav a:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
nav a[aria-current=location]:after,nav a:hover:after{transform:scaleX(1)}
nav .nav-contact{padding:9px 17px;border:1px solid var(--line);border-radius:7px}
nav .nav-contact:after{left:17px;right:17px}
.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:70px 0 58px}
.hero-copy{position:relative;z-index:1}
.hero-workline{font-size:12px;color:var(--muted);margin:27px 0 0}
.hero-portrait{width:min(430px,100%);justify-self:center;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:150px 150px 12px 12px;background:#e9eff4}
.hero-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1/1.03;object-fit:cover;object-position:50% 32%}
.hero-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;background:#fff;border-top:1px solid var(--line)}
.hero-portrait strong{font-size:17px;letter-spacing:-.4px;font-weight:650}.hero-portrait figcaption span{font-size:10px;line-height:1.7;color:var(--muted);text-align:right}
.role{font-size:14px;font-weight:600;color:var(--muted);margin:0 0 22px;display:flex;align-items:center;gap:9px}
.location-dot{width:7px;height:7px;border-radius:100%;background:#227060;box-shadow:0 0 0 4px #22706012}
h1{font-size:clamp(48px,5.55vw,76px);line-height:1.05;letter-spacing:-3.7px;font-weight:750;margin:0 0 25px;max-width:650px}
.intro{font-size:18px;line-height:1.7;max-width:460px;margin:0;color:var(--muted)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:29px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 22px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:7px;text-decoration:none;font-size:14px;font-weight:650;transition:transform .2s var(--ease)}
.button:hover{background:#194eae;color:white;transform:translateY(-2px)}
.button:active{transform:translateY(0) scale(.98)}
.button svg,.text-link svg{transition:transform .2s var(--ease)}
.button:hover svg,.text-link:hover svg{transform:translateX(3px)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--line);padding:6px 0}
.signature{display:flex;align-items:center;gap:13px;margin-top:34px}
.signature img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.signature p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.signature strong{display:block;color:var(--ink);font-size:14px}
.hero-work{min-width:0}
.hero-stage{position:relative;aspect-ratio:1.02;background:#e7f0f8;border-radius:26px;isolation:isolate;padding:70px 34px 120px 22px}
.hero-stage:before{content:"";position:absolute;inset:17px;border:1px solid #b6cfe180;border-radius:17px;z-index:-1}
.desktop-peek{position:relative;display:block;width:100%;background:white;border-radius:9px;overflow:hidden;box-shadow:0 14px 36px #17364a1b;transform:rotate(-4deg);text-decoration:none;transition:transform .4s var(--ease);border:1px solid #becedf}
.desktop-peek:hover{transform:rotate(-2deg) translateY(-4px)}
.desktop-peek img{display:block;width:100%;height:auto}
.window-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #e2e9ef;color:var(--muted);font-size:9px}
.window-dots{display:flex;gap:4px}.window-dots i{display:block;width:5px;height:5px;background:#c2d2df;border-radius:50%}
.phone-peek{position:absolute;right:27px;bottom:38px;width:25%;display:block;border:5px solid #17364a;border-radius:21px;background:white;overflow:hidden;box-shadow:0 16px 30px #17364a24;transform:rotate(5deg);transition:transform .4s var(--ease)}
.phone-peek:hover{transform:rotate(2deg) translateY(-5px)}
.phone-peek img{width:100%;height:auto;display:block}
.stage-label{position:absolute;left:29px;bottom:35px;right:34%;display:flex;align-items:center;gap:10px}
.stage-mark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #abc3d6;border-radius:8px;font-size:18px;font-weight:700;color:var(--blue)}
.stage-label strong{display:block;font-size:12px;line-height:1.5}.stage-label small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.scope-strip{display:flex;justify-content:space-between;gap:24px;align-items:center;border-block:1px solid var(--line);padding:22px 0;font-size:12px;color:var(--muted)}
.scope-strip>span{color:var(--ink);font-weight:650}.scope-strip p{display:flex;gap:15px;flex-wrap:wrap;margin:0}.scope-strip p span{color:#8fa8bb}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:36px}
.section-head>p{font-size:15px;color:var(--muted);margin:0;max-width:390px}
.section-kicker{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 14px}
h2{font-size:clamp(32px,3.6vw,48px);font-weight:700;line-height:1.15;letter-spacing:-1.8px;margin:0}
h3{font-size:27px;line-height:1.3;letter-spacing:-.7px;margin:10px 0 16px}
p{max-width:68ch}
.product-preview{padding:86px 0 74px}
.workbench{display:grid;grid-template-columns:275px minmax(0,1fr);gap:35px}
.workbench:not(.explorer-ready){display:block}
.explorer-controls{display:flex;flex-direction:column;gap:2px;padding-top:4px}
.explorer-controls button{position:relative;display:block;text-align:left;border:0;border-left:3px solid transparent;border-radius:0 7px 7px 0;background:white;padding:20px 28px 20px 19px;color:var(--ink);transition:transform .2s var(--ease)}
.explorer-controls button:hover{background:#f5f8fb;transform:translateX(3px)}
.explorer-controls button[aria-pressed=true]{background:var(--mist);border-left-color:var(--blue)}
.choice-title{display:block;font-size:16px;font-weight:700}.choice-detail{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6;max-width:24ch}
.choice-arrow{position:absolute;top:20px;right:13px;color:var(--blue);opacity:0;transform:translate(-4px,4px);transition:transform .2s var(--ease),opacity .2s}
.explorer-controls button[aria-pressed=true] .choice-arrow{opacity:1;transform:none}
.explorer-panel{min-width:0}.explorer-panel+.explorer-panel{margin-top:35px}.explorer-ready .explorer-panel{margin-top:0}
.preview-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:1.72;padding:19px;background:#e9f0f6;border:1px solid var(--line);border-radius:15px}
.preview-frame>a{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;cursor:zoom-in;text-decoration:none}
.preview-frame img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.preview-frame.staging-preview{aspect-ratio:auto}
.staging-preview>a,.staging-preview img{height:auto}
.enlarge-hint{position:absolute;right:11px;bottom:11px;display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid #d7e2ea;background:#fffffff2;color:var(--ink);border-radius:5px;font-size:11px;font-weight:600;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s var(--ease)}
[data-preview]:hover .enlarge-hint,[data-preview]:focus-visible .enlarge-hint{opacity:1;transform:none}
.preview-frame.mobile-preview{aspect-ratio:auto}
.mobile-preview{gap:30px;padding:22px 40px;background:#e8eef6}
.mobile-preview>a{width:41%;max-width:190px;height:auto}
.mobile-preview img{width:100%;height:auto;border-radius:15px;border:2px solid #aec2d2;box-shadow:0 8px 18px #17364a16}
.mobile-preview .enlarge-hint{left:50%;right:auto;transform:translate(-50%,4px);white-space:nowrap}.mobile-preview [data-preview]:hover .enlarge-hint,.mobile-preview [data-preview]:focus-visible .enlarge-hint{transform:translate(-50%,0)}
.avela-preview{background:#e9edf8}
.preview-caption{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 2px 0;min-height:159px}
.small-label{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.preview-caption h3{font-size:23px;margin:9px 0}.preview-caption p{font-size:14px;line-height:1.7;margin:0;max-width:63ch;color:var(--muted)}
.round-link{align-self:center;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);transition:transform .2s var(--ease)}
.round-link:hover{transform:translate(2px,-2px);background:var(--mist)}
.explorer-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:33px;padding-top:20px;border-top:1px solid var(--line)}
.explorer-footer p{font-size:12px;color:var(--muted);margin:0}.explorer-footer .text-link{font-size:13px}
.projects{padding:35px 0 90px;border-top:1px solid var(--line)}
.projects h2{font-size:36px}.projects .section-head{align-items:baseline}
.project{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;align-items:center;margin-top:42px}.project+.project{margin-top:70px}
.project figure{margin:0;background:var(--mist);padding:18px;border-radius:13px;min-width:0}
.project figure a{display:block;overflow:hidden;border-radius:5px;cursor:zoom-in}
.project img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:5px;transition:transform .4s var(--ease)}
.project figure a:hover img{transform:scale(1.025)}
.project figcaption{font-size:11px;color:var(--muted);margin-top:11px;line-height:1.6}
.status{font-size:12px;display:inline-flex;align-items:center;gap:8px;color:#245749}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#28704c}
.project p{font-size:15px;margin:0 0 16px;color:var(--muted)}.project-link{font-size:14px;font-weight:700}
.avela{grid-template-columns:1fr 1.4fr}.avela figure{grid-column:2;grid-row:1}.avela .project-copy{grid-column:1;grid-row:1}
details{border-top:1px solid var(--line);margin-top:22px;padding-top:12px;font-size:14px}summary{cursor:pointer;font-weight:650;min-height:30px}details ul{padding-left:20px;margin-bottom:0}
.building{background:var(--mist);padding:64px 0}.building-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:30px}.building h2{font-size:36px}.building-head p{margin:0;color:var(--muted);font-size:15px}
.project-list{margin:0;padding:0;list-style:none}.project-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:20px;font-weight:600}.project-list span{font-size:11px;font-weight:500;color:var(--muted);padding:4px 11px;background:white;border-radius:20px;white-space:nowrap}
.about{padding:90px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.about h2{font-size:40px}.about p{font-size:16px;color:var(--muted)}.about h3{font-size:18px;letter-spacing:-.4px;margin-top:0}
.toolset{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:20px 0 32px}.toolset li{border:1px solid var(--line);padding:5px 12px;border-radius:5px;font-size:13px}.education{font-size:14px;color:var(--muted)}
.contact{background:var(--ink);color:white;padding:64px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:45px}.contact h2{font-size:42px}.contact p{color:#d2e3e7;max-width:500px;margin:16px 0 0;font-size:15px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:15px;font-weight:650;white-space:nowrap}.contact a:hover{color:#b5d3ff}
footer{padding:26px 0;color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.motion-toggle{font-size:11px;border:1px solid var(--line);border-radius:5px;padding:8px 12px;background:white;color:var(--muted);min-height:40px}
.motion-toggle[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}
/* The gallery shares navigation and interaction styling, preserving its content. */
.gallery-page .intro{padding:60px 0;max-width:none;margin:0;display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:end}
.gallery-page .intro h1{font-size:clamp(44px,5vw,66px);margin:0;color:var(--ink)}
.gallery-page .intro p{font-size:18px}
.gallery-page .role{display:block;font-weight:400}
.gallery-page .feature-controls button{transition:transform .18s var(--ease);min-height:44px}
.gallery-page .feature-controls button:active{transform:scale(.97)}
.gallery-page .feature-controls button[aria-pressed=true]{background:var(--blue);border-color:var(--blue)}
.gallery-page .prototype .feature-controls button[aria-pressed=true]{background:#43568b;border-color:#43568b}
.gallery-page .image-link{cursor:zoom-in;position:relative;overflow:hidden}
.gallery-page .image-link:after{content:"Enlarge ⤢";position:absolute;right:22px;bottom:22px;padding:6px 12px;border-radius:5px;background:#ffffffed;color:var(--ink);font-size:12px;border:1px solid var(--line);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s var(--ease)}
.gallery-page .image-link:hover:after,.gallery-page .image-link:focus-visible:after{opacity:1;transform:none}
.gallery-page .avela-clean{display:block}.gallery-page .avela-clean img{position:static;width:100%;height:auto;aspect-ratio:auto}
.gallery-page .feature figcaption{min-height:145px}.gallery-page .mobile-card figcaption{min-height:0}
.image-dialog{width:min(1320px,calc(100vw - 40px));max-width:none;max-height:94svh;margin:auto;border:1px solid var(--line);border-radius:14px;background:#f5f8fb;color:var(--ink);padding:0;box-shadow:0 30px 100px #0005}
.image-dialog::backdrop{background:#102331cc;backdrop-filter:blur(7px)}
.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;background:white;border-bottom:1px solid var(--line)}
.dialog-toolbar h2{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:0;margin:0;max-width:70ch}
.dialog-close{border:1px solid var(--line);background:white;color:var(--ink);border-radius:50%;min-width:40px;height:40px;font-size:23px;line-height:1}
.dialog-image{padding:16px;display:flex;align-items:center;justify-content:center;min-height:160px}.dialog-image img{display:block;max-height:calc(94svh - 174px);height:auto;width:auto;max-width:100%;object-fit:contain;border-radius:5px}
.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;background:white;border-top:1px solid var(--line);padding:12px 20px;font-size:12px}
.dialog-nav{display:flex;align-items:center;gap:13px}.dialog-nav button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:20px}.dialog-nav button:disabled{opacity:.35}.dialog-counter{min-width:45px;text-align:center;font-size:12px}
@media(hover:none){.enlarge-hint{opacity:1;transform:none}.mobile-preview .enlarge-hint{transform:translate(-50%,0)}.gallery-page .image-link:after{opacity:1;transform:none}}
@media(max-width:1050px){.hero{gap:30px}.hero-stage{aspect-ratio:.94;padding:65px 23px 110px 16px}.hero h1{font-size:58px;letter-spacing:-2.8px}.stage-label{left:23px;right:32%}.stage-mark{display:none}.phone-peek{right:20px;bottom:34px;width:27%}.workbench{grid-template-columns:235px minmax(0,1fr);gap:24px}.choice-title{font-size:14px}.choice-detail{font-size:11px}.mobile-preview{padding:20px 30px}.preview-caption{min-height:180px}.scope-strip{font-size:11px}.scope-strip p{gap:10px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.sitebar header{padding-block:15px}.hero{padding:45px 0 40px;gap:24px}.hero h1{font-size:48px;letter-spacing:-2.4px}.hero .intro{font-size:16px}.role{font-size:12px}.hero-stage{aspect-ratio:.9;padding:68px 20px 95px 14px;border-radius:20px}.phone-peek{width:30%;right:17px;bottom:50px;border-width:3px;border-radius:15px}.stage-label{left:20px;right:15px;bottom:18px}.stage-label strong{font-size:10px}.stage-label small{font-size:9px}.hero-actions{gap:13px}.button{font-size:12px;padding:12px 15px;gap:10px}.text-link{font-size:12px}.signature{margin-top:24px}.signature p{font-size:10px}.signature strong{font-size:12px}.scope-strip{display:block}.scope-strip p{margin-top:8px}.section-head{align-items:start}.section-head>p{font-size:13px;max-width:270px}.product-preview{padding:64px 0}.workbench{grid-template-columns:1fr;gap:22px}.explorer-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:7px}.explorer-controls button{border:1px solid var(--line);border-bottom:3px solid transparent;border-radius:7px;padding:12px 10px;min-width:0}.explorer-controls button:hover{transform:translateY(-2px)}.explorer-controls button[aria-pressed=true]{border-left-color:var(--line);border-bottom-color:var(--blue)}.choice-title{font-size:12px}.choice-detail{font-size:10px;line-height:1.5}.choice-arrow{display:none}.preview-caption{min-height:136px}.explorer-footer{margin-top:15px}.explorer-footer p{max-width:230px}.project,.avela{gap:30px}.project h3{font-size:25px}.project p{font-size:14px}.building-head{gap:35px}.about{gap:40px}.contact .wrap{display:block}.contact-links{margin-top:26px;flex-direction:row;gap:24px}.gallery-page .intro{gap:35px}.gallery-page .intro h1{font-size:48px}.gallery-page .intro p{font-size:16px}}
@media(max-width:620px){html{scroll-padding-top:96px}.sitebar header{gap:12px}.name{font-size:14px;gap:8px}.monogram{width:31px;height:31px;font-size:20px;border-radius:8px}nav{gap:15px;font-size:12px}nav .nav-contact{border:0;padding:9px 0}nav .nav-contact:after{left:0;right:0}.hero{grid-template-columns:1fr;gap:32px;padding:37px 0 30px}.hero h1{font-size:clamp(45px,11.5vw,65px);letter-spacing:-2.5px;max-width:540px}.hero .intro{font-size:16px;max-width:450px}.role{margin-bottom:18px}.hero-actions{gap:22px;margin-top:24px}.button{font-size:13px;padding:13px 17px}.text-link{font-size:13px}.signature{margin-top:23px}.signature p{font-size:11px}.signature strong{font-size:13px}.signature img{width:43px;height:43px}.hero-stage{aspect-ratio:1.26;padding:41px 40px 90px 22px;max-width:520px;margin:0 auto}.phone-peek{width:23%;right:26px;bottom:24px;border-radius:16px}.stage-label{left:23px;right:32%;bottom:23px}.stage-label strong{font-size:11px}.stage-label small{font-size:9px}.window-bar{padding:7px 10px;font-size:8px}.scope-strip{padding:18px 0;font-size:11px}.scope-strip p{gap:7px;font-size:10px}.section-head{display:block;margin-bottom:26px}.section-head>p{margin-top:18px;max-width:none;font-size:14px}.section-kicker{font-size:12px}.product-preview{padding:48px 0}.explorer-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.explorer-controls button{padding:12px;min-height:74px}.choice-title{font-size:13px}.choice-detail{font-size:10px;margin-top:4px;max-width:none}.preview-frame{padding:9px;border-radius:9px;aspect-ratio:1.55}.mobile-preview{padding:15px 20px;gap:22px}.mobile-preview>a{width:40%}.mobile-preview img{border-radius:10px}.enlarge-hint{font-size:9px;right:6px;bottom:6px;padding:4px 6px;gap:5px}.preview-caption{padding-top:18px;gap:12px;min-height:180px}.preview-caption h3{font-size:22px}.preview-caption p{font-size:13px}.small-label{font-size:10px}.round-link{width:38px;height:38px}.explorer-footer{display:block;margin-top:0}.explorer-footer p{max-width:none;font-size:11px;margin-bottom:10px}.explorer-footer .text-link{font-size:12px}.projects{padding:35px 0 48px}.projects h2{font-size:32px}.projects .section-head>p{font-size:14px}.project,.avela{grid-template-columns:1fr;gap:22px;margin-top:30px}.project+.project{margin-top:46px}.project figure{padding:11px}.avela figure,.avela .project-copy{grid-column:auto;grid-row:auto}.avela figure{order:0}.avela .project-copy{order:1}.project h3{font-size:27px}.project p{font-size:15px}.building{padding:46px 0}.building-head{grid-template-columns:1fr;gap:20px}.building h2{font-size:32px}.building-head p{font-size:14px}.project-list li{font-size:16px;gap:12px;padding:16px 0}.project-list span{font-size:10px;padding:4px 8px}.about{padding:50px 0;grid-template-columns:1fr;gap:25px}.about h2{font-size:35px}.about p{font-size:15px}.contact{padding:44px 0}.contact h2{font-size:35px}.contact p{font-size:14px}.contact-links{flex-wrap:wrap;gap:20px;font-size:14px}footer{align-items:flex-start;flex-direction:column;gap:7px;font-size:11px}.motion-toggle{margin-top:8px}.gallery-page .intro{grid-template-columns:1fr;padding:40px 0;gap:23px}.gallery-page .intro h1{font-size:46px}.gallery-page .intro p{font-size:17px}.gallery-page nav{gap:13px;font-size:11px}.gallery-page .name{font-size:13px}.gallery-page .feature figcaption{min-height:0}.image-dialog{width:calc(100vw - 20px);border-radius:10px}.dialog-toolbar{padding:12px;gap:12px}.dialog-toolbar h2{font-size:12px}.dialog-image{padding:8px}.dialog-footer{padding:10px 12px;font-size:11px;gap:10px}.dialog-nav{gap:6px}.dialog-counter{min-width:36px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.name{font-size:12px}nav{gap:12px;font-size:11px}.hero h1{font-size:44px}.hero-actions{gap:15px}.hero-stage{aspect-ratio:1.15;padding:37px 28px 83px 15px}.stage-label{left:18px;right:32%;bottom:17px}.stage-label strong{font-size:10px}.phone-peek{right:18px;bottom:25px}.scope-strip p span{display:none}.scope-strip p{gap:4px 10px}.project-list li{font-size:14px}.preview-caption{min-height:200px}.gallery-page .monogram{display:none}}
@media(max-width:850px){.hero-portrait{border-radius:100px 100px 10px 10px}.hero-portrait figcaption{display:block;padding:15px 18px}.hero-portrait strong{display:block;font-size:16px}.hero-portrait figcaption span{display:block;text-align:left;font-size:10px;margin-top:5px}}
@media(max-width:620px){.hero-portrait{width:min(330px,100%);border-radius:110px 110px 10px 10px}.hero-portrait figcaption{display:flex;align-items:center;padding:17px}.hero-portrait figcaption span{text-align:right;font-size:9px;margin:0}.hero-workline{margin-top:21px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.desktop-peek:hover{transform:rotate(-4deg)}.phone-peek:hover{transform:rotate(5deg)}.button:hover,.button:active,.button:hover svg,.text-link:hover svg,.round-link:hover,.project figure a:hover img,.explorer-controls button:hover,.gallery-page .feature-controls button:active{transform:none}}
html[data-motion=reduce]{scroll-behavior:auto}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;transition:none!important}
html[data-motion=reduce] .desktop-peek:hover{transform:rotate(-4deg)}html[data-motion=reduce] .phone-peek:hover{transform:rotate(5deg)}
html[data-motion=reduce] .button:hover,html[data-motion=reduce] .button:active,html[data-motion=reduce] .button:hover svg,html[data-motion=reduce] .text-link:hover svg,html[data-motion=reduce] .round-link:hover,html[data-motion=reduce] .project figure a:hover img,html[data-motion=reduce] .explorer-controls button:hover,html[data-motion=reduce] .gallery-page .feature-controls button:active{transform:none}
@media print{.sitebar,.read-progress,.hero-actions,.explorer-controls,.image-actions,.contact,.motion-toggle,.round-link,.image-dialog{display:none!important}.wrap{width:100%}.hero{padding:20px 0}.hero h1{font-size:40px}.explorer-panel[hidden],.feature[hidden]{display:block!important}.workbench{display:block}.project,.explorer-panel{break-inside:avoid}.explorer-panel{margin-bottom:30px}.hero-stage{box-shadow:none}.product-preview,.about{padding:30px 0}}
