@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.figure{display:inline-block}.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}@media (min-width:992px){.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.collapse:not(.show){display:none}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.visually-hidden{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.d-block{display:block!important}.d-flex{display:flex!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.mw-100{max-width:100%!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-start{justify-content:flex-start!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.gap-3{gap:1rem!important}.text-start{text-align:left!important}.text-wrap{white-space:normal!important}.visible{visibility:visible!important}
:root {
    --paper: #f4f0e5;
    --ink: #202a25;
    --muted: #62675d;
    --rule: #c9c9b9;
    --accent: #a34229;
    --panel: #e9e6d9;
    --forest: #1d352b;
    --on-forest: #f4f0e5;
    --logo-filter: none;
    --bs-body-bg: var(--paper);
    --bs-body-color: var(--ink);
    --bs-body-font-family: Arial, Helvetica, sans-serif;
    --bs-link-color: var(--ink);
    color-scheme: light;
}
:root[data-bs-theme="dark"] {
    --paper: #171e1a;
    --ink: #eae6db;
    --muted: #b5b9ac;
    --rule: #465247;
    --accent: #db8967;
    --panel: #202b24;
    --forest: #14251e;
    --logo-filter: grayscale(1) brightness(0) invert(90%);
    color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-bs-theme="light"]) {
        --paper: #171e1a; --ink: #eae6db; --muted: #b5b9ac; --rule: #465247; --accent: #db8967; --panel: #202b24; --forest: #14251e; --logo-filter: grayscale(1) brightness(0) invert(90%); color-scheme: dark;
    }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.65; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--accent); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
h1 { font-size: clamp(3.25rem, 7.5vw, 7.4rem); line-height: 1.03; letter-spacing: -.055em; }
h2 { font-size: clamp(2.1rem, 4vw, 3.9rem); line-height: 1.13; letter-spacing: -.035em; margin-bottom: 1.5rem; }
h3 { font-size: 1.65rem; line-height: 1.25; }
h1 em { color: var(--accent); font-weight: 400; }
p { margin-bottom: 1.3rem; }
button, select { font: inherit; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(100% - 72px, 1280px); max-width: 1280px; margin-inline: auto; padding-inline: 0; }
.row { display: flex; flex-wrap: wrap; margin-inline: -16px; }
.row > * { padding-inline: 16px; width: 100%; }
.eyebrow { display: block; color: var(--muted); font-family: 'Courier New', monospace; font-size: .71rem; font-weight: 600; letter-spacing: .105em; line-height: 1.6; text-transform: uppercase; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 10; top: 10px; left: 10px; transform: translateY(-200%); background: var(--paper); border: 2px solid var(--accent); padding: .75rem 1rem; }
.skip-link:focus { transform: none; }
.site-header { border-bottom: 1px solid var(--rule); }
.header-inner { min-height: 115px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { text-decoration: none; display: flex; flex-direction: column; line-height: 1; color: var(--ink); }
.brand-logo { display: block; width: 172px; height: auto; padding: 8px; background: transparent; filter: var(--logo-filter); }
.brand-name { font-family: Arial, sans-serif; font-size: 2.2rem; font-weight: 900; letter-spacing: -.075em; }
.brand-dot { color: var(--accent); }
.brand-description { font-family: 'Courier New', monospace; font-size: .57rem; font-weight: 600; letter-spacing: .24em; margin-top: 8px; }
.main-nav { display: flex; gap: 35px; align-items: center; font-size: .85rem; }
.main-nav a { text-decoration: none; padding-block: 8px; }
.main-nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; }
.main-nav .nav-contact { border: 1px solid var(--rule); padding: 11px 18px; }
.nav-contact span { margin-left: 18px; }
.hero { padding-block: 42px 65px; }
.hero-topline { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 65px; }
.hero h1 { max-width: 1100px; margin-bottom: 42px; }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.hero-support { margin: 0; font-size: clamp(1.1rem, 2vw, 1.5rem); line-height: 1.55; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; padding: 15px 23px; text-decoration: none; font-size: .86rem; font-weight: 600; border: 1px solid currentColor; border-radius: 0; min-height: 52px; }
.button-primary { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.button-primary:hover { background: var(--accent); color: var(--paper); border-color: var(--accent); }
.field-photo { margin: 0; }
.field-photo picture, .field-photo img { display: block; width: 100%; }
.field-photo img { height: auto; }
.field-photo figcaption { padding-top: 14px; border-bottom: 1px solid var(--rule); padding-bottom: 14px; }
.hero-photo img { aspect-ratio: 2.2; object-fit: cover; object-position: 50% 65%; }
.field-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 45px; }
.field-photo-pair img { aspect-ratio: 4 / 3; object-fit: cover; }
.about-photo { margin-top: 45px; }
.about-photo img { aspect-ratio: 16 / 9; object-fit: cover; }
.section { padding-block: 85px; }
.section-intro .eyebrow { margin-bottom: 25px; }
.lead-copy { font-size: clamp(1.2rem, 2.1vw, 1.6rem); line-height: 1.55; max-width: 780px; }
.section-intro p:not(.lead-copy) { color: var(--muted); }
.foundation-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 40px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.foundation-strip span { padding: 21px 0; font-family: 'Courier New',monospace; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.foundation-strip span + span { border-left: 1px solid var(--rule); padding-left: 30px; }
.services-section { padding-top: 10px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 30px; }
.section-heading .eyebrow { margin-bottom: 24px; }
.section-heading h2 { margin-bottom: 0; }
.text-link { white-space: nowrap; font-size: .9rem; padding-bottom: 8px; }
.text-link span { margin-left: 15px; }
.service-list { border-top: 1px solid var(--rule); }
.service-row { display: grid; grid-template-columns: 65px 1fr 1fr 45px; gap: 25px; align-items: center; padding: 29px 0; border-bottom: 1px solid var(--rule); text-decoration: none; }
.service-row:hover { color: var(--ink); background: var(--panel); }
.service-number { font-family: 'Courier New',monospace; color: var(--accent); font-size: .75rem; align-self: start; padding-top: 4px; }
.service-name h3 { margin: 5px 0 0; font-size: 2rem; }
.service-row p { color: var(--muted); margin: 0; font-size: .95rem; max-width: 390px; }
.service-arrow { font-size: 1.6rem; justify-self: end; color: var(--accent); }
.contact-section { background: var(--panel); border-block: 1px solid var(--rule); padding-block: 75px; }
.contact-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: end; }
.contact-inner .eyebrow { margin-bottom: 24px; }
.contact-inner h2 { margin: 0; max-width: 580px; }
.contact-copy { max-width: 480px; }
.contact-copy p { font-size: 1.1rem; }
.contact-address { margin-top: 20px; margin-bottom: 0; font-size: .9rem !important; overflow-wrap: anywhere; }
.theme-control { display: flex; align-items: center; gap: 10px; }
.theme-control label { font-family: 'Courier New',monospace; font-size: .7rem; }
.theme-control select { background: var(--paper); color: var(--ink); border: 1px solid var(--rule); padding: 8px 28px 8px 10px; border-radius: 0; min-height: 42px; }
.page-hero { padding-block: 35px 75px; border-bottom: 1px solid var(--rule); }
.breadcrumb-nav { display: flex; flex-wrap: wrap; gap: 12px; font-size: .75rem; color: var(--muted); margin-bottom: 60px; }
.breadcrumb-nav a { text-decoration: none; }
.page-hero > .eyebrow { margin-bottom: 28px; }
.page-hero h1 { max-width: 1120px; margin-bottom: 32px; }
.page-hero > .lead-copy { max-width: 750px; margin-bottom: 0; }
.services-index { padding-top: 0; }
.services-index .service-list { border-top: 0; }
.service-hero h1 { font-size: clamp(3rem, 6.5vw, 6.5rem); max-width: 970px; }
.service-hero-bottom { display: flex; justify-content: space-between; gap: 35px; align-items: end; }
.service-hero-bottom .lead-copy { max-width: 600px; margin-bottom: 0; }
.service-hero-bottom .button { flex-shrink: 0; }
.service-details { padding-bottom: 0; }
.detail-columns { margin-top: 35px; }
.detail-item { border-top: 1px solid var(--rule); padding-block: 25px; }
.detail-item .eyebrow { color: var(--accent); margin-bottom: 22px; }
.detail-item h3 { max-width: 300px; margin-bottom: 15px; }
.detail-item p { color: var(--muted); font-size: .95rem; }
.use-cases { display: flex; align-items: baseline; gap: 50px; padding-block: 25px; border-block: 1px solid var(--rule); margin-top: 20px; }
.use-cases ul { display: flex; flex-wrap: wrap; gap: 15px 30px; list-style: none; margin: 0; padding: 0; font-size: .85rem; }
.faq-section .eyebrow { margin-bottom: 20px; }
.faq-section h2 { font-size: 2.5rem; }
details { border-bottom: 1px solid var(--rule); }
details:first-child { border-top: 1px solid var(--rule); }
summary { padding: 22px 0; cursor: pointer; font-size: 1.05rem; }
details p { max-width: 640px; font-size: .95rem; color: var(--muted); padding: 0 0 10px; }
.related-services { padding-block: 40px 50px; }
.related-services nav { display: flex; flex-wrap: wrap; gap: 20px 35px; margin-top: 20px; font-size: .85rem; }
.related-services a span { margin-left: 10px; color: var(--accent); }
@media (min-width: 768px) { .col-md-4 { width: 33.333333%; } }
@media (min-width: 992px) { .col-lg-4 { width: 33.333333%; } .col-lg-8 { width: 66.666667%; } }
@media (max-width: 991px) {
    .header-inner { flex-wrap: wrap; padding-block: 22px; }
    .main-nav { flex-wrap: wrap; gap: 12px 24px; }
    .hero-topline { margin-bottom: 45px; }
    .section { padding-block: 60px; }
    .services-section { padding-top: 0; }
    .service-row { grid-template-columns: 40px 1fr 1fr 25px; gap: 15px; }
    .service-name h3 { font-size: 1.65rem; }
    .service-hero-bottom { align-items: start; flex-direction: column; }
    .faq-section h2 { margin-bottom: 30px; }
    .services-index { padding-top: 0; }
}
@media (max-width: 640px) {
    .container { width: calc(100% - 40px); }
    .header-inner { min-height: 110px; flex-wrap: wrap; gap: 18px; padding-block: 22px; }
    .brand-name { font-size: 1.8rem; }
    .main-nav { gap: 8px 20px; font-size: .8rem; width: 100%; justify-content: flex-start; }
    .main-nav .nav-contact { border: 0; padding: 8px 0; }
    .nav-contact span { margin-left: 8px; }
    .hero { padding-block: 28px 40px; }
    .hero-established { display: none; }
    .hero-topline { margin-bottom: 38px; }
    .hero h1 { font-size: clamp(3.05rem, 11vw, 4.6rem); margin-bottom: 32px; }
    .hero-bottom { flex-direction: column; align-items: start; gap: 25px; }
    .hero-photo img, .about-photo img { aspect-ratio: 4 / 3; }
    .field-photo-pair { grid-template-columns: 1fr; margin-top: 30px; gap: 30px; }
    .section { padding-block: 45px; }
    .section-intro .eyebrow { margin-bottom: 20px; }
    .foundation-strip { grid-template-columns: 1fr; margin-top: 20px; }
    .foundation-strip span { padding: 14px 0; }
    .foundation-strip span + span { border-left: 0; border-top: 1px solid var(--rule); padding-left: 0; }
    .section-heading { align-items: start; flex-direction: column; gap: 20px; }
    .services-section { padding-top: 0; }
    .service-row { grid-template-columns: 25px 1fr 25px; gap: 12px; padding-block: 25px; }
    .service-row .service-name { grid-column: 2; }
    .service-row p { grid-column: 2; font-size: .9rem; }
    .service-arrow { grid-column: 3; grid-row: 1 / span 2; }
    .service-name h3 { font-size: 1.8rem; }
    .contact-section { padding-block: 45px; }
    .contact-inner { grid-template-columns: 1fr; gap: 30px; }
    .page-hero { padding-bottom: 45px; }
    .breadcrumb-nav { margin-bottom: 40px; }
    .page-hero h1 { font-size: clamp(2.9rem, 10vw, 4rem); }
    .services-index { padding-top: 0; }
    .service-details { padding-bottom: 0; }
    .detail-columns { margin-top: 15px; }
    .detail-item { padding-block: 20px 5px; }
    .detail-item h3 { max-width: none; }
    .use-cases { flex-direction: column; gap: 15px; }
    .use-cases ul { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }

.news-section { padding-top: 0; }
.news-caption { margin: 10px 0 0; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.news-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.news-list li { padding-block: 24px; border-bottom: 1px solid var(--rule); }
.news-list .eyebrow { margin-bottom: 12px; }
.news-list a { font-family: Georgia, serif; font-size: clamp(1.3rem, 2.5vw, 1.8rem); text-decoration: none; }
.news-list a span { margin-left: 20px; color: var(--accent); }

.about-history { margin-top: 45px; padding-top: 35px; border-top: 1px solid var(--rule); }
.about-history .eyebrow { margin-bottom: 20px; }
.about-history p { max-width: 660px; }
.history-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; }
.history-intro p { color: var(--muted); max-width: 320px; }
.history-intro .eyebrow { margin-bottom: 20px; }
.history-timeline { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.history-timeline li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 30px; padding-block: 30px; border-bottom: 1px solid var(--rule); scroll-margin-top: 30px; }
.history-year { color: var(--accent); font-family: 'Courier New', monospace; font-size: .9rem; padding-top: 6px; }
.history-timeline h3 { font-size: 2rem; margin-bottom: 12px; }
.history-timeline p { color: var(--muted); margin-bottom: 0; }
.history-timeline .text-link { display: inline-block; margin-top: 18px; white-space: normal; }
.history-source { font-size: .8rem; color: var(--muted); margin: 30px 0 0; }
.history-fieldwork { padding-bottom: 70px; }
.history-fieldwork img { aspect-ratio: 16 / 9; object-fit: cover; }

/* A photographic mosaic on a square grid, with small pixel accents at the seams. */
.fieldwork-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 60px; margin-bottom: 30px; }
.fieldwork-intro .eyebrow { margin-bottom: 20px; }
.fieldwork-intro h2 { margin-bottom: 0; }
.fieldwork-intro > p { max-width: 38ch; color: var(--muted); margin-bottom: 4px; }
.field-mosaic { margin: 0; padding: 12px; background: var(--forest); color: var(--on-forest); border: 1px solid var(--rule); }
.field-mosaic-topline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 25px; padding: 10px 5px 20px; color: #c8d0c4; font: .75rem/1.6 'Courier New', monospace; }
.field-mosaic-count { display: inline-flex; align-items: center; gap: 40px; }
.field-mosaic-mark { width: 6px; height: 6px; background: #e9b399; box-shadow: 12px 0 #809a89, 24px 0 #e9b399; }
.field-mosaic-grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(6, minmax(0, 1fr)); aspect-ratio: 2; gap: 6px; }
.field-mosaic-tile { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; background: #14251e; color: #f4f0e5; }
.field-mosaic-tile--installation { grid-column: 1 / span 6; grid-row: 1 / span 4; }
.field-mosaic-tile--night { grid-column: 7 / span 4; grid-row: 1 / span 3; }
.field-mosaic-tile--detail { grid-column: 11 / span 2; grid-row: 1 / span 3; }
.field-mosaic-tile--fiber { grid-column: 1 / span 3; grid-row: 5 / span 2; }
.field-mosaic-tile--cover { grid-column: 4 / span 3; grid-row: 5 / span 2; }
.field-mosaic-tile--chamber { grid-column: 7 / span 6; grid-row: 4 / span 3; }
.field-mosaic-tile picture, .field-mosaic-tile img { display: block; width: 100%; height: 100%; }
.history-fieldwork .field-mosaic-tile img { aspect-ratio: auto; object-fit: cover; }
.field-mosaic-tile--installation img { object-position: 50% 52%; }
.field-mosaic-tile--night img { object-position: 50% 55%; }
.field-mosaic-tile--detail img { object-position: 50% 60%; }
.field-mosaic-tile--fiber img { object-position: 10% 50%; }
.field-mosaic-tile--cover img { transform: scale(1.65); transform-origin: 53% 47%; }
.field-mosaic-tile--chamber img { object-position: 50% 48%; }
.field-mosaic-tile::after { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(244,240,229,.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(244,240,229,.08) 1px, transparent 1px); background-size: 25% 25%; }
.field-mosaic-tile-caption { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; display: flex; align-items: baseline; gap: 12px; padding: 10px 12px; background: rgba(12,22,17,.88); color: #f4f0e5; font: clamp(.7rem, .75vw, .85rem)/1.5 'Courier New', monospace; }
.field-mosaic-number { color: #e9b399; }
.field-mosaic-arrow { margin-left: auto; }
.field-mosaic-tile--detail .field-mosaic-tile-caption { display: block; }
.field-mosaic-tile--detail .field-mosaic-number, .field-mosaic-tile--detail .field-mosaic-label { display: block; }
.field-mosaic-tile--detail .field-mosaic-arrow { display: none; }
.field-mosaic-tile:hover .field-mosaic-tile-caption { background: #1d352b; }
.field-mosaic-tile:focus-visible { z-index: 3; outline: 3px solid #f4f0e5; outline-offset: -5px; }
.field-mosaic-pixels { position: absolute; z-index: 2; pointer-events: none; left: calc(50% - 34px); top: calc(66.6667% - 22px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; width: clamp(56px, 6vw, 120px); }
.field-mosaic-pixels span { display: block; aspect-ratio: 1; background: #e9b399; }
.field-mosaic-pixels span:nth-child(3n) { background: var(--paper); }
.field-mosaic-pixels span:nth-child(4n + 1) { visibility: hidden; }
.field-mosaic-pixels span:nth-child(5), .field-mosaic-pixels span:nth-child(8) { background: #1d352b; }
.field-mosaic-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 25px; padding: 18px 5px 5px; font-size: .85rem; color: #c8d0c4; }
@media (max-width: 991px) {
    .fieldwork-intro { grid-template-columns: 1fr; gap: 20px; }
    .fieldwork-intro > p { max-width: 55ch; }
}
@media (max-width: 640px) {
    .field-mosaic { padding: 8px; }
    .field-mosaic-topline { padding: 8px 4px 16px; font-size: .7rem; }
    .field-mosaic-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(13, minmax(0, 1fr)); aspect-ratio: 6 / 13; gap: 4px; }
    .field-mosaic-tile--installation { grid-column: 1 / span 6; grid-row: 1 / span 4; }
    .field-mosaic-tile--night { grid-column: 1 / span 4; grid-row: 5 / span 3; }
    .field-mosaic-tile--detail { grid-column: 5 / span 2; grid-row: 5 / span 3; }
    .field-mosaic-tile--fiber { grid-column: 1 / span 3; grid-row: 8 / span 3; }
    .field-mosaic-tile--cover { grid-column: 4 / span 3; grid-row: 8 / span 3; }
    .field-mosaic-tile--chamber { grid-column: 1 / span 6; grid-row: 11 / span 3; }
    .field-mosaic-tile-caption { padding: 8px; gap: 8px; }
    .field-mosaic-tile--cover .field-mosaic-label { max-width: 12ch; }
    .field-mosaic-pixels { left: calc(66.6667% - 18px); top: calc(53.8462% - 12px); width: 56px; gap: 3px; }
    .field-mosaic-caption { padding: 14px 4px 4px; }
}
.service-jumpnav { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 35px; font-size: .85rem; }
.service-jumpnav a { padding-block: 8px; }
.service-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--rule); margin: 40px 0 0; }
.service-facts > div { padding: 25px 25px 25px 0; display: flex; flex-direction: column-reverse; }
.service-facts > div + div { border-left: 1px solid var(--rule); padding-left: 30px; }
.service-facts dt { font-family: 'Courier New', monospace; text-transform: uppercase; font-size: .7rem; letter-spacing: .04em; color: var(--muted); font-weight: 400; }
.service-facts dd { font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.7rem); line-height: 1.3; margin-bottom: 12px; }
.service-section-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; }
.service-section-layout > * { min-width: 0; }
.service-section-layout .eyebrow { margin-bottom: 20px; }
.service-section-layout h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); }
.service-section-note { color: var(--muted); max-width: 320px; font-size: .95rem; }
.service-specification-section { border-bottom: 1px solid var(--rule); }
.specification-list { margin: 0; border-top: 1px solid var(--rule); }
.specification-list > div { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr; gap: 25px; padding-block: 20px; border-bottom: 1px solid var(--rule); }
.specification-list dt { font-weight: 600; font-size: .9rem; }
.specification-list dd { margin: 0; color: var(--muted); font-size: .95rem; }
.service-pricing-band { background: var(--panel); padding-block: 75px; border-bottom: 1px solid var(--rule); }
.service-table-scroll { width: 100%; overflow-x: auto; }
.service-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.service-table caption { caption-side: top; color: var(--muted); font-family: 'Courier New', monospace; font-size: .72rem; text-transform: uppercase; letter-spacing: .045em; padding: 0 0 18px; }
.service-table th, .service-table td { padding: 20px 16px; border-bottom: 1px solid var(--rule); vertical-align: middle; }
.service-table th:first-child, .service-table td:first-child { padding-left: 0; }
.service-table th:last-child, .service-table td:last-child { padding-right: 0; }
.service-table thead th { border-top: 1px solid var(--rule); font-family: 'Courier New', monospace; font-weight: 400; font-size: .7rem; letter-spacing: .035em; text-transform: uppercase; color: var(--muted); }
.service-table tbody th { font-weight: 400; }
.service-pricing-band .service-table td:nth-child(2), .price-cell { font-family: Georgia, serif; font-size: 1.45rem; white-space: nowrap; color: var(--accent); font-variant-numeric: tabular-nums; }
.service-table td:last-child { font-variant-numeric: tabular-nums; }
.service-table tbody tr:hover { background: var(--paper); }
.service-comparison { padding-top: 0; }
.table-note { color: var(--muted); font-size: .8rem; margin: 20px 0 0; }
.provider-status { color: var(--muted); font-size: .85rem; }
.provider-status.available { color: var(--ink); font-weight: 600; }
.sla-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; margin: 0; }
.sla-metrics > div { padding: 22px 0; border-top: 1px solid var(--rule); }
.sla-metrics dt { color: var(--muted); font-size: .85rem; font-weight: 400; }
.sla-metrics dd { font-family: Georgia, serif; font-size: 2rem; line-height: 1.25; margin: 12px 0 0; }
.sla-terms { margin: 25px 0 0; padding-left: 20px; color: var(--muted); font-size: .9rem; }
.sla-terms li + li { margin-top: 12px; }
.event-pricing { border-top: 1px solid var(--rule); padding-top: 25px; }
.event-pricing h3 { font-size: 2rem; }
.event-pricing h4 { font-size: 1rem; margin-top: 25px; }
.event-pricing ul { padding-left: 20px; margin-block: 15px 25px; color: var(--muted); }
.history-milestone-photos { display: grid; gap: 20px; margin-top: 25px; }
.history-milestone-photo { margin: 0; }
.history-milestone-photo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 420px; object-fit: contain; object-position: left; }
.history-milestone-photo figcaption { color: var(--muted); font-size: .75rem; margin-top: 10px; }
@media (max-width: 991px) {
    .service-section-layout { grid-template-columns: 1fr; gap: 30px; }
    .service-section-note { max-width: 640px; }
    .history-layout { grid-template-columns: 1fr; gap: 35px; }
    .history-intro p { max-width: 640px; }
}
@media (max-width: 640px) {
    .service-facts { grid-template-columns: 1fr; }
    .service-facts > div, .service-facts > div + div { border-left: 0; padding: 20px 0; }
    .service-facts > div + div { border-top: 1px solid var(--rule); }
    .specification-list > div { grid-template-columns: 1fr; gap: 8px; padding-block: 18px; }
    .service-pricing-band { padding-block: 45px; }
    .service-table th, .service-table td { padding: 16px 12px; }
    .service-table { min-width: 480px; }
    .service-comparison .service-table { min-width: 700px; }
    .sla-metrics dd { font-size: 1.65rem; }
    .history-timeline li { grid-template-columns: 1fr; gap: 12px; padding-block: 25px; }
    .history-timeline h3 { font-size: 1.8rem; }
    .history-fieldwork { padding-bottom: 45px; }
    .history-fieldwork img { aspect-ratio: 4 / 3; }
}

/* Expand the composition on desktop while retaining the established smaller layouts. */
@media (min-width: 1440px) {
    .container { width: min(92%, 2160px); max-width: 2160px; }
    body { font-size: 18px; }
    h1 { font-size: clamp(7.4rem, 6.6vw, 9.5rem); }
    h2 { font-size: clamp(3.9rem, 3.6vw, 5rem); }
    .hero h1, .page-hero h1 { max-width: 1500px; }
    .service-hero h1 { max-width: 1450px; font-size: clamp(6.5rem, 6vw, 8.5rem); }
    .brand-logo { width: 196px; }
    .main-nav { gap: 44px; font-size: .95rem; }
    .hero-support { font-size: 1.6rem; }
    .lead-copy { max-width: 48ch; }
    .section-intro p:not(.lead-copy) { max-width: 65ch; }
    .section-intro .col-lg-4 { width: 28%; }
    .section-intro .col-lg-8 { width: 72%; }
    .field-photo-pair { gap: 40px; }
    .service-row { grid-template-columns: 80px 1.2fr 1fr 60px; gap: 40px; padding-block: 35px; }
    .service-name h3 { font-size: 2.5rem; }
    .service-row p { font-size: 1.05rem; max-width: 48ch; }
    .news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 60px; }
    .news-list li { padding-block: 30px; }
    .news-list a { display: block; max-width: 42ch; }
    .contact-inner { grid-template-columns: 1.2fr 1fr; }
    .contact-inner h2 { max-width: 820px; }
    .contact-copy { max-width: 55ch; }
    .contact-copy p { font-size: 1.25rem; }
    .history-layout { grid-template-columns: minmax(280px, .65fr) minmax(0, 2.35fr); gap: 80px; }
    .history-intro { position: sticky; top: 40px; align-self: start; }
    .history-intro h2 { font-size: clamp(3rem, 3vw, 4rem); }
    .history-timeline li { gap: 35px; padding-block: 40px; }
    .history-milestone-content.has-photos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; align-items: start; }
    .history-milestone-copy p { max-width: 55ch; }
    .history-milestone-photos { margin-top: 0; }
    .history-milestone-photo img { max-height: 520px; }
    .service-section-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 2.2fr); gap: 80px; }
    .service-section-layout h2 { font-size: clamp(3.2rem, 3.2vw, 4.5rem); }
    .service-section-note { max-width: 40ch; }
    .specification-list > div { grid-template-columns: minmax(180px, .8fr) 2fr; gap: 40px; padding-block: 24px; }
    .specification-list dd { max-width: 70ch; }
    .service-table { font-size: 1.05rem; }
    .service-table th, .service-table td { padding-block: 24px; }
    .service-pricing-band .service-table td:nth-child(2), .price-cell { font-size: 1.8rem; }
    .service-facts dd { font-size: 3.3rem; }
    .sla-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sla-terms { max-width: 80ch; }
}
@media (min-width: 1600px) {
    .homepage-intro { width: min(92%, 2160px); margin-inline: auto; display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; padding-block: 50px; }
    .homepage-intro > .container { width: 100%; min-width: 0; }
    .homepage-intro .hero { padding-block: 0; }
    .homepage-intro .hero-topline { margin-bottom: 45px; }
    .homepage-intro .hero-established { display: none; }
    .homepage-intro h1 { font-size: clamp(5.5rem, 4.8vw, 8rem); }
    .homepage-intro .hero-bottom { flex-direction: column; align-items: start; gap: 30px; }
    .homepage-intro .hero-photo img { aspect-ratio: 4 / 3; }
}

