.site-body{--fs-hero:clamp(34px, 5.2vw, 58px);--fs-page-title:clamp(28px, 3.8vw, 44px);--fs-section:clamp(22px, 2.4vw, 30px);--fs-block:clamp(17px, 1.5vw, 20px);--fs-lede:clamp(16px, 1.3vw, 19px);--measure:64ch;--article-measure:660px;--band:clamp(var(--sp-8), 8vw, 112px);--scrim:#1416199e;flex-direction:column;min-height:100vh;display:flex}.site-body main{flex:1}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){.reveal{opacity:0;transition:opacity .64s var(--ease-standard), transform .64s var(--ease-standard);transition-delay:var(--reveal-delay,0s);transform:translateY(14px)}.reveal.is-revealed{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.load-1,.load-2,.load-3,.load-4{opacity:0;animation:load-in .72s var(--ease-standard) forwards}.load-1{animation-delay:90ms}.load-2{animation-delay:.21s}.load-3{animation-delay:.35s}.load-4{animation-delay:.49s}}@keyframes load-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.site-header{z-index:30;background:var(--surface-ink);border-bottom:1px solid var(--ink-700);position:sticky;top:0}.site-header-inner{align-items:center;gap:var(--sp-6);height:78px;display:flex}.site-logo{flex-shrink:0}.site-logo img{width:auto;height:42px;display:block}.site-nav{align-items:center;gap:var(--sp-6);margin-left:auto;display:flex}.site-nav>a{color:var(--gray-300);font-size:14px;font-weight:var(--fw-medium);letter-spacing:.005em;padding:var(--sp-2) 0;transition:color var(--dur-base) var(--ease-standard);position:relative}.site-nav>a:hover{color:var(--white);text-decoration:none}.site-nav>a:after{content:"";background:var(--blue-400);transform-origin:0;width:100%;height:1px;transition:transform var(--dur-base) var(--ease-standard);position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav>a:hover:after,.site-nav>a[aria-current=page]:after{transform:scaleX(1)}.site-nav>a[aria-current=page]{color:var(--white)}.site-header-actions{align-items:center;gap:var(--sp-3);margin-left:var(--sp-5);display:flex}.header-phone{align-items:center;gap:var(--sp-2);height:38px;padding:0 var(--sp-4);border:1px solid var(--ink-600);border-radius:var(--radius-md);color:var(--white);font-family:var(--font-mono);font-size:14px;font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);display:inline-flex}.header-phone:hover{background:var(--ink-800);border-color:var(--gray-500);color:var(--white);text-decoration:none}.header-phone>svg{color:var(--blue-400);flex-shrink:0}.nav-toggle{border:1px solid var(--ink-600);border-radius:var(--radius-md);width:40px;height:40px;color:var(--white);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:none}.nav-toggle:hover{background:var(--ink-800)}.site-menu{border-top:1px solid var(--ink-700);background:var(--surface-ink)}.site-menu[hidden]{display:none}.site-menu-inner{padding-top:var(--sp-2);padding-bottom:var(--sp-4);flex-direction:column;display:flex}.site-menu-item>a{padding:var(--sp-4) 0;border-bottom:1px solid var(--ink-800);color:var(--gray-200);font-size:16px;font-weight:var(--fw-medium);display:block}.site-menu-inner a[aria-current=page]{color:var(--blue-400)}.site-menu-inner a:hover{color:var(--white);text-decoration:none}.header-send{height:38px;padding:0 var(--sp-4);white-space:nowrap;font-size:14px}.site-menu-item>a.site-menu-send{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);color:var(--white);border-bottom:0;justify-content:center;display:flex}.hero{background:var(--surface-ink);min-height:clamp(480px,76vh,720px);color:var(--white);isolation:isolate;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-media{z-index:-1;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center 38%}.hero-media:after{content:"";background:var(--scrim);position:absolute;inset:0}.hero-inner{width:100%;padding-top:var(--sp-9);padding-bottom:var(--band)}.hero-eyebrow{color:var(--white);margin-bottom:var(--sp-4)}.hero h1{color:var(--white);font-size:var(--fs-hero);font-weight:var(--fw-bold);letter-spacing:-.02em;text-wrap:balance;max-width:16ch;line-height:1.04}.hero-lede{max-width:54ch;margin-top:var(--sp-5);font-size:var(--fs-lede);color:var(--white);line-height:1.5}.hero .cta-actions{margin-top:var(--sp-7)}@media (prefers-reduced-motion:no-preference){.hero-image{animation:ken-burns 46s var(--ease-standard) infinite alternate;will-change:transform}}@keyframes ken-burns{0%{transform:scale(1.02)}to{transform:scale(1.13)translate(-1.6%,-1.2%)}}.page-hero{background:var(--surface-ink);color:var(--text-on-ink);padding:clamp(var(--sp-8), 7vw, 104px) 0 clamp(var(--sp-8), 6vw, 88px);position:relative;overflow:hidden}.page-hero-compact{padding:clamp(var(--sp-7), 5vw, 76px) 0 clamp(var(--sp-7), 5vw, 72px)}.page-hero-ticks{top:var(--sp-5);left:max(var(--gutter), calc((100% - var(--container-max)) / 2 + var(--gutter)));color:var(--ink-600);position:absolute}.page-hero-eyebrow{color:var(--blue-400);margin-bottom:var(--sp-4)}.page-hero h1{color:var(--white);font-size:var(--fs-page-title);font-weight:var(--fw-bold);letter-spacing:-.018em;text-wrap:balance;max-width:20ch;line-height:1.08}.page-hero-lede{max-width:58ch;margin-top:var(--sp-5);font-size:var(--fs-lede);color:var(--gray-200);line-height:1.55}.page-hero-lede+.page-hero-lede{margin-top:var(--sp-4)}.page-hero .page-hero-article{max-width:calc(var(--article-measure) + var(--gutter) * 2)}.page-hero-article h1,.page-hero-article .page-hero-lede{max-width:none}.page-hero .cta-actions{margin-top:var(--sp-6)}.breadcrumbs{border-bottom:1px solid var(--border-default);background:var(--surface-page)}.breadcrumbs ol{align-items:center;gap:var(--sp-2);max-width:var(--container-max);padding:var(--sp-4) var(--gutter);font-size:var(--fs-small);flex-wrap:wrap;margin:0 auto;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:var(--sp-2);color:var(--text-muted);display:flex}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs a:hover{color:var(--text-link-hover)}.breadcrumbs svg{color:var(--gray-300)}.breadcrumbs [aria-current=page]{color:var(--ink-800);font-weight:var(--fw-medium)}.section{padding:var(--band) 0}.section-alt{background:var(--surface-alt)}.section-head{margin-bottom:var(--sp-7);max-width:var(--measure)}.section-head-row{justify-content:space-between;align-items:flex-end;gap:var(--sp-5);max-width:none;display:flex}.section-head h2,.section-aside h2{font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.012em;text-wrap:balance}.section-rule{color:var(--gray-300);margin-bottom:var(--sp-4);max-width:96px;display:block}.section-intro{color:var(--text-muted);font-size:var(--fs-lede);margin-bottom:var(--sp-4);max-width:var(--measure)}.schedule,.step-strip{margin-top:var(--sp-6)}.text-link{align-items:center;gap:var(--sp-2);font-size:14px;font-weight:var(--fw-semibold);color:var(--text-link);white-space:nowrap;display:inline-flex}.text-link svg{transition:transform var(--dur-base) var(--ease-standard)}.text-link:hover{color:var(--text-link-hover);text-decoration:none}.text-link:hover svg{transform:translate(3px)}.text-link:hover svg[class*=left]{transform:translate(-3px)}.service-grid{gap:var(--sp-6);grid-template-columns:repeat(2,1fr);display:grid}.service-card{gap:var(--sp-3);height:100%;padding:var(--sp-6) 0 0;border-top:1px solid var(--border-strong);flex-direction:column;display:flex}.service-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.service-icon{color:var(--blue-600);display:inline-flex}.service-index{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--blue-700);letter-spacing:var(--ls-caps)}.service-card h3{font-size:var(--fs-block);font-weight:var(--fw-bold);letter-spacing:-.008em}.service-card p{color:var(--text-muted);line-height:var(--lh-body);max-width:42ch}.service-card .text-link{padding-top:var(--sp-4);margin-top:auto}.section-sheet{background:var(--surface-alt);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.model-strip{gap:clamp(var(--sp-6), 5vw, 72px);grid-template-columns:1fr 1.05fr;align-items:center;display:grid}.model-strip-copy h2{font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.012em;margin-bottom:var(--sp-5);text-wrap:balance;max-width:18ch}.model-strip-copy p{max-width:46ch;font-size:16px;line-height:var(--lh-body);color:var(--text-body)}.model-strip-copy p+p{margin-top:var(--sp-4)}.model-sheet{padding:clamp(var(--sp-5), 3vw, 40px);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.model-sheet-grid{color:var(--gray-200);opacity:.7;pointer-events:none;position:absolute;inset:0}.model-sheet-plate{aspect-ratio:452/308;max-width:452px;margin:0 auto;position:relative}.frame-drawing{width:100%;height:100%;color:var(--ink-800);position:absolute;inset:0}.model-photo{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;position:absolute;inset:0}.model-live{--poster-color:transparent;--progress-bar-color:var(--ink-800);--progress-bar-height:2px;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.model-turn-hint{opacity:.7;margin-right:auto}.model-sheet-stamp{z-index:1;margin-top:var(--sp-4);pointer-events:none;justify-content:flex-end;display:flex;position:relative}.model-sheet-stamp span{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);padding:3px 10px}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){.frame-drawing .fl{stroke-dasharray:1;stroke-dashoffset:1px}.model-photo{opacity:0}.model-strip.is-drawing .fl{animation:draw-line .78s var(--ease-standard) forwards}.model-strip.is-drawing .fl-2{animation-delay:.3s}.model-strip.is-drawing .fl-3{animation-delay:.66s}.model-strip.is-drawing .fl-4{animation-delay:.9s}.model-strip.is-drawing .fl-5{animation-delay:1.18s}.model-strip.is-drawing .frame-drawing{animation:fade-out .9s var(--ease-standard) 2.2s forwards}.model-strip.is-drawing .model-photo{animation:fade-in .9s var(--ease-standard) 2.2s forwards}.model-live{opacity:0}.model-strip.is-drawing .model-live{animation:fade-in .9s var(--ease-standard) 2.2s forwards}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.project-grid{gap:var(--sp-5);display:grid}.project-grid-4{grid-template-columns:repeat(4,1fr)}.project-grid-3{gap:var(--sp-6);grid-template-columns:repeat(3,1fr)}.project-card-link{color:inherit;display:block}.project-card-link:hover{text-decoration:none}.project-card-frame{aspect-ratio:4/3;background:var(--surface-inset);border:1px solid var(--border-default);display:block;position:relative;overflow:hidden}.project-card-image{object-fit:cover}@media (prefers-reduced-motion:no-preference){.project-card-image{transition:transform .62s var(--ease-standard)}.project-card-link:hover .project-card-image{transform:scale(1.035)}}.project-card-body{margin-top:var(--sp-3);display:block}.project-card-meta{gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--fs-small);color:var(--text-muted);display:flex}.title-block{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);align-items:stretch;display:flex}.title-block-main{min-width:0;padding:var(--sp-3) var(--sp-4);flex-direction:column;flex:1;gap:3px;display:flex}.title-block-title{font-family:var(--font-display);font-size:15px;font-weight:var(--fw-bold);color:var(--text-heading);line-height:1.25}.project-card .title-block-title{min-height:2.5em}.title-block-meta{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-base) var(--ease-standard)}.title-block-mark{padding:0 var(--sp-3);border-left:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);color:var(--gray-500);transition:color var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);align-items:center;display:flex}.project-card-link:hover .title-block{border-color:var(--ink-800)}.project-card-link:hover .title-block-mark{border-left-color:var(--ink-800);color:var(--blue-600)}.project-card-link:hover .title-block-meta{color:var(--ink-800)}.project-card-link:focus-visible .title-block{border-color:var(--border-focus)}.testimonial-grid{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.testimonial{height:100%;padding-top:var(--sp-5);border-top:1px solid var(--border-strong);flex-direction:column;margin:0;display:flex}.client-logo{height:34px;margin-bottom:var(--sp-5);align-items:center;display:flex}.client-logo img{object-fit:contain;object-position:left center;filter:grayscale()opacity(.75);width:auto;max-width:170px;height:100%;transition:filter var(--dur-base) var(--ease-standard)}.testimonial:hover .client-logo img{filter:none}.client-monogram{height:100%;padding:0 var(--sp-4);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-small);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);color:var(--gray-500);align-items:center;display:inline-flex}.testimonial blockquote{font-family:var(--font-display);font-size:var(--fs-block);font-weight:var(--fw-medium);color:var(--ink-900);letter-spacing:-.006em;text-wrap:pretty;flex:1;margin:0;line-height:1.45}.testimonial figcaption{margin-top:var(--sp-5);flex-direction:column;gap:2px;display:flex}.testimonial-name{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--ink-900)}.testimonial-org{color:var(--text-muted);font-size:12.5px}.logo-strip{--marquee-gap:var(--sp-5);--marquee-tile:80px;background:var(--surface-alt);border-top:1px solid var(--border-default);padding:var(--sp-5) 0 var(--sp-6)}.logo-strip-label{margin-bottom:0}.logo-strip-head{margin-bottom:var(--sp-5)}.marquee{overflow:hidden}.marquee-track{gap:var(--marquee-gap);width:max-content;animation:36s linear infinite marquee;display:flex}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}.marquee-run{align-items:center;gap:var(--marquee-gap);padding:0;list-style:none;display:flex}@keyframes marquee{to{transform:translateX(calc(-50% - var(--marquee-gap) / 2))}}.marquee-tile{height:var(--marquee-tile);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.marquee-tile img{object-fit:contain;filter:grayscale()opacity(.75);width:auto;max-width:150px;transition:filter var(--dur-base) var(--ease-standard)}.marquee-tile:hover img{filter:none}@media (prefers-reduced-motion:reduce){.marquee{max-width:var(--container-max);padding:0 var(--gutter);margin:0 auto;overflow:visible}.marquee-track{width:auto;animation:none}.marquee-run{justify-content:center;row-gap:var(--marquee-gap);flex-wrap:wrap}.marquee-run[aria-hidden=true]{display:none}}.scale-band{background:var(--surface-ink);color:var(--text-on-ink);padding:var(--band) 0}.scale-inner{gap:clamp(var(--sp-6), 5vw, 72px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.scale-figure{align-items:flex-start;gap:var(--sp-3);flex-direction:column;display:flex}.scale-rule{width:100%;color:var(--ink-600);display:block}.scale-value{font-size:clamp(52px,8.2vw,104px);font-weight:var(--fw-semibold);letter-spacing:-.035em;color:var(--white);white-space:nowrap;line-height:.95}.scale-unit{font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--blue-400)}.scale-value+.scale-unit{margin-top:calc(var(--sp-3) * -1 + var(--sp-1));margin-bottom:var(--sp-2)}.scale-established{font-size:var(--fs-small);color:var(--gray-400)}.scale-copy h2{color:var(--white);font-size:clamp(19px,1.9vw,23px);font-weight:var(--fw-bold);letter-spacing:-.012em;margin-bottom:var(--sp-4)}.scale-copy p{max-width:52ch;font-size:16px;line-height:var(--lh-body);color:var(--gray-300)}.sector-list{gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.scale-band .tag{background:var(--ink-800);color:var(--gray-200);border:1px solid var(--ink-600);font-size:12.5px}.cta-band{background:var(--surface-alt);border-top:1px solid var(--border-default)}.cta-inner{max-width:56ch}.cta-inner .section-rule{margin-bottom:var(--sp-5)}.cta-inner h2{font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.012em;text-wrap:balance}.cta-inner p{margin-top:var(--sp-4);font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--text-muted)}.cta-actions{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.cta-note{margin-top:var(--sp-4);font-size:var(--fs-small);color:var(--text-muted)}.page-section{padding:clamp(var(--sp-7), 6vw, 88px) 0;border-bottom:1px solid var(--border-default)}.page-section-alt{background:var(--surface-alt)}.page-section-grid{gap:clamp(var(--sp-5), 5vw, 72px);grid-template-columns:minmax(0,.5fr) minmax(0,1fr);align-items:stretch;display:grid}.section-aside{position:sticky;top:110px}.section-aside h2{max-width:16ch}.section-prose p{font-size:16px;line-height:var(--lh-body);max-width:var(--measure)}.section-prose p+p{margin-top:var(--sp-4)}.section-prose .text-link{margin-top:var(--sp-5)}.schedule{counter-reset:schedule;padding:0;list-style:none}.schedule-item{gap:var(--sp-4);padding:var(--sp-5) 0;border-top:1px solid var(--border-default);grid-template-columns:44px 1fr;display:grid}.schedule-item:first-child{border-top:1px solid var(--border-strong)}.schedule-index{font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);color:var(--blue-600);padding-top:3px}.schedule-content h3{font-size:var(--fs-block);font-weight:var(--fw-bold);letter-spacing:-.008em;margin-bottom:var(--sp-3)}.schedule-content p{font-size:15.5px;line-height:var(--lh-body);color:var(--text-body);max-width:58ch}.schedule-content p+p{margin-top:var(--sp-3)}.schedule-content .text-link{margin-top:var(--sp-4)}.step-strip{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.step{padding-top:var(--sp-4);border-top:1px solid var(--border-strong);position:relative}.step:not(:last-child):after{content:"";top:0;right:calc(var(--sp-6) * -1);width:var(--sp-6);border-top:1px solid var(--border-strong);position:absolute}.step:not(:last-child):before{content:"";top:-3px;right:calc(var(--sp-6) * -1 + 1px);border-top:1px solid var(--gray-500);border-right:1px solid var(--gray-500);width:7px;height:7px;position:absolute;transform:rotate(45deg)}.step-index{font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);color:var(--blue-700);margin-bottom:var(--sp-3);display:block}.step h3{font-size:var(--fs-block);font-weight:var(--fw-bold);letter-spacing:-.008em;margin-bottom:var(--sp-3);text-wrap:balance}.step p{font-size:15px;line-height:var(--lh-body);color:var(--text-muted)}.step p+p{margin-top:var(--sp-3)}.faq-list{margin:0}.faq-item{border-top:1px solid var(--border-default)}.faq-item:first-child{border-top:1px solid var(--border-strong)}.faq-item summary{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-5) 0;cursor:pointer;min-height:64px;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-question{font-family:var(--font-display);font-size:var(--fs-block);font-weight:var(--fw-bold);color:var(--text-heading);letter-spacing:-.008em;line-height:var(--lh-heading);text-wrap:balance;max-width:46ch;transition:color var(--dur-base) var(--ease-standard)}.faq-item summary:hover .faq-question,.faq-item[open] .faq-question{color:var(--blue-700)}.faq-chevron{color:var(--gray-500);transition:transform var(--dur-base) var(--ease-standard);flex-shrink:0}.faq-item[open] .faq-chevron{color:var(--blue-700);transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.faq-chevron{transition:none}}.faq-answer{padding-bottom:var(--sp-5);max-width:58ch}.faq-answer p{font-size:15.5px;line-height:var(--lh-body);color:var(--text-body)}.faq-answer p+p{margin-top:var(--sp-3)}.project-plate{margin:0 0 var(--sp-8);padding:clamp(var(--sp-4), 2.4vw, 28px);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.project-plate-grid{color:var(--gray-200);opacity:.6;pointer-events:none;position:absolute;inset:0}.project-plate-frame{aspect-ratio:16/10;border-radius:var(--radius-sm);background:var(--surface-inset);display:block;position:relative;overflow:hidden}.project-plate-image{object-fit:cover}.project-plate figcaption{margin-top:calc(var(--sp-4) * -1 - 8px);padding-right:var(--sp-4);justify-content:flex-end;display:flex;position:relative}.photo-credit{margin:var(--sp-3) 0 0;color:var(--text-muted);font-size:.8125rem}.photo-credit a{color:inherit;text-underline-offset:2px;text-decoration:underline}.project-plate figcaption .title-block{max-width:380px;box-shadow:var(--shadow-raised)}.project-body{gap:clamp(var(--sp-5), 5vw, 72px);grid-template-columns:minmax(0,.45fr) minmax(0,1fr);align-items:start;display:grid}.spec-list{border-top:1px solid var(--border-strong);margin:0}.spec-row{justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-default);display:flex}.spec-row dt{font-size:var(--fs-small);color:var(--text-muted)}.spec-row dd{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--ink-900);text-align:right;margin:0}.project-tekla{margin:var(--sp-8) 0 0;max-width:452px}.project-tekla img{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;height:auto}.back-link{margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--border-default)}.prose{color:var(--text-body);max-width:var(--measure);font-size:16.5px;line-height:1.7}.prose>*+*{margin-top:var(--sp-5)}.prose h2{font-size:clamp(20px,2vw,26px);font-weight:var(--fw-bold);letter-spacing:-.012em;margin-top:var(--sp-8);text-wrap:balance}.prose h3{font-size:var(--fs-block);font-weight:var(--fw-bold);margin-top:var(--sp-6)}.prose ul,.prose ol{padding-left:var(--sp-5)}.prose li+li{margin-top:var(--sp-2)}.prose strong{font-weight:var(--fw-semibold);color:var(--ink-900)}.prose a{text-underline-offset:2px;text-decoration:underline}.prose blockquote{padding-left:var(--sp-5);border-left:2px solid var(--border-strong);color:var(--text-muted);margin:0}.post-grid{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.post-card{flex-direction:column;height:100%;display:flex;position:relative}.post-card-body{padding-top:var(--sp-5);flex-direction:column;flex:1;display:flex}.post-cover{aspect-ratio:16/9;background:var(--surface-alt);border:1px solid var(--border-default);border-radius:var(--radius-sm);position:relative;overflow:hidden}.post-cover-grid{color:var(--gray-200);opacity:.75;pointer-events:none;position:absolute;inset:0}.post-cover-art{fill:none;width:100%;height:100%;display:block;position:relative}.post-cover-art .cover-line{stroke:var(--ink-800);stroke-width:1.5px;fill:none}.post-cover-art .cover-thin{stroke:var(--gray-400);stroke-width:1px;fill:none}.post-cover-art .cover-grid-line{stroke:var(--gray-400);stroke-width:1px;stroke-dasharray:9 4 2 4;fill:none}.post-cover-art .cover-accent-line{stroke:var(--blue-600);stroke-width:1px;stroke-dasharray:9 4 2 4;fill:none}.post-cover-art .cover-accent{stroke:var(--blue-600);stroke-width:1.25px;fill:var(--surface-card)}.post-cover-art .cover-bubble{stroke:var(--ink-800);stroke-width:1.25px;fill:var(--surface-card)}.post-cover-art .cover-label{fill:var(--gray-500);stroke:none;font-size:12px;font-weight:var(--fw-semibold)}@media (prefers-reduced-motion:no-preference){.post-cover-art{transition:transform .62s var(--ease-standard)}.post-card:hover .post-cover-art{transform:scale(1.03)}}.post-card-rule{color:var(--gray-300);max-width:96px;margin-bottom:var(--sp-4);display:block}.post-meta{align-items:center;gap:var(--sp-3);font-size:var(--fs-small);color:var(--text-muted);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.post-card h2{font-size:clamp(19px,1.8vw,23px);font-weight:var(--fw-bold);letter-spacing:-.014em;text-wrap:balance}.post-card-link{color:var(--text-heading)}.post-card-link:hover{color:var(--text-link-hover);text-decoration:none}.post-card-link:after{content:"";border-radius:var(--radius-sm);position:absolute;inset:0}.post-card-link:focus-visible{box-shadow:none}.post-card:has(.post-card-link:focus-visible){box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}.post-description{margin-top:var(--sp-3);margin-bottom:var(--sp-5);font-size:15.5px;line-height:var(--lh-body);color:var(--text-muted)}.post-card-read{align-items:center;gap:var(--sp-2);font-size:14px;font-weight:var(--fw-semibold);color:var(--text-link-hover);margin-top:auto;display:inline-flex}.post-card-read svg{transition:transform var(--dur-base) var(--ease-standard)}.post-card:hover .post-card-read{color:var(--text-link-hover)}.post-card:hover .post-card-read svg{transform:translate(3px)}.draft-flag{border-radius:var(--radius-pill);background:var(--status-maybe-bg);color:var(--status-maybe);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;padding:2px 8px}.post-article,.post-back{max-width:var(--article-measure);margin-inline:auto}.post-article .prose{max-width:none}.contact-phone{padding:var(--sp-5);background:var(--surface-brand-tint);border:1px solid var(--blue-100);border-radius:var(--radius-lg)}.contact-phone-number{margin-top:var(--sp-3);font-family:var(--font-mono);font-size:clamp(26px,3.4vw,38px);font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--blue-700);display:block}.contact-phone-number:hover{color:var(--ink-900);text-decoration:none}.contact-phone-hours{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fs-small);color:var(--text-muted);display:flex}.contact-details{gap:var(--sp-5);padding:0;list-style:none;display:grid}.contact-details li{gap:var(--sp-4);align-items:flex-start;display:flex}.contact-details svg{color:var(--blue-600);flex-shrink:0;margin-top:2px}.contact-details .eyebrow-muted{margin-bottom:var(--sp-2)}.contact-address{color:var(--ink-800);flex-direction:column;font-size:15px;font-style:normal;line-height:1.5;display:flex}.contact-grid{gap:clamp(var(--sp-6), 5vw, 72px);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;scroll-margin-top:96px;display:grid}.contact-form-column h2,.contact-aside h2{font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.012em;margin-bottom:var(--sp-4)}.contact-form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,1fr);display:grid}.field-optional{font-weight:var(--fw-regular);color:var(--text-faint)}.contact-aside{gap:var(--sp-6);display:grid}.contact-aside .contact-phone-number{font-size:clamp(24px,2.6vw,32px)}.site-footer{background:var(--surface-ink);color:var(--gray-400);padding:var(--sp-8) 0 var(--sp-6)}.site-footer-rule{color:var(--ink-600);margin-bottom:var(--sp-7);display:block}.site-footer-grid{gap:var(--sp-6);grid-template-columns:1.2fr 1fr 1fr .8fr;display:grid}.site-footer-brand img{width:auto;height:46px;display:block}.site-footer-established{margin-top:var(--sp-4);font-size:var(--fs-small);letter-spacing:.01em;color:var(--gray-300)}.footer-heading{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gray-400);margin-bottom:var(--sp-4)}.site-footer-address{font-style:normal;font-size:var(--fs-small);color:var(--gray-300);flex-direction:column;gap:6px;line-height:1.6;display:flex}.site-footer-name{font-weight:var(--fw-semibold);color:var(--white)}.site-footer-phone{margin-top:var(--sp-3);font-family:var(--font-mono);color:var(--white);font-size:14px}.site-footer-hours{margin-top:var(--sp-3);color:var(--gray-400);font-size:12.5px}.site-footer-links{gap:var(--sp-3);font-size:var(--fs-small);flex-direction:column;padding:0;list-style:none;display:flex}.site-footer a{color:var(--gray-300)}.site-footer a:hover{color:var(--white)}.site-footer-base{justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--ink-700);color:var(--gray-400);flex-wrap:wrap;font-size:12px;display:flex}@media (max-width:1000px){.project-grid-4{gap:var(--sp-6);grid-template-columns:repeat(2,1fr)}.site-footer-grid{gap:var(--sp-7) var(--sp-6);grid-template-columns:1fr 1fr}}@media (max-width:900px){.site-nav{display:none}.nav-toggle{display:inline-flex}.site-header-inner{justify-content:space-between;height:68px}.site-header-actions{margin-left:auto}.header-send{display:none}.service-grid,.testimonial-grid,.project-grid-3,.post-grid{grid-template-columns:repeat(2,1fr)}.model-strip,.scale-inner,.page-section-grid,.project-body,.contact-grid{gap:var(--sp-6);grid-template-columns:1fr}.section-aside{position:static}.section-aside h2,.model-strip-copy h2{max-width:none}.project-plate figcaption{margin-top:var(--sp-4);justify-content:flex-start;padding-right:0}.project-plate figcaption .title-block{box-shadow:none}}@media (max-width:640px){.site-logo img{height:34px}.header-phone{padding:0 var(--sp-3);font-size:13px}.hero{min-height:0}.hero-inner{padding-top:var(--sp-8);padding-bottom:var(--sp-8)}.hero h1{max-width:none}.cta-actions .btn{flex:100%}.service-grid,.testimonial-grid,.project-grid,.project-grid-3,.project-grid-4,.post-grid,.contact-form-grid{grid-template-columns:1fr}.schedule-item{gap:var(--sp-2);grid-template-columns:1fr}.step-strip{gap:var(--sp-5);grid-template-columns:1fr}.step:not(:last-child):before,.step:not(:last-child):after{display:none}.section-head-row{align-items:flex-start;gap:var(--sp-4);flex-direction:column}.site-footer-grid{gap:var(--sp-6);grid-template-columns:1fr}.site-footer-base{flex-direction:column}}@media (max-width:420px){.header-phone-number{display:none}.header-phone{justify-content:center;width:38px;padding:0}}.site-footer-address a{padding-block:2px}.btn-primary,.btn-on-ink{transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard)}.btn-primary{background:var(--blue-700)}.btn-primary:hover:not(:disabled){background:var(--blue-700);box-shadow:var(--shadow-raised,0 2px 8px #14161940);transform:translateY(-1px)}.btn-on-ink{background:var(--ink-800);border-color:var(--gray-300)}.btn-on-ink:hover:not(:disabled){background:var(--ink-700);border-color:var(--white);box-shadow:var(--shadow-raised,0 2px 8px #14161940);transform:translateY(-1px)}.logo-strip-head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.marquee-pause{font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);cursor:pointer;align-items:center;font-size:12px;display:inline-flex;position:relative}.marquee-pause input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.marquee-pause span{align-items:center;gap:6px;display:inline-flex}.marquee-pause input:checked~.marquee-pause-run,.marquee-pause input:not(:checked)~.marquee-pause-hold{display:none}.marquee-pause:hover{color:var(--ink-800)}.marquee-pause:has(input:focus-visible){outline:2px solid var(--border-focus);outline-offset:3px}.logo-strip:has(.marquee-pause input:checked) .marquee-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.marquee-pause{display:none}}:root{--text-link:var(--blue-700)}.drawings-form-heading{font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.012em;margin-bottom:var(--sp-3)}.drawings-form-intro{font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--text-body);margin-bottom:var(--sp-5);max-width:var(--measure)}.drawings-form .contact-form-grid{margin-top:0}.drawings-form-message,.drawings-form-files{margin-top:var(--sp-4)}.drawings-form .textarea{min-height:120px}.drawings-form .textarea.input-error{border-color:var(--status-no)}.drawings-drop{align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);text-align:center;background:var(--surface-alt);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);flex-direction:column;display:flex;position:relative}.drawings-drop:hover,.drawings-drop.is-dragging{border-color:var(--blue-600);background:var(--surface-brand-tint)}.drawings-drop.has-error{border-color:var(--status-no)}.drawings-drop:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}.drawings-drop svg{color:var(--blue-700)}.drawings-drop-input{opacity:0;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.drawings-drop-action{font-size:15px;font-weight:var(--fw-semibold);color:var(--ink-800)}.drawings-drop-link{color:var(--text-link);text-underline-offset:2px;text-decoration:underline}.drawings-drop-hint{font-size:var(--fs-small);color:var(--text-muted)}.drawings-files{margin-top:var(--sp-3);gap:var(--sp-2);padding:0;list-style:none;display:grid}.drawings-file{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex}.drawings-file.is-failed{border-color:var(--status-no);background:var(--status-no-bg)}.drawings-file-icon{color:var(--blue-700);flex-shrink:0;margin-top:2px}.drawings-file-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawings-file-name{font-size:14px;font-weight:var(--fw-medium);color:var(--ink-800);overflow-wrap:anywhere}.drawings-file-meta{font-size:var(--fs-small);color:var(--text-muted)}.drawings-file.is-done .drawings-file-meta{color:var(--status-yes)}.drawings-file.is-failed .drawings-file-meta{color:var(--status-no)}.drawings-file-progress{width:100%;height:4px;margin-top:var(--sp-1);appearance:none;background:var(--gray-100);border:0;border-radius:2px;overflow:hidden}.drawings-file-progress::-webkit-progress-bar{background:var(--gray-100)}.drawings-file-progress::-webkit-progress-value{background:var(--blue-700)}.drawings-file-progress::-moz-progress-bar{background:var(--blue-700)}.drawings-file-remove{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.drawings-file-remove:hover:not(:disabled){color:var(--ink-800);border-color:var(--border-default);background:var(--surface-alt)}.drawings-file-remove:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.drawings-form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.drawings-form-error{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);color:var(--status-no);background:var(--status-no-bg);border-radius:var(--radius-md);font-size:14px}.drawings-form-submit{margin-top:var(--sp-5)}.drawings-form-sent{padding:var(--sp-5);background:var(--surface-brand-tint);border:1px solid var(--blue-100);border-radius:var(--radius-lg)}.drawings-form-thanks{font-size:var(--fs-block);font-weight:var(--fw-semibold);color:var(--ink-900);line-height:1.35}.drawings-form-thanks:focus{outline:none}.drawings-form-sent p{margin-top:var(--sp-3);color:var(--text-body);font-size:15px}@media (max-width:640px){.drawings-form .contact-form-grid{grid-template-columns:1fr}}.not-found-links{gap:var(--sp-4) var(--sp-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hero-model{z-index:0;pointer-events:none;opacity:0;width:min(68%,1100px);transition:opacity .9s var(--ease-standard);position:absolute;top:0;bottom:0;right:0}.hero-model-loaded{opacity:1}.hero-model-viewer{--poster-color:transparent;filter:saturate(.9);opacity:.88;background:0 0;width:100%;height:100%}.hero-model-shade{background:linear-gradient(90deg, var(--surface-ink) 0%, #141619b3 28%, #14161900 66%, #1416191a 100%), linear-gradient(0deg, #14161973 0%, transparent 25%, transparent 80%, #1416194d 100%);position:absolute;inset:0}.hero-model-tag{right:max(var(--gutter), calc((100vw - var(--container-max)) / 2 + var(--gutter)));bottom:var(--sp-4);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-600);font-size:11px;position:absolute}.page-hero-model{align-items:center;min-height:clamp(380px,34vw,480px);display:flex}.page-hero-compact.page-hero-model{min-height:clamp(280px,24vw,340px)}.page-hero-model .page-hero-inner{z-index:1;width:100%;position:relative}@media (max-width:1000px){.hero-model{width:100%}.hero-model-viewer{opacity:.5}}.project-titlebar{align-items:baseline;column-gap:var(--sp-4);row-gap:var(--sp-1);padding-top:var(--sp-5);flex-wrap:wrap;display:flex}.project-titlebar .eyebrow{flex-basis:100%}.project-titlebar h1{font-size:clamp(26px,3vw,36px);font-weight:var(--fw-bold);letter-spacing:-.015em;color:var(--ink-900);line-height:1.1}.project-titlebar-place{color:var(--text-muted)}.section.project-detail-media{padding-top:var(--sp-4)}.project-plate-frame.is-media{aspect-ratio:auto;height:clamp(340px,min(57vw,100svh - 330px),682px)}.project-plate.has-media{margin-bottom:calc(var(--sp-8) + 48px);padding:0;overflow:visible}.project-plate-frame.is-media{border-radius:var(--radius-lg);background:0 0;overflow:visible}.project-plate-frame.is-media .pm-layer.is-main{border-radius:var(--radius-lg)}.pm-stage{position:absolute;inset:0;container-type:size}.pm-layer{transition:top .65s var(--ease-standard), left .65s var(--ease-standard), width .65s var(--ease-standard), height .65s var(--ease-standard), transform .65s var(--ease-standard), border-width .65s var(--ease-standard), box-shadow .65s var(--ease-standard);position:absolute;overflow:hidden}.pm-layer.is-main{z-index:1;border:0 solid var(--white);border-radius:var(--radius-sm);width:100%;height:100%;top:0;left:0}.pm-layer.is-thumb{z-index:3;border:6px solid var(--white);width:24cqw;height:18cqw;box-shadow:var(--shadow-raised), 0 10px 24px #1416192e;border-radius:3px;top:calc(100cqh - 18cqw + 52px);left:calc(76cqw + 40px);transform:rotate(2deg)}.pm-layer.is-hidden{visibility:hidden}.pm-photo-image{object-fit:cover}.pm-model.is-main{background:0 0}.pm-model.is-thumb{background-color:var(--surface-card);background-image:linear-gradient(#b9c0c773 1px,#0000 1px),linear-gradient(90deg,#b9c0c773 1px,#0000 1px);background-size:16px 16px}.pm-canvas,.pm-canvas canvas{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.pm-model.is-main .pm-canvas{cursor:grab}.pm-loading{letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pm-hit{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.pm-hit:focus-visible{box-shadow:inset 0 0 0 3px var(--blue-500);outline:none}.pm-chip{border-radius:var(--radius-sm);color:var(--white);letter-spacing:var(--ls-caps);text-transform:uppercase;background:#141619bf;padding:3px 7px;font-size:10px;position:absolute;bottom:6px;left:6px}.pm-hit:hover .pm-chip{background:var(--ink-900)}.pm-stamp{top:var(--sp-4);left:var(--sp-4);padding:var(--sp-2) var(--sp-3);border:2px solid var(--ink-900);background:var(--surface-page);color:var(--text-body);pointer-events:none;opacity:0;transition:opacity .25s var(--ease-standard), transform .3s cubic-bezier(.3, 1.6, .6, 1);gap:2px;font-size:13px;display:grid;position:absolute;transform:rotate(-2deg)scale(1.3)}.pm-stamp:not(.is-in){transition:none}.pm-stamp.is-in{opacity:1;transform:rotate(-2deg)scale(1)}.pm-stamp .mono{letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);font-size:10px}@media (max-width:720px){.pm-stamp{top:var(--sp-2);left:var(--sp-2);padding:4px 8px;font-size:11px}.pm-stamp .pm-hint{display:none}.project-plate.has-media{margin-bottom:calc(var(--sp-8) + 32px)}.pm-layer.is-thumb{border-width:4px;width:36cqw;height:27cqw;top:calc(100cqh - 27cqw + 36px);left:calc(64cqw + 12px)}}@media (prefers-reduced-motion:reduce){.pm-layer,.pm-stamp{transition:none}}.card-model{z-index:1;background:var(--surface-alt);opacity:0;transition:opacity .35s var(--ease-standard);pointer-events:none;position:absolute;inset:0}.card-model.is-on{opacity:1}.card-model-viewer{--poster-color:transparent;--progress-bar-height:0px;background:0 0;width:100%;height:100%;display:block}.project-card-3d{z-index:2;border-radius:var(--radius-sm);color:var(--white);letter-spacing:var(--ls-caps);text-transform:uppercase;pointer-events:none;background:#141619bf;padding:3px 7px;font-size:10px;position:absolute;top:10px;left:10px}
