@font-face{font-family:Satoshi;src:url('/assets/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('/assets/Satoshi-Medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:Clash;src:url('/assets/ClashDisplay-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/InstrumentSerif-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#303030;--green:#646464;--mint:#f5f5f5;--line:#e6e6e6;--paper:#ffffff;--body:Satoshi,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button,a,input,textarea,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #6a6a6a}button:disabled{cursor:wait}img,video{max-width:100%;display:block}a{color:inherit}button{min-height:44px}p{line-height:1.65}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-weight:500}h1{line-height:1.04}h2{line-height:1.12}h3{line-height:1.25}[hidden]{display:none!important}section[id]{scroll-margin-top:100px}.skip{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-200%);background:white;padding:14px 24px;border-radius:30px}.skip:focus{transform:none}.wordmark{position:relative;display:inline-grid;font-family:Clash,Satoshi,sans-serif;font-size:30px;font-weight:600;line-height:1;text-decoration:none;letter-spacing:-1.6px}.wordmark .t{grid-area:1/1;clip-path:inset(0 0 42% 0)}.wordmark .bb{grid-area:1/1;clip-path:inset(58% 0 0 0);opacity:.58;transform:translateX(2px)}
dialog::backdrop{background:#2626265f;backdrop-filter:blur(12px)}dialog[open]{animation:dialog-enter .35s cubic-bezier(.2,.8,.2,1)}@keyframes dialog-enter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.project-dialog,.review-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line);border-radius:32px;background:#ffffff;color:var(--ink);overscroll-behavior:contain}.project-dialog .project-close,.review-dialog .project-close{position:sticky;top:0;display:block;margin-left:auto;z-index:3;border:1px solid var(--line);border-radius:999px;background:#ffffffed;padding:10px 20px;backdrop-filter:blur(12px)}.project-dialog h2{font-size:52px;letter-spacing:-2px;margin:25px 0 10px}.project-dialog p{max-width:56ch}.project-dialog img{width:100%;height:auto;border-radius:24px;margin-top:20px}.project-dialog .project-meta{font-size:13px;color:#616161}.review-dialog{width:min(600px,calc(100% - 24px))}.review-dialog h2{font-size:30px;letter-spacing:-1px}.review-dialog p{font-size:15px}.review-dialog ul{list-style:none;padding:0;display:grid;gap:8px}.review-dialog li a{display:block;padding:16px 20px;border-radius:22px;background:var(--mint);text-decoration:none}.review-dialog li a small{display:block;margin-top:6px;color:#5c5c5c;line-height:1.5}.review-dialog button:not(.project-close){padding:11px 18px;border-radius:99px;border:1px solid var(--line);background:white}.review-dialog .review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-status{font-size:12px!important;min-height:20px;color:#5b5b5b}
.review-dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:5px;padding:6px;background:#fffffff0;border:1px solid #e2e2e2;border-radius:999px;box-shadow:0 7px 40px #3c3c3c1c;backdrop-filter:blur(20px);font-family:Satoshi,sans-serif;color:#303030}.review-dock a,.review-dock button{border:0;border-radius:999px;min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;text-decoration:none;font-size:13px;padding:8px 13px;white-space:nowrap}.review-dock a[aria-current=page]{background:#585858;color:#ffffff}.review-dock button[data-prefer]{background:#f4f4f4}.review-dock button[data-prefer][aria-pressed=true]{background:#e8e8e8}.review-dock button[data-review-info]{padding:8px 12px;font-size:12px}.review-dock .dock-label{display:none}.review-dock-min{position:fixed;bottom:18px;right:18px;z-index:100;border:1px solid #e2e2e2;border-radius:999px;min-height:44px;padding:10px 18px;background:#fffffff0;backdrop-filter:blur(20px);color:#303030;box-shadow:0 7px 30px #3c3c3c14}.dock-close{font-size:20px!important;padding:8px!important}.review-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:800px){.review-dock .dock-label{display:block;padding:0 9px;font-size:12px}.review-dock a{padding-inline:17px}}@media(max-width:600px){.project-dialog,.review-dialog{padding:20px;border-radius:26px}.project-dialog h2{font-size:38px}.project-dialog img{border-radius:18px}.review-dock{bottom:12px;gap:2px;padding:5px;max-width:calc(100% - 16px)}.review-dock a,.review-dock button{padding-inline:10px}.review-dock button[data-review-info]{display:none}.review-dock button[data-prefer]{font-size:12px}.review-dock-min{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}dialog[open]{animation:none}}

/* Achromatic semantic palette. Legacy names remain aliases for shared components. */
:root{--bg:#ffffff;--surface:#f3f3f3;--surface-raised:#ffffff;--text:#171717;--text-muted:#505050;--accent:#202020;--border:#d6d6d6;--danger:#252525;--success:#202020;--ink:var(--text);--green:var(--accent);--mint:var(--surface);--line:var(--border);--paper:var(--bg);--quiet:var(--text-muted);--elevation-1:0 4px 20px #0000000a;--elevation-2:0 12px 48px #00000014;--elevation-3:0 22px 100px #00000030}
:focus-visible{outline-color:#171717!important}button:disabled{opacity:.55;cursor:not-allowed}button:active{filter:brightness(.92)}button:not(:disabled),a,summary{transition-timing-function:cubic-bezier(.2,.8,.2,1)}
.review-dock,.review-dock-min{color:#202020;border-color:#d6d6d6;box-shadow:var(--elevation-2)}.review-dock a[aria-current=page]{background:#202020}.review-dock button[data-prefer]{background:#f0f0f0}.review-dock button[data-prefer][aria-pressed=true]{background:#dedede}.review-dialog li a{background:#f2f2f2}.review-dialog li a small,.review-status,.project-dialog .project-meta{color:#505050}.project-dialog p{max-width:65ch}.project-dialog img{filter:none}
button:hover:not(:disabled),a:hover,summary:hover{text-decoration-thickness:1.5px}button:focus-visible{outline-offset:4px}

input::placeholder,textarea::placeholder{color:#616161;opacity:1}

/* Revision controls support comparison without obscuring the service finder. */
.refinement-dock{position:static;transform:none;width:max-content;max-width:calc(100% - 32px);margin:0 auto 26px;padding:5px 8px;box-shadow:none;background:#f3f3f3;border-color:#d6d6d6}
.refinement-dock button,.refinement-dock a{min-height:44px}
.refinement-dock .dock-label{display:inline;padding:0 10px;font-size:12px}
.refinement-dock a{width:auto;padding:0 12px;border-radius:999px}
.review-dock.refinement-dock button[data-review-info]{background:#fff;border-radius:999px;padding:0 14px}
.review-dock-min{position:fixed;bottom:12px;right:12px;left:auto;transform:none;font-size:11px;min-height:44px;padding:0 14px}
.review-dialog li{font-size:15px;line-height:1.65;padding:14px 0;border-bottom:1px solid #d6d6d6}
.review-dock.refinement-dock button[data-review-info]{display:inline-flex;align-items:center;justify-content:center}
