@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Manrope Variable", "Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--color-slate-100:#eceef1;--color-slate-300:#c9ccd2;--color-slate-500:#7b818a;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--radius-sm:.25rem;--blur-sm:8px;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-yellow:#f5c518;--color-ink:#15181c;--color-ink-soft:#2a2e35;--color-paper:#f2f4f6;--color-signal-ok:#2f9e5d;--color-signal-warn:#d98b14}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-square{aspect-ratio:1}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-slate-300{border-color:var(--color-slate-300)}.bg-\[rgba\(47\,158\,93\,0\.12\)\]{background-color:#2f9e5d1f}.bg-\[rgba\(217\,139\,20\,0\.12\)\]{background-color:#d98b141f}.bg-brand-yellow{background-color:var(--color-brand-yellow)}.bg-ink{background-color:var(--color-ink)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.p-4{padding:calc(var(--spacing) * 4)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.font-mono{font-family:var(--font-mono)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.text-ink{color:var(--color-ink)}.text-ink-soft{color:var(--color-ink-soft)}.text-paper{color:var(--color-paper)}.text-signal-ok{color:var(--color-signal-ok)}.text-signal-warn{color:var(--color-signal-warn)}.text-slate-500{color:var(--color-slate-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}:root{--brand-yellow:#f5c518;--brand-yellow-deep:#e0af00;--brand-yellow-soft:#fff1b8;--brand-yellow-tint:#fff9dc;--ink:#15181c;--ink-soft:#2a2e35;--slate-900:#1b1f25;--slate-800:#2a2e35;--slate-700:#3d434b;--slate-600:#5a6068;--slate-500:#7b818a;--slate-400:#a3a8b0;--slate-300:#c9ccd2;--slate-200:#e1e3e7;--slate-100:#eceef1;--slate-50:#f2f4f6;--paper:#f2f4f6;--paper-pure:#fff;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body:"Manrope Variable", "Manrope", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--shadow-1:0 1px 2px #15181c0a, 0 1px 1px #15181c0a;--shadow-2:0 4px 12px #15181c0f, 0 1px 2px #15181c0a;--shadow-3:0 12px 32px #15181c1a, 0 2px 6px #15181c0d;--max-w:1280px;--gutter:32px;--d-weight:800}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}img{max-width:100%;display:block}button{font-family:inherit}a{color:inherit}.wrap{max-width:var(--max-w);padding:0 var(--gutter);margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-yellow-deep);font-size:12px;font-weight:500}.mono-tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);font-size:11px;font-weight:500}.btn{font-family:var(--body);border-radius:var(--r-sm);cursor:pointer;letter-spacing:-.005em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:transform 60ms,background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{stroke-width:2px;width:16px;height:16px}.btn-primary{background:var(--brand-yellow);color:var(--ink);border-color:var(--brand-yellow-deep)}.btn-primary:hover{background:var(--brand-yellow-deep)}.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--slate-800)}.btn-secondary{color:var(--ink);border-color:var(--slate-300);background:0 0}.btn-secondary:hover{background:var(--paper-pure);border-color:var(--ink)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--slate-100)}.btn-on-dark{color:var(--paper);background:0 0;border-color:#ffffff40}.btn-on-dark:hover{border-color:var(--paper);background:#ffffff14}.btn.sm{padding:9px 14px;font-size:13px}.btn.lg{padding:18px 26px;font-size:17px}.utility-bar{background:var(--ink);color:var(--slate-200);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 0;font-size:11px}.utility-bar .wrap{justify-content:space-between;align-items:center;gap:var(--s-5);display:flex}.utility-bar .y{color:var(--brand-yellow);margin-right:6px}.utility-bar .right{gap:var(--s-5);align-items:center;display:flex}.utility-bar .right a{color:var(--slate-200);text-decoration:none}.utility-bar .right a:hover{color:var(--brand-yellow)}.header{z-index:40;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--slate-200);background:#f2f4f6eb;transition:background .2s,border-color .2s;position:sticky;top:0}.header.scrolled{background:#fffffff5}.header-inner{padding:14px var(--gutter);justify-content:space-between;align-items:center;gap:var(--s-5);display:flex;position:relative}.header .nav-left{align-items:center;gap:var(--s-7);display:flex}.header-logo img{width:auto;height:58px;display:block}.nav-links{gap:var(--s-5);margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--ink);padding:8px 0;font-size:14px;font-weight:500;text-decoration:none;position:relative}.nav-links a.active:after{content:"";background:var(--brand-yellow);height:3px;position:absolute;bottom:-1px;left:0;right:0}.nav-links a:hover{color:var(--slate-600)}.header .nav-right{align-items:center;gap:var(--s-4);display:flex}.nav-phone{color:var(--ink);font-family:var(--mono);letter-spacing:.02em;align-items:center;gap:8px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.nav-phone .ph-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--slate-500);margin-bottom:2px;font-size:9px;display:block}.nav-phone:hover{color:var(--brand-yellow-deep)}.nav-phone-mobile{display:none}.menu-toggle{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px;display:none}.mobile-drawer{display:none}.mobile-drawer.open{background:var(--paper-pure);border-bottom:1px solid var(--slate-200);padding:var(--s-4) var(--gutter) var(--s-5);display:block;position:absolute;top:100%;left:0;right:0}.mobile-drawer.open ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mobile-drawer.open ul a{color:var(--ink);border-bottom:1px solid var(--slate-100);padding:12px 0;font-weight:600;text-decoration:none;display:block}.mobile-drawer.open .drawer-cta{margin-top:var(--s-4);gap:8px;display:flex}.hero{padding:var(--s-9) 0 var(--s-10);position:relative;overflow:hidden}.hero .hero-grid{gap:var(--s-8);grid-template-columns:1.2fr 1fr;align-items:stretch;display:grid}.hero .copy{padding:var(--s-4) 0;flex-direction:column;justify-content:space-between;display:flex}.hero .h1{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.035em;margin:var(--s-5) 0 var(--s-4);text-wrap:balance;font-size:clamp(54px,7vw,104px);line-height:.92}.yellow-mark{background:var(--brand-yellow);color:var(--ink);border-radius:var(--r-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -.1em;padding:0 .15em}.hero .lede{color:var(--slate-700);max-width:54ch;margin-bottom:var(--s-6);font-size:19px;line-height:1.55}.hero .cta-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.hero .badges{margin-top:var(--s-6);flex-wrap:wrap;gap:8px;display:flex}.hero-photo{border-radius:var(--r-md);background:var(--ink);align-items:flex-end;min-height:460px;display:flex;position:relative;overflow:hidden}.hero-photo .ph{background:repeating-linear-gradient(135deg,#2a2e35 0 18px,#3d434b 18px 36px);position:absolute;inset:0}.hero-photo .ph:before{content:"PROJECT HERO PHOTO";font-family:var(--mono);letter-spacing:.1em;color:#ffffff80;border-radius:var(--r-sm);background:#0006;padding:4px 8px;font-size:10px;position:absolute;top:16px;left:16px}.hero-photo .caption{z-index:1;background:var(--ink);color:var(--paper);border-top-right-radius:var(--r-md);border-left:4px solid var(--brand-yellow);max-width:75%;padding:18px 22px;position:relative}.hero-photo .caption .lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-yellow);font-size:10px}.hero-photo .caption .title{font-family:var(--display);letter-spacing:-.01em;margin-top:4px;font-size:18px;font-weight:600}.trust-pill{font-family:var(--mono);border-radius:var(--r-pill);color:#2f9e5d;letter-spacing:.05em;text-transform:uppercase;background:#2f9e5d1f;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.trust-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.stats-strip{background:var(--ink);color:var(--paper)}.stats-strip .wrap{padding:var(--s-7) var(--gutter)}.stats-row{grid-template-columns:repeat(4,1fr);display:grid}.stats-row .stat{padding:var(--s-5) var(--s-4);border-right:1px solid var(--slate-800)}.stats-row .stat:first-child{padding-left:0}.stats-row .stat:last-child{border-right:0}.stats-row .num{font-family:var(--display);letter-spacing:-.035em;font-size:64px;font-weight:800;line-height:1}.stats-row .num .accent{color:var(--brand-yellow)}.stats-row .lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400);margin-top:10px;font-size:11px}section.s{padding:var(--s-9) 0;border-bottom:1px solid var(--slate-200)}.section-head{gap:var(--s-7);margin-bottom:var(--s-7);grid-template-columns:1fr 1fr;align-items:end;display:grid}.section-head .left{gap:var(--s-3);flex-direction:column;display:flex}.section-head h2{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(36px,4.4vw,60px);line-height:1}.section-head .right{color:var(--slate-700);place-self:end;max-width:52ch;font-size:17px;line-height:1.55}.section-head .right p{margin:0}.section-link{color:var(--ink);padding-top:var(--s-4);border-top:1px solid var(--slate-300);margin-top:var(--s-4);align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.section-link:hover{color:var(--brand-yellow-deep)}.section-link svg{width:14px;height:14px;transition:transform .15s}.section-link:hover svg{transform:translate(2px,-2px)}.services-grid{gap:var(--s-4);grid-template-columns:repeat(3,1fr);display:grid}.service-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-6);gap:var(--s-3);min-height:280px;color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative}.service-card:hover{border-color:var(--ink);transform:translateY(-2px)}.service-card .icon-box{background:var(--brand-yellow);border-radius:var(--r-sm);width:48px;height:48px;color:var(--ink);margin-bottom:var(--s-3);place-items:center;display:grid}.service-card .icon-box svg{stroke-width:1.75px;width:24px;height:24px}.service-card h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.service-card p{color:var(--slate-700);margin:0;font-size:14px;line-height:1.55}.service-card .arrow{right:var(--s-5);bottom:var(--s-5);color:var(--slate-400);transition:color .15s,transform .15s;position:absolute}.service-card .arrow svg{width:18px;height:18px}.service-card:hover .arrow{color:var(--ink);transform:translate(4px)}.service-card.featured{background:var(--ink);color:var(--paper);border-color:var(--ink)}.service-card.featured p{color:var(--slate-300)}.service-card.featured .arrow{color:var(--brand-yellow)}.projects-grid{gap:var(--s-4);grid-template-rows:auto auto;grid-template-columns:1.4fr 1fr 1fr;display:grid}.project-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);color:inherit;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.project-card .ph{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#c9ccd2 0 12px,#e1e3e7 12px 24px);position:relative}.project-card.big .ph{aspect-ratio:1.5}.project-card .ph:before{content:attr(data-label);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);border-radius:var(--r-sm);background:#ffffffeb;padding:4px 8px;font-size:10px;position:absolute;top:12px;left:12px}.project-card .ph .pin{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--brand-yellow);color:var(--ink);border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:inline-flex;position:absolute;bottom:12px;left:12px}.project-card .body{padding:var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}.project-card .topline{justify-content:space-between;align-items:center;display:flex}.project-card h3{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:22px;font-weight:700;line-height:1.1}.project-card .meta{gap:var(--s-3);font-family:var(--mono);color:var(--slate-600);letter-spacing:.06em;text-transform:uppercase;padding-top:var(--s-3);border-top:1px solid var(--slate-100);grid-template-columns:repeat(3,1fr);font-size:10px;display:grid}.project-card .meta span b{color:var(--ink);font-family:var(--body);text-transform:none;letter-spacing:0;margin-top:2px;font-size:13px;font-weight:600;display:block}.project-card.big{grid-area:span 2/1}.project-card.big .body{padding:var(--s-6)}.project-card.big h3{font-size:32px}.process{background:var(--ink);color:var(--paper);border-bottom:0}.process .section-head h2{color:var(--paper)}.process .section-head .right{color:var(--slate-300)}.process .eyebrow{color:var(--brand-yellow)}.process-grid{border-top:1px solid var(--slate-800);grid-template-columns:repeat(5,1fr);gap:0;display:grid}.process-step{padding:var(--s-7) var(--s-5) var(--s-6);border-right:1px solid var(--slate-800);gap:var(--s-3);flex-direction:column;display:flex;position:relative}.process-step:last-child{border-right:0}.process-step .num{font-family:var(--mono);letter-spacing:.1em;color:var(--brand-yellow);margin-bottom:var(--s-3);font-size:12px}.process-step h3{font-family:var(--display);letter-spacing:-.015em;margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.1}.process-step p{color:var(--slate-300);margin:0;font-size:14px;line-height:1.55}.process-step .ico{color:var(--paper);margin-bottom:var(--s-4)}.process-step .ico svg{stroke-width:1.5px;width:28px;height:28px}.area .area-grid{gap:var(--s-7);grid-template-columns:1.1fr 1fr;align-items:stretch;display:grid}.area-list{gap:var(--s-5);flex-direction:column;display:flex}.area-list ul{gap:var(--s-3) var(--s-5);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.area-list li{border-bottom:1px solid var(--slate-200);color:var(--ink);align-items:center;gap:10px;padding:10px 0;font-size:15px;display:flex}.area-list li.pri{font-weight:700}.area-list li .dot{background:var(--slate-300);border-radius:50%;flex-shrink:0;width:8px;height:8px}.area-list li.pri .dot{background:var(--brand-yellow);width:10px;height:10px}.area-list li .pri-tag{font-family:var(--mono);color:var(--brand-yellow-deep);letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:11px;font-weight:500}.area-list .footnote{font-family:var(--mono);color:var(--slate-600);letter-spacing:.06em;font-size:11px}.map-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-6);min-height:460px;position:relative;overflow:hidden}.map-card .mono-tag{margin-bottom:var(--s-4)}.map-card svg.map{width:100%;height:auto;display:block}.map-card .legend{background:var(--ink);color:var(--paper);border-radius:var(--r-sm);font-family:var(--mono);letter-spacing:.05em;flex-direction:column;gap:8px;padding:12px 14px;font-size:11px;display:flex;position:absolute;bottom:20px;right:20px}.map-card .legend .l{align-items:center;gap:8px;display:flex}.map-card .legend .pin{background:var(--brand-yellow);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #f5c51840}.map-card .legend .pin.sec{background:var(--paper);box-shadow:0 0 0 4px #ffffff1f}.footer{background:var(--ink);color:var(--paper);padding:var(--s-9) 0 var(--s-5)}.footer .top{gap:var(--s-7);grid-template-columns:1.6fr 1fr 1fr 1fr;display:grid}.footer .brand{gap:var(--s-4);flex-direction:column;display:flex}.footer .brand .logo-wrap{background:var(--paper);border-radius:var(--r-sm);align-self:flex-start;padding:10px 16px}.footer .brand img{height:56px}.footer .brand p{color:var(--slate-400);max-width:42ch;margin:0;font-size:14px}.footer .brand .pills{flex-wrap:wrap;gap:8px;display:flex}.footer h5{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--brand-yellow);margin:0 0 var(--s-4);font-size:11px;font-weight:500}.footer .col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer .col a{color:var(--slate-200);align-items:center;gap:8px;font-size:14px;text-decoration:none;display:inline-flex}.footer .col a:hover{color:var(--brand-yellow)}.footer .col a svg{opacity:.7;width:14px;height:14px}.footer .strip{gap:var(--s-5);margin-top:var(--s-7);border-top:1px solid var(--slate-800);font-family:var(--mono);color:var(--slate-400);letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 0 0;font-size:11px;display:grid}.footer .strip .lic{color:var(--brand-yellow)}.footer .strip .center{color:var(--paper);text-align:center}.footer .strip .right{text-align:right}.sticky-cta{z-index:30;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);box-shadow:var(--shadow-3);font-family:var(--body);opacity:0;pointer-events:none;align-items:center;gap:8px;padding:6px 6px 6px 18px;font-size:14px;font-weight:600;transition:transform .3s cubic-bezier(.3,.7,.4,1),opacity .3s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(100px)}.sticky-cta.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-cta .label{padding-right:4px}.sticky-cta .label small{color:var(--slate-400);font-size:10px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-weight:400;display:block}.sticky-cta button{background:var(--brand-yellow);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;border:0;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.sticky-cta button svg{width:14px;height:14px}.sticky-cta button:hover{background:var(--brand-yellow-deep)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);padding:var(--s-4);background:#15181c99;place-items:center;animation:.2s fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper-pure);border-radius:var(--r-lg);width:100%;max-width:640px;max-height:92vh;box-shadow:var(--shadow-3);animation:.25s cubic-bezier(.3,.7,.4,1) slideUp;position:relative;overflow:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal .head{padding:var(--s-6) var(--s-6) 0}.modal .progress{gap:6px;display:flex}.modal .progress span{background:var(--slate-200);border-radius:var(--r-pill);flex:1;height:4px;transition:background .25s}.modal .progress span.done{background:var(--brand-yellow)}.modal .step-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-500);margin-top:var(--s-4);font-size:11px}.modal h2{font-family:var(--display);letter-spacing:-.02em;margin:6px 0 4px;font-size:32px;font-weight:700;line-height:1.1}.modal .sub{color:var(--slate-700);margin:0;font-size:15px}.modal .body{padding:var(--s-5) var(--s-6) var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.modal .actions{padding:var(--s-5) var(--s-6);border-top:1px solid var(--slate-200);background:var(--paper);border-radius:0 0 var(--r-lg) var(--r-lg);justify-content:space-between;align-items:center;display:flex}.modal .actions .progress-text{font-family:var(--mono);color:var(--slate-600);letter-spacing:.06em;font-size:11px}.modal .close{background:var(--slate-100);cursor:pointer;width:32px;height:32px;color:var(--ink);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal .close:hover{background:var(--slate-200)}.modal .body>[data-step]{gap:var(--s-5);flex-direction:column;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-family:var(--body);color:var(--ink);justify-content:space-between;font-size:13px;font-weight:600;display:flex}.input-label .req{color:var(--brand-yellow-deep);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.input,.textarea,.select{font-family:var(--body);border:1px solid var(--slate-300);background:var(--paper-pure);color:var(--ink);border-radius:var(--r-sm);outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--brand-yellow-soft)}.textarea{resize:vertical;min-height:110px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--slate-400)}.input.error,.textarea.error,.select.error{border-color:#c8332c}.help{font-family:var(--body);color:var(--slate-600);font-size:12px}.help.error{color:#c8332c}.option-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.option-card{background:var(--paper-pure);border:1px solid var(--slate-300);border-radius:var(--r-sm);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:14px 16px;font-size:14px;transition:border-color .12s,background .12s;display:flex}.option-card:hover{border-color:var(--slate-500)}.option-card.active{border-color:var(--ink);background:var(--brand-yellow-tint)}.option-card .ic{border-radius:var(--r-sm);background:var(--slate-100);width:36px;height:36px;color:var(--ink);flex-shrink:0;place-items:center;display:grid}.option-card.active .ic{background:var(--brand-yellow)}.option-card .ic svg{stroke-width:1.75px;width:18px;height:18px}.option-card .name{font-weight:600}.option-card .desc{color:var(--slate-600);margin-top:2px;font-size:12px}.budget-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.budget-pill{border:1px solid var(--slate-300);border-radius:var(--r-sm);cursor:pointer;text-align:center;background:var(--paper-pure);color:inherit;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.budget-pill:hover{border-color:var(--slate-500)}.budget-pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.success{text-align:center;padding:var(--s-7) var(--s-6)}.success .check{background:var(--brand-yellow);width:72px;height:72px;color:var(--ink);margin:0 auto var(--s-5);border-radius:50%;place-items:center;display:grid}.success .check svg{stroke-width:2.5px;width:36px;height:36px}.success h2{margin:0 0 var(--s-3)}.success p{color:var(--slate-700);margin:0 auto var(--s-5);max-width:38ch}.success .ref{font-family:var(--mono);color:var(--slate-600);letter-spacing:.08em;font-size:11px}.breadcrumb{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);padding-top:var(--s-6);align-items:center;gap:8px;font-size:11px;display:flex}.breadcrumb a{color:var(--slate-500);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.breadcrumb .sep{color:var(--slate-300)}.breadcrumb .current{color:var(--ink)}.page-hero{padding:var(--s-7) 0 var(--s-8);border-bottom:1px solid var(--slate-200);position:relative}.page-hero .wrap{gap:var(--s-7);grid-template-columns:1.4fr 1fr;align-items:end;display:grid}.page-hero .left{gap:var(--s-3);flex-direction:column;display:flex}.page-hero h1{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.035em;margin:var(--s-3) 0 0;text-wrap:balance;font-size:clamp(48px,6vw,88px);line-height:.95}.page-hero .lede{color:var(--slate-700);max-width:50ch;margin:0;font-size:18px;line-height:1.55}.page-hero .right{align-items:flex-end;gap:var(--s-3);flex-direction:column;padding-bottom:6px;display:flex}.page-hero .h-stats{gap:var(--s-5);padding:var(--s-4) 0;border-top:1px solid var(--slate-200);justify-content:flex-end;width:100%;display:flex}.page-hero .h-stats .h-stat{text-align:right}.page-hero .h-stats .h-stat .num{font-family:var(--display);letter-spacing:-.015em;font-size:28px;font-weight:700;line-height:1}.page-hero .h-stats .h-stat .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);margin-top:4px;font-size:10px}.detail-hero{padding:var(--s-5) 0 var(--s-9);border-bottom:1px solid var(--slate-200)}.detail-hero .wrap{gap:var(--s-7);grid-template-columns:1fr 1fr;align-items:center;display:grid}.detail-hero h1{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.035em;margin:var(--s-3) 0 var(--s-4);text-wrap:balance;font-size:clamp(48px,6vw,84px);line-height:.95}.detail-hero .lede{color:var(--slate-700);max-width:52ch;margin:0 0 var(--s-5);font-size:19px;line-height:1.55}.detail-hero .cta-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.detail-hero .photo-wrap{border-radius:var(--r-md);background:var(--ink);align-items:flex-end;min-height:460px;display:flex;position:relative;overflow:hidden}.detail-hero .photo-wrap .ph{background:repeating-linear-gradient(135deg,#2a2e35 0 18px,#3d434b 18px 36px);position:absolute;inset:0}.detail-hero .photo-wrap .ph:before{content:"SERVICE HERO PHOTO";font-family:var(--mono);letter-spacing:.1em;color:#ffffff80;border-radius:var(--r-sm);background:#0006;padding:4px 8px;font-size:10px;position:absolute;top:16px;left:16px}.detail-hero .photo-wrap .ph:after{content:attr(data-ph-label);font-family:var(--mono);letter-spacing:.08em;color:#ffffff80;font-size:10px;position:absolute;bottom:16px;right:16px}.facts-strip{background:var(--paper-pure);border-bottom:1px solid var(--slate-200)}.facts-strip .wrap{padding:var(--s-5) var(--gutter);grid-template-columns:repeat(4,1fr);display:grid}.facts-strip .fact{padding:var(--s-3) var(--s-4);border-right:1px solid var(--slate-200)}.facts-strip .fact:first-child{padding-left:0}.facts-strip .fact:last-child{border-right:0;padding-right:0}.facts-strip .fact .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);margin-bottom:6px;font-size:11px}.facts-strip .fact .val{font-family:var(--display);letter-spacing:-.015em;color:var(--ink);font-size:22px;font-weight:700;line-height:1.1}.facts-strip .fact .val .accent{color:var(--brand-yellow-deep)}.service-row{padding:var(--s-9) 0;border-bottom:1px solid var(--slate-200)}.service-row .wrap{gap:var(--s-8);grid-template-columns:1fr 1fr;align-items:center;display:grid}.service-row.flip .copy-col{order:2}.service-row.flip .photo-col{order:1}.service-row .copy-col{gap:var(--s-4);flex-direction:column;display:flex}.service-row .copy-col h2{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.03em;margin:0;font-size:clamp(36px,4.4vw,56px);line-height:1}.service-row .copy-col p{color:var(--slate-700);max-width:52ch;margin:0;font-size:17px;line-height:1.55}.service-row .photo-col .ph{aspect-ratio:4/3;border-radius:var(--r-md);background:repeating-linear-gradient(135deg,#c9ccd2 0 12px,#e1e3e7 12px 24px);position:relative;overflow:hidden}.service-row .photo-col .ph:before{content:attr(data-label);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);border-radius:var(--r-sm);background:#ffffffeb;padding:4px 8px;font-size:10px;position:absolute;top:14px;left:14px}.service-row .photo-col .ph .pin{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--brand-yellow);color:var(--ink);border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:inline-flex;position:absolute;bottom:14px;left:14px}.service-row .photo-col .ph .pin svg{width:12px;height:12px}.capabilities{gap:12px var(--s-5);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.capabilities li{color:var(--ink);align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.capabilities li svg{width:16px;height:16px;color:var(--brand-yellow-deep);flex-shrink:0;margin-top:2px}.capabilities li b{font-weight:600}.service-eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-yellow-deep);align-items:center;gap:14px;font-size:11px;display:flex}.service-eyebrow .code{color:var(--slate-500);border-left:1px solid var(--slate-300);padding-left:14px}.promises{background:var(--ink);color:var(--paper);padding:var(--s-9) 0}.promises .section-head h2{color:var(--paper)}.promises .section-head .eyebrow{color:var(--brand-yellow)}.promises .section-head .right{color:var(--slate-300)}.promises-grid{background:var(--slate-800);border:1px solid var(--slate-800);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.promise{background:var(--ink);padding:var(--s-6);gap:var(--s-3);flex-direction:column;min-height:180px;display:flex}.promise .ico{border-radius:var(--r-sm);background:var(--brand-yellow);width:40px;height:40px;color:var(--ink);margin-bottom:var(--s-3);place-items:center;display:grid}.promise .ico svg{stroke-width:1.75px;width:20px;height:20px}.promise h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.promise p{color:var(--slate-300);margin:0;font-size:14px;line-height:1.55}.cta-band{padding:var(--s-9) 0;background:var(--brand-yellow);border-bottom:1px solid var(--brand-yellow-deep)}.cta-band .wrap{gap:var(--s-7);grid-template-columns:1.4fr 1fr;align-items:center;display:grid}.cta-band .eyebrow{color:var(--ink)}.cta-band h2{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(40px,5vw,72px);line-height:1}.cta-band .lede{color:var(--ink-soft);margin:var(--s-4) 0 0;max-width:50ch;font-size:18px}.cta-band .actions{gap:var(--s-3);flex-direction:column;align-items:flex-end;display:flex}.cta-band .actions .row{gap:var(--s-3);flex-wrap:wrap;display:flex}.cta-band .actions .phone{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.faq-list{flex-direction:column;display:flex}.faq-item{border-top:1px solid var(--slate-200);padding:0}.faq-item:last-child{border-bottom:1px solid var(--slate-200)}.faq-q{appearance:none;justify-content:space-between;align-items:center;gap:var(--s-5);text-align:left;width:100%;padding:var(--s-5) 0;font-family:var(--display);letter-spacing:-.01em;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:22px;font-weight:600;transition:color .15s;display:flex}.faq-q:hover{color:var(--brand-yellow-deep)}.faq-q .icon-toggle{background:var(--slate-100);width:32px;height:32px;color:var(--ink);border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s,transform .2s;display:grid}.faq-item.open .faq-q .icon-toggle{background:var(--brand-yellow);transform:rotate(45deg)}.faq-q .icon-toggle svg{stroke-width:2px;width:16px;height:16px}.faq-a{opacity:0;max-height:0;color:var(--slate-700);font-size:16px;line-height:1.6;transition:max-height .3s,opacity .25s,padding .25s;overflow:hidden}.faq-item.open .faq-a{opacity:1;max-height:1200px;padding-bottom:var(--s-5)}.faq-a p{max-width:64ch;margin:0 0 12px}.faq-a p:last-child{margin-bottom:0}.cat-projects{gap:var(--s-4);grid-template-columns:repeat(3,1fr);display:grid}.testimonial{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-7);gap:var(--s-5);grid-template-columns:60px 1fr;align-items:start;display:grid}.testimonial .mark{font-family:var(--display);color:var(--brand-yellow);font-size:64px;font-weight:800;line-height:.7}.testimonial blockquote{font-family:var(--display);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;margin:0;font-size:26px;font-weight:500;line-height:1.25}.testimonial .attribution{margin-top:var(--s-4);align-items:center;gap:var(--s-3);display:flex}.testimonial .name{font-size:14px;font-weight:600}.testimonial .role{font-family:var(--mono);color:var(--slate-500);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.testimonial .stars{color:var(--brand-yellow-deep);font-family:var(--mono);letter-spacing:2px;margin-left:auto;font-size:13px}.jump-nav{background:var(--paper-pure);border-bottom:1px solid var(--slate-200);z-index:20;-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);position:sticky;top:86px}.jump-nav .wrap{align-items:center;gap:var(--s-4);padding:12px var(--gutter);display:flex;overflow-x:auto}.jump-nav .jn-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);flex-shrink:0;font-size:11px}.jump-nav ul{flex-shrink:0;gap:8px;margin:0;padding:0;list-style:none;display:flex}.jump-nav a{font-family:var(--body);color:var(--ink);border-radius:var(--r-pill);border:1px solid var(--slate-200);background:var(--paper);white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.jump-nav a:hover{border-color:var(--ink)}.jump-nav a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.jump-nav a .ic{opacity:.7;width:14px;height:14px}.filter-bar{padding:var(--s-5) 0 var(--s-4);border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--body);color:var(--ink);border-radius:var(--r-pill);border:1px solid var(--slate-200);background:var(--paper-pure);cursor:pointer;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--slate-500)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip .count{font-family:var(--mono);opacity:.6;letter-spacing:.04em;font-size:10px}.filter-result{font-family:var(--mono);color:var(--slate-600);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.filter-result b{color:var(--ink);font-family:var(--body);text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}.projects-index-grid{gap:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.projects-index-grid .project-card .ph{aspect-ratio:4/3}.projects-index-grid.empty{padding:var(--s-9) var(--s-5);text-align:center;background:var(--paper-pure);border:1px dashed var(--slate-300);border-radius:var(--r-md);color:var(--slate-600);font-family:var(--mono);letter-spacing:.06em;font-size:13px;display:block}.project-hero{padding:var(--s-5) 0 var(--s-7)}.project-hero .wrap{gap:var(--s-6);grid-template-columns:1fr;display:grid}.project-hero .title-row{gap:var(--s-7);grid-template-columns:1.6fr 1fr;align-items:end;display:grid}.project-hero h1{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.035em;margin:var(--s-3) 0 0;text-wrap:balance;font-size:clamp(48px,6.5vw,96px);line-height:.95}.project-hero .meta-block{gap:var(--s-3);flex-direction:column;padding-bottom:6px;display:flex}.project-hero .badges{flex-wrap:wrap;gap:8px;display:flex}.project-hero .meta-block p{color:var(--slate-700);max-width:40ch;margin:8px 0 0;font-size:17px}.gallery-hero{border-radius:var(--r-md);aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#c9ccd2 0 14px,#e1e3e7 14px 28px);position:relative;overflow:hidden}.gallery-hero:before{content:"HERO PHOTO · 16:9";font-family:var(--mono);letter-spacing:.08em;color:var(--slate-700);border-radius:var(--r-sm);background:#ffffffeb;padding:5px 10px;font-size:11px;position:absolute;top:16px;left:16px}.gallery-hero:after{content:attr(data-photo-label);font-family:var(--mono);letter-spacing:.08em;color:var(--slate-600);border-radius:var(--r-sm);background:#ffffffeb;padding:4px 8px;font-size:10px;position:absolute;bottom:16px;right:16px}.proj-facts{background:var(--ink);color:var(--paper);border-bottom:0}.proj-facts .wrap{padding:var(--s-6) var(--gutter);grid-template-columns:repeat(5,1fr);display:grid}.proj-facts .pf{padding:0 var(--s-4);border-right:1px solid var(--slate-800)}.proj-facts .pf:first-child{padding-left:0}.proj-facts .pf:last-child{border-right:0;padding-right:0}.proj-facts .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-400);margin-bottom:8px;font-size:11px}.proj-facts .val{font-family:var(--display);letter-spacing:-.015em;color:var(--paper);font-size:22px;font-weight:700;line-height:1.1}.proj-facts .val .accent{color:var(--brand-yellow)}.narrative{padding:var(--s-9) 0;border-bottom:1px solid var(--slate-200)}.narrative .wrap{gap:var(--s-8);grid-template-columns:1fr 1.6fr;align-items:start;display:grid}.narrative .label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-yellow-deep);border-top:4px solid var(--brand-yellow);padding-top:8px;padding-right:24px;font-size:11px;display:inline-block}.narrative h2{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.025em;margin:0 0 var(--s-5);text-wrap:balance;font-size:clamp(32px,3.8vw,48px);line-height:1.1}.narrative .prose{color:var(--slate-700);font-size:18px;line-height:1.6}.narrative .prose p{margin:0 0 var(--s-4)}.narrative .prose p:last-child{margin-bottom:0}.narrative .prose .lead,.narrative .prose>p:first-child{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;max-width:52ch;font-size:22px;font-weight:500;line-height:1.4}.scope-list{gap:var(--s-3) var(--s-7);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.scope-list li{gap:var(--s-3);border-bottom:1px solid var(--slate-200);grid-template-columns:36px 1fr;align-items:start;padding:14px 0;display:grid}.scope-list li .n{font-family:var(--mono);color:var(--brand-yellow-deep);letter-spacing:.04em;padding-top:3px;font-size:11px}.scope-list li .t{color:var(--ink);font-size:15px;line-height:1.5}.scope-list li .t b{margin-bottom:2px;font-weight:600;display:block}.scope-list li .t span{color:var(--slate-700);font-size:14px}.proj-gallery{gap:var(--s-4);grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(180px,auto);display:grid}.gphoto{border-radius:var(--r-md);background:repeating-linear-gradient(135deg,#c9ccd2 0 12px,#e1e3e7 12px 24px);min-height:220px;position:relative;overflow:hidden}.gphoto:before{content:attr(data-label);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-700);border-radius:var(--r-sm);background:#ffffffeb;padding:4px 8px;font-size:10px;position:absolute;top:12px;left:12px}.gphoto:after{content:attr(data-aspect);font-family:var(--mono);letter-spacing:.06em;color:var(--slate-600);font-size:10px;position:absolute;bottom:12px;right:12px}.gphoto.span-3{grid-column:span 3}.gphoto.span-2{grid-column:span 2}.gphoto.span-4{grid-column:span 4}.gphoto.span-6{grid-column:span 6}.gphoto.tall{grid-row:span 2;min-height:460px}.gphoto.wide{aspect-ratio:16/9}.related-grid{gap:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.timeline{margin:0;padding-left:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--slate-200);width:2px;position:absolute;top:8px;bottom:8px;left:120px}.timeline .tl-item{gap:var(--s-5);padding:0 0 var(--s-6) 0;grid-template-columns:100px 1fr;display:grid;position:relative}.timeline .tl-item:last-child{padding-bottom:0}.timeline .tl-year{font-family:var(--mono);letter-spacing:.04em;color:var(--ink);text-align:right;padding-top:2px;font-size:14px;font-weight:600;position:relative}.timeline .tl-year:after{content:"";background:var(--brand-yellow);border:3px solid var(--paper);width:14px;height:14px;box-shadow:0 0 0 1px var(--slate-300);border-radius:50%;position:absolute;top:8px;right:-22px}.timeline .tl-item.featured .tl-year:after{background:var(--ink)}.timeline .tl-body{padding-left:var(--s-6)}.timeline .tl-body h4{font-family:var(--display);letter-spacing:-.015em;margin:0 0 6px;font-size:22px;font-weight:600;line-height:1.2}.timeline .tl-body p{color:var(--slate-700);max-width:56ch;margin:0;font-size:15px;line-height:1.55}.team-grid{gap:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.team-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);overflow:hidden}.team-card .portrait{aspect-ratio:4/5;background:repeating-linear-gradient(135deg,#c9ccd2 0 10px,#e1e3e7 10px 20px);position:relative}.team-card .portrait:before{content:attr(data-name);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-700);border-radius:var(--r-sm);background:#ffffffeb;padding:4px 8px;font-size:10px;position:absolute;top:12px;left:12px}.team-card .info{padding:var(--s-5)}.team-card .info .role-tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-yellow-deep);font-size:10px}.team-card .info h3{font-family:var(--display);letter-spacing:-.015em;margin:6px 0;font-size:22px;font-weight:600}.team-card .info p{color:var(--slate-700);margin:0;font-size:14px;line-height:1.55}.team-card .info .meta{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--slate-100);font-family:var(--mono);color:var(--slate-600);letter-spacing:.05em;font-size:11px}.values{background:var(--slate-200);border:1px solid var(--slate-200);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.value-card{background:var(--paper-pure);padding:var(--s-6);gap:var(--s-3);flex-direction:column;min-height:220px;display:flex}.value-card .v-num{font-family:var(--mono);letter-spacing:.1em;color:var(--brand-yellow-deep);margin-bottom:var(--s-2);font-size:12px}.value-card h3{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.02em;margin:0;font-size:32px;line-height:1.05}.value-card p{color:var(--slate-700);margin:0;font-size:15px;line-height:1.55}.process-step-detail{padding:var(--s-9) 0;border-bottom:1px solid var(--slate-200)}.process-step-detail .wrap{gap:var(--s-7);grid-template-columns:200px 1fr;align-items:start;display:grid}.process-step-detail .step-tag{position:sticky;top:100px}.process-step-detail .step-tag .num{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-size:96px;font-weight:800;line-height:1}.process-step-detail .step-tag .num .accent{color:var(--brand-yellow)}.process-step-detail .step-tag .lbl{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate-500);margin-top:8px;font-size:11px}.process-step-detail .step-body h2{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.025em;margin:0 0 var(--s-4);font-size:clamp(32px,4vw,48px);line-height:1.05}.process-step-detail .step-body .lead{color:var(--slate-700);margin:0 0 var(--s-6);max-width:58ch;font-size:19px;line-height:1.55}.process-step-detail .step-body h3{font-family:var(--display);letter-spacing:-.005em;margin:var(--s-5) 0 var(--s-3);font-size:18px;font-weight:600}.process-step-detail .step-body .expect-list{gap:10px var(--s-5);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.process-step-detail .step-body .expect-list li{color:var(--ink);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.process-step-detail .step-body .expect-list li svg{width:16px;height:16px;color:var(--brand-yellow-deep);flex-shrink:0;margin-top:2px}.process-step-detail .step-body .deliverable{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);border-left:3px solid var(--brand-yellow);background:var(--brand-yellow-tint);border-radius:0 var(--r-sm) var(--r-sm) 0}.process-step-detail .step-body .deliverable .tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:11px;display:inline-block}.process-step-detail .step-body .deliverable b{color:var(--ink);margin-bottom:2px;font-size:16px;display:block}.process-step-detail .step-body .deliverable span{color:var(--ink-soft);font-size:14px}.areas-page .map-large{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-7);margin-bottom:var(--s-6);position:relative}.areas-page .map-large svg{width:100%;height:auto;max-height:520px}.areas-page .map-large .legend{background:var(--ink);color:var(--paper);border-radius:var(--r-sm);font-family:var(--mono);letter-spacing:.05em;flex-direction:column;gap:8px;padding:14px 16px;font-size:11px;display:flex;position:absolute;bottom:28px;right:28px}.areas-page .map-large .legend .l{align-items:center;gap:8px;display:flex}.areas-page .map-large .legend .pin{background:var(--brand-yellow);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #f5c51840}.areas-page .map-large .legend .pin.sec{background:var(--paper);box-shadow:0 0 0 4px #ffffff1f}.area-grid-detail{gap:var(--s-5);margin-top:var(--s-6);grid-template-columns:repeat(3,1fr);display:grid}.area-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-6);gap:var(--s-3);flex-direction:column;min-height:180px;display:flex}.area-card .a-top{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.area-card h3{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600}.area-card p{color:var(--slate-700);margin:0;font-size:14px;line-height:1.55}.area-card .a-meta{padding-top:var(--s-4);border-top:1px solid var(--slate-100);gap:var(--s-4);font-family:var(--mono);color:var(--slate-600);letter-spacing:.06em;text-transform:uppercase;margin-top:auto;font-size:11px;display:flex}.area-card .a-meta b{color:var(--ink);font-family:var(--body);letter-spacing:0;text-transform:none;margin-top:2px;font-size:13px;font-weight:600;display:block}.area-card.primary-area{background:var(--ink);color:var(--paper);border-color:var(--ink)}.area-card.primary-area p{color:var(--slate-300)}.area-card.primary-area .a-meta{border-color:var(--slate-800);color:var(--slate-400)}.area-card.primary-area .a-meta b{color:var(--paper)}.area-card .badge-yellow{background:var(--brand-yellow);color:var(--ink);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:600}.secondary-list{gap:var(--s-3);margin-top:var(--s-5);grid-template-columns:repeat(4,1fr);padding:0;list-style:none;display:grid}.secondary-list li{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-sm);align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.secondary-list li .dot{background:var(--slate-400);border-radius:50%;flex-shrink:0;width:8px;height:8px}.reviews-grid{gap:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.review{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-5);gap:var(--s-3);flex-direction:column;min-height:280px;display:flex}.review .top{justify-content:space-between;align-items:center;display:flex}.review .stars{color:var(--brand-yellow-deep);font-family:var(--mono);letter-spacing:2px;font-size:14px}.review .source{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);background:var(--slate-100);border-radius:var(--r-sm);padding:4px 8px;font-size:10px}.review .source.google{color:#4285f4;background:#4285f414}.review .source.yelp{color:#c8332c;background:#c8332c14}.review .source.fb{color:#1877f2;background:#1877f214}.review p{color:var(--ink);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden}.review .author{padding-top:var(--s-3);border-top:1px solid var(--slate-100);justify-content:space-between;align-items:baseline;margin-top:auto;display:flex}.review .author .name{font-size:14px;font-weight:600}.review .author .date{font-family:var(--mono);color:var(--slate-500);letter-spacing:.04em;font-size:11px}.review-summary{gap:var(--s-7);background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-6) var(--s-7);margin-bottom:var(--s-6);grid-template-columns:240px 1fr;align-items:center;display:grid}.review-summary .rating-big{text-align:center;padding-right:var(--s-6);border-right:1px solid var(--slate-200)}.review-summary .rating-big .num{font-family:var(--display);letter-spacing:-.04em;font-size:96px;font-weight:800;line-height:1}.review-summary .rating-big .num .accent{color:var(--brand-yellow-deep)}.review-summary .rating-big .stars{color:var(--brand-yellow-deep);font-family:var(--mono);letter-spacing:3px;margin-top:8px;font-size:18px}.review-summary .rating-big .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);margin-top:6px;font-size:11px}.review-summary .bars{flex-direction:column;gap:8px;display:flex}.review-summary .bar-row{gap:var(--s-4);font-family:var(--mono);grid-template-columns:30px 1fr 60px;align-items:center;font-size:12px;display:grid}.review-summary .bar-row .label{color:var(--ink);font-weight:600}.review-summary .bar-row .bar{border-radius:var(--r-pill);background:var(--slate-100);height:8px;position:relative;overflow:hidden}.review-summary .bar-row .bar .fill{background:var(--brand-yellow);border-radius:var(--r-pill);position:absolute;top:0;bottom:0;left:0}.review-summary .bar-row .count{color:var(--slate-600);text-align:right}.faq-cat{margin-bottom:var(--s-9)}.faq-cat:last-child{margin-bottom:0}.faq-cat-head{align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-3);margin-bottom:var(--s-3);border-bottom:1px solid var(--slate-200);display:flex}.faq-cat-head h3{font-family:var(--display);font-weight:var(--d-weight);letter-spacing:-.02em;margin:0;font-size:32px}.faq-cat-head .ct{font-family:var(--mono);letter-spacing:.08em;color:var(--slate-500);font-size:12px}.contact-grid{gap:var(--s-8);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}.contact-info{gap:var(--s-5);flex-direction:column;display:flex}.contact-info .info-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-5) var(--s-6);gap:var(--s-4);color:inherit;grid-template-columns:44px 1fr;align-items:center;text-decoration:none;display:grid}.contact-info .info-card .ic{border-radius:var(--r-sm);background:var(--brand-yellow);width:44px;height:44px;color:var(--ink);place-items:center;display:grid}.contact-info .info-card .ic svg{stroke-width:1.75px;width:22px;height:22px}.contact-info .info-card .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);margin-bottom:4px;font-size:11px}.contact-info .info-card .val{font-family:var(--display);letter-spacing:-.015em;color:var(--ink);font-size:22px;font-weight:600;text-decoration:none}a.info-card:hover .val{color:var(--brand-yellow-deep)}.contact-info .info-card .sub{color:var(--slate-600);margin-top:2px;font-size:13px}.contact-form-card{background:var(--paper-pure);border:1px solid var(--slate-200);border-radius:var(--r-md);padding:var(--s-7);gap:var(--s-4);flex-direction:column;display:flex}.contact-form-card .form-head{padding-bottom:var(--s-4);border-bottom:1px solid var(--slate-200);margin-bottom:var(--s-2);flex-direction:column;gap:4px;display:flex}.contact-form-card .form-head h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.contact-form-card .form-head p{color:var(--slate-700);margin:0;font-size:14px}.contact-form-card .form-row{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.contact-form-card .actions{padding-top:var(--s-3);justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.contact-form-card .actions .note{font-family:var(--mono);color:var(--slate-600);letter-spacing:.04em;font-size:11px}.contact-callout{background:var(--ink);color:var(--paper);border-radius:var(--r-md);padding:var(--s-5) var(--s-6);justify-content:space-between;align-items:center;gap:var(--s-4);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.contact-callout .left h4{font-family:var(--display);letter-spacing:-.005em;margin:0 0 2px;font-size:18px;font-weight:600}.contact-callout .left p{color:var(--slate-300);margin:0;font-size:14px}.contact-callout .right{gap:var(--s-2);flex-wrap:wrap;display:flex}@media(max-width:1100px){.services-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.process-step{border-right:0;border-bottom:1px solid var(--slate-800)}.footer .top,.projects-grid{grid-template-columns:1fr 1fr}.project-card.big{grid-area:auto/span 2}.project-card.big .ph{aspect-ratio:2}.promises-grid,.cat-projects{grid-template-columns:repeat(2,1fr)}.facts-strip .wrap{gap:var(--s-3);grid-template-columns:repeat(2,1fr)}.facts-strip .fact{border-right:0;border-bottom:1px solid var(--slate-200);padding-bottom:var(--s-4)}.facts-strip .fact:nth-child(odd){border-right:1px solid var(--slate-200);padding-right:var(--s-4)}.facts-strip .fact:nth-child(2n){padding-left:var(--s-4)}.projects-index-grid{grid-template-columns:repeat(2,1fr)}.proj-facts .wrap{grid-template-columns:repeat(3,1fr)}.related-grid{grid-template-columns:repeat(2,1fr)}.scope-list{grid-template-columns:1fr}.narrative .wrap{gap:var(--s-5);grid-template-columns:1fr}.proj-gallery{grid-template-columns:repeat(4,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.values{grid-template-columns:1fr}.area-grid-detail,.secondary-list,.reviews-grid{grid-template-columns:repeat(2,1fr)}.review-summary{gap:var(--s-4);grid-template-columns:1fr}.review-summary .rating-big{padding-right:0;padding-bottom:var(--s-4);border-right:0;border-bottom:1px solid var(--slate-200)}.contact-grid{grid-template-columns:1fr}}@media(max-width:760px){.header .nav-links{display:none}.header-logo img{height:46px}.menu-toggle{display:inline-flex}.nav-phone .ph-num{display:none}.utility-bar .wrap{text-align:center;justify-content:center}.utility-bar .right{display:none}.hero .hero-grid{grid-template-columns:1fr}.hero-photo{min-height:320px}.section-head{grid-template-columns:1fr}.section-head .right{justify-self:start}.stats-row{grid-template-columns:repeat(2,1fr)}.stats-row .stat{border-right:0;border-bottom:1px solid var(--slate-800);padding:var(--s-5) 0}.stats-row .stat:nth-child(odd){border-right:1px solid var(--slate-800);padding-right:var(--s-4)}.stats-row .stat:nth-child(2n){padding-left:var(--s-4)}.services-grid,.projects-grid{grid-template-columns:1fr}.project-card.big{grid-column:auto}.process-grid,.area .area-grid,.area-list ul,.footer .top{grid-template-columns:1fr}.footer .strip{text-align:center;grid-template-columns:1fr;gap:8px}.footer .strip .right,.footer .strip .center{text-align:center}.sticky-cta{bottom:12px;left:12px;right:12px}.sticky-cta .label small{display:none}.page-hero .wrap{grid-template-columns:1fr}.page-hero .right{align-items:flex-start}.page-hero .h-stats{justify-content:flex-start}.page-hero .h-stats .h-stat{text-align:left}.detail-hero .wrap{grid-template-columns:1fr}.detail-hero .photo-wrap{min-height:280px}.service-row .wrap{grid-template-columns:1fr}.service-row.flip .copy-col{order:1}.service-row.flip .photo-col{order:2}.capabilities,.promises-grid,.cat-projects{grid-template-columns:1fr}.facts-strip .wrap{padding:var(--s-4) var(--gutter);grid-template-columns:1fr}.facts-strip .fact{border-bottom:1px solid var(--slate-200);padding:var(--s-3) 0!important;border-right:0!important}.facts-strip .fact:last-child{border-bottom:0}.cta-band .wrap{grid-template-columns:1fr}.cta-band .actions{align-items:flex-start}.testimonial{padding:var(--s-5);grid-template-columns:1fr}.testimonial blockquote{font-size:20px}.faq-q{font-size:18px}.projects-index-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:flex-start}.proj-facts .wrap{grid-template-columns:1fr}.proj-facts .pf{border-bottom:1px solid var(--slate-800);padding:var(--s-3) 0;border-right:0!important}.proj-facts .pf:last-child{border-bottom:0}.project-hero .title-row,.related-grid,.proj-gallery{grid-template-columns:1fr}.gphoto.span-2,.gphoto.span-3,.gphoto.span-4,.gphoto.span-6{grid-column:auto}.gphoto.tall{grid-row:auto;min-height:280px}.jump-nav{top:64px}.jump-nav .wrap{padding:10px var(--gutter)}.timeline:before{left:8px}.timeline .tl-item{gap:var(--s-2);grid-template-columns:1fr;padding-left:32px}.timeline .tl-year{text-align:left}.timeline .tl-year:after{left:-28px;right:auto}.timeline .tl-body{padding-left:0}.team-grid,.area-grid-detail,.secondary-list,.reviews-grid{grid-template-columns:1fr}.process-step-detail .wrap{gap:var(--s-4);grid-template-columns:1fr}.process-step-detail .step-tag{position:static}.process-step-detail .step-tag .num{font-size:64px}.process-step-detail .step-body .expect-list{grid-template-columns:1fr}.contact-form-card{padding:var(--s-5)}.contact-form-card .form-row{grid-template-columns:1fr}.contact-callout{flex-direction:column;align-items:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
