@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("/assets/fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/source-serif-4-latin.woff2") format("woff2")}
/* One shared public design system. Legacy redesign layers are replaced. */
:root{--ink:#0b1f33;--ink-deep:#071726;--ink-mid:#173a58;--blue:#176fa8;--blue-bright:#46a7eb;--blue-soft:#e5f3fc;--amber:#e5a93d;--amber-deep:#9c6413;--green:#247f5f;--paper:#f4f7f9;--paper-deep:#e7edf1;--paper-warm:#f3f0ea;--white:#fff;--text:#1d2b38;--muted:#536574;--line:#d5dfe5;--line-dark:rgba(255,255,255,.2);--shadow:0 24px 60px rgba(7,23,38,.10);--shadow-small:0 8px 24px rgba(7,23,38,.06);--shell:1240px;--radius:4px;--section:clamp(3rem,6vw,5.5rem);--font-display:"Source Serif 4",Georgia,serif;--font-sans:"Manrope",Aptos,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}
body{overflow-wrap:anywhere;margin:0;background:#fff;color:var(--text);font:1.0625rem/1.7 var(--font-sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}img,svg{display:block;max-width:100%}img{height:auto}svg{width:1.25rem;height:1.25rem;flex-shrink:0}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}
:focus-visible{outline:3px solid var(--blue-bright);outline-offset:4px}h1,h2,h3,p,figure{margin:0 0 1.25rem}
h1,h2,h3{color:var(--ink-deep);font-family:var(--font-display);font-weight:500;letter-spacing:-.025em;line-height:1.12;overflow-wrap:anywhere}
h1{font-size:clamp(2.4rem,5vw,4.5rem)}h2{font-size:clamp(1.85rem,3.1vw,2.8rem)}h3{font-size:clamp(1.3rem,2vw,1.65rem)}
p:last-child{margin-bottom:0}ul,ol{padding-left:1.3rem}fieldset{min-width:0}small{font-size:.8125rem}
.shell{width:min(calc(100% - 3rem),var(--shell));margin-inline:auto}.narrow{max-width:860px}.section{padding-block:var(--section)}.section--light{background:var(--paper)}
.section--ink,.section--blue{background:var(--ink-deep);color:#d5e0e8}.section--blue{background:var(--ink-mid)}
.section--ink :is(h1,h2,h3),.section--blue :is(h1,h2,h3){color:#fff}
.eyebrow{margin-bottom:.875rem;color:var(--blue);font-size:.75rem;font-weight:800;line-height:1.6;letter-spacing:.12em;text-transform:uppercase}
.eyebrow--light,.section--ink .eyebrow,.section--blue .eyebrow{color:var(--blue-bright)}
.section-heading{max-width:700px;margin-bottom:2.25rem}.section-heading h2{margin-bottom:1rem}.section-heading p:not(.eyebrow){color:var(--muted)}
.section--ink .section-heading p:not(.eyebrow),.section--blue .section-heading p:not(.eyebrow){color:#c6d4de}
.section-heading-row,.service-projects__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.section-heading-row .section-heading,.service-projects__heading .section-heading{margin:0}.section-action{margin-top:2rem}.lede{font-size:1.15rem;line-height:1.8}
.split,.split--wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem}
.button,.header-cta,.site-nav__cta{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.25rem;padding:.8rem 1.3rem;border:1px solid transparent;border-radius:4px;font-size:.875rem;font-weight:800;line-height:1.5;text-decoration:none;transition:background .18s,border-color .18s,transform .18s}
.button--primary,.header-cta,.site-nav__cta{background:var(--amber);color:var(--ink-deep)}.button--primary:hover,.header-cta:hover{background:#efbb59;transform:translateY(-2px)}
.button--ghost,.button--secondary{background:transparent;border-color:var(--line);color:var(--ink-deep)}.button--ghost:hover,.button--secondary:hover{border-color:var(--blue);background:var(--blue-soft)}
.section--ink :is(.button--secondary,.button--ghost),.section--blue :is(.button--secondary,.button--ghost),.not-found :is(.button--secondary,.button--ghost){color:#fff;border-color:#688294}
.section--ink :is(.button--secondary,.button--ghost):hover,.section--blue :is(.button--secondary,.button--ghost):hover,.not-found :is(.button--secondary,.button--ghost):hover{background:#173a58}
.text-link{display:inline-flex;align-items:center;gap:.65rem;font-size:.875rem;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link--light{color:#fff}
.link-stack{display:grid}.link-stack a{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.check-list,.article-checklist{padding:0;margin:0;list-style:none}.check-list li,.article-checklist li{display:flex;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line);line-height:1.65}
.check-list svg{color:var(--blue);margin-top:.25rem}.section--ink .check-list li,.section--blue .check-list li{border-color:var(--line-dark)}
.check-list--columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 2rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;transform:translateY(-200%);padding:12px 16px;background:var(--amber);color:var(--ink-deep)}.skip-link:focus{transform:none}
/* Navigation and contact */
.preview-banner{padding:.55rem 1rem;background:var(--amber);color:var(--ink-deep);font-size:.75rem;font-weight:800;line-height:1.5;text-align:center}
.topline{background:var(--ink-deep);color:#cad8e2;font-size:.8125rem}.topline__inner{display:flex;align-items:center;gap:1rem;min-height:2.2rem}.topline__divider{height:12px;width:1px;background:#496071}
.topline a{display:flex;align-items:center;gap:.5rem;margin-left:auto;text-decoration:none;color:#fff;font-weight:700}
.site-header{position:sticky;top:0;z-index:30;background:var(--ink-deep);border-bottom:1px solid #2c414f}.site-header__inner{min-height:5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.75rem}
.brand{display:block;margin-right:auto;flex-shrink:0;max-width:calc(100% - 4rem)}.brand img{width:220px}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.site-nav>a:not(.site-nav__cta){padding:.85rem 0;color:#e1e9ee;text-decoration:none;font-size:.875rem;white-space:nowrap;border-bottom:2px solid transparent}
.site-nav>a:hover,.site-nav>a.is-current{color:#fff;border-bottom-color:var(--amber)}.header-cta{white-space:nowrap}.site-nav__cta,.nav-toggle{display:none}
.nav-toggle{width:3rem;height:3rem;align-items:center;justify-content:center;border:1px solid #536878;border-radius:4px;background:transparent;color:#fff}
.nav-toggle__close{display:none}.nav-toggle[aria-expanded=true] .nav-toggle__open{display:none}.nav-toggle[aria-expanded=true] .nav-toggle__close{display:block}
.mobile-actions{display:none}.nav-open,.gallery-modal-open{overflow:hidden}
.site-footer{background:var(--ink-deep);color:#c0ced9;padding:4rem 0 1.5rem;font-size:.875rem}.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem}
.footer-brand>img{width:245px;margin-bottom:1.5rem}.footer-brand>p{max-width:32ch}.footer-grid h2{font:800 .875rem var(--font-sans);letter-spacing:.06em;color:#fff;margin-bottom:1.2rem}
.footer-grid>div>a{display:block;margin-bottom:.8rem;text-decoration:none}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-location{display:flex;gap:.7rem;margin-top:1.4rem}
.footer-location svg{color:var(--blue-bright)}.footer-bottom{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line-dark);font-size:.75rem}.footer-bottom>a{margin-left:auto}
.final-cta{padding-block:clamp(3rem,6vw,5rem);background:var(--paper-deep)}.final-cta__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.final-cta h2{max-width:22ch}.final-cta p{max-width:60ch}.final-cta .button-row{justify-content:flex-end}.final-cta .eyebrow{color:var(--blue)}
/* Homepage */
.home-hero{padding:clamp(2rem,5vw,4.5rem) 0;background:#fff}.home-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.home-hero__copy{padding-block:1rem;min-width:0}.home-hero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1.06;margin-bottom:1.5rem}.home-hero .eyebrow{letter-spacing:.09em}
.home-hero__summary{max-width:43ch;color:var(--muted);line-height:1.8}.home-hero__tagline{margin:1.8rem 0 0;font-size:.875rem;font-weight:700;color:var(--ink-mid)}
.home-hero__photo{margin:0;min-width:0;background:var(--ink-deep)}.home-hero__photo>img{width:100%;aspect-ratio:1.07;object-fit:cover}
.home-hero__photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:1.1rem 1.4rem;color:#fff;font-size:.8125rem}
.home-hero__photo figcaption>span{color:#c0ced9}.home-hero__photo figcaption a{display:inline-flex;align-items:center;gap:.7rem}
.home-signature__intro,.project-system__intro{display:flex;gap:2rem;align-items:end;justify-content:space-between;margin-bottom:2rem}
.home-signature__intro .section-heading,.project-system__intro .section-heading{margin:0}
.signature-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.signature-service{display:flex;flex-direction:column;padding:2rem;border:1px solid var(--line);border-top:3px solid var(--amber);background:#fff}
.signature-service__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;color:var(--blue);font-size:.8125rem}.signature-service__top svg{width:2rem;height:2rem}
.signature-service>div:nth-child(2){flex:1}.signature-service p:not(.eyebrow){color:var(--muted)}
.signature-service>a{display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.875rem;font-weight:800;text-decoration:none}
.project-system{border-top:1px solid var(--line)}.project-system__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;gap:2rem;list-style:none}
.project-system__track li{border-top:1px solid var(--line);padding-top:1.3rem}.project-system__track span{display:block;color:var(--blue);font-size:.8125rem;font-weight:800;margin-bottom:1rem}
.project-system__track strong{display:block;font-size:1.1rem;margin-bottom:.6rem}.project-system__track p{font-size:1rem;color:var(--muted)}
.connected-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:4rem}.connected-work>div>p{max-width:40ch}
.connected-work>div:nth-child(2),.connected-directory__links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 2rem}
.connected-work a,.connected-directory__links a{position:relative;display:block;border-bottom:1px solid var(--line-dark);padding:1rem 1.5rem 1rem 0;text-decoration:none}
.connected-work a>span,.connected-directory__links a>span{display:block;font-weight:700;color:#fff}.connected-work a small,.connected-directory__links a small{display:block;margin-top:.3rem;color:#c0ced9;line-height:1.6}
.connected-work a>svg,.connected-directory__links a>svg{position:absolute;right:0;top:1.4rem;color:var(--amber)}
.home-plan__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}.home-resource{padding:2.3rem;background:var(--paper);border-left:3px solid var(--amber)}
.area-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1.5rem}.area-list a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.875rem;font-weight:700;text-decoration:none}

/* Services, areas, and supporting pages */
.hero{position:relative;background:var(--ink-deep);color:#d8e2e9;padding:4rem max(1.5rem,calc((100vw - 1240px)/2))}
.hero .shell{width:auto;margin:0}.hero h1{color:#fff;max-width:22ch}.hero__summary{font-size:1.125rem;max-width:57ch}.hero__scrim{display:none}
.hero__credibility{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;font-size:.8125rem;color:#c7d8e3}.hero__credibility span{display:flex;align-items:center;gap:.5rem}
.hero .button--secondary{color:#fff;border-color:#6e8393}.hero .button--secondary:hover{background:#173a58}
.hero--project-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;background:#fff;color:var(--text)}
.hero--project-photo .hero__media{grid-column:2;grid-row:1;margin:0}.hero--project-photo .hero__content{grid-column:1;grid-row:1;min-width:0}
.hero--project-photo .hero__media img{width:100%;aspect-ratio:1.2;object-fit:cover}.hero--project-photo h1{color:var(--ink-deep);font-size:clamp(2.3rem,4.2vw,4rem)}
.hero--project-photo .eyebrow{color:var(--blue)}.hero--project-photo .hero__summary{color:var(--muted)}
.hero--project-photo .button--secondary{color:var(--ink-deep);border-color:var(--line)}.hero--project-photo .button--secondary:hover{background:var(--blue-soft)}.hero--project-photo .hero__credibility{color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:0;font-size:.75rem;color:var(--muted)}
.breadcrumbs li{display:flex;align-items:center;gap:.55rem}.breadcrumbs li+li::before{content:"/";color:#7a8d99}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}
.service-breadcrumb{padding-top:1.2rem}.service-opening{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:start}.service-opening h2{font-size:1.65rem}
.fit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.scope-note{border-left:2px solid var(--line);padding-left:1.5rem;font-size:.9375rem}
.estimate-card,.artifact-card,.boundary-card{padding:2rem;background:var(--paper);border:1px solid var(--line)}.estimate-card{border-top:3px solid var(--amber)}
.estimate-card h2{font-size:1.7rem}.estimate-card li{margin-bottom:.7rem}.estimate-card .button{margin-top:1rem}.artifact-card{background:#fff}
.artifact-card__label,.artifact-card__sheet>span{font-size:.75rem;font-weight:800;color:var(--blue)}
.artifact-card__sheet{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding-block:1.5rem;border-block:1px solid var(--line);margin-bottom:1rem}
.artifact-card__sheet p{margin:0;font-size:.9375rem}.artifact-card__sheet strong{display:block}.artifact-card>p:last-child{font-size:.8125rem;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.service-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card{min-width:0;background:#fff;border:1px solid var(--line);padding:1.75rem;display:flex;flex-direction:column}.service-card__icon{color:var(--blue);margin-bottom:1.5rem}
.service-card h3{font-size:1.45rem}.service-card p{font-size:.9375rem;color:var(--muted)}.service-card>a{margin-top:auto}
.service-card__label{font-size:.75rem!important;font-weight:800;color:var(--blue)!important}.connected-directory__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:4rem}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;list-style:none;margin:0;padding:0}.process-grid li{padding-top:1.5rem;border-top:1px solid var(--line-dark)}
.process-grid span{color:var(--amber);font-size:.875rem;font-weight:800}.process-grid p{font-size:.9375rem}
.faq-list{border-top:1px solid var(--line)}.faq-list>details{border-bottom:1px solid var(--line);padding:1.3rem 0}
.faq-list summary{font-size:1.0625rem;font-weight:700;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{margin-top:.3rem}.faq-list details[open] summary{margin-bottom:1rem}.faq-list details>div{color:var(--muted)}
.page-intro{padding:3.5rem 0;background:var(--paper)}.page-intro .breadcrumbs{margin-bottom:2rem}.page-intro__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4rem;align-items:center}
.page-intro h1{max-width:22ch}.page-intro__grid>div>p:not(.eyebrow){max-width:60ch;color:var(--muted)}
.page-intro__aside{padding:2rem;border:1px solid var(--line);background:#fff}.page-intro__aside>svg{color:var(--blue);width:2rem;height:2rem;margin-bottom:1rem}
.page-intro__aside h2{font-size:1.6rem}.page-intro__aside p{font-size:.9375rem}.page-intro--dark{background:var(--ink-deep);color:#d2dfe8}
.page-intro--dark h1,.page-intro--dark h2{color:#fff}.page-intro--dark .page-intro__grid>div>p:not(.eyebrow),.page-intro--dark .breadcrumbs ol{color:#c7d8e3}
.page-intro__aside--dark{background:var(--ink-mid);border-color:var(--line-dark)}
.about-manifesto{padding:3rem;background:var(--ink-deep);color:#fff;border-top:3px solid var(--amber)}.about-manifesto>span{font-size:.8125rem;letter-spacing:.16em;color:var(--blue-bright)}
.about-manifesto>p{font:500 clamp(2rem,3.5vw,3.5rem)/1.1 var(--font-display);margin:2rem 0}
.principles article{border-top:1px solid var(--line);padding:1.5rem 0}.principles article>span{font-size:.75rem;font-weight:800;color:var(--blue)}.principles h3{margin:.5rem 0}.principles p{font-size:.9375rem}
.identity-band{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2rem}.identity-band>div:first-child svg{width:2rem;height:2rem;color:var(--blue-bright)}.identity-band>a{grid-column:2}
.area-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.area-card-grid article{padding:2rem;border:1px solid var(--line);background:#fff}.area-card-grid h2{font-size:1.7rem}.area-card-grid p:not(.eyebrow){font-size:.9375rem}
/* Curated portfolio */
.work-hero{padding:2.5rem 0 2rem;background:var(--ink-deep);color:#d5e0e8}.work-hero .breadcrumbs ol{color:#c4d4df}.work-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4.5rem);max-width:23ch}
.work-hero .breadcrumbs{margin-bottom:1.5rem}.work-hero .eyebrow{color:var(--blue-bright)}.work-hero p:not(.eyebrow){max-width:64ch}.work-hero__grid{display:block}.work-hero__mobile-break{display:none}
.portfolio--public{padding-top:1.5rem}.portfolio-filters{background:var(--ink-deep);padding:1rem;margin-bottom:1.75rem;color:#fff}
.portfolio-filters fieldset{border:0;padding:0;margin:0}.portfolio-filters legend{font-size:.875rem;margin-bottom:.7rem}.portfolio-filters__groups{display:grid;gap:1rem}
.portfolio-filters__groups{min-width:0}.portfolio-filter-chips{min-width:0;max-width:100%;display:flex;flex-wrap:wrap;gap:.5rem}.portfolio-filter-chips button{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.6rem .85rem;border:1px solid #607585;border-radius:30px;background:transparent;color:#e3ecf2;font-size:.875rem;line-height:1.4}
.portfolio-filter-chips button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:var(--ink-deep);font-weight:800}
.portfolio-filter-chips button>span{font-size:.75rem}.portfolio-filters__status{font-size:.8125rem;margin-top:1rem}
.portfolio-projects__heading{margin-bottom:1.5rem}.portfolio-projects__heading h2{font-size:2rem}.portfolio-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}
.portfolio-project-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0}
.portfolio-project-card__media{position:relative;display:block;overflow:hidden;background:var(--paper-deep);text-decoration:none}.portfolio-project-card__media>img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.portfolio-project-card__media:hover>img{transform:scale(1.025)}
.portfolio-project-card__media>span{position:absolute;right:.8rem;bottom:.8rem;background:var(--ink-deep);color:#fff;padding:.3rem .6rem;font-size:.75rem}
.portfolio-project-card__comparison{position:absolute;left:.8rem;top:.8rem;background:var(--amber);color:var(--ink-deep);padding:.5rem .7rem;font-size:.75rem}
.portfolio-project-card__body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.portfolio-project-card__meta{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-bottom:1rem;color:var(--blue);font-size:.75rem;line-height:1.5;font-weight:700}
.portfolio-project-card h2{font-size:clamp(1.4rem,2vw,1.75rem);margin-bottom:1rem}.portfolio-project-card h2 a{text-decoration:none}.portfolio-project-card__body>p{font-size:1rem;color:var(--muted);line-height:1.65}
.portfolio-project-card .text-link{margin-top:auto;padding-top:.5rem}.portfolio-filter-empty{padding:3rem;text-align:center;background:var(--paper)}
.portfolio-tiles,.project-detail__media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.portfolio-media{position:relative;display:block;margin:0;color:var(--text);text-decoration:none;background:#fff;border:1px solid var(--line);min-width:0}
.portfolio-media img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--ink-deep)}
.portfolio-media>span{position:absolute;top:.8rem;left:.8rem;background:var(--ink-deep);color:#fff;padding:.45rem .7rem;font-size:.75rem}
.project-detail__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);padding:3rem max(1.5rem,calc((100vw - 1240px)/2));align-items:center;background:#fff}
.project-detail__hero-media{position:relative;grid-column:2;grid-row:1}.project-detail__hero-media img{width:100%;aspect-ratio:1.2;object-fit:cover}
.project-detail__hero-media>span{position:absolute;bottom:1rem;left:1rem;padding:.4rem .8rem;background:var(--ink-deep);color:#fff;font-size:.75rem}
.project-detail__hero-content{grid-column:1;grid-row:1;width:auto;margin:0;min-width:0}.project-detail__hero-content h1{font-size:clamp(2rem,3.8vw,3.6rem)}
.project-detail__hero-content .breadcrumbs{margin-bottom:1.5rem}.project-detail__hero-content .eyebrow{color:var(--blue)}.project-detail__hero-content>p:not(.eyebrow){color:var(--muted)}
.project-detail__comparison,.project-detail__gallery{background:var(--paper);border-top:1px solid var(--line)}
.project-detail__comparison-heading,.project-detail__gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.project-detail__comparison-heading>p,.project-detail__gallery-heading>p{max-width:48ch;font-size:.9375rem;color:var(--muted)}
.project-detail__comparison-grid,.project-detail__story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.project-detail__story-grid{gap:4rem}
.project-detail__story dl{margin:0}.project-detail__story dl>div{padding:1rem 0;border-bottom:1px solid var(--line)}.project-detail__story dt{font-size:.8125rem;font-weight:800;color:var(--blue)}
.project-detail__story dd{margin:.35rem 0 0;font-size:1rem}.project-detail__related .section-heading{margin:0}
.private-review-notice,.private-project-status,.gallery-review-summary{background:var(--amber);color:var(--ink-deep);padding:1rem;font-size:.875rem}
.private-review-notice>span{display:block}.gallery-review-summary__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery-review-summary strong,.gallery-review-summary span{display:block}
.gallery-dialog{position:fixed;inset:0;width:min(1040px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid #526c80;border-radius:4px;background:var(--ink-deep);color:#fff;overflow:auto;z-index:100}
.gallery-dialog::backdrop{background:rgba(3,12,20,.9)}.gallery-dialog__panel{padding:1.1rem}
.gallery-dialog__topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.gallery-dialog__topbar p{display:flex;gap:1rem;margin:0;font-size:.875rem}
.gallery-dialog__topbar button,.gallery-dialog__nav button{min-width:2.75rem;min-height:2.75rem;padding:.6rem;background:transparent;border:1px solid #718797;color:#fff;border-radius:4px}
.gallery-dialog__image{display:flex;align-items:center;justify-content:center;min-height:100px;background:#05101b;touch-action:pan-y}.gallery-dialog__image img{width:auto;max-width:100%;max-height:60dvh;object-fit:contain;margin:auto}
.gallery-dialog figure{margin:0}.gallery-dialog figcaption{padding:1rem .25rem}.gallery-dialog h2{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.gallery-dialog figcaption p{font-size:.9375rem;color:#c6d5e0}
.gallery-dialog__nav{display:flex;justify-content:space-between;gap:1rem}.gallery-dialog__nav button{display:flex;align-items:center;gap:.6rem;font-size:.875rem}.gallery-dialog__previous svg{transform:rotate(180deg)}.gallery-dialog__footer{padding-top:1rem}

/* Guides and legal */
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.resource-card{padding:2rem;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.resource-card__number{font-size:.8125rem;color:var(--blue);margin-bottom:1.5rem}.resource-card h2{font-size:1.65rem}.resource-card p:not(.eyebrow){font-size:1rem;color:var(--muted)}.resource-card .text-link{margin-top:auto}
.resource-card--contact{background:var(--ink-deep);color:#fff}.resource-card--contact h2{color:#fff}.resource-card--contact .eyebrow{color:#9fd6f8}.resource-card--contact p:not(.eyebrow){color:#c7d7e2}.resource-card--contact>div{margin-bottom:1.5rem;color:var(--amber)}
.article-hero{padding:3rem 0;background:var(--paper)}.article-hero .breadcrumbs{margin-bottom:2rem}.article-hero h1{max-width:23ch}.article-hero>.shell>p:not(.eyebrow){max-width:65ch;color:var(--muted)}
.article-meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.8125rem;color:var(--muted)}.article-meta span{display:flex;gap:.5rem;align-items:center}
.article-layout{padding:3rem 0 4rem;background:#fff}.article-layout__grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4rem}
.article-toc{position:sticky;top:110px;font-size:.875rem}.article-toc>p{font-weight:800}.article-toc ol{list-style:none;margin:0 0 1.5rem;padding:0}.article-toc li{margin-bottom:1rem}
.article-toc a{text-decoration:none}.article-toc a:hover{text-decoration:underline}
.copy-checklist{padding:.7rem 1rem;min-height:2.75rem;border:1px solid var(--line);background:var(--paper);color:var(--ink-deep);font-size:.875rem;font-weight:700;display:block;margin-bottom:.75rem;border-radius:4px}
.copy-status{font-size:.8125rem;color:var(--blue)}.article-body{max-width:760px;min-width:0}.article-body>section{margin-bottom:3rem}.article-body h2{font-size:2rem}.article-body p{line-height:1.85}
.article-checklist li{align-items:flex-start}.article-checklist li .icon{flex-shrink:0;margin-top:.3rem;color:var(--blue)}
.article-callout{padding:2rem;background:var(--paper);border-left:3px solid var(--amber)}
.comparison-table-wrap{overflow-x:auto;border:1px solid var(--line)}.comparison-table{border-collapse:collapse;width:100%;min-width:650px;font-size:.8125rem}
.comparison-table caption{text-align:left;padding:1rem;font-weight:700}.comparison-table th,.comparison-table td{border:1px solid var(--line);padding:.7rem;vertical-align:top}.comparison-table th{background:var(--paper);text-align:left}
.comparison-table textarea{display:block;width:100%;min-width:100px;border:1px solid var(--line);resize:vertical;background:#fff;min-height:5rem;padding:.5rem}.comparison-table__group th{background:var(--ink-deep);color:#fff}
.worksheet-actions{margin-top:1rem}.official-tool-list{display:grid;gap:1rem}.official-tool-list>a{display:block;padding:1.5rem;border:1px solid var(--line);text-decoration:none}
.official-tool-list strong,.official-tool-list small{display:block}.official-tool-list>a>svg{float:right}.official-tool-list p{margin-top:1rem;font-size:.9375rem}
.legal{max-width:860px}.legal h2{font-size:1.8rem;margin-top:2.5rem}.legal h2:first-child{margin-top:0}
.not-found{padding:6rem 0;background:var(--ink-deep);color:#d5e0e8}.not-found h1{color:#fff;max-width:20ch}
/* Short estimate form */
.contact-section{padding:2rem 0 4rem;background:var(--paper)}.contact-section .breadcrumbs{margin-bottom:2rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.contact-intro{padding-top:1rem}.contact-intro h1{max-width:12ch;font-size:clamp(2.5rem,4.5vw,4.25rem)}.contact-intro>p:not(.eyebrow){max-width:42ch;color:var(--muted)}
.contact-phone{display:flex;gap:1rem;align-items:center;padding:1.5rem 0;margin-block:1rem;text-decoration:none;border-block:1px solid var(--line)}
.contact-phone>svg{color:var(--blue);width:1.6rem;height:1.6rem}.contact-phone small{display:block;color:var(--muted);font-size:.875rem}.contact-phone strong{font-size:1.45rem;color:var(--ink-deep)}
.contact-next{margin-top:2rem}.contact-next ol{margin:0;padding-left:1.25rem;font-size:1rem}.contact-next li{padding:0 0 1rem .4rem}.contact-note{font-size:.8125rem;margin-top:1.5rem;color:var(--muted)}
.estimate-form{padding:clamp(1.3rem,3vw,2.25rem);background:#fff;border:1px solid var(--line);border-top:3px solid var(--amber);box-shadow:var(--shadow-small)}
.form-heading h2{font-size:1.8rem;margin-bottom:.6rem}.form-heading p{font-size:.875rem;color:var(--muted);margin-bottom:1.5rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.form-grid__full{grid-column:1/-1}.form-grid label{display:block;min-width:0}
.form-grid label>span{display:block;margin-bottom:.45rem;font-size:.875rem;font-weight:700}.form-grid label b,.check-choice-group b{font-size:.75rem;font-weight:500;color:var(--muted);margin-left:.35rem}
.form-grid label small{font-size:.75rem;font-weight:500;color:var(--muted)}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;max-width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #92a7b5;border-radius:4px;background:#fff;color:var(--ink-deep);font-size:1rem;line-height:1.5}
.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--blue)}
.field-help{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:.75rem 0 1.2rem}
.estimate-details{border-block:1px solid var(--line);margin:1.5rem 0}.estimate-details>summary{padding:1.1rem 0;cursor:pointer;font-size:.9375rem;font-weight:800;color:var(--ink-mid)}
.estimate-details__body{padding:.5rem 0 1rem}.check-choice-group{margin-top:1.5rem}.check-choice-group>p{font-size:.875rem;font-weight:700;margin-bottom:.75rem}
.check-choice-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}.check-choice-grid label{display:flex;align-items:start;gap:.6rem;min-height:2.75rem;font-size:.875rem;line-height:1.5;padding:.5rem;background:var(--paper)}
.check-choice-grid input,.consent input{flex-shrink:0;width:1.15rem;height:1.15rem;margin:.1rem 0 0;accent-color:var(--blue)}
.consent{display:flex;gap:.7rem;align-items:start;margin:1.5rem 0;font-size:.8125rem;line-height:1.7}.form-submit{width:100%;min-height:3.25rem}
.form-fallback{font-size:.8125rem;margin:1rem 0 0;text-align:center;color:var(--muted)}.form-status{display:none}.form-status.is-visible{display:block;margin:1rem 0;padding:1rem;border:1px solid var(--line);font-size:1rem}
.form-status.is-error{background:#fff2ed;border-color:#bd6547;color:#772c17}.form-status.is-success{background:#edf8f1;border-color:#5a926e;color:#1e5634}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.estimate-form[aria-busy=true] [data-estimate-fields]{opacity:.7}
/* Responsive layouts */
@media(max-width:1100px){
.site-header__inner{min-height:4.5rem;gap:1rem}.brand img{width:215px}.nav-toggle{display:flex}.header-cta{display:none}
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 5rem);overflow:auto;padding:1rem 1.5rem 2rem;background:var(--ink-deep);border-top:1px solid #354d60}
.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:.3rem}.site-nav>a:not(.site-nav__cta){padding:.9rem 0;font-size:1rem}.site-nav__cta{display:flex;margin-top:.7rem}
.portfolio-project-grid,.area-card-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem}.signature-service{padding:1.5rem}.connected-work,.connected-directory__grid{gap:2.5rem}.article-layout__grid{grid-template-columns:200px minmax(0,1fr);gap:2.5rem}
}
@media(max-width:800px){
.home-hero__grid,.hero--project-photo,.project-detail__hero{grid-template-columns:minmax(0,1fr);gap:1.5rem}
.home-hero{padding:1.75rem 0 2rem}.home-hero__copy{padding:0}.home-hero h1{font-size:clamp(2.5rem,7.5vw,3.6rem)}.home-hero__photo>img{aspect-ratio:1.5}
.hero--project-photo .hero__content,.project-detail__hero-content{grid-column:1;grid-row:1}.hero--project-photo .hero__media,.project-detail__hero-media{grid-column:1;grid-row:2}
.hero,.project-detail__hero{padding:2rem 1.5rem}.hero--project-photo .hero__media img,.project-detail__hero-media img{aspect-ratio:1.5}
.split,.split--wide,.service-opening,.page-intro__grid,.contact-layout,.connected-work,.connected-directory__grid,.home-plan__grid,.project-detail__story-grid,.final-cta__inner{grid-template-columns:minmax(0,1fr);gap:2rem}
.signature-services{grid-template-columns:minmax(0,1fr)}.signature-service{padding:1.75rem}.signature-service__top{margin-bottom:1.5rem}
.project-system__track,.process-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.service-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.section-heading-row,.service-projects__heading,.home-signature__intro,.project-system__intro,.project-detail__comparison-heading,.project-detail__gallery-heading{align-items:start;flex-direction:column;gap:1rem}
.section-heading-row>.button,.home-signature__intro>.button,.project-system__intro>.button{margin:0}
.contact-section{padding-top:1.25rem}.contact-intro h1{max-width:none;font-size:2.5rem}.contact-intro>p:not(.eyebrow){max-width:none}.contact-phone{padding:.9rem 0;margin:1rem 0 0}.contact-phone strong{font-size:1.2rem}
.contact-next,.contact-intro>.contact-note{display:none}.contact-layout{gap:1.5rem}.contact-section .breadcrumbs{margin-bottom:1rem}.contact-intro{padding:0}.contact-intro .eyebrow{margin-bottom:.5rem}
.contact-intro h1{margin-bottom:.8rem}.estimate-form{box-shadow:none}
.article-layout__grid{grid-template-columns:minmax(0,1fr);gap:2rem}.article-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:1.5rem}.article-toc ol{columns:2;column-gap:1.5rem}
.article-toc .copy-checklist{display:inline-block;margin-right:.4rem}.final-cta .button-row{justify-content:flex-start;margin-top:0}
body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.mobile-actions{position:fixed;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:.65rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--ink-deep);border-top:1px solid #486072}
.mobile-actions a{display:flex;justify-content:center;align-items:center;gap:.6rem;min-height:2.8rem;color:#fff;font-size:.875rem;font-weight:800;text-decoration:none;border:1px solid #6b8293;border-radius:4px}
.mobile-actions a:last-child{color:var(--ink-deep);background:var(--amber);border-color:var(--amber)}
body.nav-open .mobile-actions,body.gallery-modal-open .mobile-actions,body.form-focused .mobile-actions,.page-contact .mobile-actions{display:none}
body.page-contact{padding-bottom:0}.site-footer{padding-top:3rem}
}
@media(max-width:600px){
.shell{width:calc(100% - 2rem)}.topline__inner{gap:.5rem}.topline__inner>span:not(:first-child){display:none}.topline{font-size:.75rem}
.site-header__inner{min-height:4.25rem}.brand img{width:190px}.site-header .shell{width:calc(100% - 2rem)}
.home-hero h1{font-size:clamp(2.25rem,9.5vw,3.25rem)}.home-hero__tagline{margin-top:1.3rem}.home-hero__photo figcaption{padding:1rem}.home-hero__photo figcaption span{font-size:.75rem}
.button-row{gap:.7rem}.button{padding:.8rem 1rem}.hero,.project-detail__hero{padding-inline:1rem}.hero__credibility{gap:.75rem}
.portfolio-project-grid,.area-card-grid,.resource-grid,.service-grid,.service-grid--four,.fit-grid,.project-detail__media-grid,.project-detail__comparison-grid,.portfolio-tiles{grid-template-columns:minmax(0,1fr)}
.portfolio-project-card__body{padding:1.3rem}.portfolio-project-card h2{font-size:1.7rem}
.portfolio-filters{padding:.85rem}.portfolio-filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.portfolio-filter-chips>button{flex-shrink:0;white-space:nowrap}
.work-hero{padding:1.75rem 0 1.5rem}.work-hero h1{font-size:2.5rem}.work-hero p{font-size:1rem}.work-hero .breadcrumbs{margin-bottom:1rem}
.project-system__track,.process-grid{gap:1.5rem}.connected-work>div:nth-child(2),.connected-directory__links{grid-template-columns:minmax(0,1fr)}
.home-resource,.page-intro__aside,.about-manifesto,.artifact-card,.boundary-card,.estimate-card,.area-card-grid article,.resource-card{padding:1.5rem}
.scope-note{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0}.page-intro{padding:2rem 0}.page-intro .breadcrumbs{margin-bottom:1.5rem}
.identity-band{grid-template-columns:minmax(0,1fr);gap:1rem}.identity-band>a{grid-column:1}.check-list--columns{grid-template-columns:minmax(0,1fr)}
.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 1.5rem}.footer-brand{grid-column:1/-1}.footer-bottom{gap:.75rem;flex-direction:column}.footer-bottom>a{margin-left:0}
.form-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.form-grid__full{grid-column:auto}.check-choice-grid{grid-template-columns:minmax(0,1fr)}
.contact-intro h1{font-size:2.15rem}.contact-phone small{font-size:.8125rem}.estimate-form{padding:1.2rem}.form-heading h2{font-size:1.65rem}
.article-hero{padding:2rem 0}.article-hero h1{font-size:2.3rem}.article-body h2{font-size:1.8rem}.article-toc ol{columns:1}
.gallery-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.gallery-dialog__panel{padding:.7rem}.gallery-dialog__image img{max-height:53dvh}
.gallery-dialog h2{font-size:1.25rem}.gallery-dialog__footer .button{width:100%}.project-detail__comparison-heading p,.project-detail__gallery-heading p{max-width:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{
body{padding:0!important;background:#fff;color:#000;font-size:11pt}
.site-header,.topline,.preview-banner,.site-footer,.mobile-actions,.final-cta,.article-toc,.button-row,.copy-checklist,.worksheet-actions,.gallery-dialog{display:none!important}
.shell{width:100%;max-width:none}.section,.article-layout,.article-hero{padding:12pt 0}.article-layout__grid,.split{display:block}.article-body{max-width:none}
h1{font-size:26pt}h2{font-size:19pt}h3{font-size:14pt}h1,h2,h3{break-after:avoid}p,li{orphans:3;widows:3}
.comparison-table-wrap{overflow:visible}.comparison-table{min-width:0;font-size:8pt}.comparison-table textarea{min-width:0;min-height:40pt;resize:none;font-size:8pt}
.comparison-table tr{break-inside:avoid}.comparison-table textarea::placeholder{color:transparent}.article-checklist li{padding:5pt 0 5pt 15pt}
}
/* Existing private control-room styles */
.page-control-room{
  background: #edf2f5;
}
.control-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(66px, 8vw, 112px) 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(70, 167, 235, 0.2), transparent 26%),
    linear-gradient(135deg, #06131f, #0b2840 62%, #123b5a);
  color: var(--white);
}
.control-hero::after{
  position: absolute;
  width: 420px;
  height: 420px;
  right: -170px;
  bottom: -290px;
  border: 72px solid rgba(229, 169, 61, 0.13);
  border-radius: 50%;
  content: "";
}
.control-hero .shell{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.55fr);
  gap: 70px;
  align-items: center;
}
.control-hero h1{
  max-width: 850px;
  margin: 10px 0 22px;
  color: var(--white);
  font-size: clamp(3.2rem, 7vw, 7rem);
  line-height: 0.9;
}
.control-hero p:not(.eyebrow){
  max-width: 740px;
  color: #c8d8e3;
}
.control-hero__state{
  display: grid;
  gap: 8px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(16px);
}
.control-hero__state > span{
  color: var(--amber);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.1em;
}
.control-hero__state strong{
  font-family: var(--font-display);
  font-size: 28px;
}
.control-hero__state small{
  color: #b7cbd8;
}
.control-hero__state a{
  margin-top: 12px;
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
}
.control-status{
  position: sticky;
  z-index: 25;
  top: 90px;
  margin: 16px auto 0;
  padding: 13px 16px;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: var(--shadow-small);
  font-size: 13px;
  font-weight: 750;
}
.control-status.is-error{
  border-color: #bd4444;
  background: #fff1f1;
  color: #761d1d;
}
.control-status.is-success{
  border-color: var(--green);
  background: #eefaf5;
  color: #155d44;
}
.control-summary{
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}
.control-summary__grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid var(--line);
}
.control-summary__grid > div{
  display: grid;
  gap: 4px;
  min-height: 115px;
  padding: 18px;
  border-right: 1px solid var(--line);
}
.control-summary__grid > div:last-child{
  border-right: 0;
}
.control-summary__grid span{
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.control-summary__grid strong{
  color: var(--ink-deep);
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1;
}
.control-summary__grid small{
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.control-section-heading,
.control-assets-heading{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.6fr);
  gap: 44px;
  align-items: end;
  margin-bottom: 28px;
}
.control-section-heading h2,
.control-assets-heading h2{
  margin: 6px 0 0;
  color: var(--ink-deep);
  font-size: clamp(2.2rem, 4vw, 4.2rem);
}
.control-section-heading > p,
.control-assets-heading > p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.control-filters,
.control-bulk{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 10px 32px rgba(7, 23, 38, 0.05);
}
.control-filters label,
.control-bulk label,
.control-project label,
.control-release label{
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}
.control-filters label > span,
.control-bulk label > span,
.control-project label > span,
.control-release label > span{
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.control-filters input,
.control-filters select,
.control-bulk input,
.control-bulk select,
.control-project input,
.control-project select,
.control-project textarea,
.control-release input{
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid #b9c8d2;
  border-radius: 2px;
  background: var(--white);
  color: var(--ink-deep);
  font-size: 12px;
}
.control-filters > .button{
  align-self: end;
  min-height: 44px;
}
.control-bulk{
  position: sticky;
  z-index: 12;
  top: 92px;
  grid-template-columns: minmax(135px, 0.65fr) repeat(4, minmax(135px, 1fr));
  margin-bottom: 58px;
  border-color: rgba(70, 167, 235, 0.5);
  background: #f8fcff;
  box-shadow: 0 18px 50px rgba(7, 23, 38, 0.14);
}
.control-bulk__selected{
  display: grid;
  align-content: center;
  gap: 5px;
}
.control-bulk__selected label,
.control-bulk__resolve{
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.control-bulk input[type="checkbox"]{
  width: 18px;
  min-height: 18px;
  margin-top: 1px;
}
.control-bulk__resolve,
.control-bulk__reason{
  grid-column: span 2;
}
.control-bulk > .button{
  align-self: end;
  min-height: 44px;
}
.control-assets{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.control-asset{
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 10px 30px rgba(7, 23, 38, 0.06);
}
.control-asset.is-selected{
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(70, 167, 235, 0.25), 0 18px 42px rgba(7, 23, 38, 0.12);
}
.control-asset__select{
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(7, 23, 38, 0.85);
}
.control-asset__select input{
  width: 18px;
  height: 18px;
  accent-color: var(--amber);
}
.control-asset__image{
  position: relative;
  width: 100%;
  height: 260px;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--ink-deep);
  cursor: zoom-in;
}
.control-asset__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.control-asset__image > span{
  position: absolute;
  right: 11px;
  bottom: 11px;
  padding: 5px 8px;
  background: rgba(7, 23, 38, 0.84);
  color: var(--white);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.control-asset__body{
  display: grid;
  gap: 8px;
  padding: 20px;
}
.control-asset__heading{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
}
.control-asset h3{
  margin: 2px 0;
  color: var(--ink-deep);
  font-size: 21px;
}
.control-asset__body > p{
  min-height: 58px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.control-asset__body > small{
  overflow: hidden;
  color: #6d7f8c;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.control-asset__risks{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-top: 7px;
}
.control-asset dl{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 6px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.control-asset dl div{
  min-width: 0;
}
.control-asset dt{
  color: var(--blue);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.control-asset dd{
  margin: 2px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
}
.control-pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.control-pagination button{
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink-deep);
  cursor: pointer;
  font-weight: 800;
}
.control-pagination button:disabled{
  opacity: 0.45;
  cursor: not-allowed;
}
.control-pagination span{
  color: var(--muted);
  font-size: 12px;
}
.control-projects{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.control-project{
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 12px 34px rgba(7, 23, 38, 0.07);
}
.control-project__cover{
  position: relative;
  min-height: 100%;
  background: var(--ink-deep);
}
.control-project__cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.control-project__cover span{
  position: absolute;
  right: 9px;
  bottom: 9px;
  padding: 5px 7px;
  background: rgba(7, 23, 38, 0.83);
  color: var(--white);
  font-size: 9px;
  font-weight: 800;
}
.control-project form{
  padding: 20px;
}
.control-project__heading{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.control-project__heading small{
  color: var(--blue);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
}
.control-project__heading h3{
  margin: 3px 0 0;
  color: var(--ink-deep);
  font-size: 22px;
}
.control-project__metrics{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}
.control-project__fields{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.control-project__scope{
  grid-column: 1 / -1;
}
.control-project textarea{
  min-height: 88px;
  resize: vertical;
}
.control-project__actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}
.control-project__actions .text-link{
  grid-column: 1 / -1;
}
.control-release__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.62fr);
  gap: 70px;
  align-items: center;
}
.control-release h2{
  margin: 8px 0 16px;
  color: var(--white);
  font-size: clamp(2.7rem, 5vw, 5.2rem);
}
.control-release p:not(.eyebrow){
  color: #c4d2dc;
}
.control-release form{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 28px;
}
.control-release label > span{
  color: #c4d2dc;
}
.control-release aside{
  display: grid;
  gap: 9px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
}
.control-release aside strong{
  color: var(--white);
  font-family: var(--font-display);
  font-size: 24px;
}
.control-release aside span{
  color: #b9cad6;
  font-size: 12px;
}
.control-release aside a{
  color: var(--amber);
  font-size: 12px;
  font-weight: 800;
}
.control-audit{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.control-audit li{
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--white);
}
.control-audit li > span{
  color: var(--blue);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
}
.control-audit strong,
.control-audit small{
  display: block;
}
.control-audit strong{
  color: var(--ink-deep);
  font-size: 12px;
}
.control-audit small{
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}
.control-empty{
  grid-column: 1 / -1;
  padding: 50px;
  border: 1px dashed var(--line);
  background: var(--white);
  text-align: center;
}
@media (max-width: 1100px){
.control-summary__grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.control-summary__grid > div:nth-child(3n){
    border-right: 0;
  }
.control-summary__grid > div:nth-child(-n + 3){
    border-bottom: 1px solid var(--line);
  }
.control-filters{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.control-bulk{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.control-assets{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.control-projects{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px){

  .control-hero .shell,
  .control-section-heading,
  .control-assets-heading,
  .control-release__grid{
    grid-template-columns: 1fr;
  }
.control-bulk{
    position: static;
  }
.control-release form{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px){
.control-summary__grid,
  .control-filters,
  .control-bulk,
  .control-assets,
  .control-project__fields,
  .control-project__actions,
  .control-audit{
    grid-template-columns: 1fr;
  }
.control-summary__grid > div,
  .control-summary__grid > div:nth-child(3n){
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
.control-summary__grid > div:last-child{
    border-bottom: 0;
  }
.control-bulk__resolve,
  .control-bulk__reason,
  .control-project__scope{
    grid-column: 1;
  }
.control-project{
    grid-template-columns: 1fr;
  }
.control-project__cover{
    height: 220px;
  }
.control-project__actions .text-link{
    grid-column: 1;
  }
.control-asset__image{
    height: min(76vw, 390px);
  }
}
