:root{--color-signal-dark: #2a2a2a;--color-signal-ink: #0a0a0a;--color-signal-white: #fafafa;--color-signal-rust: #8c3416;--color-signal-teal: #78a6aa;--color-primary: var(--color-signal-white);--color-primary-hover: #ffffff;--color-primary-light: rgba(250, 250, 250, .08);--color-accent: var(--color-signal-teal);--color-accent-hover: #93bcbf;--color-accent-soft: rgba(120, 166, 170, .14);--color-bg-base: var(--color-signal-dark);--color-bg-surface: var(--color-signal-dark);--color-bg-surface-elevated: #333333;--color-bg-subtle: #222222;--color-bg-input: var(--color-signal-ink);--color-text-main: var(--color-signal-white);--color-text-muted: rgba(250, 250, 250, .92);--color-text-light: rgba(250, 250, 250, .55);--color-text-inverse: var(--color-signal-dark);--color-border: rgba(250, 250, 250, .22);--color-border-subtle: rgba(250, 250, 250, .1);--color-border-focus: var(--color-signal-teal);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--font-heading: "Cal Sans", "Helvetica Neue", Arial, sans-serif;--font-sans: "Cousine", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-mono: "Cousine", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--heading-letter-spacing: -.02em;--body-letter-spacing: -.01em;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--fluid-unit: max(1.2vw, 10.8px);--fs-small: calc(1rem - .1 * var(--fluid-unit));--fs-normal: calc(1rem + .1 * var(--fluid-unit));--fs-h3: calc(1rem + .8 * var(--fluid-unit));--fs-h2: calc(1rem + 1.6 * var(--fluid-unit));--fs-h1: calc(1rem + 5.5 * var(--fluid-unit));--fs-display: min(var(--fs-h1), calc((100vw - 2 * var(--container-padding)) * .165), 7.5rem);--fs-nav: var(--fs-normal);--text-body: var(--fs-normal);--text-small: var(--fs-small);--text-h3: var(--fs-h3);--text-statement: var(--fs-h2);--text-display: var(--fs-display);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-section: clamp(4.5rem, 3rem + 7vw, 11rem);--container-max-width: 1280px;--container-wide-max-width: 1440px;--container-padding: clamp(1rem, .6rem + 2vw, 2.875rem);--header-height: clamp(4.5rem, 2.5rem + 5.4vw, 8rem);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 3px rgba(120, 166, 170, .45);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--texture-url: url(/images/brand/signal-texture.webp);--texture-url-preview: url(/images/brand/signal-texture-preview.webp);--texture-ref-height: 57.2vw;--viewport-height: 100vh;--hero-peek: 5rem;--hero-tall-height: max(32rem, min(clamp(32rem, 57vw, 56rem), calc(var(--viewport-height) - var(--hero-peek))));--hero-mobile-min: 20.5rem;color-scheme:dark}@supports (height: 100svh){:root{--viewport-height: 100svh}}@media (max-width: 899px){:root{--texture-ref-height: max( 57.2vw, var(--hero-mobile-min), min(84vw, calc(var(--viewport-height) - var(--hero-peek))) );--hero-tall-height: var(--texture-ref-height)}}@media (max-width: 389px){:root{--hero-mobile-min: 23rem}}@media (max-width: 359px){:root{--hero-mobile-min: 25.5rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-sans);letter-spacing:var(--body-letter-spacing);color:var(--color-text-main);background-color:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{min-height:100vh;display:flex;flex-direction:column;font-size:var(--fs-normal);line-height:1.4;background-color:var(--color-bg-base);color:var(--color-text-main);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}::selection{background-color:var(--color-signal-rust);color:var(--color-signal-white)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast),opacity var(--transition-fast)}img,svg{display:block;max-width:100%}img{height:auto}button{font-family:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;color:var(--color-text-main);line-height:1.16;letter-spacing:var(--heading-letter-spacing)}h1{font-size:var(--text-display)}h2,h3{font-size:var(--text-h3)}p{color:var(--color-text-muted)}strong{font-weight:700;color:var(--color-text-main)}.text-link{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.text-link:hover{opacity:.75}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:.75rem;left:.75rem;z-index:100;padding:.6rem 1rem;border-radius:var(--radius-full);background:var(--color-signal-white);color:var(--color-signal-dark);font-size:var(--fs-small);transform:translateY(-200%);transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--container-padding)}.container--wide{max-width:var(--container-wide-max-width)}.section{padding-block:var(--space-16)}.section-title{text-align:center;max-width:650px;margin-inline:auto;margin-bottom:var(--space-12)}.section-title p{margin-top:var(--space-3);font-size:var(--text-lg)}.dark-section{background-color:var(--color-signal-dark);padding-block:var(--space-section)}.header{position:absolute;top:0;left:0;right:0;z-index:50;height:var(--header-height);display:flex;align-items:center;background:transparent;color:var(--color-signal-white)}.header .container{max-width:none}.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-logo{width:auto;height:clamp(1.6rem,1rem + 1.9vw,2.75rem)}.brand-logo-badge{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-signal-rust);color:var(--color-signal-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--text-lg)}.brand-text{display:flex;flex-direction:column}.brand-name{font-family:var(--font-heading);font-size:var(--text-lg);line-height:1.2}.brand-tagline{font-size:var(--text-xs);color:var(--color-text-light)}.nav{display:none;align-items:center;gap:clamp(.9rem,.6rem + .6vw,1.4rem)}@media (min-width: 768px){.nav{display:flex;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}}.nav-link{font-size:var(--fs-nav);color:var(--color-signal-white);padding-block:.2rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.45em;text-decoration-thickness:1px;transition:text-decoration-color var(--transition-fast)}.nav-link:hover,.nav-link.is-active{text-decoration-color:currentColor}.mobile-menu-btn{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px 8px;margin-right:-8px}@media (min-width: 768px){.mobile-menu-btn{display:none}}.mobile-menu-btn span{display:block;width:28px;height:1.5px;background-color:var(--color-signal-white);transition:transform var(--transition-normal)}.is-menu-open .mobile-menu-btn span:first-child{transform:translateY(4.25px) rotate(45deg)}.is-menu-open .mobile-menu-btn span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.header.is-menu-open{position:fixed}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;display:flex;align-items:center;justify-content:center;padding:var(--header-height) var(--container-padding) var(--space-12);background-color:var(--color-signal-dark)}.mobile-nav nav{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.mobile-nav .nav-link{font-family:var(--font-heading);font-size:var(--fs-h2);letter-spacing:var(--heading-letter-spacing);text-underline-offset:.2em}@media (min-width: 768px){.mobile-nav{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.2;padding:.75rem 1.5rem;border-radius:var(--radius-full);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.btn-primary{background-color:var(--color-signal-white);color:var(--color-signal-dark);border:1px solid var(--color-signal-white)}.btn-primary:hover{background-color:transparent;color:var(--color-signal-white)}.btn-outline{border:1px solid rgba(250,250,250,.75);color:var(--color-signal-white);background-color:transparent}.btn-outline:hover{background-color:var(--color-signal-white);border-color:var(--color-signal-white);color:var(--color-signal-dark)}.btn-sm{padding:.45rem .9rem;font-size:var(--text-xs)}.btn-lg{padding:1.35rem 2.25rem;font-size:var(--fs-normal)}.card{background:var(--color-bg-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:1fr}@media (min-width: 640px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}}.texture-hero{position:relative;isolation:isolate;display:flex;align-items:center;background-color:var(--color-signal-rust);background-image:var(--texture-url),var(--texture-url-preview);background-size:auto max(100%,var(--texture-ref-height));background-position:top center;background-repeat:no-repeat;color:var(--color-signal-white)}.texture-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#0000001f}.texture-hero h1,.texture-hero h2,.texture-hero p{color:var(--color-signal-white)}.texture-hero-inner{width:100%;max-width:var(--container-wide-max-width);margin-inline:auto;padding:calc(var(--header-height) + var(--space-8)) var(--container-padding) var(--space-12)}@media (max-width: 899px){.texture-hero:not(.texture-hero--band){min-height:var(--texture-ref-height)}.texture-hero-inner{padding-top:calc(var(--header-height) + var(--space-2));padding-bottom:var(--space-6)}}.texture-hero--statement{text-align:center}@media (min-width: 900px){.texture-hero--statement{min-height:clamp(30rem,54vw,48rem)}}.statement-title{max-width:27.5em;margin-inline:auto;font-size:var(--fs-h2);line-height:1.12;text-wrap:balance}.texture-hero--band{height:clamp(5.5rem,11vw,10rem)}.texture-hero--split{min-height:var(--hero-tall-height)}.texture-hero--split .texture-hero-inner{display:grid;gap:var(--space-8);align-items:center}@media (min-width: 900px){.texture-hero--split .texture-hero-inner{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem)}}.display-title{font-size:var(--fs-display);line-height:.94;letter-spacing:var(--heading-letter-spacing)}.hero-lead{font-family:var(--font-heading);font-size:var(--fs-h3);line-height:1.16;letter-spacing:var(--heading-letter-spacing)}.hero-aside p:not(.hero-lead){margin-top:var(--space-4);font-size:var(--fs-normal);line-height:1.4}.hero-aside .hero-lead+p{margin-top:var(--space-6)}.texture-hero--centered{min-height:var(--texture-ref-height);text-align:center}.texture-hero--peek{min-height:var(--hero-tall-height)}@media (min-width: 900px){.texture-hero--peek .texture-hero-inner{padding-bottom:var(--space-8)}}.texture-hero--centered .hero-lead{max-width:34em;margin:var(--space-12) auto 0;text-wrap:balance}.texture-hero--peek .hero-lead{margin-top:clamp(var(--space-6),4vw,var(--space-12))}.display-title--lines .title-line{display:block}.display-title-fit{container-type:inline-size;min-width:0}.display-title-fit .display-title{font-size:min(var(--fs-display),16.5cqi)}.display-title-fit .title-line{white-space:nowrap}.hero-actions{display:flex;justify-content:center;margin-top:var(--space-8)}.home-intro{padding-top:clamp(3.5rem,2rem + 6vw,11rem);padding-bottom:clamp(5rem,3rem + 8vw,12rem)}.intro-heading{font-size:var(--fs-h3);line-height:1.16;text-wrap:pretty}.intro-body{margin-top:var(--space-8)}.intro-body p{font-size:var(--fs-normal);line-height:1.4}.intro-body p+p{margin-top:var(--space-3)}@media (min-width: 768px){.intro-body p{text-align:justify}}.about{padding-top:clamp(4rem,2rem + 12vw,13rem)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-16) clamp(2rem,4vw,4.5rem)}@media (min-width: 640px){.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.values{grid-column:1 / -1}}@media (min-width: 1100px){.about-grid{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.5fr);padding-inline-start:clamp(var(--container-padding),6vw,5.5rem)}.values{grid-column:auto;margin-top:calc(-1 * var(--space-4))}}.team-photo{width:100%;max-width:21rem;aspect-ratio:1;object-fit:cover;border-radius:50%;background-color:var(--color-bg-subtle)}.team-name{margin-top:clamp(2rem,1rem + 5vw,5rem);font-size:var(--fs-h3);line-height:1.16}.team-role{display:block}.team-bio{margin-top:var(--space-6)}.team-bio p{font-size:var(--fs-normal);line-height:1.4}.team-bio p+p{margin-top:var(--space-4)}.values-heading{font-size:var(--fs-display);line-height:.94;letter-spacing:var(--heading-letter-spacing)}.value-item h3{margin-top:var(--space-6);padding-inline-start:clamp(0rem,1.5vw,1.4rem);font-size:var(--fs-h3)}.value-item p{margin-top:var(--space-4);font-size:var(--fs-normal);line-height:1.4}.services{padding-block:clamp(4.5rem,2rem + 12vw,14rem)}.services-intro{max-width:1200px;margin-bottom:clamp(3.5rem,2rem + 6vw,7rem)}.services-intro .hero-aside{max-width:46rem}.services-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-12);max-width:1200px}@media (min-width: 768px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,4.5rem) clamp(3rem,9vw,10rem)}}.service-area h2{font-size:var(--fs-h3)}.service-area p,.service-area li{font-size:var(--fs-normal);line-height:1.4;color:var(--color-text-muted)}.service-area p{margin-top:var(--space-6)}.service-area ul{margin-top:var(--space-4);padding-inline-start:2.4rem;list-style:disc}.service-area li+li{margin-top:var(--space-2)}.contact{padding-block:var(--space-12) clamp(4rem,2rem + 8vw,10rem)}.contact-intro{margin-bottom:var(--space-12)}.contact-intro .hero-lead{max-width:34em}.contact-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-field{border:0;min-width:0}.form-label{display:block;margin-bottom:var(--space-2);padding:0;font-size:var(--fs-normal)}.form-sublabel{display:block;margin-bottom:var(--space-2);font-size:var(--fs-small)}.form-required{color:var(--color-text-light);font-size:var(--fs-small)}.form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}@media (min-width: 640px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=date],.contact-form textarea{width:100%;padding:.85rem 1.35rem;border:1px solid transparent;border-radius:var(--radius-full);background-color:var(--color-bg-input);color:var(--color-signal-white);font:inherit;font-size:var(--fs-normal);letter-spacing:inherit;transition:border-color var(--transition-fast)}.contact-form textarea{min-height:6.5rem;border-radius:var(--radius-xl);resize:vertical}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--color-border)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.contact-form input.form-date{width:auto;min-width:12.5rem;color-scheme:dark}.form-options{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.form-option{position:relative;cursor:pointer}.form-option input{position:absolute;opacity:0;width:1px;height:1px}.form-option span{display:inline-block;padding:.25rem .75rem;border:1px solid rgba(250,250,250,.6);border-radius:var(--radius-full);background-color:var(--color-bg-input);font-size:var(--fs-small);line-height:1.4;transition:background-color var(--transition-fast),color var(--transition-fast)}.form-option:hover span{border-color:var(--color-signal-white)}.form-option input:checked+span{background-color:var(--color-signal-white);color:var(--color-signal-dark)}.form-option input:focus-visible+span{outline:2px solid var(--color-border-focus);outline-offset:2px}.form-actions{margin-top:var(--space-2)}.contact-form-success{max-width:40rem;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.contact-form-success p:first-child{font-family:var(--font-heading);font-size:var(--fs-h3);letter-spacing:var(--heading-letter-spacing);line-height:1.2}.contact-form-success a{text-decoration:underline;text-underline-offset:.18em}.footer{margin-top:auto;background-color:var(--color-signal-dark);border-top:1px solid var(--color-border-subtle);padding-block:var(--space-12) var(--space-6)}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-8)}.footer-logo{width:8.5rem}.footer-brand p{margin-top:var(--space-4);font-size:var(--fs-small);max-width:320px;color:var(--color-text-light)}.footer-links h4,.footer-contact h4{font-family:var(--font-sans);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3);color:var(--color-text-light)}.footer-links ul,.footer-contact ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.footer-links a,.footer-contact li{font-size:var(--fs-small);color:var(--color-text-muted)}.footer-links a:hover,.footer-contact a:hover{text-decoration:underline;text-underline-offset:.18em}.footer-bottom{padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-small);color:var(--color-text-light)}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
