﻿@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-var.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/instrument-sans-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--color-navy: #0b1f3a;--color-navy-mid: #14305a;--color-navy-soft: #4a5870;--color-paper: #f7f3ea;--color-mist: #e6dfcf;--color-gold: #e3a92f;--color-gold-light: #f2c968;--color-gold-deep: #7a5600;--color-error: #9b1c1c;--color-error-light: #ff9e92;--color-success: #14663a;--color-success-light: #86e0a8;--space-3xs: 0.25rem;--space-2xs: 0.5rem;--space-xs: 0.75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--step-display: clamp(2.75rem, 1.4rem + 6.4vw, 8rem);--step-h1: clamp(2.25rem, 1.5rem + 3.4vw, 5rem);--step-h2: clamp(1.75rem, 1.3rem + 2vw, 3.25rem);--step-h3: clamp(1.375rem, 1.15rem + 1vw, 2rem);--step-h4: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);--step-body: 1rem;--step-small: 0.875rem;--font-display: Bricolage Grotesque, Arial Narrow, Arial, sans-serif;--font-body: Instrument Sans, system-ui, -apple-system, Segoe UI, sans-serif;--font-accent: Instrument Serif, Georgia, Times New Roman, serif;--radius-sm: 0.25rem;--radius-md: 0.5rem;--radius-pill: 62.5rem;--duration-fast: 150ms;--duration-base: 250ms;--duration-reveal: 600ms;--easing: cubic-bezier(0.2, 0.7, 0.2, 1);--container-max: 90rem;--measure: 65ch;--touch-target: 2.75rem;--gutter: clamp(1rem, 0.5rem + 2.5vw, 3rem);--grid-gap: clamp(1rem, 0.6rem + 2vw, 2.5rem);--header-height: 4.5rem;--section-space: clamp(4rem, 2.5rem + 7vw, 9rem);--color-bg: var(--color-paper);--color-surface: var(--color-mist);--color-text: var(--color-navy);--color-text-muted: var(--color-navy-soft);--color-accent: var(--color-gold-deep);--color-link: var(--color-navy);--color-link-hover: var(--color-navy-mid);--color-focus: var(--color-navy);--color-error-text: var(--color-error);--color-success-text: var(--color-success);--color-rule: color-mix(in srgb, var(--color-navy) 22%, transparent);--color-action-bg: var(--color-navy);--color-action-text: var(--color-paper);--color-action-hover-bg: var(--color-navy-mid);--color-field-bg: var(--color-paper);--color-field-text: var(--color-navy);--color-field-border: var(--color-navy-soft);color-scheme:light}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6rem}body{min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none;padding:0}[hidden]{display:none !important}body{font-family:var(--font-body);font-size:var(--step-body);line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-0.02em;text-wrap:balance}h1{font-size:var(--step-h1)}h2{font-size:var(--step-h2)}h3{font-size:var(--step-h3);line-height:1.15}h4{font-size:var(--step-h4);line-height:1.25}p{max-width:var(--measure);text-wrap:pretty}small{font-size:var(--step-small)}a{color:var(--color-link);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}@media(hover: hover){a:hover{color:var(--color-link-hover);text-decoration-thickness:.16em}}strong{font-weight:700}em{font-family:var(--font-accent);font-style:italic;font-weight:400}::selection{background-color:var(--color-gold);color:var(--color-navy)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(forced-colors: active){:focus-visible{outline-color:Highlight}}.u-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.u-visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:52rem}.section{padding-block:var(--section-space);background-color:var(--color-bg);color:var(--color-text)}.section--tight{padding-block:calc(var(--section-space)/2)}.section--surface{background-color:var(--color-surface)}.grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--grid-gap)}@media(min-width: 40em){.grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 40em){.grid--3{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 64em){.grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 64em){.grid--12{grid-template-columns:repeat(12, minmax(0, 1fr))}}.grid--align-start{align-items:start}.grid__item{min-width:0}@media(min-width: 64em){.grid__item--span-3{grid-column-end:span 3}.grid__item--span-4{grid-column-end:span 4}.grid__item--span-5{grid-column-end:span 5}.grid__item--span-6{grid-column-end:span 6}.grid__item--span-7{grid-column-end:span 7}.grid__item--span-8{grid-column-end:span 8}.grid__item--span-9{grid-column-end:span 9}.grid__item--span-12{grid-column-end:span 12}.grid__item--start-1{grid-column-start:1}.grid__item--start-2{grid-column-start:2}.grid__item--start-3{grid-column-start:3}.grid__item--start-4{grid-column-start:4}.grid__item--start-5{grid-column-start:5}.grid__item--start-6{grid-column-start:6}.grid__item--start-7{grid-column-start:7}.grid__item--start-8{grid-column-start:8}}html[data-menu-open]{overflow:hidden}@keyframes menu-in{from{opacity:0;transform:translateY(-0.5rem)}to{opacity:1;transform:none}}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-rule)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:var(--header-height);padding-block:var(--space-2xs)}.site-header__brand{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:var(--touch-target);color:var(--color-text);text-decoration:none}@media(hover: hover){.site-header__brand:hover{color:var(--color-text)}}.site-header__toggle{position:relative;z-index:2;display:none;align-items:center;gap:var(--space-xs);min-height:var(--touch-target);padding:0 var(--space-sm);border:2px solid var(--color-text);border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:600;color:var(--color-text)}:where(:root[data-nav-js]) .site-header__toggle{display:inline-flex}@media(min-width: 64em){.site-header__toggle{display:none !important}}.site-header__toggle-icon{position:relative;width:1.25rem;height:.875rem;border-block:2px solid currentColor}.site-header__toggle-icon::before,.site-header__toggle-icon::after{content:"";position:absolute;inset-inline:0;top:50%;height:2px;margin-top:-1px;background-color:currentColor}.site-header__toggle-icon::after{opacity:0}@media(prefers-reduced-motion: no-preference){.site-header__toggle-icon{transition:border-color var(--duration-fast) var(--easing)}.site-header__toggle-icon::before,.site-header__toggle-icon::after{transition:transform var(--duration-base) var(--easing)}}.site-header__toggle[aria-expanded=true]>.site-header__toggle-icon{border-color:rgba(0,0,0,0)}.site-header__toggle[aria-expanded=true]>.site-header__toggle-icon::before{transform:rotate(45deg)}.site-header__toggle[aria-expanded=true]>.site-header__toggle-icon::after{opacity:1;transform:rotate(-45deg)}.site-header__panel{flex-basis:100%;padding-bottom:var(--space-md)}:where(:root[data-nav-js]) .site-header__panel:not([data-state=open]){display:none}:where(:root[data-nav-js]) .site-header__panel[data-state=open]{position:fixed;inset:0;z-index:1;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--header-height) + var(--space-md)) var(--gutter) var(--space-xl);background-color:var(--color-bg)}@media(prefers-reduced-motion: no-preference){:where(:root[data-nav-js]) .site-header__panel[data-state=open]{animation:menu-in var(--duration-base) var(--easing)}}@media(min-width: 64em){.site-header__panel{flex-basis:auto;padding-bottom:0}.site-header__panel:not([data-state=open]),.site-header__panel[data-state=open]{position:static;display:block;overflow:visible;padding:0;background-color:rgba(0,0,0,0);animation:none}}.site-nav__list{display:flex;flex-direction:column;gap:var(--space-3xs);margin:0;padding:0;list-style:none}@media(min-width: 64em){.site-nav__list{flex-direction:row;align-items:center;gap:var(--space-2xs)}}.site-nav__item{position:relative}.site-nav__item--cta{margin-top:var(--space-xs)}@media(min-width: 64em){.site-nav__item--cta{margin-top:0;margin-inline-start:var(--space-xs)}}.site-nav__link,.site-nav__trigger,.site-nav__sublink{display:flex;align-items:center;gap:var(--space-2xs);min-height:var(--touch-target);padding:.5rem var(--space-xs);font-family:var(--font-display);font-weight:600;color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm)}@media(hover: hover){.site-nav__link:hover,.site-nav__trigger:hover,.site-nav__sublink:hover{color:var(--color-text);text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.3em}}.site-nav__link,.site-nav__trigger{font-size:1.5rem}@media(min-width: 64em){.site-nav__link,.site-nav__trigger{font-size:1rem}}.site-nav__link[aria-current],.site-nav__sublink[aria-current],.site-nav__trigger[data-current=true]{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:.2em;text-underline-offset:.35em}.site-nav__trigger{width:100%;justify-content:space-between;text-align:start}@media(min-width: 64em){.site-nav__trigger{width:auto}}.site-nav__trigger::after{content:"";flex:none;width:.5rem;height:.5rem;margin-top:-0.25rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}@media(prefers-reduced-motion: no-preference){.site-nav__trigger::after{transition:transform var(--duration-fast) var(--easing)}}:where(:root:not([data-nav-js])) .site-nav__trigger::after{display:none}.site-nav__trigger[aria-expanded=true]::after{margin-top:.25rem;transform:rotate(-135deg)}.site-nav__panel{margin:0;padding:0 0 0 var(--space-sm);list-style:none}:where(:root[data-nav-js]) .site-nav__panel:not([data-state=open]){display:none}@media(min-width: 64em){.site-nav__panel{position:absolute;inset-inline-start:0;top:100%;min-width:17rem;padding:var(--space-2xs);background-color:var(--color-bg);border:2px solid var(--color-text);border-radius:var(--radius-sm)}:where(:root:not([data-nav-js])) .site-nav__panel{position:static;min-width:0;border:0;padding:0}}.site-nav__sublink{font-weight:500}.site-footer{padding-block:var(--space-3xl) var(--space-lg);background-color:var(--color-bg);color:var(--color-text);border-top:1px solid var(--color-rule)}.site-footer__top{display:grid;gap:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}@media(min-width: 40em){.site-footer__top{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 64em){.site-footer__top{grid-template-columns:minmax(0, 1.4fr) repeat(3, minmax(0, 1fr))}}.site-footer__brand{display:grid;gap:var(--space-sm);align-content:start;justify-items:start}@media(min-width: 40em){.site-footer__brand{grid-column:1/-1}}@media(min-width: 64em){.site-footer__brand{grid-column:auto}}.site-footer__logo{display:inline-flex;align-items:center;min-height:var(--touch-target);color:var(--color-text);text-decoration:none}@media(hover: hover){.site-footer__logo:hover{color:var(--color-text)}}.site-footer__statement{max-width:28ch;color:var(--color-text-muted)}.site-footer__heading{margin-bottom:var(--space-xs);font-family:var(--font-body);font-size:var(--step-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.site-footer__list{display:grid;gap:var(--space-3xs);margin:0;padding:0;list-style:none}.site-footer__link{display:inline-flex;align-items:center;min-height:var(--touch-target)}.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-xs) var(--space-lg);padding-top:var(--space-lg);font-size:var(--step-small);color:var(--color-text-muted)}.site-footer__legal{display:flex;flex-wrap:wrap;gap:0 var(--space-md);margin:0;padding:0;list-style:none}.split{display:grid;gap:var(--space-xl)}@media(min-width: 64em){.split{grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:var(--grid-gap);align-items:start}}.skip-link{position:absolute;inset-block-start:var(--space-xs);inset-inline-start:var(--space-xs);z-index:200;padding:var(--space-xs) var(--space-md);background-color:var(--color-gold);color:var(--color-navy);font-family:var(--font-display);font-weight:700;border:2px solid var(--color-navy);border-radius:var(--radius-sm)}.skip-link:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus-visible{outline-color:var(--color-navy)}.logo{display:inline-flex;align-items:center;gap:var(--space-xs);line-height:1}.logo__mark{flex:none;width:1.75rem;height:auto;color:inherit}.logo__text{display:grid;gap:.2em}.logo__name{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-0.02em}.logo__descriptor{font-size:.6875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.logo--large .logo__mark{width:2.5rem}.button{--button-bg: transparent;--button-text: var(--color-text);--button-border: var(--color-text);--button-hover-bg: var(--color-text);--button-hover-text: var(--color-bg);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:var(--touch-target);padding:.75rem 1.5rem;border:2px solid var(--button-border);border-radius:var(--radius-sm);background-color:var(--button-bg);color:var(--button-text);font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}@media(prefers-reduced-motion: no-preference){.button{transition:background-color var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing)}}@media(hover: hover){.button:hover{background-color:var(--button-hover-bg);border-color:var(--button-hover-bg);color:var(--button-hover-text);text-decoration:none}}@media(prefers-reduced-motion: no-preference){.button:active{transform:translateY(1px)}}@media(prefers-reduced-motion: no-preference){.button__icon{transition:transform var(--duration-base) var(--easing)}}@media(hover: hover){.button:hover .button__icon{transform:translateX(0.25rem)}}.button--primary{--button-bg: var(--color-action-bg);--button-text: var(--color-action-text);--button-border: var(--color-action-bg);--button-hover-bg: var(--color-action-hover-bg);--button-hover-text: var(--color-action-text)}.button--secondary{--button-bg: transparent}.button--small{min-height:var(--touch-target);padding:.5rem 1rem;font-size:.9375rem}.button:disabled,.button[aria-disabled=true]{--button-bg: var(--color-surface);--button-text: var(--color-navy-soft);--button-border: var(--color-navy-soft);--button-hover-bg: var(--color-surface);--button-hover-text: var(--color-navy-soft);cursor:not-allowed}.text-link{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:var(--touch-target);font-family:var(--font-display);font-weight:700;color:var(--color-link)}@media(prefers-reduced-motion: no-preference){.text-link__icon{transition:transform var(--duration-base) var(--easing)}}@media(hover: hover){.text-link:hover .text-link__icon{transform:translateX(0.25rem)}}.section-heading{display:grid;gap:var(--space-sm);margin-bottom:var(--space-xl)}.section-heading__eyebrow{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.section-heading__title{max-width:18ch}.section-heading__lead{max-width:48ch;font-size:1.125rem;color:var(--color-text-muted)}.section-heading--wide .section-heading__title{max-width:28ch}.section-heading--flush{margin-bottom:0}.service-card{position:relative;display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:start;gap:var(--space-xs) var(--space-md);padding:var(--space-md) var(--space-xs);border-top:1px solid var(--color-rule)}@media(min-width: 64em){.service-card{grid-template-columns:4rem minmax(0, 1fr) minmax(0, 1.2fr) auto;align-items:center;padding-block:var(--space-lg)}}@media(prefers-reduced-motion: no-preference){.service-card{transition:background-color var(--duration-base) var(--easing)}}.service-card:last-child{border-bottom:1px solid var(--color-rule)}.service-card:has(.service-card__link:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}@media(hover: hover){.service-card:hover{background-color:var(--color-surface)}}.service-card__number{font-family:var(--font-display);font-weight:700;color:var(--color-accent)}.service-card__title{font-size:var(--step-h3)}.service-card__link{color:var(--color-text);text-decoration:none}.service-card__link:focus-visible{outline:0}.service-card__link::after{content:"";position:absolute;inset:0}.service-card__text{grid-column:2/-1;color:var(--color-text-muted)}@media(min-width: 64em){.service-card__text{grid-column:auto}}.service-card__arrow{grid-row:1;grid-column:3;font-size:1.5rem;line-height:1}@media(min-width: 64em){.service-card__arrow{grid-row:auto;grid-column:auto}}@media(prefers-reduced-motion: no-preference){.service-card__arrow{transition:transform var(--duration-base) var(--easing)}}@media(hover: hover){.service-card:hover .service-card__arrow{transform:translateX(0.375rem)}}.project-card{position:relative;display:grid;gap:var(--space-sm);align-content:start}.project-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background-color:var(--color-surface);border:2px solid var(--color-text);border-radius:var(--radius-sm);box-shadow:0 .5rem 0 -0.0625rem var(--color-text);margin-bottom:.5rem}.project-card__image{width:100%;height:100%;object-fit:cover}@media(prefers-reduced-motion: no-preference){.project-card__image{transition:transform var(--duration-reveal) var(--easing)}}.project-card__label{position:absolute;inset-block-start:var(--space-xs);inset-inline-start:var(--space-xs);padding:.25rem .625rem;background-color:var(--color-navy);color:var(--color-paper);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm)}.project-card__content{display:grid;gap:var(--space-2xs)}.project-card__meta{font-size:var(--step-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.project-card__title{font-size:var(--step-h3)}.project-card__link{color:var(--color-text);text-decoration:none}.project-card__link::after{content:"";position:absolute;inset:0}.project-card__link:focus-visible{outline:0}.project-card__description{color:var(--color-text-muted)}.project-card:has(.project-card__link:focus-visible) .project-card__media{outline:3px solid var(--color-focus);outline-offset:2px}@media(hover: hover){.project-card:has(.project-card__link):hover .project-card__image{transform:scale(1.04)}}.project-card__status{font-size:var(--step-small);font-weight:700;color:var(--color-text-muted)}.project-card--arch .project-card__media{border-top-left-radius:50% 30%;border-top-right-radius:50% 30%}.project-card--arch .project-card__label{inset-block-start:auto;inset-block-end:var(--space-xs)}.project-card--featured .project-card__media,.project-card--web .project-card__media{aspect-ratio:16/10}.project-card--brand .project-card__media{aspect-ratio:1/1}.project-card--enterprise .project-card__media{aspect-ratio:16/9}.project-card--mobile .project-card__media{aspect-ratio:3/4}.project-card__role{max-width:52ch;font-size:var(--step-small)}.project-card__role-label{font-weight:700}.project-card__services{display:flex;flex-wrap:wrap;gap:var(--space-3xs);margin:var(--space-3xs) 0 0;padding:0;list-style:none}.project-card__service{padding:.125rem .625rem;border:1px solid var(--color-text-muted);border-radius:var(--radius-pill);font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.project-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs) var(--space-md);margin-top:var(--space-xs)}.breadcrumb{padding-block:var(--space-sm);font-size:var(--step-small)}.breadcrumb__list{display:flex;flex-wrap:wrap;gap:0 var(--space-2xs);margin:0;padding:0;list-style:none}.breadcrumb__item{display:inline-flex;align-items:center;gap:var(--space-2xs)}.breadcrumb__item:not(:last-child)::after{content:"/";content:"/"/"";color:var(--color-text-muted)}.breadcrumb__link{display:inline-flex;align-items:center;min-height:var(--touch-target)}.breadcrumb__text{color:var(--color-text-muted)}.breadcrumb__current{font-weight:700}.field{display:grid;gap:var(--space-2xs)}.field__label{font-weight:700}.field__required{color:var(--color-text-muted);font-weight:400}.field__hint{font-size:var(--step-small);color:var(--color-text-muted)}.field__control{width:100%;min-height:var(--touch-target);padding:.625rem var(--space-sm);background-color:var(--color-field-bg);color:var(--color-field-text);border:2px solid var(--color-field-border);border-radius:var(--radius-sm)}.field__control::placeholder{color:var(--color-navy-soft);opacity:1}.field__control[aria-invalid=true]{border-color:var(--color-error);box-shadow:inset .375rem 0 0 var(--color-error)}.field__control:disabled{background-color:var(--color-surface);color:var(--color-navy-soft);cursor:not-allowed}.field__control--textarea{min-height:9rem;resize:vertical}.field__control--select{padding-inline-end:2.75rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230b1f3a' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:.75rem}.field__error{display:flex;gap:var(--space-2xs);font-size:var(--step-small);font-weight:700;color:var(--color-error-text)}.field__error::before{content:"!";flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;border:2px solid currentColor;border-radius:50%;font-size:.75rem;line-height:1}.checkbox{display:flex;align-items:flex-start;gap:var(--space-xs);min-height:var(--touch-target)}.checkbox__input{flex:none;width:1.5rem;height:1.5rem;margin:.5rem 0 0;accent-color:var(--color-navy)}.checkbox__label{padding-block:.5rem}.form-status:empty{display:none}.form-status{padding:var(--space-sm) var(--space-md);border:2px solid currentColor;border-radius:var(--radius-sm);font-weight:700}.form-status[data-state=success]{color:var(--color-success-text)}.form-status[data-state=error]{color:var(--color-error-text)}.cta-band{padding-block:var(--section-space);background-color:var(--color-bg);color:var(--color-text)}.cta-band__inner{display:grid;gap:var(--space-md);justify-items:start}.cta-band__title{max-width:16ch;font-size:var(--step-h1)}.cta-band__text{max-width:44ch;font-size:1.125rem;color:var(--color-text-muted)}.steps{display:grid;gap:var(--grid-gap);margin:0;padding:0;list-style:none}@media(min-width: 40em){.steps{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 64em){.steps{grid-template-columns:repeat(4, minmax(0, 1fr))}}.steps__item{display:grid;gap:var(--space-xs);align-content:start;padding-top:var(--space-md);border-top:2px solid var(--color-text)}.steps__number{font-family:var(--font-display);font-size:var(--step-h2);font-weight:800;line-height:1;color:var(--color-accent)}.steps__title{font-size:var(--step-h3)}.steps__text{color:var(--color-text-muted)}.highlight{display:grid;gap:var(--space-sm);align-content:start;justify-items:start;padding:var(--space-lg);background-color:var(--color-surface);border-radius:var(--radius-sm)}.highlight__eyebrow{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.highlight__title{font-size:var(--step-h3)}.highlight__text{color:var(--color-text-muted)}.page-hero{padding-block:var(--space-sm) var(--section-space)}.page-hero__inner{display:grid;gap:var(--space-md);justify-items:start;padding-top:var(--space-xl)}.page-hero__eyebrow{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.page-hero__title{max-width:16ch;font-size:clamp(2.5rem,1.4rem + 4.8vw,5.75rem);line-height:1}.page-hero__lead{max-width:46ch;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);color:var(--color-text-muted)}.page-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin-top:var(--space-xs)}.notice{display:grid;gap:var(--space-2xs);max-width:52rem;padding:var(--space-md);background-color:var(--color-surface);border:2px solid var(--color-text);border-inline-start-width:.5rem;border-radius:var(--radius-sm)}.notice--illustrative{border-color:var(--color-accent)}.notice__title{font-family:var(--font-body);font-size:var(--step-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.notice__text{max-width:none}.facts{display:grid;margin:0}.facts__item{display:grid;gap:var(--space-3xs);padding-block:var(--space-sm);border-top:1px solid var(--color-rule)}.facts__term{font-size:var(--step-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.facts__description{margin:0}.bullet-list{display:grid;gap:var(--space-xs);margin:0;padding:0;list-style:none}.bullet-list__item{position:relative;max-width:var(--measure);padding-inline-start:1.5rem}.bullet-list__item::before{content:"";position:absolute;inset-inline-start:0;top:.6em;width:.5rem;height:.5rem;background-color:var(--color-accent)}.case-section{display:grid;gap:var(--space-md);padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}.case-section:first-child{border-top:0;padding-top:0}.case-section__label{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.case-section__title{font-size:var(--step-h2)}.media-figure{display:grid;gap:var(--space-xs);margin:0}.media-figure__image{width:100%;height:auto;border:2px solid var(--color-text);border-radius:var(--radius-sm)}.media-figure__caption{max-width:var(--measure);font-size:var(--step-small);color:var(--color-text-muted)}.principle{display:grid;gap:var(--space-xs);align-content:start;padding-top:var(--space-md);border-top:2px solid var(--color-text)}.principle__title{font-size:var(--step-h3)}.principle__text{color:var(--color-text-muted)}.link-list{display:grid;margin:0;padding:0;list-style:none}.link-list__item{border-top:1px solid var(--color-rule)}.link-list__item:last-child{border-bottom:1px solid var(--color-rule)}.link-list__link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:3.5rem;padding-block:var(--space-2xs);font-family:var(--font-display);font-size:var(--step-h4);font-weight:700;color:var(--color-text);text-decoration:none}@media(hover: hover){.link-list__link:hover{color:var(--color-link-hover);text-decoration:underline;text-underline-offset:.25em}.link-list__link:hover .link-list__arrow{transform:translateX(0.25rem)}}.link-list__arrow{flex:none}@media(prefers-reduced-motion: no-preference){.link-list__arrow{transition:transform var(--duration-base) var(--easing)}}.text-stack{display:grid;gap:var(--space-sm);max-width:var(--measure)}.text-stack__label{margin-top:var(--space-xs);font-family:var(--font-body);font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.faq{display:grid;max-width:52rem}.faq__item{border-top:1px solid var(--color-rule)}.faq__item:last-child{border-bottom:1px solid var(--color-rule)}.faq__question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:3.5rem;padding-block:var(--space-xs);font-family:var(--font-display);font-size:var(--step-h4);font-weight:700;cursor:pointer;list-style:none}.faq__question::-webkit-details-marker{display:none}.faq__question::after{content:"+";flex:none;font-size:1.75rem;line-height:1}.faq__item[open] .faq__question::after{content:"−";content:"−"/""}.faq__answer{display:grid;gap:var(--space-xs);max-width:var(--measure);padding-bottom:var(--space-md);color:var(--color-text-muted)}.form{display:grid;gap:var(--space-md)}.form__row{display:grid;gap:var(--space-md)}@media(min-width: 40em){.form__row{grid-template-columns:repeat(2, minmax(0, 1fr))}}.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md)}.form__note{max-width:40ch;font-size:var(--step-small);color:var(--color-text-muted)}.form__trap{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.form-summary{margin-bottom:var(--space-md);padding:var(--space-md);background-color:var(--color-surface);border:2px solid var(--color-error-text);border-inline-start-width:.5rem;border-radius:var(--radius-sm)}.form-summary__title{margin-bottom:var(--space-xs);font-family:var(--font-body);font-size:1.125rem;font-weight:700;color:var(--color-error-text)}.form-summary__list{display:grid;gap:var(--space-3xs);margin:0;padding-inline-start:1.25rem}.form-summary__link{display:inline-block;padding-block:.25rem}html[data-dialog-open]{overflow:hidden}.project-dialog{width:min(46rem,100% - 2rem);max-height:min(90dvh,54rem);margin:auto;padding:0;overflow:hidden;border:2px solid var(--color-text);border-radius:var(--radius-sm);background-color:var(--color-paper);color:var(--color-navy)}.project-dialog[open]{display:grid;grid-template-rows:minmax(0, 1fr)}.project-dialog::backdrop{background-color:color-mix(in srgb, var(--color-navy) 75%, transparent)}.project-dialog__panel{display:grid;grid-template-rows:auto minmax(0, 1fr);min-height:0}.project-dialog__bar{display:flex;justify-content:flex-end;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid color-mix(in srgb, var(--color-navy) 22%, transparent)}.project-dialog__body{display:grid;gap:var(--space-sm);align-content:start;padding:var(--space-lg) var(--space-lg) var(--space-xl);overflow-y:auto;overscroll-behavior:contain}.project-dialog__category{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold-deep)}.project-dialog__title{font-size:var(--step-h2)}.project-dialog__lead{font-size:1.125rem;color:var(--color-navy-soft)}.project-dialog__heading{margin-top:var(--space-xs);font-family:var(--font-body);font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold-deep)}.project-dialog__notes{display:grid;gap:var(--space-xs);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md);border-inline-start:.375rem solid var(--color-gold-deep);background-color:var(--color-mist);font-size:var(--step-small);color:var(--color-navy)}@media(prefers-reduced-motion: no-preference){.project-dialog[open]{animation:project-dialog-in var(--duration-base) var(--easing)}.project-dialog[open]::backdrop{animation:project-dialog-fade var(--duration-base) linear}}@keyframes project-dialog-in{from{opacity:0;transform:translateY(1rem)}}@keyframes project-dialog-fade{from{opacity:0}}@media(prefers-reduced-motion: no-preference){[data-js=reveal][data-state=hidden]{opacity:0}[data-js=reveal][data-state=visible]{animation:reveal-in var(--duration-reveal) var(--easing) var(--reveal-delay, 0ms) backwards}}@keyframes reveal-in{from{opacity:0;transform:translateY(1.5rem)}}@media print{[data-js=reveal]{opacity:1 !important;animation:none !important}}.home-hero{padding-block:clamp(2.5rem,1rem + 6vw,7rem) var(--section-space)}.home-hero__grid{display:grid;gap:var(--space-xl);align-items:center}@media(min-width: 64em){.home-hero__grid{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:var(--grid-gap)}}.home-hero__content{display:grid;gap:var(--space-md);justify-items:start}.home-hero__eyebrow{font-size:var(--step-small);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.home-hero__title{font-size:clamp(2.75rem,1.5rem + 5vw,6.25rem);line-height:1;max-width:13ch}.home-hero__lead{max-width:38ch;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);color:var(--color-text-muted)}.home-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin-top:var(--space-xs)}.home-hero__visual{width:100%;max-width:30rem;margin-inline:auto}.home-hero__art{width:100%;height:auto;overflow:hidden;border-radius:var(--radius-sm)}.home-hero__sky{fill:var(--color-navy)}.home-hero__opening{fill:var(--color-navy-mid)}.home-hero__frame{fill:none;stroke:var(--color-paper);stroke-width:6}.home-hero__sun{fill:var(--color-gold)}.home-hero__sill{fill:none;stroke:var(--color-paper);stroke-width:8;stroke-linecap:round}.home-hero__shutter{fill:var(--color-mist);stroke:var(--color-navy);stroke-width:3}.home-hero__slats{fill:none;stroke:var(--color-navy);stroke-width:3;opacity:.35}@media(prefers-reduced-motion: no-preference){.home-hero__shutter-group--left{animation:shutter-left 1.1s var(--easing) .2s both}.home-hero__shutter-group--right{animation:shutter-right 1.1s var(--easing) .2s both}.home-hero__sun{animation:sun-rise 1.4s var(--easing) .5s both}}@keyframes shutter-left{from{transform:translateX(100px)}}@keyframes shutter-right{from{transform:translateX(-100px)}}@keyframes sun-rise{from{opacity:0;transform:translateY(70px)}}.home-work__lead{max-width:44ch}@media(min-width: 64em){.home-work__item--drop{margin-top:var(--space-2xl)}.home-work__item--drop-more{margin-top:var(--space-3xl)}}.home-work__more{display:flex;justify-content:flex-start;margin-top:var(--space-xl)}.home-services__list{border-bottom:0}.home-expertise__grid{display:grid;gap:var(--grid-gap)}@media(min-width: 64em){.home-expertise__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 64em){.work-index__item--drop{margin-top:var(--space-2xl)}}.case-study__layout{display:grid;gap:var(--space-xl)}@media(min-width: 64em){.case-study__layout{grid-template-columns:minmax(0, 4fr) minmax(0, 8fr);gap:var(--grid-gap);align-items:start}}@media(min-width: 64em){.case-study__aside{position:sticky;top:calc(var(--header-height) + var(--space-md))}}.case-study__aside-title{margin-bottom:var(--space-xs);font-family:var(--font-body);font-size:var(--step-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case-study__main{min-width:0}.case-study__grid{display:grid;gap:var(--grid-gap)}@media(min-width: 40em){.case-study__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.case-study__related{display:grid;gap:var(--space-xl)}[data-theme=dark]{--color-bg: var(--color-navy);--color-surface: var(--color-navy-mid);--color-text: var(--color-paper);--color-text-muted: var(--color-mist);--color-accent: var(--color-gold);--color-link: var(--color-gold-light);--color-link-hover: var(--color-paper);--color-focus: var(--color-gold);--color-action-bg: var(--color-gold);--color-action-text: var(--color-navy);--color-action-hover-bg: var(--color-gold-light);--color-error-text: var(--color-error-light);--color-success-text: var(--color-success-light);--color-rule: color-mix(in srgb, var(--color-paper) 28%, transparent);color:var(--color-text);background-color:var(--color-bg);color-scheme:dark}