@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";
:root{--ndy-blue:#0057ff;--ndy-blue-600:#0048d6;--ndy-blue-700:#003bb0;--ndy-blue-100:#e5eeff;--ndy-ink:#0a0a0f;--ndy-ink-700:#1f2128;--ndy-ink-500:#4b4f5a;--ndy-ink-400:#8a8f9c;--ndy-ink-300:#c9ccd3;--ndy-ink-200:#e4e6eb;--ndy-ink-100:#eef0f3;--ndy-white:#fff;--ndy-offwhite:#f7f7f5;--ndy-cream:#fafaf8;--ndy-sage:#5b6e5b;--ndy-clay:#a05a4c;--ndy-stone:#6e6358;--ndy-cream-deep:#e4d7c2;--ndy-success:#166940;--ndy-danger:#c8312b;--ndy-info:var(--ndy-blue);--p-success-bg:#e6f4ec;--p-success-fg:#166940;--p-warn-bg:#fbeedd;--p-warn-fg:#9a5300;--p-danger-bg:#f8e3e2;--p-danger-fg:#9a2622;--fg-1:var(--ndy-ink);--fg-2:var(--ndy-ink-500);--fg-3:var(--ndy-ink-500);--fg-link:#0046e0;--bg-canvas:var(--ndy-offwhite);--bg-surface:var(--ndy-white);--bg-sunken:var(--ndy-cream);--border-1:var(--ndy-ink-200);--border-2:var(--ndy-ink-300);--border-strong:var(--ndy-ink);--font-sans:"Switzer", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-sans);--font-serif:"Instrument Serif", "EB Garamond", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--t-h1:48px;--t-h2:36px;--t-h3:28px;--t-h4:22px;--t-h5:18px;--t-h6:14px;--t-body-lg:18px;--t-body:16px;--t-body-sm:14px;--t-caption:12px;--t-micro:11px;--lh-display:.95;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.5;--lh-relaxed:1.65;--tr-display:-.035em;--tr-heading:-.02em;--tr-body:-.005em;--tr-eyebrow:.14em;--section-y:clamp(64px, 9vw, 144px);--r-6:6px;--shadow-xs:0 1px 2px #0a0a0f0a;--shadow-sm:0 1px 2px #0a0a0f0a, 0 1px 3px #0a0a0f0f;--shadow-focus:0 0 0 3px #0057ff38;--inset-hairline:inset 0 0 0 1px #0a0a0f0f;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-snappy:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-base:.22s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--kbd-bg:var(--ndy-ink-100);--kbd-fg:var(--fg-3);--table-head-bg:var(--ndy-cream);--pill-neutral-bg:var(--ndy-ink-100);--pill-neutral-fg:var(--fg-1);--success-text:var(--ndy-success)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:clip}body{font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--lh-normal);letter-spacing:var(--tr-body);color:var(--fg-1);background:var(--bg-canvas);font-feature-settings:"ss01", "cv11", "kern";margin:0;overflow-x:clip}h1 em,h2 em,h3 em,.mega em{font-family:var(--font-serif);letter-spacing:-.005em;margin:0 -.02em;font-size:1.1em;font-style:italic;font-weight:400}.live-dot{background:var(--ndy-success);width:6px;height:6px;animation:pulse 2.2s var(--ease-out) infinite;border-radius:999px;display:inline-block;box-shadow:0 0 #1f8a5b8c}@keyframes pulse{0%{box-shadow:0 0 #1f8a5b73}70%{box-shadow:0 0 0 6px #1f8a5b00}to{box-shadow:0 0 #1f8a5b00}}h1{font-size:var(--t-h1);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tr-heading);text-wrap:balance;margin:0}h2{font:var(--fw-bold) var(--t-h2)/var(--lh-tight) var(--font-sans);letter-spacing:var(--tr-heading);text-wrap:balance;margin:0}h3{font:var(--fw-semibold) var(--t-h3)/var(--lh-snug) var(--font-sans);letter-spacing:var(--tr-heading);margin:0}h4{font:var(--fw-semibold) var(--t-h4)/var(--lh-snug) var(--font-sans);margin:0}h5{font:var(--fw-medium) var(--t-h5)/var(--lh-snug) var(--font-sans);margin:0}h6{font:var(--fw-semibold) var(--t-h6)/var(--lh-snug) var(--font-sans);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--fg-2);margin:0}p{font-size:var(--t-body);line-height:var(--lh-normal);margin:0}a{color:var(--fg-link);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out);text-decoration:none;text-decoration-thickness:1px}a:hover{text-decoration:underline}::selection{background:var(--ndy-blue);color:var(--ndy-white)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--r-6);outline:none}
.skip-link{z-index:9999;background:var(--ndy-ink);color:var(--ndy-white);font:500 14px/1 var(--font-sans);white-space:nowrap;border-radius:6px;padding:8px 16px;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:16px}.container{max-width:1320px;margin:0 auto;padding:0 32px}.btn{font:500 14px/1 var(--font-sans);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background var(--dur-base) var(--ease-snappy), color var(--dur-base) var(--ease-snappy), box-shadow var(--dur-base) var(--ease-snappy), transform 80ms var(--ease-snappy);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 18px;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:scale(.985)}.btn-primary{background:var(--ndy-ink);color:var(--ndy-white);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--ndy-ink-700)}.btn-blue{background:var(--ndy-blue);color:var(--ndy-white)}.btn-blue:hover{background:var(--ndy-blue-600)}.btn-ghost{color:var(--fg-1);border:1px solid var(--border-2);background:0 0}.btn-ghost:hover{background:var(--ndy-ink-100)}.btn-lg{padding:16px 24px;font-size:16px}.eyebrow{font:500 12px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}.section{padding:var(--section-y) 0}.section-marker{border-top:1px solid var(--border-strong);font:500 12px/1 var(--font-mono);letter-spacing:0;color:var(--fg-2);align-items:center;gap:16px;margin-bottom:56px;padding-top:20px;padding-bottom:24px;display:flex}.section-marker .num{color:var(--fg-1);font-weight:700}.section-marker .name{letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-sans)}.section-marker .meta{color:var(--fg-3);margin-left:auto}.site-header{z-index:100;background:color-mix(in srgb, var(--bg-canvas) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--border-1);height:68px;position:sticky;top:0}.site-header .inner{align-items:center;gap:36px;max-width:1320px;height:100%;margin:0 auto;padding:0 32px;display:flex}.site-header .logo{font:700 15px/1 var(--font-sans);letter-spacing:-.02em;color:var(--fg-1)}.site-header nav{gap:28px;display:flex}.site-header nav a{font:500 14px/1 var(--font-sans);color:var(--fg-2);transition:color var(--dur-fast);align-items:center;min-height:24px;padding:5px 0;text-decoration:none;display:inline-flex;position:relative}.site-header nav a:after{content:"";background:var(--ndy-ink);transform-origin:0;height:2px;transition:transform .28s var(--ease-snappy);position:absolute;bottom:-22px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover,.site-header nav a.active{color:var(--fg-1);text-decoration:none}.site-header nav a.active:after{transform:scaleX(1)}.site-header .spacer{flex:1}.site-header .availability{font:500 12px/1 var(--font-mono);color:var(--fg-2);align-items:center;gap:8px;display:flex}.hero{padding:clamp(40px,4vw,72px) 0 clamp(48px,5vw,96px)}.hero .eyebrow-row{font:500 12px/1 var(--font-mono);color:var(--fg-2);border-top:1px solid var(--border-strong);align-items:center;gap:16px;margin-bottom:48px;padding-top:20px;display:flex}.hero .eyebrow-row .num{color:var(--fg-1);font-weight:700}.hero .eyebrow-row .name{letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-sans)}.hero .eyebrow-row .meta{color:var(--fg-3);white-space:nowrap;align-items:center;gap:14px;margin-left:auto;display:flex}.hero h1{font:700 clamp(56px, 10.5vw, 160px)/.92 var(--font-sans);letter-spacing:-.045em;text-wrap:balance;max-width:14ch;margin:0}.hero h1 em{font-family:var(--font-serif);letter-spacing:-.005em;margin:0 -.02em;font-size:1.1em;font-style:italic;font-weight:400}.hero h1 .blue{color:var(--ndy-blue);font-style:normal;font-weight:700}.hero .sub-row{grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin-top:48px;display:grid}.hero .sub{color:var(--fg-2);max-width:48ch;margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.55}.hero .actions{flex-wrap:wrap;justify-self:end;gap:12px;display:flex}.hero-meta{border-top:1px solid var(--border-1);grid-template-columns:repeat(4,1fr);gap:0;margin-top:80px;padding-top:28px;display:grid}.hero-meta .item{padding-right:24px}.hero-meta .item+.item{border-left:1px solid var(--border-1);padding-left:28px}.hero-meta .item .num{font:700 44px/1 var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.hero-meta .item .num .unit{color:var(--fg-3);margin-left:4px;font-size:24px;font-weight:500}.hero-meta .item .label{font:500 12px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);margin-top:12px}.svc-grid{border-top:1px solid var(--border-1);border-left:1px solid var(--border-1);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.svc-card{border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);transition:background var(--dur-base) var(--ease-snappy);background:0 0;flex-direction:column;gap:14px;min-height:280px;padding:36px 32px;display:flex;position:relative}.svc-card:hover{background:var(--bg-surface)}.svc-card .num{font:500 12px/1 var(--font-mono);color:var(--fg-3);letter-spacing:0}.svc-card .icon{width:36px;height:36px;color:var(--ndy-blue);transition:transform .28s var(--ease-snappy);justify-content:center;align-items:center;margin:8px 0 4px;display:flex}.svc-card:hover .icon{transform:scale(1.08)}.svc-card h3{font:700 24px/1.15 var(--font-sans);letter-spacing:-.02em;margin:0}.svc-card p{color:var(--fg-2);max-width:28ch;margin:0;font-size:14.5px;line-height:1.55}.svc-card .foot{font:500 13px/1 var(--font-mono);color:var(--fg-3);justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;display:flex}.svc-card .arrow{color:var(--fg-3);min-height:24px;transition:color var(--dur-base) var(--ease-snappy), transform var(--dur-base) var(--ease-snappy);align-items:center;gap:6px;padding:4px 0;display:inline-flex}.svc-card:hover .arrow{color:var(--ndy-blue);transform:translate(4px)}.work-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.work-grid .row-wide{grid-column:1/-1}.work-card{aspect-ratio:5/4;background:var(--ndy-ink-100);transition:transform .28s var(--ease-snappy);border-radius:12px;position:relative;overflow:hidden}.work-card.wide{aspect-ratio:24/9}.work-card:hover{transform:translateY(-2px)}.work-card .num{z-index:2;font:500 12px/1 var(--font-mono);color:#ffffffeb;position:absolute;top:24px;left:28px}.work-card .year{z-index:2;font:500 12px/1 var(--font-mono);color:#ffffffeb;font-variant-numeric:tabular-nums;position:absolute;top:24px;right:28px}.work-card .frame{color:var(--ndy-white);flex-direction:column;justify-content:flex-end;gap:8px;padding:28px;display:flex;position:absolute;inset:0}.work-card .frame:before{content:"";background:linear-gradient(#0000 40%,#0a0a0f8c 100%);position:absolute;inset:0}.work-card .frame>*{position:relative}.work-card .meta{font:500 12px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;opacity:.9;gap:10px;display:flex}.work-card .meta span:not(:last-child):after{content:"/";opacity:.5;margin-left:10px}.work-card .title{font:700 32px/1.05 var(--font-sans);letter-spacing:-.025em}.work-card .scope{font:400 13px/1.5 var(--font-sans);opacity:0;transition:opacity .28s var(--ease-snappy), transform .28s var(--ease-snappy);max-width:44ch;margin-top:2px;transform:translateY(8px)}.work-card:hover .scope{opacity:.85;transform:none}.work-card.fill-blue{background:var(--ndy-blue)}.work-card.fill-ink{background:var(--ndy-ink)}.work-card.fill-cream{background:var(--ndy-cream-deep)}.work-card.fill-clay{background:var(--ndy-clay)}.work-card.fill-sage{background:var(--ndy-sage)}.work-card.fill-cream .frame:before{background:linear-gradient(#0000 30%,#0a0a0f59 100%)}.work-card.fill-cream .num,.work-card.fill-cream .year{color:#0a0a0fbf}.work-card.fill-cream .frame,.work-card.fill-cream .frame *{color:var(--fg-1)}.work-foot{border-top:1px solid var(--border-1);color:var(--fg-2);justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;font-size:14px;display:flex}.work-foot a{color:var(--fg-1);align-items:center;gap:6px;min-height:24px;padding:3px 0;font-weight:500;display:inline-flex}.section-head{grid-template-columns:1fr 1fr;align-items:end;gap:32px;margin-bottom:48px;display:grid}.section-head h2{font:700 clamp(36px, 4.5vw, 64px)/1 var(--font-sans);letter-spacing:-.035em;text-wrap:balance;max-width:14ch;margin:0}.section-head h2 em{font-family:var(--font-serif);letter-spacing:-.015em;font-style:italic;font-weight:500}.section-head .desc{color:var(--fg-2);max-width:48ch;font-size:16px;line-height:1.55}.client-strip{border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);background:var(--bg-canvas);padding:28px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.client-strip .track{gap:64px;width:max-content;animation:40s linear infinite marquee;display:flex}.client-strip .item{font:500 28px/1 var(--font-sans);letter-spacing:-.015em;color:var(--fg-1);white-space:nowrap;align-items:center;gap:12px;display:inline-flex}.client-strip .item .ind{background:var(--ndy-blue);border-radius:999px;width:6px;height:6px}.client-strip .item em{font-family:var(--font-serif);color:var(--fg-3);margin-left:6px;font-style:italic;font-weight:400}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.process{border-top:1px solid var(--border-1);border-left:1px solid var(--border-1);grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.process .step{border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);flex-direction:column;gap:14px;min-height:240px;padding:36px 32px;display:flex}.process .step .row{font:500 12px/1 var(--font-mono);color:var(--fg-3);justify-content:space-between;align-items:baseline;display:flex}.process .step .row .num{color:var(--fg-1);font-weight:700}.process .step h3{font:700 24px/1.15 var(--font-sans);letter-spacing:-.02em;margin:8px 0 0}.process .step p{color:var(--fg-2);max-width:28ch;margin:0;font-size:14.5px;line-height:1.55}.process .step .when{font:500 12px/1 var(--font-mono);color:var(--fg-link);margin-top:auto;padding-top:16px}.quote{background:var(--ndy-ink);color:var(--ndy-white)}.quote .inner{max-width:1320px;margin:0 auto;padding:clamp(64px,9vw,144px) 32px}.quote .marker{font:500 12px/1 var(--font-mono);color:#fff9;border-top:1px solid #ffffff38;align-items:center;gap:16px;margin-bottom:48px;padding-top:20px;padding-bottom:24px;display:flex}.quote .marker .num{color:var(--ndy-white);font-weight:700}.quote .marker .name{letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-sans)}.quote .marker .meta{margin-left:auto}.quote blockquote{font:400 clamp(28px, 4vw, 64px)/1.15 var(--font-sans);letter-spacing:-.025em;text-wrap:balance;max-width:22ch;margin:0}.quote blockquote em{font-family:var(--font-serif);color:var(--ndy-blue-100);letter-spacing:-.005em;font-size:1.1em;font-style:italic;font-weight:400}.quote blockquote .blue{color:var(--ndy-blue);font-family:var(--font-serif);letter-spacing:-.005em;font-size:1.1em;font-style:italic;font-weight:400}.quote .cite{border-top:1px solid #ffffff1f;align-items:center;gap:16px;margin-top:48px;padding-top:24px;display:flex}.quote figure{margin:0}.quote .cite cite{font-style:normal}.quote .avatar{background:var(--ndy-sage);border-radius:999px;width:44px;height:44px}.quote .who{flex-direction:column;display:flex}.quote .who .name{font:600 15px/1 var(--font-sans)}.quote .who .role{font:400 13px/1 var(--font-sans);color:#fff9;margin-top:4px}.quote .stat-row{gap:48px;margin-left:auto;padding:0;display:flex}.quote .stat-row dt,.quote .stat-row dd{margin:0}.quote .stat-row .stat .v{font:700 32px/1 var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.quote .stat-row .stat .l{font:500 11px/1 var(--font-mono);color:#ffffff80;letter-spacing:.06em;text-transform:uppercase;margin-top:6px}.quote-unit{color:#ffffff80;margin-left:4px;font-size:18px;font-weight:500}.price-grid{border-top:1px solid var(--border-1);border-left:1px solid var(--border-1);grid-template-columns:repeat(3,1fr);align-items:stretch;gap:0;display:grid}.price-card{border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);min-height:520px;transition:background var(--dur-base);background:0 0;flex-direction:column;gap:16px;padding:36px 32px;display:flex}.price-card:hover{background:var(--bg-surface)}.price-card.featured{background:var(--ndy-ink);color:var(--ndy-white)}.price-card.featured:hover{background:var(--ndy-ink)}.price-card .row{font:500 12px/1 var(--font-mono);color:var(--fg-3);justify-content:space-between;align-items:baseline;display:flex}.price-card.featured .row{color:#ffffffb8}.price-card .row .num{color:var(--fg-1);font-weight:700}.price-card.featured .row .num{color:var(--ndy-white)}.price-card .tier{font:500 12px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}.price-card.featured .tier{color:#fff9}.price-card .name{font:700 28px/1.1 var(--font-sans);letter-spacing:-.025em}.price-card .name em{font-family:var(--font-serif);font-style:italic;font-weight:500}.price-card .price{font:700 56px/1 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px}.price-card .price .from{font:400 12px/1 var(--font-mono);color:var(--fg-3);letter-spacing:0;margin-bottom:8px;display:block}.price-card.featured .price .from{color:#ffffffb8}.price-card .desc{color:var(--fg-2);max-width:30ch;font-size:14.5px;line-height:1.55}.price-card.featured .desc{color:#ffffffb3}.price-card ul{border-top:1px solid var(--border-1);flex-direction:column;gap:11px;margin:12px 0 16px;padding:20px 0 0;list-style:none;display:flex}.price-card.featured ul{border-top-color:#ffffff1f}.price-card li{align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.4;display:flex}.price-card li:before{content:"";background:var(--ndy-blue);border-radius:0;flex-shrink:0;width:6px;height:6px;margin-top:8px;transform:rotate(45deg)}.price-card.featured li:before{background:var(--ndy-white)}.price-card .btn{justify-content:center;align-self:stretch;margin-top:auto}.faq{border-top:1px solid var(--border-strong);flex-direction:column;display:flex}.faq details{border-bottom:1px solid var(--border-1)}.faq summary{cursor:pointer;font:600 22px/1.35 var(--font-sans);letter-spacing:-.015em;color:var(--fg-1);transition:color var(--dur-fast);align-items:baseline;gap:24px;padding:28px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .num{font:500 12px/1 var(--font-mono);color:var(--fg-3);flex-shrink:0;min-width:36px;padding-top:8px}.faq summary .q{flex:1}.faq summary .icon{font:400 24px/1 var(--font-sans);color:var(--fg-2);transition:transform .28s var(--ease-snappy);flex-shrink:0;margin-left:auto;padding-top:6px}.faq details[open] summary .icon{color:var(--ndy-blue);transform:rotate(45deg)}.faq .body{max-width:64ch;color:var(--fg-2);padding:0 0 28px 60px;font-size:16px;line-height:1.6}.faq summary:hover{color:var(--ndy-blue)}.contact{background:var(--bg-canvas)}.contact-grid{grid-template-columns:1.1fr 1fr;gap:64px;display:grid}.contact h2{font:700 clamp(48px, 7vw, 96px)/.95 var(--font-sans);letter-spacing:-.04em;text-wrap:balance;margin:0}.contact h2 em{font-family:var(--font-serif);font-style:italic;font-weight:500}.contact-form{background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:18px;padding:36px;display:flex}.contact-form .row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact-form label{font:500 11px/1 var(--font-mono);color:var(--fg-2);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;display:block}.contact-form input,.contact-form textarea,.contact-form select{width:100%;font:400 15px/1.4 var(--font-sans);background:var(--bg-sunken);color:var(--fg-1);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast);border:1px solid #0000;border-radius:10px;outline:none;padding:13px 16px}.contact-form input:hover,.contact-form textarea:hover,.contact-form select:hover{background:var(--ndy-ink-100)}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{background:var(--bg-surface);border-color:var(--ndy-blue);box-shadow:0 0 0 3px #0057ff2e}.contact-form textarea{resize:vertical;min-height:120px}.contact-form button[type=submit]{align-self:flex-start}.contact-success{background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:16px;max-width:640px;padding:64px;display:flex}.contact-success h2{font:700 56px/.95 var(--font-sans);letter-spacing:-.035em;margin:0}.contact-success h2 em{font-weight:500;font-family:var(--font-serif);font-style:italic;font-weight:500}.contact-success p{color:var(--fg-2);max-width:50ch;margin:0;font-size:16px;line-height:1.55}.contact-success .actions{gap:12px;margin-top:12px;display:flex}.contact-lede{color:var(--fg-2);max-width:40ch;margin-top:28px;font-size:17px;line-height:1.55}.contact-info{color:var(--fg-2);flex-direction:column;gap:16px;margin-top:48px;font-size:14.5px;display:flex}.contact-info-row{align-items:center;gap:12px;display:flex}.studio-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.studio-bio h2{font:700 clamp(48px, 6vw, 80px)/.95 var(--font-sans);letter-spacing:-.04em;margin:0 0 32px}.studio-bio h2 em{font-family:var(--font-serif);font-style:italic;font-weight:500}.studio-bio p{color:var(--fg-2);max-width:44ch;margin:0 0 16px;font-size:17px;line-height:1.6}.studio-creds{border-top:1px solid var(--border-1);border-left:1px solid var(--border-1);grid-template-columns:1fr 1fr;gap:0;margin-bottom:32px;display:grid}.studio-cred{border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);padding:24px}.studio-cred dt,.studio-cred dd{margin:0}.studio-cred-num{font:700 36px/1 var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.studio-cred-label{font:500 12px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);margin-top:8px}.studio-values{border-top:1px solid var(--border-1);flex-direction:column;display:flex}.studio-value{border-bottom:1px solid var(--border-1);padding:20px 0}.studio-value h3{font:600 15px/1 var(--font-sans);margin:0 0 6px}.studio-value p{color:var(--fg-2);max-width:44ch;margin:0;font-size:14px;line-height:1.55}.site-footer{background:var(--ndy-ink);color:var(--ndy-white);padding:96px 0 32px}.site-footer .mega{font:700 clamp(48px, 8vw, 128px)/.95 var(--font-sans);letter-spacing:-.045em;color:var(--ndy-white);transition:color var(--dur-base) var(--ease-snappy);border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;margin-bottom:64px;padding:16px 0;text-decoration:none;display:block;position:relative}.site-footer .mega:hover{color:var(--ndy-blue-100);text-decoration:none}.site-footer .mega em{font-family:var(--font-serif);font-style:italic;font-weight:400}.site-footer .mega .arrow{opacity:0;transition:all .32s var(--ease-snappy);font-size:.5em;position:absolute;top:50%;right:4px;transform:translateY(-50%)translate(-12px)}.site-footer .mega:hover .arrow{opacity:1;transform:translateY(-50%)translate(0)}.site-footer .availability{font:500 12px/1 var(--font-mono);color:#ffffffd9;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 10px 7px;display:inline-flex}.site-footer .top{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px;display:grid}.site-footer .top h2{font:600 11px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6;margin:0 0 16px}.site-footer .top>div>span{font:700 15px/1 var(--font-sans);letter-spacing:-.02em;color:var(--ndy-white)}.site-footer .blurb{color:#ffffffb3;max-width:38ch;margin-top:20px;font-size:15px;line-height:1.55}.site-footer ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.site-footer ul a{font:400 14.5px/1 var(--font-sans);color:#ffffffd9;transition:color var(--dur-fast);align-items:center;min-height:24px;padding:3px 0;text-decoration:none;display:inline-flex}.site-footer ul a:hover{color:var(--ndy-blue-100);text-decoration:none}.site-footer .colophon{font:400 13px/1 var(--font-mono);color:#ffffff80;border-top:1px solid #ffffff1f;align-items:center;gap:24px;margin-top:32px;padding-top:32px;display:flex}.site-footer .colophon .spacer{flex:1}.site-footer .colophon a{color:#ffffff80;transition:color var(--dur-fast);align-items:center;min-height:24px;padding:5px 4px;text-decoration:none;display:inline-flex}.site-footer .colophon a:hover{color:var(--ndy-white)}@media (max-width:768px){.site-footer .top{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px}.site-footer .colophon{flex-wrap:wrap;gap:12px 24px}.container{padding:0 20px}.hero .eyebrow-row{flex-wrap:wrap;gap:8px 12px}.hero .eyebrow-row .meta{white-space:normal;flex-wrap:wrap;row-gap:4px;margin-left:0}.hero .hero-meta{grid-template-columns:1fr 1fr;gap:24px}.hero .sub-row{flex-direction:column;gap:24px;display:flex}.hero .actions{flex-wrap:wrap}.btn{min-width:0}.section-head{grid-template-columns:1fr;gap:16px}.svc-grid{grid-template-columns:1fr 1fr}.work-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.process .step{min-height:0;padding:24px 20px}.price-grid,.studio-grid,.contact-grid{grid-template-columns:1fr}.quote .inner{padding:clamp(48px,9vw,96px) 20px}.site-header .inner{gap:12px;padding:12px 16px}.site-header .availability{display:none}.site-header .btn{padding:8px 12px;font-size:13px}html,body{overflow-x:clip}}@media (max-width:600px){.site-header .inner{flex-wrap:wrap}.site-header nav{scrollbar-width:none;order:3;gap:16px;width:100%;padding-top:4px;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}}@media (max-width:480px){.site-footer .top{grid-template-columns:1fr}.container{padding:0 16px}.hero .hero-meta{grid-template-columns:1fr 1fr}.btn-lg,.btn{white-space:normal;text-align:center}.svc-grid,.process{grid-template-columns:1fr}.price-grid>*,.svc-grid>*,.process>*,.work-grid>*,.studio-grid>*,.contact-grid>*,.section-head>*,.hero .sub-row>*{min-width:0}.svc-card h3,.price-card .name{word-wrap:break-word;overflow-wrap:anywhere}.hero h1{font-size:clamp(28px, 9vw, var(--t-h1));overflow-wrap:anywhere}h1,h2,h3{overflow-wrap:anywhere;word-break:normal}h2{font-size:clamp(24px, 7vw, var(--t-h2))}h3{font-size:clamp(18px, 5vw, var(--t-h3))}body,.container{min-width:0}*,:before,:after{max-width:100%}iframe,video,img,svg{max-width:100%;height:auto}.process .step h3{font-size:20px}.client-strip .item{font-size:18px}}
.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ndy-ink);color:#ffffffd9;border-right:1px solid #ffffff0a;flex-direction:column;gap:8px;padding:20px 16px;display:flex}.sidebar .brand{align-items:center;gap:10px;padding:8px 8px 20px;display:flex}.sidebar .group{font:500 11px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#ffffffa6;margin-top:16px;padding:0 8px}.sidebar .item{font:500 14px/1 var(--font-sans);color:#ffffffb3;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:9px 10px;display:flex}.sidebar .item:hover{color:var(--ndy-white);background:#ffffff0d}.sidebar .item.active{color:var(--ndy-white);background:#ffffff14}.sidebar .item .count{font:500 11px/1 var(--font-mono);color:#ffffffa6;margin-left:auto}.sidebar .footer-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px 8px;display:flex}.sidebar .footer-user .avatar{background:var(--ndy-blue);border-radius:999px;flex-shrink:0;width:28px;height:28px}.sidebar .footer-user .name{color:var(--ndy-white);font-size:13px}.sidebar .footer-user .role{color:#ffffff80;font-size:11px}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:color-mix(in srgb, var(--bg-canvas) 85%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-1);z-index:50;align-items:center;gap:16px;height:56px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .crumb{font:500 13px/1 var(--font-sans);color:var(--fg-2)}.topbar .crumb b{color:var(--fg-1)}.topbar .spacer{flex:1}.topbar .search{background:var(--bg-surface);border:1px solid var(--border-1);width:260px;transition:border-color var(--dur-fast);border-radius:8px;align-items:center;gap:8px;padding:7px 12px;display:flex}.topbar .search:focus-within{border-color:var(--ndy-blue);box-shadow:0 0 0 3px #0057ff2e}.topbar .search input{all:unset;font:400 13px/1 var(--font-sans);flex:1;min-height:24px}.topbar .search kbd{font:500 11px/1 var(--font-mono);background:var(--kbd-bg);color:var(--kbd-fg);border-radius:4px;padding:2px 6px}.topbar .btn{font:500 13px/1 var(--font-sans);background:var(--ndy-ink);color:var(--ndy-white);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.topbar .btn:hover{background:var(--ndy-ink-700)}.content{width:100%;max-width:1280px;margin:0 auto;padding:32px 28px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.page-head .marker{border-top:1px solid var(--border-strong);font:500 11px/1 var(--font-mono);color:var(--fg-2);align-items:center;gap:14px;width:100%;margin-bottom:18px;padding-top:16px;padding-bottom:14px;display:flex}.page-head .marker .num{color:var(--fg-1);font-weight:700}.page-head .marker .name{letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-sans)}.page-head .marker .meta{color:var(--fg-3);margin-left:auto}.page-head h1{font:700 44px/.95 var(--font-sans);letter-spacing:-.035em;max-width:16ch;margin:0}.page-head h1 em{font-family:var(--font-serif);font-style:italic;font-weight:500}.page-head .filter{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:10px;gap:4px;padding:4px;display:flex}.page-head .filter button{font:500 13px/1 var(--font-sans);cursor:pointer;color:var(--fg-2);transition:background var(--dur-fast), color var(--dur-fast);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 12px}.page-head .filter button:hover{color:var(--fg-1)}.page-head .filter button.active{background:var(--ndy-ink);color:var(--ndy-white)}.stats{border-top:1px solid var(--border-1);border-left:1px solid var(--border-1);background:var(--bg-surface);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:36px;display:grid;overflow:hidden}.stat-card{background:var(--bg-surface);border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);flex-direction:column;gap:8px;padding:22px 24px;display:flex}.stat-card dt,.stat-card dd{margin:0}.stat-card .label{font:500 11px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}.stat-card .value{font:700 36px/1 var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.stat-card .value .unit{color:var(--fg-3);margin-left:4px;font-size:20px;font-weight:500}.stat-card .delta{font:500 11px/1 var(--font-mono);margin-top:6px}.stat-card .delta.up{color:var(--success-text)}.stat-card .delta.down{color:var(--ndy-danger)}.stat-card .delta.flat{color:var(--fg-3)}.table-card{background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.table-head{background:var(--table-head-bg);border-bottom:1px solid var(--border-1);font:500 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);grid-template-columns:2fr 1.2fr 1fr 1fr 1fr .5fr;padding:14px 22px;display:grid}.table-head .sortable{cursor:pointer;transition:color var(--dur-fast);min-height:24px;font:500 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);background:0 0;border:none;align-items:center;gap:6px;padding:6px 2px;display:inline-flex}.table-head .sortable:hover,.table-head .sortable.active{color:var(--fg-1)}.table-head .sortable .caret{font-size:9px}.table-row{border-bottom:1px solid var(--border-1);transition:background var(--dur-fast);cursor:pointer;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr .5fr;align-items:center;padding:16px 22px;display:grid}.table-row:hover{background:var(--ndy-ink-100)}.table-row:last-child{border-bottom:none}.cell-project{flex-direction:column;gap:4px;min-width:0;display:flex}.cell-project .name{font:600 14.5px/1.2 var(--font-sans)}.cell-project .id{font:500 11px/1 var(--font-mono);color:var(--fg-3)}.cell-client{align-items:center;gap:10px;min-width:0;display:flex}.client-mark{border-radius:6px;flex-shrink:0;width:28px;height:28px}.cell-client .name{font-size:14px}.cell-mono{font:500 13px/1 var(--font-mono);color:var(--fg-1)}.cell-due{color:var(--fg-3);margin-top:4px;font-size:11px}.cell-actions{text-align:right;color:var(--fg-3)}.flex-spacer{flex:1}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;width:100%;display:flex}.pill{font:500 12px/1 var(--font-sans);border-radius:999px;align-items:center;gap:6px;padding:5px 10px 6px;display:inline-flex}.pill .dot{background:currentColor;border-radius:999px;width:6px;height:6px}.p-info{background:var(--ndy-blue-100);color:var(--ndy-blue-700)}.p-success{background:var(--p-success-bg);color:var(--p-success-fg)}.p-warn{background:var(--p-warn-bg);color:var(--p-warn-fg)}.p-danger{background:var(--p-danger-bg);color:var(--p-danger-fg)}.p-neutral{background:var(--pill-neutral-bg);color:var(--pill-neutral-fg)}.progress{align-items:center;gap:8px;display:flex}.progress .track{background:var(--ndy-ink-200);border-radius:999px;flex:1;height:4px;overflow:hidden}.progress .bar{background:var(--ndy-blue);height:100%;transition:width .42s var(--ease-snappy);border-radius:999px}.progress .pct{font:500 12px/1 var(--font-mono);color:var(--fg-2);text-align:right;min-width:32px}.empty-state{background:var(--bg-surface);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 32px;display:flex}.empty-state .icon{width:44px;height:44px;color:var(--fg-3);background:var(--bg-canvas);border-radius:12px;justify-content:center;align-items:center;display:flex}.empty-state h3{font:700 18px/1.2 var(--font-sans);letter-spacing:-.015em;margin:0}.empty-state p{color:var(--fg-2);max-width:36ch;margin:0;font-size:14px}.toast-stack{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-surface);box-shadow:var(--inset-hairline), 0 4px 8px #0a0a0f0d, 0 18px 40px #0a0a0f14;min-width:340px;max-width:420px;animation:toast-in .32s var(--ease-snappy);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast .ic{width:26px;height:26px;color:var(--ndy-white);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast.ok .ic{background:var(--ndy-success)}.toast.info .ic{background:var(--ndy-blue)}.toast .body{flex:1}.toast .title{font:600 14px/1.3 var(--font-sans)}.toast .desc{font:400 13px/1.4 var(--font-sans);color:var(--fg-2);margin-top:2px}.toast .close{all:unset;cursor:pointer;color:var(--fg-3);box-sizing:border-box;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:6px;line-height:0;display:inline-flex}.toast .close:hover{color:var(--fg-1)}.detail-overlay{z-index:100;animation:fadein .22s var(--ease-snappy);background:#0a0a0f73;justify-content:flex-end;display:flex;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}.detail-panel{background:var(--bg-canvas);width:min(720px,90vw);height:100%;animation:slidein .32s var(--ease-snappy);overflow:auto}@keyframes slidein{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.detail-panel .head{border-bottom:1px solid var(--border-1);background:var(--bg-surface);z-index:1;align-items:center;gap:16px;padding:28px 32px 24px;display:flex;position:sticky;top:0}.detail-panel .head .close{all:unset;cursor:pointer;width:32px;height:32px;color:var(--fg-2);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.detail-panel .head .close:hover{background:var(--ndy-ink-100);color:var(--fg-1)}.detail-panel .head h2{font:700 22px/1.2 var(--font-sans);letter-spacing:-.02em;margin:0}.detail-panel .head .id{font:500 12px/1 var(--font-mono);color:var(--fg-3);margin-top:4px}.detail-panel .body{flex-direction:column;gap:28px;padding:32px;display:flex}.detail-section h3{font:500 11px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);margin:0 0 14px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-stat{background:var(--bg-surface);box-shadow:var(--shadow-xs);border-radius:10px;padding:16px 18px}.detail-stat .label{font:500 11px/1 var(--font-sans);color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase}.detail-stat .value{font:700 20px/1.1 var(--font-sans);letter-spacing:-.015em;margin-top:6px}.timeline{background:var(--bg-surface);box-shadow:var(--shadow-xs);border-radius:12px;padding:4px 0}.milestone{grid-template-columns:28px 1fr auto;align-items:center;gap:14px;padding:14px 20px;display:grid}.milestone+.milestone{border-top:1px solid var(--border-1)}.milestone .mark{border:2px solid var(--border-2);border-radius:999px;justify-self:center;width:20px;height:20px;transition:all .22s}.milestone.done .mark{background:var(--ndy-blue);border-color:var(--ndy-blue);position:relative}.milestone.done .mark:after{content:"";border:solid var(--ndy-white);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.milestone.active .mark{border-color:var(--ndy-blue);box-shadow:0 0 0 4px #0057ff26}.milestone .title{font:600 14px/1.2 var(--font-sans)}.milestone.done .title{color:var(--fg-2);text-decoration:line-through;-webkit-text-decoration-color:var(--ndy-ink-300);text-decoration-color:var(--ndy-ink-300)}.milestone .when{font:500 12px/1 var(--font-mono);color:var(--fg-3)}@media (max-width:768px){.app{grid-template-columns:1fr}.sidebar{display:none}.content{padding:20px 16px}.topbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.topbar .search{flex:1;width:auto;min-width:0}.stats{grid-template-columns:repeat(2,1fr)}.table-head,.table-row{grid-template-columns:1.4fr 1fr 1fr .6fr;gap:8px;min-width:0;padding:12px 14px}.table-head>*,.table-row>*{min-width:0}.table-head>:nth-child(n+5),.table-row>:nth-child(n+5){display:none}.detail-grid{grid-template-columns:1fr}.toast{min-width:0;max-width:calc(100vw - 32px)}.toast-stack{left:12px;right:12px}.page-head{flex-wrap:wrap;gap:12px}}@media (max-width:480px){.stats{grid-template-columns:1fr 1fr}.table-head,.table-row{grid-template-columns:1.4fr 1fr .6fr;gap:6px;padding:10px 12px;font-size:12px}.table-head>:nth-child(n+4),.table-row>:nth-child(n+4){display:none}}
.ds-page{background:var(--bg-canvas);min-height:100vh;padding:64px 0}.ds-h1{font:700 48px/.95 var(--font-sans);letter-spacing:-.035em;margin-bottom:64px}.ds-section{margin-bottom:80px}.ds-swatch-grid{flex-wrap:wrap;gap:12px;display:flex}.ds-swatch{flex-direction:column;align-items:center;gap:8px;display:flex}.ds-swatch-chip{border:1px solid var(--border-1);border-radius:12px;width:72px;height:72px}.ds-swatch-label{font:500 11px/1 var(--font-mono);color:var(--fg-2)}.ds-type-stack{flex-direction:column;gap:20px;display:flex}.ds-type-meta{font:500 11px/1 var(--font-mono);color:var(--fg-3);margin-bottom:8px}.ds-type-display{font:700 72px/.95 var(--font-sans);letter-spacing:-.045em;margin:0}.ds-type-mono{font:500 20px/1.4 var(--font-mono);margin:0}.ds-type-body{font:400 16px/1.6 var(--font-sans);color:var(--fg-2);max-width:60ch;margin:0}.ds-btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ds-pill-row{flex-wrap:wrap;gap:10px;display:flex}.ds-icon-grid{flex-wrap:wrap;gap:20px;display:flex}.ds-icon-item{flex-direction:column;align-items:center;gap:8px;width:64px;display:flex}.ds-icon-label{font:400 10px/1.3 var(--font-mono);color:var(--fg-3);text-align:center;word-break:break-all}
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}body{color:var(--ndy-ink);font-size:11pt;line-height:1.4}a,a:visited{color:var(--ndy-ink);text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.85em}a[href^=\#]:after,a[href^=mailto\:]:after{content:""}h1,h2,h3,h4,h5,h6{page-break-after:avoid}img,svg{page-break-inside:avoid;max-width:100%!important}details{break-inside:avoid}details:not([open])>:not(summary){display:none}.site-header,.site-footer,.detail-overlay,.toast-stack,.topbar,.sidebar,.skip-link{display:none!important}}