/* Company archive: chapter navigation, dated records, and an illustrated timeline. */
.history-hero .eyebrow { margin-bottom: 24px; }
.history-hero-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.history-hero h1 { font-size: clamp(3rem, 6vw, 8rem); }
.history-hero .lead-copy { margin-bottom: 0; max-width: 44ch; }
.history-archive { margin: 0; padding: 18px; border: 1px solid var(--rule); background: var(--panel); box-shadow: 8px 8px 0 var(--rule); }
.archive-label { display: block; font-family: 'Courier New', monospace; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; color: var(--muted); }
.history-archive img { display: block; width: 100%; height: auto; }
.history-archive figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 15px; font-family: 'Courier New', monospace; font-size: .65rem; color: var(--muted); }
.history-chapter-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 55px; border-block: 1px solid var(--rule); }
.history-chapter-nav a { padding: 22px 20px; text-decoration: none; font-family: Georgia, serif; font-size: 1.15rem; }
.history-chapter-nav a:first-child { padding-left: 0; }
.history-chapter-nav a + a { border-left: 1px solid var(--rule); }
.history-chapter-nav span { display: block; color: var(--muted); font-family: 'Courier New', monospace; font-size: .65rem; margin-bottom: 10px; letter-spacing: .04em; }
.history-chapter-nav a:hover { background: var(--panel); color: var(--accent); }
.history-index-mark { font-family: Georgia, serif; font-size: 8rem; line-height: 1; color: var(--accent); padding: 30px 0; }
.history-index-mark span { display: block; font-family: 'Courier New', monospace; font-size: .65rem; color: var(--muted); letter-spacing: .08em; margin-top: 15px; }
.history-timeline { border-top: 0; position: relative; }
.history-timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--rule); }
.history-timeline .history-entry { position: relative; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; padding: 35px 0 35px 30px; border-bottom: 0; }
.history-date::before { content: ''; position: absolute; left: -35px; top: 38px; width: 11px; height: 11px; border: 2px solid var(--accent); background: var(--paper); }
.history-entry-featured .history-date::before { background: var(--accent); }
.history-era-banner { grid-column: 1 / -1; border-top: 1px solid var(--rule); padding-top: 30px; margin-bottom: 10px; }
.history-era-banner h3 { font-size: clamp(2.25rem, 3vw, 3.3rem); margin: 14px 0 0; }
.history-date { position: relative; padding-top: 8px; }
.history-record { display: block; font-family: 'Courier New', monospace; text-transform: uppercase; letter-spacing: .08em; font-size: .6rem; color: var(--muted); margin-bottom: 12px; }
.history-year { display: block; font-family: Georgia, serif; font-size: 3rem; line-height: 1; letter-spacing: -.05em; padding-top: 0; }
.history-year.is-range { font-size: 1.75rem; padding-top: 8px; letter-spacing: -.03em; }
.history-milestone-content { min-width: 0; border-top: 1px solid var(--rule); padding-top: 24px; }
.history-entry-featured .history-milestone-content { background: var(--panel); border-top: 2px solid var(--accent); padding: 28px; }
.history-milestone-copy h4 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(1.75rem, 2.25vw, 2.5rem); line-height: 1.2; letter-spacing: -.025em; margin: 0 0 18px; }
.history-milestone-copy .history-milestone-context { margin-top: 14px; }
.history-milestone-copy .history-citations { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 18px; margin-top: 16px; font-size: .8rem; line-height: 1.6; }
.history-citations a { display: inline-block; padding-block: 4px; }
.history-milestone-photos { gap: 26px; }
.history-milestone-photo > a { display: block; width: fit-content; max-width: 100%; background: transparent; padding: 0; border: 0; }
.history-milestone-photo figcaption { padding-top: 12px; border-top: 1px solid var(--rule); font-family: 'Courier New', monospace; line-height: 1.65; font-size: .68rem; }
.history-source { margin-top: 45px; border-top: 1px solid var(--rule); padding-top: 25px; }
@media (min-width: 1440px) {
    .history-timeline .history-entry { grid-template-columns: 170px minmax(0, 1fr); gap: 40px; padding-block: 45px; }
    .history-year { font-size: 3.8rem; }
    .history-year.is-range { font-size: 2rem; }
    .history-entry-featured .history-milestone-content { padding: 35px; }
}
@media (max-width: 991px) {
    .history-hero-layout { grid-template-columns: 1fr; gap: 35px; }
    .history-archive { max-width: 620px; }
    .history-index-mark { display: none; }
    .history-intro .text-link { display: inline-block; margin-top: 8px; }
}
@media (max-width: 640px) {
    .history-archive { padding: 12px; box-shadow: 5px 5px 0 var(--rule); }
    .history-chapter-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 35px; }
    .history-chapter-nav a { padding: 18px 12px; font-size: 1rem; }
    .history-chapter-nav a:first-child { padding-left: 12px; }
    .history-chapter-nav a:nth-child(3) { border-left: 0; }
    .history-chapter-nav a:nth-child(n+3) { border-top: 1px solid var(--rule); }
    .history-timeline .history-entry { grid-template-columns: 1fr; padding: 25px 0 25px 22px; gap: 20px; }
    .history-date::before { left: -27px; }
    .history-era-banner { padding-top: 22px; margin-bottom: 0; }
    .history-year { font-size: 2.7rem; }
    .history-year.is-range { font-size: 2.1rem; }
    .history-entry-featured .history-milestone-content { padding: 20px; }
}

