/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--font-sans:Arial,Helvetica,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#14181b;--color-muted:#5d6973;--color-line:#e3e6e8;--color-paper:#f6f5f2;--color-accent:#ff3131;--color-accent-strong:#e21919}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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{-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--ink:#14181b;--panel:#1b2024;--muted:#5d6973;--line:#e3e6e8;--paper:#f6f5f2;--white:#fff;--accent:#ff3131;--accent-strong:#e21919;--accent-dark:#c01414;--steel:#8ea0a8;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}::selection{color:var(--ink);background:#ff313133}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);color:var(--ink);z-index:30;background:#ffffffe6;justify-content:space-between;align-items:center;min-height:76px;padding:14px clamp(20px,5vw,72px);transition:background .22s,border-color .22s,box-shadow .22s;display:flex;position:fixed;top:0;left:0;right:0}.is-scrolled .site-header{background:#fffffff5;border-color:#14181b1a;box-shadow:0 14px 40px #14181b14}.brand{align-items:center;min-width:168px;display:flex}.brand img{object-fit:contain;object-position:left center;width:150px;height:40px;display:block}.nav-desktop{letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:clamp(14px,2.2vw,30px);font-size:13px;font-weight:700;display:flex}.nav-desktop a:not(.nav-action){color:var(--ink);padding:6px 0;transition:color .16s;position:relative}.nav-desktop a:not(.nav-action):after{background:var(--accent);content:"";transform-origin:0;width:100%;height:2px;transition:transform .22s;position:absolute;bottom:-5px;left:0;transform:scaleX(0)}.nav-desktop a:not(.nav-action):hover{color:var(--accent-strong)}.nav-desktop a:not(.nav-action):hover:after{transform:scaleX(1)}.nav-action{background:var(--accent);color:var(--white);padding:12px 18px;transition:background .16s}.nav-action:hover{background:var(--accent-strong)}.nav-toggle{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px}.mobile-menu,.nav-toggle{display:none}.hero{background:var(--white);color:var(--ink);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(28px,4vw,64px);padding:150px clamp(20px,5vw,72px) 90px;display:grid;position:relative;overflow:hidden}.hero-content{z-index:2;max-width:680px}.hero-content,.hero-visual{position:relative}.hero-visual img{aspect-ratio:4/5;object-fit:cover;width:100%;height:100%}.eyebrow,.section-kicker{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:900px;margin-bottom:26px;font-size:clamp(42px,5.8vw,78px);line-height:1}.hero-intro{color:var(--muted);max-width:560px;font-size:clamp(18px,2vw,24px);line-height:1.5}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button,.text-link{text-transform:uppercase;justify-content:center;align-items:center;gap:10px;min-height:48px;font-size:13px;font-weight:800;display:inline-flex}.button{border:1px solid #0000;padding:0 18px}.button-primary{background:var(--accent);color:var(--white)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border-color:var(--ink);color:var(--ink)}.button-secondary:hover{background:var(--ink);color:var(--white)}.hero-panel{border-left:5px solid var(--accent);color:var(--ink);z-index:3;background:#fffffff5;align-items:start;gap:12px;max-width:320px;padding:24px;display:grid;position:absolute;bottom:22px;left:22px;box-shadow:0 24px 60px #14181b2e}.hero-panel svg{color:var(--accent-strong)}.hero-panel span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.hero-panel strong{font-size:20px;line-height:1.25}.contact-section,.faq-section,.news-section,.projects-section,.services-section,.split-section{padding:90px clamp(20px,5vw,72px)}.services-section{background:var(--paper)}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px;display:flex}h2{max-width:820px;margin-bottom:0;font-size:clamp(32px,4vw,58px);line-height:1.02}.text-link{color:var(--accent-dark);white-space:nowrap}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.service-card{background:var(--white);border:1px solid var(--line);flex-direction:column;gap:14px;padding:30px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.service-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 18px 44px #14181b1a}.service-card svg{color:var(--accent-strong);margin-bottom:6px}.service-card h3{margin-bottom:0;font-size:22px;line-height:1.12}.service-card p{margin-bottom:0}.about-copy p,.contact-section p,.faq-list p,.news-card p,.service-card p{color:var(--muted);line-height:1.7}.split-section{background:var(--white);border-top:1px solid var(--line);color:var(--ink);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;display:grid}.about-copy p{color:var(--muted);font-size:20px}.about-copy .button{margin-top:26px}.projects-section{background:var(--paper)}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.project-card{aspect-ratio:1/1.15;background:var(--panel);position:relative;overflow:hidden}.project-card-featured{grid-area:span 2/span 2}.project-card img{object-fit:cover;width:100%;height:100%;transition:transform .42s}.project-card:hover img{transform:scale(1.055)}.project-overlay{color:var(--white);background:linear-gradient(#0000,#1114176b 28%,#111417f0);padding:22px;position:absolute;bottom:0;left:0;right:0}.news-card time,.project-overlay p,.project-overlay span{color:#c4cdd1;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.project-overlay h3{margin-bottom:8px;font-size:clamp(22px,2.4vw,34px);line-height:1.05}.project-overlay p{margin:0}.faq-section{background:var(--white);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;display:grid}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:20px;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}details p{margin:16px 0 0}.news-section{background:var(--paper)}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.news-page .news-section{padding-top:72px}.news-page .news-grid>:first-child{grid-column:span 2}.news-page .news-grid>:first-child img{aspect-ratio:2/.92}.news-card{background:var(--white);border:1px solid var(--line)}.news-card img{aspect-ratio:1.4;object-fit:cover;width:100%;height:auto}.news-card div{padding:22px}.news-card h3{font-size:23px;line-height:1.18}.contact-section{background:var(--ink);color:var(--white);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:flex-end;gap:40px;display:grid}.contact-section h2{margin-bottom:20px}.contact-section .section-kicker{color:var(--accent)}.contact-section p{color:#c8d0d4}address{border:1px solid #ffffff1f;border-left:5px solid var(--accent);background:#ffffff0f;gap:16px;padding:30px;font-style:normal;display:grid}address span{color:#c8d0d4}address a{color:var(--white);font-size:24px;font-weight:800}address a:hover{color:var(--accent)}.subpage{background:var(--paper);min-height:100vh}.page-hero{position:relative}.page-hero:after{background:linear-gradient(90deg,var(--accent),transparent 72%);content:"";width:20vw;max-width:220px;height:3px;position:absolute;bottom:-1px;left:clamp(20px,5vw,72px)}.page-hero-graphic{background:linear-gradient(#fffffff5,#fffffffa),linear-gradient(90deg,#14181b09 1px,#0000 0) 0 0/52px 52px,linear-gradient(#14181b09 1px,#0000 0) 0 0/52px 52px}.page-hero-mark{aspect-ratio:.82;border-left:4px solid var(--accent);justify-content:end;gap:14px;padding:12px 0 12px 28px;display:grid}.page-hero-mark span{background:linear-gradient(90deg,#14181b24,#14181b05);width:clamp(140px,18vw,260px);display:block}.page-hero-mark span:first-child{height:28%}.page-hero-mark span:nth-child(2){height:44%}.page-hero-mark span:nth-child(3){height:18%}.subpage-header{background:var(--ink);color:var(--white);justify-content:space-between;align-items:center;min-height:76px;padding:16px clamp(20px,5vw,72px);display:flex}.subpage-hero{background:var(--white);border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:end;gap:48px;padding:150px clamp(20px,5vw,72px) 72px;display:grid}.subpage-hero h1{max-width:980px;font-size:clamp(42px,5vw,74px)}.subpage-description{color:var(--muted);max-width:780px;font-size:clamp(18px,2vw,23px);line-height:1.55}.route-meta{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.route-meta span{align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.subpage-image{aspect-ratio:1.25;background:var(--paper);border-left:5px solid var(--accent);overflow:hidden}.subpage-image img{object-fit:cover;width:100%;height:100%}.subpage-image-empty{color:var(--muted);place-items:center;gap:12px;padding:32px;display:grid}.subpage-image-empty svg{color:var(--accent-strong)}.article-shell{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:56px;padding:86px clamp(20px,5vw,72px);display:grid}.article-shell-service{background:linear-gradient(90deg,#14181b0b 1px,transparent 1px),linear-gradient(180deg,#14181b0b 1px,transparent 1px),var(--paper);background-size:54px 54px,54px 54px,auto}.article-body{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--accent);padding:clamp(28px,5vw,64px);box-shadow:0 24px 70px #14181b0f}.article-body h2{margin:42px 0 18px;font-size:clamp(30px,3vw,46px)}.article-body h2:first-child{margin-top:0}.article-body h3{margin:34px 0 14px;font-size:24px;line-height:1.2}.article-body p{color:#3f494f;max-width:920px;margin-bottom:20px;font-size:19px;line-height:1.78}.article-body>p:first-child{color:var(--ink);font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.48}.service-article{box-shadow:none;background:0 0;border:0;gap:24px;padding:0;display:grid}.project-article{gap:22px;display:grid}.project-lead{font-weight:800;color:var(--ink)!important;font-size:clamp(21px,2.1vw,28px)!important;line-height:1.42!important}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.project-gallery img{aspect-ratio:1.25;border:1px solid var(--line);object-fit:cover;background:#242a2f;width:100%}.service-section{background:var(--white);border:1px solid var(--line);padding:clamp(28px,4vw,48px)}.service-section:first-child{border-top:4px solid var(--accent)}.service-section h2{margin-bottom:24px}.service-section-primary{border-left:5px solid var(--accent);grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(20px,4vw,48px);display:grid}.service-section-primary h2{margin:0;font-size:clamp(30px,3.4vw,52px)}.service-section-primary>div,.service-section-primary>h3,.service-section-primary>p{grid-column:2}.service-intro-copy p:first-child{color:var(--ink);font-size:clamp(21px,2.1vw,28px);font-weight:800;line-height:1.42}.service-intro-copy{border-left:5px solid var(--accent)}.service-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.service-feature{border:1px solid var(--line);background:#f4f1eb;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;min-height:92px;padding:18px;display:grid}.service-feature svg{color:var(--accent);margin-top:3px}.service-feature span{color:#273035;font-size:16px;font-weight:800;line-height:1.35}.service-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px;display:grid}.service-audience-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--accent);min-height:210px;padding:24px}.service-audience-card h3{color:var(--ink);margin-top:0;font-size:22px}.service-audience-card p{color:var(--muted);margin-bottom:0;font-size:16px;line-height:1.62}.service-faq-block h2{margin-bottom:22px}.service-faq-list{border-top:1px solid var(--line)}.service-faq-list details{padding:20px 0}.service-faq-list summary{color:var(--ink);font-size:18px}.service-faq-list p{color:var(--muted);font-size:17px;line-height:1.65}.article-aside{gap:18px;display:grid;position:sticky;top:104px}.article-aside-card,.article-aside>div{background:var(--white);border:1px solid var(--line);color:var(--ink);padding:24px}.article-shell-service .article-aside-card{border-left:4px solid var(--accent)}.article-aside p{color:var(--muted);margin-bottom:0;line-height:1.6}.article-aside ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.article-aside a{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;font-weight:800;transition:color .16s;display:flex}.article-aside a:hover{color:var(--accent-strong)}.post-article-shell{background:linear-gradient(90deg,#14181b09 1px,transparent 1px),linear-gradient(180deg,#14181b09 1px,transparent 1px),var(--paper);background-size:54px 54px;grid-template-columns:minmax(0,920px) minmax(260px,320px);justify-content:center;gap:clamp(28px,4vw,56px)}.post-article{border-top-width:5px;padding:clamp(30px,5vw,76px);box-shadow:0 28px 90px #14181b14}.post-article p{color:#2f393f;max-width:68ch;margin-bottom:22px;font-size:clamp(18px,1.1vw,20px);line-height:1.82}.post-article .post-lead{color:var(--ink);letter-spacing:-.01em;max-width:26ch;margin-bottom:34px;font-size:clamp(24px,2.25vw,34px);font-weight:850;line-height:1.28}.post-article h2,.post-article h3{max-width:720px;scroll-margin-top:112px}.post-article h2{border-top:1px solid var(--line);margin:54px 0 20px;padding-top:34px;font-size:clamp(32px,3.2vw,50px);line-height:1.04}.post-article h3{color:var(--ink);margin:48px 0 18px;font-size:clamp(24px,2vw,34px);line-height:1.12}.post-article h3:first-child{margin-top:0}.post-compact-grid{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:720px;margin:28px 0 38px;display:grid;overflow:hidden}.post-compact-grid span{background:var(--paper);color:#263138;border-left:3px solid #0000;border-left-color:var(--accent);align-items:center;min-height:58px;padding:14px 16px;font-size:15px;font-weight:800;line-height:1.35;display:flex}.post-article-aside{gap:14px}.post-aside-card{border-left:4px solid var(--accent);box-shadow:0 18px 60px #14181b0f}.post-aside-card nav{gap:0;display:grid}.post-aside-card nav a{border-top:1px solid var(--line);color:#303a40;align-items:start;padding:14px 0;font-size:14px;font-weight:850;line-height:1.25;display:grid}.post-aside-card nav a:after{content:none}.post-aside-card ul a{font-size:13px;line-height:1.3}@media (max-width:680px){.post-compact-grid{grid-template-columns:1fr}}.subpage-contact{margin-top:0}.directory-block{padding:86px clamp(20px,5vw,72px)}.directory-intro{background:var(--white);border-bottom:1px solid var(--line);gap:18px;padding:42px clamp(20px,5vw,72px);display:grid}.directory-intro p{color:#3f494f;max-width:980px;margin:0;font-size:19px;line-height:1.72}.directory-block:nth-of-type(odd){background:#e8e5dd}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.directory-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.directory-grid-compact .directory-card img{display:none}.directory-grid-compact .directory-card div{min-height:220px}.directory-card{background:var(--white);border:1px solid var(--line);min-height:100%;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden}.directory-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px #1114171a}.directory-card img{aspect-ratio:1.35;object-fit:cover;width:100%}.directory-card div{gap:14px;padding:24px;display:grid}.directory-card h3{margin-bottom:0;font-size:24px;line-height:1.15}.directory-card p{color:var(--muted);margin-bottom:0;line-height:1.6}.directory-card small{color:#7e8a91;text-transform:uppercase;font-size:12px;font-weight:800}.directory-card span{color:var(--accent-dark);text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.site-footer{background:var(--ink);color:#c8d0d4;padding:72px clamp(20px,5vw,72px) 36px}.footer-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;display:grid}.footer-brand img{width:auto;height:40px;margin-bottom:22px}.footer-brand p{color:#aab4ba;max-width:420px;font-size:15px;line-height:1.7}.footer-social{flex-wrap:wrap;gap:22px;margin-top:8px;display:flex}.footer-social a{color:var(--white);font-size:13px;font-weight:700}.footer-social a:hover{color:var(--accent)}.footer-col h3{color:var(--white);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;font-size:13px;font-weight:800}.footer-col ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.footer-col a{color:#c8d0d4;font-size:15px}.footer-col a:hover{color:var(--accent)}.footer-col address{background:0 0;border:0;gap:10px;padding:0;font-style:normal;display:grid}.footer-col address span{color:#c8d0d4;font-size:15px;line-height:1.6}.footer-col address a{color:var(--white);font-size:15px;font-weight:700}.footer-col address a:hover{color:var(--accent)}.footer-base{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:16px 28px;margin-top:56px;padding-top:28px}.footer-base,.footer-legal{flex-wrap:wrap;display:flex}.footer-legal{gap:22px}.footer-legal a{color:#c8d0d4;font-size:13px;font-weight:700}.footer-legal a:hover{color:var(--accent)}.footer-base p{color:#8c969c;margin:0;font-size:13px}@media (max-width:980px){.article-shell,.contact-section,.faq-section,.hero,.news-grid,.service-grid,.split-section,.subpage-hero{grid-template-columns:1fr}.directory-grid,.directory-grid-compact,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-aside{position:static}.project-gallery,.service-audience-grid,.service-feature-grid{grid-template-columns:1fr}.post-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-section-primary{grid-template-columns:1fr}.service-section-primary>div,.service-section-primary>h3,.service-section-primary>p{grid-column:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.nav-desktop{display:none}.nav-toggle{display:inline-flex}.hero{padding-top:124px}.hero-visual img{aspect-ratio:3/2}.mobile-menu-open{background:var(--white);border-bottom:1px solid var(--line);z-index:29;gap:4px;padding:14px clamp(20px,5vw,72px) 24px;display:grid;position:fixed;top:76px;left:0;right:0}.mobile-menu-open a:not(.button){border-bottom:1px solid var(--line);color:var(--ink);padding:14px 0;font-size:16px;font-weight:700}.mobile-menu-open .button{margin-top:14px}}@media (max-width:680px){.hero-actions,.section-heading-row{flex-direction:column;align-items:start}.directory-grid,.directory-grid-compact,.footer-grid,.project-grid{grid-template-columns:1fr}.project-card-featured{grid-area:auto}}.about-hero-lead{color:var(--muted);max-width:560px;margin-top:18px;font-size:17px;line-height:1.7}.stat-figure{color:var(--accent-strong);font-size:44px;font-weight:800;line-height:1}.about-capabilities{background:var(--white);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:64px clamp(20px,5vw,72px);display:grid}.capability-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.capability{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:20px;display:grid}.capability svg{color:var(--accent-strong);margin-top:2px}.capability span{font-size:16px;font-weight:800;line-height:1.35}.why-card{position:relative}.about-mission{background:var(--white);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,4vw,56px);padding:90px clamp(20px,5vw,72px);display:grid}.about-mission-media img{aspect-ratio:4/3;border-left:5px solid var(--accent);object-fit:cover;width:100%}.about-mission-copy h2{margin-bottom:22px}.about-mission-copy p{color:var(--muted);max-width:620px;margin-bottom:18px;line-height:1.75}@media (max-width:980px){.about-capabilities,.about-mission{grid-template-columns:1fr}.about-mission-media{order:2}}@media (max-width:680px){.capability-row{grid-template-columns:1fr}}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);padding:72px clamp(20px,5vw,72px);display:grid}.contact-details h2{margin-bottom:28px;font-size:clamp(26px,3vw,38px)}.contact-details ul{gap:22px;margin:0 0 28px;padding:0;list-style:none;display:grid}.contact-details li{color:var(--ink);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:14px;font-size:17px;line-height:1.6;display:grid}.contact-details li svg{color:var(--accent-strong);margin-top:2px}.contact-details a{font-weight:700}.contact-details a:hover{color:var(--accent-strong)}.contact-social{border-top:1px solid var(--line);gap:14px;padding-top:24px;display:grid}.contact-social a{font-size:14px;font-weight:700}.contact-social a:hover{color:var(--accent-strong)}.contact-form-card{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--accent);padding:clamp(28px,4vw,48px)}.contact-form-card h2{margin-bottom:28px;font-size:clamp(26px,3vw,38px)}.contact-form,.field-row{gap:20px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:8px;display:grid}.field label{letter-spacing:.02em;text-transform:uppercase;font-size:13px;font-weight:800}.field input,.field select,.field textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink);width:100%;padding:13px 14px;font-family:inherit;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{resize:vertical}.field small{color:var(--muted);font-size:13px}.consent{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;font-size:14px;line-height:1.55;display:grid}.consent input{margin-top:3px}.consent a{color:var(--accent-strong);font-weight:700}.contact-form .button{justify-self:start;margin-top:4px;padding:0 32px}@media (max-width:860px){.contact-layout{grid-template-columns:1fr}}@media (max-width:560px){.field-row{grid-template-columns:1fr}}.service-overview{background:var(--paper);padding:80px clamp(20px,5vw,72px)}.service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service-overview-card{background:var(--white);border:1px solid var(--line);flex-direction:column;gap:16px;padding:clamp(28px,3vw,40px);transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.service-overview-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 18px 44px #14181b1a}.service-overview-card svg{color:var(--accent-strong)}.service-overview-card h2{margin:0;font-size:clamp(24px,2.2vw,30px)}.service-overview-card p{color:var(--muted);margin:0;line-height:1.7}.service-overview-card .text-link{margin-top:auto}.service-card-stage{background:linear-gradient(180deg,var(--paper) 0,var(--paper) 34%,var(--white) 34%,var(--white) 100%)}@media (max-width:860px){.service-overview-grid{grid-template-columns:1fr}}.project-grid-index{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid-index>:first-child{grid-column:span 2}.project-grid-index .project-card{aspect-ratio:1.1}.project-grid-index>:first-child .project-card{aspect-ratio:2.25}@media (max-width:980px){.project-grid-index{grid-template-columns:repeat(2,minmax(0,1fr))}.news-page .news-grid>:first-child{grid-column:span 1}}@media (max-width:680px){.project-grid-index{grid-template-columns:1fr}.project-grid-index>:first-child{grid-column:span 1}.project-grid-index>:first-child .project-card{aspect-ratio:1.1}}.service-hero-copy{color:var(--muted);max-width:620px;margin-top:16px;font-size:17px;line-height:1.7}.service-section-block{background:var(--white);padding:72px clamp(20px,5vw,72px)}.service-section-block.alt{background:var(--paper)}.service-block-head{margin-bottom:32px}.service-block-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);display:grid}.service-block-split .section-kicker{margin-bottom:14px}.service-block-body p{color:var(--muted);max-width:720px;margin-bottom:18px;font-size:18px;line-height:1.7}.checklist-intro{font-weight:800;color:var(--ink)!important;margin-bottom:14px!important}.checklist{gap:0;max-width:820px;margin:0;padding:0;list-style:none;display:grid}.checklist li{border-top:1px solid var(--line);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:14px;padding:18px 0;display:grid}.checklist li:last-child{border-bottom:1px solid var(--line)}.checklist li svg{color:var(--accent-strong);margin-top:3px}.checklist li span{font-size:17px;font-weight:600;line-height:1.5}.service-note{color:var(--muted);margin-top:20px;font-style:italic;font-size:15px!important}.scope-section{border-top:1px solid var(--line)}.scope-section h3{margin-bottom:18px;font-size:20px}.exclusion-list{gap:0;max-width:720px;margin:0;padding:0;list-style:none;display:grid}.exclusion-list li{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:14px;padding:16px 0;display:grid}.exclusion-list li:last-child{border-bottom:1px solid var(--line)}.exclusion-list li svg{color:var(--muted);margin-top:2px}.exclusion-list li span{font-size:16px;line-height:1.5}@media (max-width:860px){.service-block-split{grid-template-columns:1fr}}.audience-icon{color:var(--accent-strong);margin-bottom:14px}.subservice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.subservice-card{background:var(--white);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;font-size:17px;font-weight:800;transition:border-color .16s,transform .16s;display:flex}.subservice-card svg{color:var(--accent-strong);flex-shrink:0}.subservice-card:hover{border-color:var(--accent);transform:translateY(-3px)}@media (max-width:860px){.subservice-grid{grid-template-columns:1fr}}.area-tags{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.area-tag{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--accent);padding:10px 16px;font-size:15px;font-weight:700}.service-section-block.alt .area-tag{background:var(--paper)}.service-audience-grid.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.service-audience-card .section-kicker{margin-bottom:10px}@media (max-width:860px){.service-audience-grid.grid-2{grid-template-columns:1fr}}.detail-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.detail-list li{gap:4px;display:grid}.detail-list small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.detail-list span{font-size:17px;font-weight:700}.project-gallery-section .project-gallery{margin-top:0}.faq-section.alt-faq{background:var(--paper)}.legal-shell{padding:72px clamp(20px,5vw,72px)}.legal-body{max-width:860px}.legal-body h3{margin:36px 0 12px;font-size:22px}.legal-body h3:first-child{margin-top:0}.legal-body p{color:#3f494f;max-width:820px;margin-bottom:16px;font-size:16px;line-height:1.75}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-28{top:calc(var(--spacing) * 28)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-20{z-index:20}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[1\.4\/1\]{aspect-ratio:1.4}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.h-24{height:calc(var(--spacing) * 24)}.h-full{height:100%}.min-h-\[27rem\]{min-height:27rem}.w-1{width:calc(var(--spacing) * 1)}.w-\[3px\]{width:3px}.w-\[88\%\]{width:88%}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[1500px\]{max-width:1500px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-\[minmax\(0\,1fr\)\]{grid-auto-rows:minmax(0,1fr)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-px{gap:1px}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-clip{overflow-x:clip}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-accent{border-color:var(--color-accent)}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.bg-accent{background-color:var(--color-accent)}.bg-ink{background-color:var(--color-ink)}.bg-paper{background-color:var(--color-paper)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab}.from-ink{--tw-gradient-from:var(--color-ink);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ink\/25{--tw-gradient-from:#14181b40}@supports (color:color-mix(in lab,red,red)){.from-ink\/25{--tw-gradient-from:color-mix(in oklab,var(--color-ink) 25%,transparent)}}.from-ink\/25{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ink\/88{--tw-gradient-from:#14181be0}@supports (color:color-mix(in lab,red,red)){.from-ink\/88{--tw-gradient-from:color-mix(in oklab,var(--color-ink) 88%,transparent)}}.from-ink\/88{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-ink\/10{--tw-gradient-via:#14181b1a}@supports (color:color-mix(in lab,red,red)){.via-ink\/10{--tw-gradient-via:color-mix(in oklab,var(--color-ink) 10%,transparent)}}.via-ink\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-ink\/78{--tw-gradient-via:#14181bc7}@supports (color:color-mix(in lab,red,red)){.via-ink\/78{--tw-gradient-via:color-mix(in oklab,var(--color-ink) 78%,transparent)}}.via-ink\/78{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-ink\/5{--tw-gradient-to:#14181b0d}@supports (color:color-mix(in lab,red,red)){.to-ink\/5{--tw-gradient-to:color-mix(in oklab,var(--color-ink) 5%,transparent)}}.to-ink\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[124px\]{padding-top:124px}.pt-\[150px\]{padding-top:150px}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[clamp\(1\.9rem\,3\.4vw\,3rem\)\]{font-size:clamp(1.9rem,3.4vw,3rem)}.text-\[clamp\(2\.6rem\,5\.4vw\,4\.6rem\)\]{font-size:clamp(2.6rem,5.4vw,4.6rem)}.text-\[clamp\(2\.6rem\,5\.4vw\,4\.7rem\)\]{font-size:clamp(2.6rem,5.4vw,4.7rem)}.text-\[clamp\(2\.6rem\,5vw\,4rem\)\]{font-size:clamp(2.6rem,5vw,4rem)}.text-\[clamp\(2\.25rem\,4\.6vw\,4rem\)\]{font-size:clamp(2.25rem,4.6vw,4rem)}.text-\[clamp\(2rem\,4vw\,3\.4rem\)\]{font-size:clamp(2rem,4vw,3.4rem)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.03\]{--tw-leading:1.03;line-height:1.03}.leading-\[1\.04\]{--tw-leading:1.04;line-height:1.04}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-accent-strong{color:var(--color-accent-strong)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-white{color:var(--color-white)}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white) 65%,transparent)}}.text-white\/78{color:#ffffffc7}@supports (color:color-mix(in lab,red,red)){.text-white\/78{color:color-mix(in oklab,var(--color-white) 78%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_24px_60px_rgba\(20\,24\,27\,0\.16\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(20\,24\,27\,0\.16\)\]{--tw-shadow:0 24px 60px var(--tw-shadow-color,#14181b29)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[650ms\]{--tw-duration:.65s;transition-duration:.65s}.duration-\[700ms\]{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:5\]{-webkit-line-clamp:5}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-\[1\.05\]:is(:where(.group):hover *){scale:1.05}.group-hover\:scale-\[1\.06\]:is(:where(.group):hover *){scale:1.06}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}.group-hover\:text-accent-strong:is(:where(.group):hover *){color:var(--color-accent-strong)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-accent-strong:hover{background-color:var(--color-accent-strong)}.hover\:bg-ink:hover{background-color:var(--color-ink)}.hover\:bg-paper:hover{background-color:var(--color-paper)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-\[0_18px_44px_rgba\(20\,24\,27\,0\.1\)\]:hover{--tw-shadow:0 18px 44px var(--tw-shadow-color,#14181b1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:pl-8{padding-left:calc(var(--spacing) * 8)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-start-1{grid-column-start:1}.md\:-mt-4{margin-top:calc(var(--spacing) * -4)}.md\:block{display:block}.md\:aspect-auto{aspect-ratio:auto}.md\:h-full{height:100%}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.md\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.md\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}.md\:grid-cols-\[minmax\(0\,0\.78fr\)_minmax\(280px\,0\.22fr\)\]{grid-template-columns:minmax(0,.78fr) minmax(280px,.22fr)}.md\:items-center{align-items:center}.md\:gap-14{gap:calc(var(--spacing) * 14)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:py-7{padding-block:calc(var(--spacing) * 7)}.md\:pt-\[150px\]{padding-top:150px}.md\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-\[72px\]{padding-inline:72px}.lg\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.lg\:pb-28{padding-bottom:calc(var(--spacing) * 28)}}@media (min-width:40rem){.sm\:\[\&\:first-child\]\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.sm\:\[\&\:first-child\]\:pl-0:first-child{padding-left:calc(var(--spacing) * 0)}}}.glow-card{position:relative}.glow-card:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),#ff313112 0,transparent 60%);opacity:var(--go,0);z-index:1;transition:opacity .35s;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.glow-card:before{display:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.scroll-section{animation:scroll-fade-rise linear both;animation-timeline:view();animation-range:entry entry 45%}.about-capabilities,.about-mission,.article-shell,.contact-layout,.directory-block,.directory-intro,.faq-section,.service-section-block,.services-section{animation:scroll-rise linear both;animation-timeline:view();animation-range:entry 2% entry 26%}}}@keyframes scroll-fade-rise{0%{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.scroll-section{animation:none!important}}.scroll-progress{background:linear-gradient(90deg,var(--accent),#f77);height:3px;transform:scaleX(var(--scroll-progress,0));transform-origin:0;z-index:60;position:fixed;top:0;left:0;right:0}@media (prefers-reduced-motion:no-preference){.hero-visual img,.page-hero-image img,.subpage-image img{transform:translateY(calc(var(--scroll-progress,0) * -18px)) scale(1.015);transition:transform .14s linear}}.service-directory-shell{background:linear-gradient(90deg,#14181b0b 1px,transparent 1px),linear-gradient(180deg,#14181b0a 1px,transparent 1px),var(--paper);background-size:56px 56px;grid-template-columns:minmax(220px,.28fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:80px clamp(20px,5vw,72px) 96px;display:grid}.service-directory-nav{align-self:start;position:sticky;top:112px}.service-directory-nav>div{border:1px solid var(--line);background:#ffffffc7;display:grid}.service-directory-nav a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;padding:16px;font-size:14px;font-weight:800;line-height:1.2;transition:background .18s,color .18s,transform .18s;display:grid}.service-directory-nav a:last-child{border-bottom:0}.service-directory-nav a span{color:var(--accent-strong);font-size:12px}.service-directory-nav a:hover{background:var(--ink);color:var(--white);transform:translate(4px)}.service-directory-intro{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--accent);grid-template-columns:minmax(0,.78fr) minmax(280px,.55fr);align-items:end;gap:clamp(22px,4vw,56px);margin-bottom:24px;padding:clamp(28px,4vw,48px);display:grid}.service-directory-intro h2{font-size:clamp(34px,4.1vw,64px)}.service-directory-intro p{color:var(--muted);margin-bottom:20px;font-size:18px;line-height:1.68}.service-pill-row{flex-wrap:wrap;gap:8px;display:flex}.service-pill-row span{background:var(--paper);border:1px solid var(--line);text-transform:uppercase;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:800;display:inline-flex}.service-pill-row svg{color:var(--accent-strong)}.service-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service-stack-item{position:relative}.service-stack-anchor{position:absolute;top:-116px;left:0}.service-stack .group{min-height:clamp(25rem,34vw,34rem);box-shadow:0 28px 80px #14181b1f}.projects-motion-bridge{background:radial-gradient(circle at 18% 0,#ff313114,transparent 30%),var(--paper)}.case-study-shell{background:linear-gradient(90deg,#14181b09 1px,transparent 1px),linear-gradient(180deg,#14181b09 1px,transparent 1px),var(--paper);background-size:54px 54px;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,70px);padding:86px clamp(20px,5vw,72px);display:grid}.case-study-rail{border:1px solid var(--line);border-left:5px solid var(--accent);background:#ffffffd6;padding:24px;position:sticky;top:108px}.case-fact-grid{gap:12px;display:grid}.case-fact{background:var(--white);border:1px solid var(--line);gap:7px;padding:16px;display:grid}.case-fact svg{color:var(--accent-strong)}.case-fact small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.case-fact>span{color:var(--ink);font-size:17px;font-weight:800;line-height:1.35}.case-tag-row{flex-wrap:wrap;gap:8px;display:flex}.case-tag-row span{background:var(--paper);border-left:3px solid var(--accent);padding:7px 9px;font-size:13px;font-weight:800}.case-study-body{gap:22px;display:grid}.case-study-heading{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--accent);padding:clamp(28px,4vw,48px)}.case-study-heading h2{font-size:clamp(34px,4vw,62px)}.case-narrative{gap:16px;display:grid}.case-copy-block{background:var(--white);border:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);gap:clamp(18px,3vw,38px);padding:clamp(24px,4vw,44px);transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.case-copy-block:hover{border-color:#ff313173;transform:translateY(-3px);box-shadow:0 18px 54px #14181b14}.case-copy-block>span{color:var(--accent-strong);font-size:13px;font-weight:900}.case-copy-block p{color:#3f494f;margin:0;font-size:19px;line-height:1.78}.case-copy-lead p{color:var(--ink);font-size:clamp(21px,2.1vw,28px);font-weight:800;line-height:1.42}.case-checklist{background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,40px)}.case-gallery-section .section-heading-row{margin-bottom:28px}.case-gallery-section .project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.case-gallery-section .project-gallery>*{min-height:100%}.case-gallery-section .project-gallery>:only-child{grid-column:1/-1;max-width:1040px}.case-gallery-section img{aspect-ratio:1.18;min-height:100%}@media (max-width:980px){.case-study-shell,.service-directory-intro,.service-directory-shell{grid-template-columns:1fr}.case-study-rail,.service-directory-nav{position:static}.case-gallery-section .project-gallery,.service-directory-nav>div{grid-template-columns:repeat(2,minmax(0,1fr))}.service-stack{grid-template-columns:1fr}.case-gallery-section .project-gallery>*{grid-column:auto!important}}@media (max-width:680px){.case-copy-block,.case-gallery-section .project-gallery,.service-directory-nav>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.case-study-rail,.service-directory-nav,.service-stack-item{position:static}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}