@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap";:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-divider:#201e1d66;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-accent-2-100:#fff2ef;--color-accent-2-200:#ffe0da;--color-accent-2-300:#ffc4b9;--color-accent-2-400:#ff9784;--color-accent-2-500:#ef6853;--color-accent-2-600:#c94b39;--color-accent-2-700:#9e3526;--color-accent-2-800:#71261b;--color-accent-2-900:#471d16;--font-heading:"Archivo", system-ui, sans-serif;--font-heading-weight:800;--font-body:"Archivo", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.grayscale{filter:grayscale()contrast(1.08)}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:2px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2);text-align:left;justify-content:flex-start}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-divider);display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:2px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table tbody tr:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}:root{--color-accent:#96c;--color-accent-100:#f5effb;--color-accent-200:#efe7f8;--color-accent-300:#dac5ed;--color-accent-400:#bd96df;--color-accent-500:#96c;--color-accent-600:#7a4fa8;--color-accent-700:#6b3f96;--color-accent-800:#4e2f70;--color-accent-900:#321e48;--color-divider:var(--color-text);--color-muted:var(--color-neutral-800);--color-on-accent:#100c14;--space-12:48px;--space-16:64px;--space-20:80px;--rule:2px solid var(--color-divider);--fs-lead:18px;--fs-body:17px;--fs-small:15px;--fs-micro:13px;--fs-eyebrow:12px;--header-h:96px}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-6))}body{min-width:320px;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}svg{flex-shrink:0}img{max-width:100%;display:block}a,button,summary{transition:color .18s,background-color .18s,border-color .18s}a:hover{color:var(--color-accent-700)}a:active{color:var(--color-accent-900)}:focus-visible{outline:3px solid var(--color-accent-700);outline-offset:3px}.site-shell{width:min(1440px,100%);padding:0 var(--space-16);margin:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:60;padding:var(--space-4);background:var(--color-text);color:var(--color-bg);font-weight:600;position:fixed;transform:translateY(-200%)}.skip-link:focus{color:var(--color-bg);transform:translateY(0)}.site-header{z-index:40;background:var(--color-bg);border-bottom:var(--rule);position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 6px 18px color-mix(in srgb, var(--color-text) 10%, transparent)}.site-header-inner{width:min(1440px,100%);padding:0 var(--space-16);min-height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-8);margin:auto;display:flex}.brand{align-items:center;gap:var(--space-3);flex-shrink:0;display:inline-flex}.brand-mark{background:var(--color-accent);letter-spacing:-.06em;width:43px;height:43px;color:var(--color-bg);align-items:flex-end;padding:5px;font-size:25px;font-weight:800;line-height:.82;display:flex}.brand-name{letter-spacing:-.045em;font-size:28px;font-weight:800}.brand-name>span{font-weight:400}.navigation{align-items:center;gap:var(--space-6);font-size:var(--fs-small);display:flex}.navigation>a:not(.btn){padding:var(--space-3) 0;font-weight:600}.navigation>a[aria-current]{color:var(--color-accent-700)}.btn{text-align:left;min-height:52px;padding:var(--space-4) var(--space-6);justify-content:space-between;gap:var(--space-4);font-size:var(--fs-small);font-weight:600}.btn-primary{color:var(--color-on-accent)}.btn-primary:hover,.btn-primary:active{color:var(--color-bg)}.btn-secondary{border:2px solid var(--color-divider)}.btn-dark{background:var(--color-text);color:var(--color-bg)}.btn-dark:hover{background:var(--color-accent-800);color:var(--color-bg)}.btn-dark:active{background:var(--color-accent-900)}.header-cta{min-height:46px;padding:var(--space-3) var(--space-4);font-size:var(--fs-micro)}.menu-toggle{display:none}.hero{--hero-fg:#f3f2f2;background:var(--color-text);color:var(--hero-fg);border-bottom:2px solid var(--color-accent)}.hero-inner{gap:var(--space-12);padding:var(--space-20) 0 var(--space-16);grid-template-columns:1.23fr auto;align-items:center;display:grid}.hero-copy{min-width:0}.hero .text-link:hover{color:var(--color-accent-400)}.hero :focus-visible{outline-color:var(--color-accent-400)}.eyebrow{align-items:center;gap:var(--space-2);font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;font-weight:600;line-height:1.5;display:flex}.accent-square{background:var(--color-accent);flex-shrink:0;width:8px;height:8px;display:inline-block}.hero-greeting{margin:var(--space-8) 0 var(--space-3);font-size:var(--fs-lead);color:color-mix(in srgb, var(--hero-fg) 80%, transparent);font-weight:600}.hero h1{letter-spacing:-.055em;margin:0 0 var(--space-6);font-size:clamp(38px,3.9vw,56px);line-height:1.08}.hero-description{max-width:46ch;color:color-mix(in srgb, var(--hero-fg) 78%, transparent);line-height:1.75;font-size:var(--fs-lead)}.hero-actions{align-items:center;gap:var(--space-6);margin-top:var(--space-8);display:flex}.text-link{align-items:center;gap:var(--space-3);font-size:var(--fs-small);padding-bottom:2px;font-weight:600;display:inline-flex}button.text-link{cursor:pointer;background:0 0;border:0;padding-inline:0}.hero-note{font-size:var(--fs-micro);color:color-mix(in srgb, var(--hero-fg) 62%, transparent);margin:var(--space-6) 0 0}.hero-mark{justify-content:flex-end;min-width:0;display:flex}.hero-strip{justify-content:space-between;gap:var(--space-3) var(--space-6);padding:var(--space-4) 0;border-top:1px solid color-mix(in srgb, var(--hero-fg) 30%, transparent);letter-spacing:.12em;color:color-mix(in srgb, var(--hero-fg) 65%, transparent);flex-wrap:wrap;margin:0;font-size:10px;font-weight:600;display:flex}.principles{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(4,1fr);display:grid}.principles>span{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);font-size:var(--fs-small);font-weight:600;display:flex}.principles>span+span{border-left:var(--rule)}.principles svg{color:var(--color-accent-700)}.section{padding:var(--space-20) 0}.section-heading{gap:var(--space-6);margin-bottom:var(--space-12);grid-template-columns:190px 1fr auto;align-items:start;display:grid}.section-index{margin-top:var(--space-2)}h2{letter-spacing:-.045em;font-size:clamp(29px,3.1vw,42px);line-height:1.1}.section-heading p:not(.eyebrow){color:var(--color-muted);font-size:var(--fs-small);margin:var(--space-3) 0 0;max-width:52ch}.section-arrow{color:var(--color-accent-600)}.contact-ways{align-items:center;gap:var(--space-3) var(--space-8);flex-wrap:wrap;display:flex}.contact-copy,.contact-copy:hover{color:var(--color-on-accent)}.contact-copy:hover{text-underline-offset:4px;text-decoration:underline}.work-peek{align-items:center;gap:var(--space-4) var(--space-8);padding:var(--space-6) 0;border-bottom:var(--rule);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.work-peek .eyebrow{color:var(--color-muted)}.work-peek ul{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.work-peek a:not(.text-link){align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);border:2px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.work-peek a:not(.text-link):hover{border-color:var(--color-divider);background:var(--color-accent-100)}.work-peek img,.peek-monogram{object-fit:cover;object-position:top center;border:1px solid var(--color-neutral-400);width:84px;height:44px}.peek-monogram{background:var(--color-accent-200);color:var(--color-accent-800);place-items:center;font-weight:600;display:grid}.peek-copy{min-width:0;display:grid}.peek-copy strong{font-size:var(--fs-small);line-height:1.3}.peek-copy span{font-size:var(--fs-micro);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-all{white-space:nowrap;align-self:start}.work-grid{gap:var(--space-8);grid-template-columns:repeat(2,1fr);display:grid}.work-card{border:var(--rule);background:var(--color-bg);flex-direction:column;min-width:0;display:flex}.work-card:hover{color:inherit;background:var(--color-accent-100)}.work-card:hover .work-link{color:var(--color-accent-700)}.work-card .project-shot{border:0;border-bottom:var(--rule)}.work-meta{padding:var(--space-6) var(--space-8) var(--space-8);flex-direction:column;flex:1;display:flex}.work-kind{font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 var(--space-3);font-weight:600}.work-card h3{letter-spacing:-.035em;margin-bottom:var(--space-3);font-size:25px}.work-teaser{font-size:var(--fs-small);color:var(--color-muted);margin-bottom:var(--space-6);line-height:1.75}.work-link{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:var(--rule);font-size:var(--fs-micro);margin-top:auto;font-weight:600;display:flex}.browser-dots{gap:var(--space-1);display:flex}.browser-dots i{background:var(--color-text);width:4px;height:4px}.project-shot{border:var(--rule);min-width:0}.shot-toolbar{height:40px;padding:0 var(--space-4);align-items:center;gap:var(--space-3);font-size:var(--fs-micro);background:var(--color-bg);color:var(--color-text);border-bottom:var(--rule);display:flex}.shot-url{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;font-weight:600;overflow:hidden}.shot-frame{aspect-ratio:1920/1000;background:var(--color-accent-100);place-items:center;display:grid;overflow:hidden}.shot-frame:has(>.shot-monogram){background:var(--shot-bg,var(--color-accent-200))}.shot-frame img{object-fit:cover;object-position:top center;width:100%;height:100%}.shot-monogram{letter-spacing:-.08em;color:var(--shot-ink,var(--color-accent));font-size:clamp(64px,9vw,110px);font-weight:800}.about-section{background:var(--color-text);color:var(--color-bg);padding:var(--space-16);gap:var(--space-20);grid-template-columns:1fr 1fr;display:grid}.about-section :focus-visible{outline-color:var(--color-accent-300)}.about-heading{flex-direction:column;align-items:flex-start;display:flex}.about-heading .eyebrow{color:var(--color-accent-300)}.about-heading h2{margin-top:var(--space-6);font-size:clamp(36px,4vw,54px)}.about-heading h2 span{color:var(--color-accent-400)}.about-symbol{letter-spacing:-.08em;margin-top:var(--space-8);color:var(--color-accent);align-items:flex-end;font-size:90px;font-weight:800;line-height:1;display:inline-flex}.about-symbol>span{color:var(--color-bg)}.about-symbol svg{margin-left:var(--space-8);margin-bottom:var(--space-2)}.about-lead{letter-spacing:-.02em;margin-bottom:var(--space-6);font-size:28px;font-weight:600;line-height:1.25}.about-copy>p:not(.about-lead){color:var(--color-neutral-200);font-size:var(--fs-small);margin-bottom:var(--space-4);line-height:1.8}.about-signature{margin-top:var(--space-8);padding-top:var(--space-6);border-top:2px solid var(--color-neutral-700);align-items:center;gap:var(--space-3);font-size:var(--fs-micro);display:flex}.process-grid{grid-template-columns:repeat(4,1fr);display:grid}.process-step{padding:0 var(--space-6);border-left:var(--rule);flex-direction:column;display:flex}.process-step:first-child{border-left:0;padding-left:0}.process-step:last-child{padding-right:0}.step-number{color:var(--color-accent-700);margin-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.step-number span{letter-spacing:-.05em;font-size:38px;font-weight:400}.process-step h3{letter-spacing:-.035em;margin-bottom:var(--space-3);font-size:20px}.process-step p{font-size:var(--fs-small);color:var(--color-muted);margin:0;line-height:1.75}.process-step .step-result{padding-top:var(--space-4);border-top:1px solid var(--color-divider);color:var(--color-text);margin-top:auto;font-weight:600;line-height:1.5}.process-step p:not(.step-result){margin-bottom:var(--space-6)}.step-result span{margin-bottom:var(--space-1);color:var(--color-accent-700);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.faq-section{gap:var(--space-16);border-top:var(--rule);grid-template-columns:1fr 1.65fr;display:grid}.faq-section h2{margin-top:var(--space-6)}.faq-section>div>p:not(.eyebrow){margin-top:var(--space-4);font-size:var(--fs-small);color:var(--color-muted);max-width:44ch;line-height:1.75}.faq-item{border-bottom:var(--rule)}.faq-item:first-child{border-top:var(--rule)}.faq-item p{font-size:var(--fs-body);color:var(--color-muted);padding-right:var(--space-8);margin:0 0 var(--space-4);max-width:70ch;line-height:1.8}.faq-item>:last-child{margin-bottom:var(--space-6)}@keyframes faq-reveal{0%{opacity:0;transform:translateY(-4px)}}.contact-section{padding:var(--space-12) var(--space-16);background:var(--color-accent);color:var(--color-on-accent)}.contact-main{justify-content:space-between;align-items:center;gap:var(--space-8);margin:var(--space-8) 0;display:flex}.contact-main h2{letter-spacing:-.06em;font-size:clamp(38px,5vw,68px)}.contact-main h2>span{color:var(--color-bg)}.contact-arrow{padding:var(--space-2);display:flex}.contact-arrow:hover{color:var(--color-bg);background:var(--color-accent-800)}.contact-arrow:active{background:var(--color-accent-900)}.contact-bottom{border-top:var(--rule);padding-top:var(--space-6);justify-content:space-between;align-items:flex-end;gap:var(--space-8);display:flex}.contact-bottom p{font-size:var(--fs-body);margin:0;line-height:1.7}.contact-email{align-items:center;gap:var(--space-6);letter-spacing:-.03em;font-size:clamp(18px,2vw,25px);font-weight:600;display:flex}.contact-email:hover{color:var(--color-on-accent);text-decoration:underline}.contact-email:active{color:var(--color-bg);background:var(--color-accent-900)}.contact-section :focus-visible{outline-color:var(--color-text)}.site-footer{align-items:center;gap:var(--space-8);padding:var(--space-8) 0;border-top:var(--rule);font-size:var(--fs-micro);color:var(--color-muted);display:flex}.footer-brand{color:var(--color-text)}.footer-brand .brand-mark{width:30px;height:30px;padding:3px;font-size:20px}.footer-brand .brand-name{font-size:20px}.footer-links{gap:var(--space-6);flex-wrap:wrap;font-weight:600;display:flex}.footer-links a{color:var(--color-text);padding-bottom:2px}.footer-links .footer-review{color:var(--color-muted);font-weight:500}.footer-links .footer-review:hover{color:var(--color-text)}.footer-copy{margin-left:auto}.site-footer .text-link{font-size:var(--fs-micro)}.page-hero{gap:var(--space-16);padding:var(--space-20) 0 var(--space-16);border-bottom:var(--rule);grid-template-columns:1.3fr 1fr;align-items:end;display:grid}.page-hero h1{letter-spacing:-.06em;margin:var(--space-8) 0 var(--space-6);font-size:clamp(42px,5vw,68px);line-height:1.05}.page-hero h1>span{color:var(--color-accent-700)}.page-lead{font-size:var(--fs-lead);color:var(--color-muted);max-width:52ch;margin:0;line-height:1.75}.page-lead+.btn{margin-top:var(--space-8)}main>.page-hero:last-child{border-bottom:0}.project-index{border-top:var(--rule);margin:0;padding:0;list-style:none}.project-index li{border-bottom:var(--rule)}.project-index a{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-3);margin-inline:calc(var(--space-3) * -1);grid-template-columns:auto 1fr auto;display:grid}.project-index a:hover{background:var(--color-accent-100)}.index-number{font-size:var(--fs-micro);color:var(--color-accent-700);font-weight:600}.index-name{font-size:var(--fs-lead);letter-spacing:-.03em;font-weight:800}.index-kind{font-size:var(--fs-micro);color:var(--color-muted)}.project{gap:var(--space-8);padding:var(--space-20) 0;border-bottom:var(--rule);display:grid}.project-head{align-items:baseline;gap:var(--space-4) var(--space-8);flex-wrap:wrap;grid-column:1/-1;display:flex}.project-head .eyebrow{width:100%;color:var(--color-accent-700);margin-bottom:var(--space-2)}.project-head h2{letter-spacing:-.05em;margin:0;font-size:clamp(34px,4vw,52px)}.project-domain{align-items:center;gap:var(--space-2);font-size:var(--fs-body);color:var(--color-accent-700);padding-bottom:2px;font-weight:600;display:inline-flex}.project-preview{min-width:0;display:block}.project-preview:hover .project-shot{box-shadow:8px 8px 0 var(--color-accent)}.project-preview .project-shot{transition:box-shadow .18s}@media (width>=1450px){.hero-inner{padding-block:96px 80px}}@media (width<=1100px){.site-shell,.site-header-inner{padding-inline:var(--space-8)}.hero-inner{gap:var(--space-8)}.hero h1{font-size:clamp(45px,5.8vw,68px)}.hero-actions{gap:var(--space-4)}.hero-actions .btn{padding-inline:var(--space-4);gap:var(--space-3)}.section-heading{grid-template-columns:150px 1fr auto}.about-section{padding:var(--space-12);gap:var(--space-12)}.contact-section{padding:var(--space-12)}.page-hero,.project{gap:var(--space-8)}}@media (width<=900px){:root{--header-h:84px}.brand-name{font-size:24px}body.is-menu-open{overflow:hidden}.site-header.is-open{overscroll-behavior:contain;max-height:100dvh;overflow-y:auto}.site-header-inner{padding-block:calc((var(--header-h) - 48px) / 2);flex-wrap:wrap;gap:0}.menu-toggle{justify-content:center;align-items:center;width:48px;min-height:48px;padding:0;display:inline-flex}.navigation{width:100%;padding:var(--space-4) 0 var(--space-6);font-size:var(--fs-lead);flex-direction:column;align-items:stretch;gap:0;display:none}.navigation.is-open{display:flex}.navigation>a:not(.btn){padding:var(--space-4) 0;border-bottom:2px solid var(--color-neutral-300)}.navigation>a[aria-current]{border-bottom-color:var(--color-accent)}.header-cta{min-height:54px;font-size:var(--fs-body);margin-top:var(--space-6);justify-content:center;gap:var(--space-3)}.hero-copy{display:contents}.hero-inner{padding-top:var(--space-12);align-items:center;gap:0 var(--space-6);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow mark""greeting mark""title title""description description""actions actions"}.hero .eyebrow{grid-area:eyebrow;align-self:end}.hero-greeting{grid-area:greeting;align-self:start}.hero h1{grid-area:title;font-size:clamp(34px,5.6vw,48px)}.hero-description{grid-area:description;max-width:620px}.hero-actions{grid-area:actions}.hero-mark{grid-area:mark;justify-content:flex-end;align-self:center}.principles{grid-template-columns:1fr 1fr}.principles>span{padding:var(--space-4);justify-content:flex-start}.principles>span:nth-child(3){border-left:0}.principles>span:nth-child(n+3){border-top:var(--rule)}.section{padding-block:var(--space-16)}.section-heading{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:1fr auto}.section-index{grid-column:1/-1;margin:0}.work-peek{gap:var(--space-4);grid-template-columns:1fr}.work-peek ul{gap:var(--space-2);grid-template-columns:1fr}.work-peek a:not(.text-link){margin-inline:calc(var(--space-3) * -1)}.work-grid{grid-template-columns:1fr}.about-section{gap:var(--space-8);padding:var(--space-8)}.about-heading h2{font-size:35px}.process-grid{gap:var(--space-8) 0;grid-template-columns:1fr 1fr}.process-step:nth-child(3){border:0;padding-left:0}.process-step:nth-child(2){padding-right:0}.faq-section{gap:var(--space-8);grid-template-columns:1fr 1.4fr}.contact-section{padding:var(--space-8)}.contact-bottom{align-items:flex-start;gap:var(--space-6);flex-direction:column}.contact-email{font-size:25px}.site-footer{gap:var(--space-6);flex-wrap:wrap}.page-hero{padding-block:var(--space-12);grid-template-columns:1fr}.page-hero:has(.project-index){border-bottom:0}.project{padding-block:var(--space-16)}}@media (width<=580px){.site-shell,.site-header-inner{padding-inline:var(--space-6)}.brand-mark{width:38px;height:38px;font-size:22px}.hero-inner{padding-block:var(--space-12);gap:0 var(--space-4)}.hero h1{font-size:clamp(30px,7.6vw,40px)}.hero h1 br,.contact-bottom br{display:none}.hero-greeting{margin-top:var(--space-6);font-size:var(--fs-body)}.hero-description{font-size:var(--fs-body)}.hero-actions{gap:var(--space-6);margin-top:var(--space-6);flex-wrap:wrap}.hero-actions .btn,.work-all,.page-hero .btn{width:100%}.hero-strip{gap:var(--space-2) var(--space-4);font-size:9px}.principles{grid-template-columns:1fr}.principles>span+span{border-left:0;border-top:var(--rule)}.principles>span:nth-child(3){border-left:0}.section{padding-block:var(--space-12)}.section-heading{grid-template-columns:1fr}.section-arrow{display:none}.work-all{justify-self:start}h2{font-size:31px}.work-meta{padding:var(--space-6)}.about-section{padding:var(--space-8) var(--space-6);grid-template-columns:1fr}.about-heading h2{margin-bottom:0;font-size:42px}.about-symbol{display:none}.about-lead{font-size:24px}.process-grid{grid-template-columns:1fr;gap:0}.process-step,.process-step:nth-child(n){padding:var(--space-6) 0;border-left:0;border-top:var(--rule)}.process-step:last-child{padding-bottom:0}.step-number{margin-bottom:var(--space-3)}.step-number span{font-size:32px}.step-number [class*=arrow-right]{transform:rotate(90deg)}.faq-section{grid-template-columns:1fr}.faq-section h2 br{display:none}.faq-section h2{margin-top:var(--space-4)}.faq-item p{font-size:var(--fs-small);padding-right:var(--space-4)}.contact-section{padding:var(--space-8) var(--space-6)}.contact-main{gap:var(--space-2);margin-block:var(--space-6)}.contact-main h2{font-size:clamp(30px,8vw,43px)}.contact-arrow{padding:0}.contact-arrow svg{width:46px;height:46px}.contact-bottom{padding-top:var(--space-4)}.contact-bottom p{font-size:var(--fs-small)}.contact-email{gap:var(--space-2);font-size:clamp(17px,5vw,24px)}.contact-email svg{width:20px}.site-footer{justify-content:space-between;gap:var(--space-6) var(--space-4);padding-block:var(--space-6)}.footer-links{gap:var(--space-4) var(--space-6);width:100%}.footer-copy{margin-left:0}.page-hero h1{font-size:clamp(38px,10vw,54px)}.project-head{gap:var(--space-3)}.project-head h2{width:100%;font-size:clamp(30px,8.5vw,44px)}.page-lead{font-size:var(--fs-body)}.shot-toolbar{height:34px;padding-inline:var(--space-3)}}:root{--ease-out:cubic-bezier(.22, .61, .36, 1)}.btn svg,.text-link svg,.work-link svg,.project-domain svg,.contact-email svg,.shot-toolbar svg,.faq-contact svg{transition:transform .24s var(--ease-out)}.btn:not(.menu-toggle):hover svg,.text-link:hover svg,.work-card:hover .work-link svg,.project-domain:hover svg,.contact-email:hover svg,.project-preview:hover .shot-toolbar svg,.faq-contact:hover svg{transform:translate(3px,-3px)}.hero-actions .text-link:hover svg{transform:translateY(3px)}.btn:active{transform:translateY(1px)}.text-link,.navigation>a:not(.btn),.footer-links a,.project-domain{position:relative}.text-link:after,.navigation>a:not(.btn):after,.footer-links a:after,.project-domain:after{content:"";transform-origin:0;height:2px;transition:transform .26s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.text-link:hover:after,.navigation>a:not(.btn):hover:after,.footer-links a:hover:after,.project-domain:hover:after{transform:scaleX(1)}.navigation>a:not(.btn):after{background:var(--color-accent)}.navigation>a[aria-current]:after{transform:scaleX(1)}.brand-mark{transition:transform .26s var(--ease-out)}.brand:hover .brand-mark{transform:translateY(-3px)rotate(-3deg)}.site-header{transition:box-shadow .24s}.work-card,.project-shot{transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), background-color .28s ease}.work-card:hover{box-shadow:8px 8px 0 var(--color-accent);transform:translateY(-4px)}.shot-frame img{transition:transform .7s var(--ease-out)}.work-card:hover .shot-frame img,.project-preview:hover .shot-frame img{transform:scale(1.03)}.contact-arrow svg{transition:transform .3s var(--ease-out)}.contact-arrow:hover svg{transform:translate(5px,-5px)}@media (prefers-reduced-motion:no-preference){.has-reveal [data-reveal]{opacity:0}.has-reveal [data-reveal].is-revealed{opacity:1;animation:section-arrive .76s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s) backwards}.has-reveal [data-reveal-soft]{--reveal-distance:10px}.has-reveal [data-reveal].reveal-immediate{animation:none}@keyframes section-arrive{0%{opacity:0;translate:0 var(--reveal-distance,26px)}to{opacity:1;translate:0}}[data-reveal] .section-index{position:relative}[data-reveal] .section-index:after{content:"";background:var(--color-accent);transform-origin:0;width:32px;height:2px;position:absolute;bottom:-12px;left:0}[data-reveal].is-revealed .section-index:after{animation:accent-arrive 1s var(--ease-out) var(--reveal-delay,0s) backwards}@keyframes accent-arrive{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline:scroll()){.site-header:after{content:"";background:var(--color-accent);pointer-events:none;transform-origin:0;height:2px;animation:linear both reading-progress;animation-timeline:scroll(root);position:absolute;inset:auto 0 -1px}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@supports (animation-timeline:view()){.shot-frame{view-timeline-name:--project-image;view-timeline-axis:block}.shot-frame img{animation:linear both project-depth;animation-timeline:--project-image;animation-range:entry exit}@keyframes project-depth{0%{translate:0 1%;scale:1.055}to{translate:0 -.5%;scale:1.015}}}@media (width<=580px){.has-reveal [data-reveal]{--reveal-distance:14px;--reveal-delay:0s!important}.shot-frame img{animation:none}}}@media print{.has-reveal [data-reveal]{opacity:1;animation:none}.site-header:after{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