/* Shared finishing pass: clearer actions, readable captions and consistent framing. */
.eyebrow { font-size: .78rem; }
.table-note, .history-source { font-size: .85rem; }
.service-table caption, .service-table thead th, .service-facts dt { font-size: .78rem; }
.archive-label, .history-archive figcaption, .history-chapter-nav span, .history-record, .history-index-mark span { font-size: .75rem; }
.history-milestone-photo figcaption { font-size: .8rem; }
.foundation-strip span { font-size: .8rem; }
.field-photo { border: 1px solid var(--rule); padding: 12px; background: var(--panel); }
.field-photo figcaption { border-bottom: 0; border-top: 1px solid var(--rule); margin-top: 12px; padding-block: 12px 0; }
.field-photo figcaption .eyebrow { text-transform: none; letter-spacing: .02em; font-weight: 400; }
.manhole-photo picture { aspect-ratio: 4 / 3; overflow: hidden; }
.manhole-photo img { height: 100%; object-fit: cover; transform: scale(1.7); transform-origin: 53% 47%; }
.site-header .theme-control { flex-shrink: 0; }
.site-header .theme-control select { min-height: 42px; font-size: .85rem; padding-right: 12px; }
.site-header .theme-control label { font-size: .75rem; }
.service-overview { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 50px; align-items: center; }
.service-overview-text { grid-template-columns: 1fr; }
.service-overview > * { min-width: 0; }
.service-overview .eyebrow { margin-bottom: 22px; }
.service-hero h1 { font-size: clamp(3rem, 5.2vw, 7rem); max-width: 1100px; }
.service-overview .lead-copy { font-size: clamp(1.15rem, 1.4vw, 1.5rem); max-width: 48ch; }
.service-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 25px; }
.service-hero-actions .text-link { white-space: normal; padding: 8px 0; }
.hero-price-summary { color: var(--accent); font-family: Georgia, serif; font-size: 1.45rem; margin: 22px 0 0; }
.service-visual .field-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.service-visual .eyebrow { margin-bottom: 0; }
.service-navigation { position: sticky; top: 0; z-index: 4; background: var(--paper); border-block: 1px solid var(--rule); }
.service-navigation .service-jumpnav { margin-block: 0; padding-block: 10px; flex-wrap: nowrap; gap: 28px; overflow-x: auto; }
.service-navigation a { white-space: nowrap; flex-shrink: 0; padding-block: 10px; }
.service-specification-section, .service-pricing-band, #service-inquiry { scroll-margin-top: 100px; }
.service-fit .use-cases { margin-top: 0; border-top: 0; }
.connection-diagram { margin: 0; padding: 35px; background: var(--panel); border: 1px solid var(--rule); }
.connection-diagram > .eyebrow { margin-bottom: 25px; }
.connection-diagram-path { display: flex; flex-direction: column; align-items: center; }
.connection-node { width: min(100%, 330px); padding: 20px; background: var(--paper); border: 1px solid var(--rule); text-align: center; }
.connection-node-label { display: block; color: var(--muted); font-family: 'Courier New', monospace; font-size: .78rem; margin-bottom: 8px; }
.connection-node strong { font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.connection-node-core { background: var(--forest); color: var(--on-forest); border-color: var(--forest); }
.connection-node-core .connection-node-label { color: #c8d0c4; }
.connection-link { width: 1px; height: 30px; background: var(--accent); position: relative; }
.connection-link::after { content: ''; position: absolute; width: 7px; height: 7px; border: 1px solid var(--accent); background: var(--paper); left: -3px; top: 12px; }
.connection-diagram figcaption { border-top: 1px solid var(--rule); padding-top: 20px; margin-top: 25px; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.contact-page-intro { max-width: 800px; margin-bottom: 35px; }
.contact-page-intro p { max-width: 55ch; color: var(--muted); }
.contact-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.contact-card { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--rule); background: var(--panel); }
.contact-card .eyebrow { margin-bottom: 28px; }
.contact-card h3 { font-size: 2rem; }
.contact-card > p:not(.contact-address) { color: var(--muted); }
.contact-card-actions { margin-top: auto; display: flex; flex-direction: column; align-items: start; gap: 22px; padding-top: 20px; }
.contact-card-actions .button { gap: 20px; max-width: 100%; }
.contact-card-actions .text-link { white-space: normal; }
.contact-phone { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.contact-card-primary, .support-callout { background: var(--forest); color: var(--on-forest); --muted: #c8d0c4; --accent: #e9b399; }
.contact-card-primary .button-primary, .support-callout .button-primary { background: var(--on-forest); color: #1d352b; border-color: var(--on-forest); }
.contact-card-primary .button-primary:hover, .support-callout .button-primary:hover { background: #e9b399; border-color: #e9b399; }
.support-page-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 60px; align-items: start; }
.support-callout { padding: 40px; }
.support-callout h2 { font-size: clamp(2.6rem, 3.5vw, 4.5rem); margin-block: 25px; }
.support-callout p { color: var(--muted); max-width: 38ch; margin-bottom: 30px; }
.support-phone, .support-email { display: block; margin-top: 24px; overflow-wrap: anywhere; }
.support-phone { font-family: Georgia, serif; font-size: clamp(1.35rem, 2vw, 2rem); }
.support-email { font-size: 1rem; }
.support-step { border-top: 1px solid var(--rule); padding-block: 25px; }
.support-step .eyebrow { margin-bottom: 20px; }
.support-step h3 { font-size: 2rem; }
.support-step p, .support-step li { color: var(--muted); max-width: 60ch; }
.support-step ul { padding-left: 20px; }
.support-step .text-link { white-space: normal; }
@media (min-width: 1440px) {
    .service-overview { gap: 80px; }
    .contact-card { padding: 40px; }
    .contact-card h3 { font-size: 2.4rem; }
    .support-page-layout { gap: 80px; }
    .support-callout { padding: 55px; }
}
@media (max-width: 991px) {
    .site-header .main-nav { order: 3; width: 100%; }
    .site-header .theme-control { margin-left: auto; }
    .service-overview { grid-template-columns: 1fr; gap: 35px; }
    .service-visual { max-width: 780px; }
    .contact-card-grid { grid-template-columns: 1fr; }
    .contact-card { padding: 30px; }
    .support-page-layout { grid-template-columns: 1fr; gap: 35px; }
}
@media (max-width: 640px) {
    .header-inner { gap: 12px 16px; }
    .brand-logo { width: 156px; }
    .site-header .theme-control { gap: 0; }
    .site-header .theme-control label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .site-header .theme-control select { width: 105px; }
    .service-hero h1 { font-size: clamp(2.9rem, 10vw, 4rem); }
    .service-navigation .service-jumpnav { gap: 22px; font-size: .82rem; }
    .connection-diagram { padding: 25px; }
    .contact-card { padding: 25px; }
    .support-callout { padding: 30px; }
    .field-photo { padding: 8px; }
}

/* Availability entry points and the expanded navigation. */
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 25px; }
.main-nav { gap: clamp(16px, 2vw, 35px); }
@media (max-width: 1399px) {
    .header-inner { flex-wrap: wrap; padding-block: 22px; }
    .main-nav { order: 3; width: 100%; flex-wrap: wrap; gap: 8px 24px; }
    .site-header .theme-control { margin-left: auto; }
}


.service-sla-extension { border-top: 1px solid var(--rule); margin-top: 32px; padding-top: 28px; }
.service-sla-extension h3 { margin-top: 16px; }
.service-sla-extension p, .ai-sla-summary p:not(.lead-copy) { color: var(--muted); font-size: .95rem; }
.service-sla-extension .text-link, .ai-sla-summary .text-link { display: inline-block; white-space: normal; }

/* Dedicated Internet: the existing cancellation rights and confirmed response promise. */
.service-assurance { margin-top: 40px; border-top: 1px solid var(--rule); padding-top: 30px; scroll-margin-top: 110px; }
.service-assurance-heading .eyebrow { margin-bottom: 14px; }
.service-assurance-heading h3 { font-size: clamp(1.8rem, 2.5vw, 2.6rem); letter-spacing: -.03em; margin-bottom: 14px; }
.service-assurance-heading p { color: var(--muted); font-size: .93rem; margin-bottom: 24px; }
.service-assurance-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.service-assurance-card { background: var(--panel); border: 1px solid var(--rule); border-top: 3px solid var(--accent); padding: 25px; min-width: 0; }
.service-assurance-card .eyebrow { margin-bottom: 22px; }
.service-assurance-card h4 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 14px; margin: 0 0 22px; font-weight: 400; }
.service-assurance-number { font: 400 clamp(3.5rem, 5vw, 5.4rem)/1 Georgia, serif; letter-spacing: -.06em; color: var(--accent); }
.service-assurance-unit { font: 400 1.15rem/1.3 Georgia, serif; white-space: nowrap; }
.service-assurance-card p { font-size: .94rem; line-height: 1.65; margin-bottom: 0; }
.service-assurance-response { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; padding: 27px 0; margin-top: 7px; border-bottom: 1px solid var(--rule); align-items: center; }
.service-assurance-response .eyebrow { margin-bottom: 10px; }
.service-assurance-response h4 { font: 400 1.65rem/1.2 Georgia, serif; letter-spacing: -.025em; margin: 0; }
.service-assurance-response p { color: var(--muted); font-size: .91rem; margin: 0; }
.service-assurance-response strong { color: var(--ink); font-weight: 600; }
.service-assurance-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; list-style: none; padding: 25px 0 0; margin: 0; }
.service-assurance-steps li { min-width: 0; }
.service-assurance-steps .eyebrow { margin-bottom: 10px; }
.service-assurance-steps a { display: inline-block; font-size: .95rem; overflow-wrap: anywhere; padding-block: 5px; }
.service-assurance-steps a span { margin-left: 8px; color: var(--accent); }
.service-assurance-steps p { color: var(--muted); font-size: .85rem; margin: 8px 0 0; }
.service-assurance-note { color: var(--muted); font-size: .8rem; margin: 25px 0 0; }
.service-assurance-note a { color: var(--ink); display: inline; }
@media (min-width: 1600px) { .service-assurance-card { padding: 30px; } .service-assurance-card p { font-size: 1rem; } }
@media (max-width: 640px) {
    .service-assurance-cards, .service-assurance-steps, .service-assurance-response { grid-template-columns: 1fr; }
    .service-assurance-card { padding: 24px; }
    .service-assurance-number { font-size: 4rem; }
    .service-assurance-unit { max-width: none; }
    .service-assurance-response { gap: 15px; }
    .service-assurance-response h4 br { display: none; }
    .service-assurance-steps { gap: 22px; }
}

/* Shared footer: original identity, grouped navigation and a quiet fiber signature. */
.site-footer {
    --muted: #c8d0c4;
    --rule: #486154;
    --accent: #e9b399;
    background: var(--forest);
    color: var(--on-forest);
    border-top: 1px solid var(--rule);
    padding-top: clamp(44px, 5vw, 76px);
    overflow-wrap: anywhere;
}
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 76px); }
.footer-identity, .footer-column { min-width: 0; }
.footer-brand { display: inline-block; margin-bottom: 25px; }
.footer-brand img { display: block; width: 184px; max-width: 100%; height: auto; filter: grayscale(1) brightness(0) invert(94%); }
.footer-statement { max-width: 11ch; font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: clamp(2.15rem, 3vw, 3.25rem); line-height: 1.12; letter-spacing: -.035em; margin-block: 14px 26px; }
/* Progressive silver shading follows the words, including when they wrap. */
.footer-statement > span:nth-child(1) { --letter-light: #f4f0e5; --letter-dark: #dfdfdc; }
.footer-statement > span:nth-child(2) { --letter-light: #d4d4d1; --letter-dark: #c7c7c4; }
.footer-statement > span:nth-child(3) { --letter-light: #bdbdba; --letter-dark: #aaaaa7; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .footer-statement > span {
        background-image: linear-gradient(90deg, var(--letter-light), var(--letter-dark));
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
}
@media (forced-colors: active), (prefers-contrast: more) {
    .footer-statement > span { background-image: none; color: var(--on-forest); }
}
@media print {
    .footer-statement > span { background-image: none; color: inherit; }
}
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.footer-contact a { display: inline-flex; align-items: center; gap: 20px; min-height: 36px; text-decoration: none; }
.footer-email { font-size: 1rem; }
.footer-phone { font-size: .88rem; color: var(--muted); }
.footer-availability { margin-top: 25px; padding: 12px 18px; min-height: 48px; max-width: 100%; font-size: .8rem; gap: 24px; border-color: #8c9b8d; }
.footer-availability:hover { color: var(--forest); background: var(--on-forest); border-color: var(--on-forest); }
.footer-column { padding-top: 8px; }
.footer-column h2 { border-top: 1px solid var(--rule); padding-top: 17px; margin-bottom: 18px; color: var(--muted); font-family: 'Courier New', monospace; font-size: .7rem; line-height: 1.6; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column li + li { margin-top: 3px; }
.footer-column a { display: inline-block; max-width: 100%; padding-block: 7px; font-size: .88rem; line-height: 1.55; text-decoration: none; text-decoration-thickness: 1px; }
.footer-column a:hover, .footer-contact a:hover, .back-to-top:hover { color: var(--accent); text-decoration: underline; }
.footer-explore .footer-measurement-links { border-bottom: 1px solid var(--rule); padding-bottom: 14px; margin-bottom: 14px; }
.footer-fiber-art { display: block; width: 100%; height: 72px; margin-block: 30px 16px; pointer-events: none; }
.footer-fiber-secondary { color: #9aad9a; opacity: .2; }
.footer-fiber-copper { color: var(--accent); opacity: .55; }
.footer-fiber-art path, .footer-fiber-art circle { vector-effect: non-scaling-stroke; }
.footer-bottom { border-top: 1px solid var(--rule); display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 25px; font-size: .78rem; color: var(--muted); }
.footer-bottom p { margin: 0; }
.footer-bottom .registered-mark { font-size: .65em; line-height: 0; position: static; vertical-align: super; }
.back-to-top { display: inline-flex; align-items: center; gap: 18px; min-height: 36px; text-decoration: none; }
@media (min-width: 1800px) {
    .footer-grid { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: clamp(76px, 5vw, 130px); }
    .footer-brand img { width: 208px; }
    .footer-column a { font-size: .95rem; }
}
@media (max-width: 1100px) {
    .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 30px; }
    .footer-identity { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; align-items: start; }
    .footer-brand, .footer-identity > .eyebrow, .footer-statement { grid-column: 1; }
    .footer-brand { justify-self: start; margin-bottom: 18px; }
    .footer-statement { max-width: none; margin-bottom: 0; font-size: clamp(2rem, 4vw, 2.6rem); }
    .footer-contact { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
    .footer-availability { grid-column: 2; grid-row: 3; margin-top: 10px; align-self: end; }
    .footer-fiber-art { margin-top: 24px; }
}
@media (max-width: 640px) {
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
    .footer-identity { display: block; padding-bottom: 8px; }
    .footer-brand img { width: 172px; }
    .footer-statement { max-width: 11ch; font-size: 2.35rem; margin-block: 14px 22px; }
    .footer-availability { margin-top: 22px; }
    .footer-column { padding-top: 0; }
    .footer-column h2 { font-size: .65rem; margin-bottom: 12px; padding-top: 14px; }
    .footer-column a { font-size: .85rem; }
    .footer-explore { grid-column: 1 / -1; }
    .footer-explore ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .footer-explore li + li { margin-top: 0; }
    .footer-fiber-art { height: 48px; margin-block: 20px 12px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; padding-block: 20px; font-size: .72rem; }
}
@media (prefers-reduced-motion: no-preference) {
    .footer-column a, .footer-contact a, .footer-availability, .back-to-top { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
}

/* Approved customer references: stable logo dimensions, no carousel or extra scripts. */
.customer-proof { padding-block: clamp(30px, 3.5vw, 48px); border-top: 1px solid var(--rule); }
.customer-proof-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px 36px; margin-bottom: 24px; }
.customer-proof-heading h2 { margin: 10px 0 0; font-size: clamp(1.6rem, 2.3vw, 2.15rem); letter-spacing: -.025em; }
.customer-proof-heading > .text-link { font-size: .83rem; white-space: normal; flex-shrink: 0; }
.customer-logo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.customer-logo-card { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; min-width: 0; padding: 24px 16px 20px; border-bottom: 1px solid var(--rule); text-align: center; }
.customer-logo-card .reference-logo { display: block; width: 100%; max-width: 180px; height: 56px; object-fit: contain; }
.reference-logo { filter: grayscale(1) brightness(0); opacity: .85; }
.customer-logo-label, .property-reference-label { display: block; color: var(--muted); font-size: .75rem; line-height: 1.5; max-width: 26ch; }
.customer-logo-nbcuniversal .reference-logo { max-width: 210px; }
.customer-logo-saturday-night-live .reference-logo { object-fit: cover; object-position: center; }
.customer-logo-experian .reference-logo { max-width: 132px; }
.customer-logo-nyc-dot .reference-logo { max-width: 128px; }
.customer-logo-playbill .reference-logo { max-width: 118px; }
.customer-proof-compact { margin-bottom: clamp(40px, 5vw, 70px); }
.customer-proof-compact .customer-logo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.customer-directory { margin-top: clamp(55px, 6vw, 100px); padding-top: 40px; border-top: 1px solid var(--rule); scroll-margin-top: 28px; }
.customer-directory-heading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 24px 60px; margin-bottom: 32px; }
.customer-directory h2 { font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.03em; margin-bottom: 0; }
.customer-directory-heading > p { margin: 0; font-size: 1rem; }
.customer-directory-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px clamp(24px, 3vw, 50px); }
.customer-directory-groups > section { min-width: 0; border-top: 2px solid var(--accent); padding-top: 22px; }
.customer-directory-groups h3 { font-size: clamp(1.35rem, 1.7vw, 1.7rem); margin-bottom: 20px; }
.customer-directory-groups ul { list-style: none; padding: 0; margin: 0; }
.customer-directory-groups li { padding-block: 11px; border-bottom: 1px solid var(--rule); color: var(--muted); font-size: .92rem; line-height: 1.6; overflow-wrap: anywhere; }
.customer-directory-action { margin-top: 28px; }
.property-references { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; align-items: center; padding-block: 35px; margin-top: 45px; border-block: 1px solid var(--rule); }
.property-references h3 { font-size: 1.9rem; margin: 18px 0 14px; }
.property-references p { font-size: .88rem; color: var(--muted); margin: 0; max-width: 38ch; }
.property-reference-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.property-reference-list > li { min-width: 0; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; border: 1px solid var(--rule); padding: 24px; text-align: center; }
.property-reference-list .reference-logo { display: block; width: 160px; max-width: 100%; height: 52px; object-fit: contain; }
.property-reference-name { font: 400 clamp(1.35rem, 2vw, 2rem)/1.25 Georgia, serif; }
.building-area-method { margin-top: 20px; font-size: .8rem; white-space: normal; }
:root[data-bs-theme="dark"] .reference-logo { filter: grayscale(1) brightness(0) invert(92%); }
@media (prefers-color-scheme: dark) { :root:not([data-bs-theme="light"]) .reference-logo { filter: grayscale(1) brightness(0) invert(92%); } }
@media (min-width: 1900px) { .customer-proof-home .customer-logo-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (max-width: 1199px) { .customer-proof-compact .customer-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .customer-directory-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .customer-proof-heading { align-items: start; flex-direction: column; gap: 18px; } .customer-directory-heading, .property-references { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 640px) { .customer-logo-grid, .customer-proof-compact .customer-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .customer-logo-card { padding-inline: 10px; min-height: 135px; } .customer-logo-card .reference-logo { max-width: 140px; height: 45px; } .customer-logo-card.customer-logo-experian .reference-logo { max-width: 110px; } .customer-directory-groups { grid-template-columns: 1fr; } .property-reference-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .property-reference-list > li:last-child:nth-child(odd) { grid-column: 1 / -1; } .property-reference-list > li { padding: 20px 12px; } .property-reference-name { font-size: clamp(1rem, 5vw, 1.3rem); } }

/* Preserve the light background in authentic agency/company raster logos. */
.customer-logo-nyc-dot .reference-logo, .customer-logo-harry-winston .reference-logo { filter: grayscale(1); mix-blend-mode: multiply; }
:root[data-bs-theme="dark"] .customer-logo-nyc-dot .reference-logo, :root[data-bs-theme="dark"] .customer-logo-harry-winston .reference-logo { filter: grayscale(1) invert(1); mix-blend-mode: screen; }
@media (prefers-color-scheme: dark) { :root:not([data-bs-theme="light"]) .customer-logo-nyc-dot .reference-logo, :root:not([data-bs-theme="light"]) .customer-logo-harry-winston .reference-logo { filter: grayscale(1) invert(1); mix-blend-mode: screen; } }

/* Shared header: direct service links, native disclosures and a persistent action. */
.site-header { position: relative; z-index: 6; }
.site-header .header-inner { display: flex; flex-wrap: nowrap; align-items: center; min-height: 115px; gap: clamp(24px, 3vw, 56px); padding-block: 20px; }
.site-header .brand { flex-shrink: 0; }
.site-header .site-navigation-panel { display: flex; align-items: center; justify-content: flex-end; gap: clamp(24px, 3vw, 56px); min-width: 0; flex: 1; }
.site-header .main-nav { width: auto; order: initial; gap: 0; min-width: 0; font-size: .9rem; }
.site-header .nav-list { display: flex; align-items: center; gap: clamp(16px, 1.75vw, 32px); list-style: none; padding: 0; margin: 0; }
.site-header .nav-list > li { flex-shrink: 0; }
.site-header .main-nav a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; white-space: nowrap; }
.site-header .nav-group { border: 0; position: relative; }
.site-header .nav-group > summary { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 0; font: inherit; list-style: none; cursor: pointer; }
.site-header .nav-group > summary::-webkit-details-marker { display: none; }
.site-header .nav-group > summary::marker { content: ''; }
.site-header .nav-group > summary:hover { color: var(--accent); }
.site-header .nav-group > summary[data-current-section] { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.site-header .nav-group[open] > summary svg { transform: rotate(180deg); }
.site-header .nav-submenu { position: absolute; z-index: 8; top: calc(100% + 8px); left: -20px; min-width: 265px; list-style: none; margin: 0; padding: 10px; border: 1px solid var(--rule); background: var(--paper); box-shadow: 0 12px 28px rgb(0 0 0 / .12); }
.site-header .nav-submenu li + li { border-top: 1px solid var(--rule); }
.site-header .nav-submenu a { display: flex; padding: 12px; white-space: normal; }
.site-header .nav-submenu a:hover, .site-header .nav-submenu a:focus-visible { background: var(--panel); }
.site-header .main-nav .header-availability { gap: 25px; padding: 12px 18px; min-height: 48px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); }
.site-header .header-availability span { margin: 0; }
.site-header .main-nav .header-availability:hover { background: var(--accent); border-color: var(--accent); color: var(--paper); }
.site-header .header-availability[aria-current] { text-decoration-color: currentColor; }
.site-header .theme-control { margin: 0; gap: 9px; flex-shrink: 0; }
.site-header .theme-control label { font-size: .7rem; }
.site-header .theme-control select { min-height: 44px; font-size: .8rem; }
.site-header .site-menu-toggle, .site-header .mobile-availability { display: none; }
@media (min-width: 1600px) { .site-header .main-nav { font-size: .95rem; } }
@media (max-width: 1199px) {
    .site-header .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; min-height: 0; gap: 16px 24px; padding-block: 18px; }
    .site-header .brand { justify-self: start; }
    .site-header .site-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 10px 14px; background: transparent; color: var(--ink); border: 1px solid var(--rule); font-size: .9rem; border-radius: 0; }
    .site-header .mobile-availability { display: inline-flex; min-height: 48px; gap: 20px; padding: 12px 18px; font-size: .85rem; }
    .site-header .site-navigation-panel { grid-column: 1 / -1; display: block; width: 100%; padding-top: 4px; }
    .site-header .main-nav { width: 100%; font-size: 1rem; }
    .site-header .nav-list { display: block; width: 100%; border-top: 1px solid var(--rule); }
    .site-header .nav-list > li { border-bottom: 1px solid var(--rule); }
    .site-header .nav-list > li > a, .site-header .nav-group > summary { display: flex; width: 100%; justify-content: space-between; min-height: 52px; padding: 12px 0; }
    .site-header .nav-submenu { position: static; min-width: 0; margin: 0 0 16px; padding: 0 16px; border: 0; border-left: 2px solid var(--rule); box-shadow: none; background: transparent; }
    .site-header .nav-submenu a { font-size: .92rem; padding: 12px 8px; }
    .site-header .nav-submenu li + li { border-top: 0; }
    .site-header .desktop-availability { display: none; }
    .site-header .theme-control { justify-content: space-between; gap: 20px; margin: 20px 0 0; padding: 0 0 4px; }
    .site-header .theme-control label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; font: inherit; }
    .site-header .theme-control select { width: 130px; }
}
@media (max-width: 640px) {
    .site-header .header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; padding-block: 16px; }
    .site-header .brand-logo { width: 156px; }
    .site-header .mobile-availability { grid-column: 1 / -1; width: 100%; }
}

/* Reserve the enhanced header before deferred scripts run. With JavaScript
   disabled the full native navigation remains visible and usable. */
html[data-enhanced] .site-header .theme-control[hidden] { display: flex !important; visibility: hidden; }
@media (max-width: 1199px) {
    html[data-enhanced] .site-header:not([data-navigation-ready]) .site-navigation-panel { display: none; }
    html[data-enhanced] .site-header .site-menu-toggle[hidden] { display: inline-flex !important; visibility: hidden; }
}
