
:root { --steel:#23455D; --blue:#3C637A; --copper:#C46A3A; --mist:#EEF1F2; --ink:#142B3A; --paper:#FAFBFB; --line:rgba(35,69,93,.16); --radius:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.58; }
a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } img { display:block; max-width:100%; } button { border:0; }
.sr-only { position:absolute; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }.skip-link { position:fixed; left:12px; top:-80px; z-index:100; background:#fff; color:var(--steel); padding:12px 16px; font-weight:800; }.skip-link:focus { top:12px; }.spin { animation:spin 1s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
.eyebrow { margin:0 0 15px; color:var(--copper); font-family:"DM Mono",monospace; font-size:.7rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }.eyebrow--light { color:#f0ad88; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:13px 19px; background:var(--steel); color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.01em; transition:transform .2s,background .2s; }.button:hover { background:var(--blue); transform:translateY(-2px); }.button--copper { background:var(--copper); color:#fff; }.button--copper:hover { background:#a9502a; }.button--light { background:#fff; color:var(--steel); }.button--glass { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.45); }.button--small { min-height:40px; padding:9px 13px; font-size:.72rem; }.button--ghost { background:transparent; color:var(--steel); outline:1px solid var(--line); }.text-link { display:inline-flex; align-items:center; gap:7px; color:var(--steel); font-size:.82rem; font-weight:800; border-bottom:1px solid var(--copper); padding-bottom:4px; }.text-link:hover { color:var(--copper); }
.site-header { position:sticky; z-index:30; top:0; background:rgba(250,251,251,.93); border-bottom:1px solid rgba(35,69,93,.1); backdrop-filter:blur(14px); }.site-header__inner { height:82px; max-width:1440px; margin:auto; padding:0 34px; display:flex; align-items:center; gap:30px; }.brand { display:inline-flex; align-items:center; flex-shrink:0; gap:9px; }.brand__mark { width:47px; height:47px; }.brand__type { display:flex; flex-direction:column; line-height:1.05; }.brand__type strong { font-size:.83rem; letter-spacing:.12em; }.brand__type small { margin-top:4px; font-family:"DM Mono",monospace; font-size:.48rem; letter-spacing:.085em; }.desktop-nav { display:flex; align-items:center; gap:24px; margin-left:auto; color:var(--steel); font-size:.75rem; font-weight:800; }.desktop-nav > a,.nav-popover > button { padding:30px 0; background:transparent; color:inherit; font:inherit; cursor:pointer; }.nav-popover { position:relative; }.nav-popover__panel { visibility:hidden; opacity:0; position:absolute; top:70px; left:-18px; width:255px; background:#fff; border:1px solid var(--line); box-shadow:0 15px 30px rgba(20,43,58,.12); padding:8px; transition:.18s; }.nav-popover:hover .nav-popover__panel,.nav-popover:focus-within .nav-popover__panel { visibility:visible; opacity:1; }.nav-popover__panel a { display:flex; justify-content:space-between; padding:10px; font-size:.76rem; }.nav-popover__panel a:hover { background:var(--mist); }.header-actions { display:flex; align-items:center; gap:16px; }.text-action { color:var(--steel); font-size:.72rem; font-weight:800; }.menu-toggle { display:none; margin-left:auto; padding:8px; background:transparent; color:var(--steel); }.mobile-menu { display:none; }
.hero { min-height:670px; position:relative; overflow:hidden; background:var(--steel); color:#fff; }.hero__media,.hero__shade { position:absolute; inset:0; }.hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }.hero__shade { background:linear-gradient(90deg,rgba(16,38,52,.93) 0%,rgba(24,55,73,.76) 42%,rgba(35,69,93,.11) 83%); }.hero__shape { position:absolute; right:-170px; top:-280px; width:640px; height:800px; border:1px solid rgba(255,255,255,.2); border-radius:50%; transform:rotate(-24deg); }.hero__content { position:relative; z-index:1; max-width:760px; padding:139px max(7vw,34px) 93px; }.hero h1 { max-width:700px; margin:0; color:#fff; font-family:"Source Serif 4",Georgia,serif; font-size:clamp(3.1rem,6.6vw,6.7rem); letter-spacing:-.065em; line-height:.91; }.hero h1 em { color:#f0ad88; font-style:normal; }.hero__lede { max-width:615px; margin:28px 0 30px; font-size:1rem; line-height:1.7; }.hero__actions { display:flex; flex-wrap:wrap; gap:12px; }.hero__signal { position:absolute; right:5vw; bottom:45px; z-index:2; max-width:178px; border-left:2px solid var(--copper); padding-left:16px; }.hero__signal span { display:block; font-family:"DM Mono",monospace; color:#c9d7df; font-size:.62rem; letter-spacing:.1em; }.hero__signal strong { display:block; font-family:"Source Serif 4",Georgia,serif; color:#fff; font-size:4.4rem; line-height:1; }.hero__signal p { margin:0; color:#dbe6eb; font-size:.72rem; line-height:1.45; }
.signal-strip { display:flex; align-items:stretch; background:var(--mist); border-bottom:1px solid var(--line); }.signal-strip p { max-width:720px; padding:28px 6vw; margin:0; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:1.43rem; font-weight:700; line-height:1.28; }.signal-strip div { display:grid; flex:1; grid-template-columns:repeat(5,1fr); min-width:440px; }.signal-strip span { display:flex; justify-content:center; align-items:center; color:var(--steel); border-left:1px solid var(--line); font-family:"DM Mono",monospace; font-size:.57rem; letter-spacing:.06em; text-align:center; padding:10px; }.section { max-width:1280px; margin:0 auto; padding:108px 34px; }.split-copy { display:grid; grid-template-columns:1.05fr 1fr; gap:100px; }.split-copy h2,.section-head h2,.workflow-section h2,.comparison h2,.project-band h2,.approach-grid h2,.coverage-section h2,.page-intro h1 { margin:0; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:clamp(2.25rem,4vw,4.25rem); letter-spacing:-.055em; line-height:1; }.split-copy__body { padding-top:8px; }.split-copy__body p { margin:0 0 20px; color:#355468; }.workflow-section { padding:103px 6vw; background:var(--steel); color:#fff; }.workflow-section__head { display:grid; grid-template-columns:1fr 1fr; max-width:1280px; margin:auto; gap:65px; }.workflow-section h2 { color:#fff; }.workflow-section__head p:last-child { margin:0; color:#c9d7df; align-self:end; }.lens-list { display:grid; grid-template-columns:repeat(3,1fr); max-width:1280px; margin:68px auto 0; border-top:1px solid rgba(255,255,255,.22); }.lens-list article { padding:25px 33px 0 0; min-height:255px; border-right:1px solid rgba(255,255,255,.22); }.lens-list article+article { padding-left:33px; }.lens-list article:last-child { border-right:0; }.lens-list span { color:#f0ad88; font-family:"DM Mono",monospace; font-size:.72rem; }.lens-list h3 { margin:50px 0 8px; font-size:1.15rem; }.lens-list p { margin:0; color:#c9d7df; font-size:.86rem; line-height:1.67; }
.comparison { max-width:1440px; margin:0 auto; padding:125px 6vw; display:grid; grid-template-columns:.88fr 1.15fr; gap:75px; align-items:center; }.comparison__copy>p:not(.eyebrow) { color:#355468; }.comparison__legend { display:grid; gap:8px; margin-top:24px; color:#537080; font-size:.74rem; }.comparison__legend span { display:flex; align-items:center; gap:8px; }.comparison__legend i { width:25px; height:3px; }.legend-before { background:var(--blue); }.legend-after { background:var(--copper); }.comparison__visual { position:relative; height:468px; overflow:hidden; background:var(--steel); box-shadow:16px 16px 0 var(--mist); }.comparison__visual>img,.comparison__before img { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }.comparison__before { position:absolute; height:100%; top:0; left:0; overflow:hidden; }.comparison__before img { width:max(100%,560px); max-width:none; }.comparison__labels { position:absolute; inset:17px; display:flex; justify-content:space-between; pointer-events:none; }.comparison__labels span { align-self:flex-start; color:#fff; background:rgba(20,43,58,.78); padding:6px 9px; font-family:"DM Mono",monospace; font-size:.63rem; letter-spacing:.1em; }.comparison__divider { position:absolute; top:0; height:100%; width:2px; background:#fff; pointer-events:none; }.comparison__divider i { position:absolute; top:50%; left:50%; width:36px; height:36px; border:2px solid #fff; border-radius:50%; background:var(--copper); transform:translate(-50%,-50%); }.comparison__visual input { position:absolute; z-index:3; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:43px; }.section-head h2 { max-width:695px; }.service-list { border-top:1px solid var(--line); }.service-row { display:grid; grid-template-columns:57px 37px minmax(180px,.8fr) 1.3fr 26px; gap:20px; align-items:center; padding:23px 10px; border-bottom:1px solid var(--line); transition:background .2s,padding .2s; }.service-row:hover { background:var(--mist); padding-left:19px; padding-right:19px; }.service-row__number { color:var(--copper); font-family:"DM Mono",monospace; font-size:.7rem; }.service-row h3 { margin:0; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:1.44rem; }.service-row p { margin:0; color:#537080; font-size:.79rem; }.project-band { display:grid; grid-template-columns:.85fr 1.15fr; background:var(--steel); color:#fff; }.project-band__copy { padding:100px max(6vw,34px); }.project-band h2 { color:#fff; }.project-band__copy p:not(.eyebrow) { color:#c9d7df; margin:25px 0 29px; }.project-carousel { display:flex; gap:14px; overflow-x:auto; padding:55px 0 55px 24px; scrollbar-width:thin; }.project-carousel figure { flex:0 0 66%; margin:0; }.project-carousel img { height:355px; width:100%; object-fit:cover; }.project-carousel figcaption { padding-top:10px; color:#c9d7df; font-family:"DM Mono",monospace; font-size:.65rem; }.approach-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:0; padding-top:0; padding-bottom:0; }.approach-grid__image img { width:100%; height:100%; min-height:600px; object-fit:cover; }.approach-grid__content { background:var(--mist); padding:94px 10%; }.approach-grid__content>p:not(.eyebrow) { color:#355468; }.approach-grid__content ul { display:grid; gap:14px; margin:28px 0; padding:0; list-style:none; font-size:.82rem; font-weight:700; }.approach-grid__content li { display:flex; gap:8px; align-items:flex-start; }.approach-grid__content li svg { flex:none; color:var(--copper); margin-top:4px; }.coverage-section { display:grid; grid-template-columns:1fr 1fr; min-height:560px; background:var(--paper); }.coverage-map { position:relative; min-height:560px; overflow:hidden; background:linear-gradient(130deg,#1f4258,#2d5c74); }.coverage-map:after { position:absolute; content:""; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:44px 44px; }.coverage-map__contour { position:absolute; border:1px solid rgba(255,255,255,.29); border-radius:50%; transform:rotate(-25deg); }.contour-one { left:-100px; top:50px; width:490px; height:790px; }.contour-two { left:60px; top:-210px; width:590px; height:610px; }.coverage-map__point { position:absolute; z-index:2; display:flex; align-items:center; gap:8px; color:#fff; font-family:"DM Mono",monospace; font-size:.56rem; letter-spacing:.075em; }.coverage-map__point i { display:block; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:var(--copper); }.point-main { left:43%; top:53%; }.point-carefree { left:45%; top:20%; }.point-cave { left:69%; top:34%; }.point-fountain { left:64%; top:68%; }.point-paradise { left:21%; top:67%; }.coverage-section__copy { display:flex; flex-direction:column; justify-content:center; padding:12% 12%; }.coverage-section__copy p:not(.eyebrow) { color:#355468; }.faq-preview { padding-top:72px; }.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; justify-content:space-between; gap:25px; padding:20px 4px; color:var(--steel); font-size:.97rem; font-weight:800; cursor:pointer; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list details[open] summary svg { transform:rotate(180deg); color:var(--copper); }.faq-list details p { max-width:890px; margin:0; padding:0 4px 21px; color:#446377; font-size:.9rem; }.final-banner,.thank-you { padding:112px 34px; background:var(--steel); color:#fff; text-align:center; }.final-banner h2,.thank-you h1 { margin:0 0 28px; color:#fff; font-family:"Source Serif 4",Georgia,serif; font-size:clamp(2.8rem,5vw,5.8rem); letter-spacing:-.06em; line-height:.98; }.thank-you { min-height:61vh; display:flex; flex-direction:column; justify-content:center; align-items:center; }.thank-you p:not(.eyebrow) { max-width:650px; margin:0 0 28px; color:#d7e2e7; }
.page-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; padding:103px max(7vw,34px) 80px; background:var(--mist); border-bottom:1px solid var(--line); }.page-intro h1 { max-width:760px; }.page-intro>p { max-width:515px; align-self:end; margin:0; color:#355468; font-size:.98rem; }.content-rail { display:grid; grid-template-columns:240px minmax(0,760px); justify-content:space-between; gap:60px; }.content-rail__aside { align-self:start; position:sticky; top:112px; display:grid; gap:12px; padding-top:12px; border-top:2px solid var(--copper); }.content-rail__aside p { margin:0 0 10px; color:var(--steel); font-weight:800; }.content-rail__aside a { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:10px; color:#456579; font-size:.76rem; font-weight:800; }.article-copy img { margin-bottom:31px; width:100%; height:390px; object-fit:cover; }.article-copy p { color:#3d5f73; }.article-copy .lead-copy { color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:1.45rem; line-height:1.43; }.article-copy h2 { margin:42px 0 15px; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:2.05rem; letter-spacing:-.04em; line-height:1.1; }.numbered-steps { list-style:none; margin:30px 0; padding:0; border-top:1px solid var(--line); }.numbered-steps li { display:flex; align-items:center; gap:17px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--steel); font-size:.88rem; font-weight:800; }.numbered-steps span { color:var(--copper); font-family:"DM Mono",monospace; font-size:.67rem; }.related-section { background:var(--mist); max-width:none; padding-left:max(7vw,34px); padding-right:max(7vw,34px); }.related-links { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.related-links a { display:grid; grid-template-columns:35px 1fr 25px; gap:10px; align-items:center; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--steel); }.related-links a:first-child { border-left:1px solid var(--line); }.related-links span { color:var(--copper); font-family:"DM Mono",monospace; font-size:.65rem; }.related-links strong { font-family:"Source Serif 4",Georgia,serif; font-size:1.15rem; }.location-layout { display:grid; grid-template-columns:.93fr 1.07fr; gap:68px; }.location-layout>div img { height:560px; width:100%; object-fit:cover; }.location-layout .article-copy { align-self:center; }.location-cities { padding-top:20px; }.location-cities>div { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); }.location-cities a { display:flex; justify-content:space-between; padding:18px 10px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); color:var(--steel); font-size:.78rem; font-weight:800; }.areas-list { padding-top:45px; padding-bottom:50px; }.areas-list>a { display:grid; grid-template-columns:65px 1fr 35px; align-items:center; gap:20px; padding:27px 4px; border-top:1px solid var(--line); }.areas-list>a:last-child { border-bottom:1px solid var(--line); }.areas-list>a:hover { color:var(--copper); }.areas-list span { color:var(--copper); font-family:"DM Mono",monospace; font-size:.72rem; }.areas-list h2 { margin:0; font-family:"Source Serif 4",Georgia,serif; font-size:2rem; letter-spacing:-.04em; }.areas-list p { margin:4px 0 0; color:#537080; font-size:.82rem; }.faq-page { display:grid; grid-template-columns:1fr 350px; gap:75px; }.faq-page aside { background:var(--mist); align-self:start; }.faq-page aside img { width:100%; height:210px; object-fit:cover; }.faq-page aside h2,.faq-page aside p,.faq-page aside a { margin-left:28px; margin-right:28px; }.faq-page aside h2 { margin-top:27px; margin-bottom:5px; font-family:"Source Serif 4",Georgia,serif; color:var(--steel); font-size:1.9rem; line-height:1.05; }.faq-page aside p { color:#537080; font-size:.83rem; }.faq-page aside a { margin-bottom:30px; }.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }.contact-note h2,.contact-form-card h2 { margin:0 0 14px; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:2.5rem; letter-spacing:-.05em; line-height:1; }.contact-note>p:not(.eyebrow) { color:#3d5f73; }.contact-note img { margin-top:28px; width:100%; height:260px; object-fit:cover; }.contact-note__email { margin-top:10px!important; font-size:.8rem; }.contact-note__email a { color:var(--copper); font-weight:800; }.contact-form-card { padding:43px; background:var(--mist); }.contact-form-card>p { color:#537080; font-size:.84rem; }.inquiry-form { display:grid; gap:15px; margin-top:25px; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.inquiry-form label,.calculator-fields label { display:grid; gap:6px; color:var(--steel); font-size:.71rem; font-weight:800; }.inquiry-form input,.inquiry-form select,.inquiry-form textarea,.calculator-fields input,.calculator-fields select,.callback-form input { width:100%; border:1px solid rgba(35,69,93,.28); border-radius:0; background:#fff; padding:12px; color:var(--ink); font-size:.85rem; outline:none; }.inquiry-form textarea { resize:vertical; }.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus,.calculator-fields input:focus,.calculator-fields select:focus,.callback-form input:focus { border-color:var(--copper); box-shadow:0 0 0 3px rgba(196,106,58,.16); }.form-note { margin:0; color:#5d7787; font-size:.68rem; line-height:1.5; }.form-error { margin:0; color:#a23f2c; font-size:.75rem; font-weight:800; }.form-success { display:flex; gap:12px; padding:18px; background:#e1ecec; color:var(--steel); }.form-success svg { color:var(--copper); flex:none; }.form-success strong { display:block; }.form-success p { margin:3px 0 0; font-size:.78rem; }
.estimate-wrap { max-width:1440px; padding-top:65px; }.calculator { display:grid; grid-template-columns:320px 1fr; min-height:600px; background:#fff; box-shadow:0 17px 45px rgba(21,49,66,.12); }.calculator__rail { padding:48px 37px; background:var(--steel); color:#fff; }.calculator__rail h2 { margin:0; color:#fff; font-family:"Source Serif 4",Georgia,serif; font-size:2.4rem; letter-spacing:-.05em; line-height:1; }.calculator__rail>p:not(.eyebrow) { color:#c9d7df; font-size:.82rem; }.calculator__rail ol { display:grid; gap:14px; margin:43px 0 0; padding:0; list-style:none; }.calculator__rail li { display:flex; gap:10px; align-items:center; color:#a8bdc8; font-size:.73rem; font-weight:700; }.calculator__rail li span { width:23px; color:#c9d7df; font-family:"DM Mono",monospace; font-size:.59rem; }.calculator__rail li.is-active { color:#fff; }.calculator__rail li.is-active span,.calculator__rail li.is-done span { color:#f0ad88; }.calculator__stage { padding:48px clamp(27px,7vw,105px); }.calculator__topline { display:flex; justify-content:space-between; gap:10px; color:var(--blue); font-family:"DM Mono",monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }.calculator__stage h2 { max-width:570px; margin:36px 0 28px; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:clamp(2.2rem,4vw,3.6rem); letter-spacing:-.055em; line-height:1.02; }.choice-list { display:grid; gap:9px; }.choice { display:grid; grid-template-columns:38px 1fr 17px; gap:12px; align-items:center; text-align:left; border:1px solid var(--line); background:#fff; padding:12px 16px; cursor:pointer; transition:.2s; }.choice:hover,.choice.is-selected { border-color:var(--copper); background:#fff9f5; }.choice strong { display:block; color:var(--steel); font-size:.84rem; }.choice small { display:block; color:#658090; font-size:.7rem; }.choice-icon { position:relative; display:block; width:29px; height:29px; border:1.5px solid var(--blue); }.choice-icon i { position:absolute; display:block; background:var(--blue); }.icon-grid i:nth-child(1){left:5px;top:5px;width:7px;height:7px}.icon-grid i:nth-child(2){right:5px;top:5px;width:7px;height:7px}.icon-grid i:nth-child(3){left:5px;bottom:5px;width:19px;height:7px}.icon-line i:nth-child(1){left:5px;top:7px;width:18px;height:2px}.icon-line i:nth-child(2){left:5px;top:14px;width:12px;height:2px}.icon-line i:nth-child(3){left:5px;top:21px;width:18px;height:2px}.icon-drop { border-radius:50% 50% 50% 0; transform:rotate(-45deg); }.icon-drop i { left:12px;top:6px;width:2px;height:15px;transform:rotate(45deg); }.icon-sun { border-radius:50%; }.icon-sun i:nth-child(1){left:13px;top:-6px;width:1px;height:7px}.icon-sun i:nth-child(2){left:13px;bottom:-6px;width:1px;height:7px}.icon-sun i:nth-child(3){left:6px;top:13px;width:17px;height:1px}.choice-dot { width:13px; height:13px; border:1px solid #9fb2bd; border-radius:50%; }.choice.is-selected .choice-dot { background:var(--copper); border-color:var(--copper); box-shadow:inset 0 0 0 3px #fff9f5; }.calculator-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.calculator-fields__wide { grid-column:span 2; }.calculator__actions { display:flex; justify-content:space-between; gap:12px; margin-top:28px; }.range-report { padding:78px max(6vw,34px); background:var(--steel); color:#fff; text-align:center; }.range-report h2 { margin:0; color:#fff; font-family:"Source Serif 4",Georgia,serif; font-size:clamp(3.8rem,8vw,8rem); letter-spacing:-.07em; line-height:1; }.range-report>p:not(.eyebrow):not(.receipt) { max-width:700px; margin:23px auto; color:#d7e2e7; }.range-report__cards { display:grid; grid-template-columns:1fr 1fr; max-width:720px; margin:33px auto; text-align:left; gap:12px; }.range-report__cards div { padding:20px; border:1px solid rgba(255,255,255,.25); }.range-report__cards span,.range-report__cards small { display:block; color:#c9d7df; font-size:.7rem; }.range-report__cards strong { display:block; margin:8px 0; color:#fff; font-family:"Source Serif 4",Georgia,serif; font-size:1.8rem; letter-spacing:-.04em; }.receipt { color:#f0ad88; font-family:"DM Mono",monospace; font-size:.61rem; }.estimate-notes { display:grid; grid-template-columns:repeat(3,1fr); max-width:1280px; margin:0 auto; padding:0 34px 105px; gap:1px; background:var(--line); }.estimate-notes article { padding:31px; background:var(--paper); }.estimate-notes svg { color:var(--copper); }.estimate-notes h3 { margin:15px 0 4px; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:1.35rem; }.estimate-notes p { margin:0; color:#537080; font-size:.78rem; }.legal-copy { max-width:900px; }.legal-copy h2 { font-family:"Source Serif 4",Georgia,serif; color:var(--steel); font-size:2rem; }.legal-copy p { color:#3d5f73; }
.site-footer { background:#132d3d; color:#fff; }.footer-callout { max-width:1280px; margin:auto; padding:90px 34px 78px; display:flex; align-items:center; justify-content:space-between; gap:50px; border-bottom:1px solid rgba(255,255,255,.18); }.footer-callout h2 { max-width:720px; margin:0; font-family:"Source Serif 4",Georgia,serif; font-size:clamp(2.2rem,4vw,4.1rem); letter-spacing:-.055em; line-height:1; }.footer-grid { max-width:1280px; margin:auto; padding:55px 34px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }.footer-grid .brand { margin-bottom:17px; }.footer-grid p { color:#bfd0d8; font-size:.78rem; }.footer-grid>a,.footer-grid div>a { display:block; margin:7px 0; color:#dbe6eb; font-size:.75rem; }.footer-grid a:hover { color:#f0ad88; }.footer-label { color:#f0ad88!important; font-family:"DM Mono",monospace; font-size:.61rem!important; letter-spacing:.12em; text-transform:uppercase; }.footer-bottom { display:flex; justify-content:space-between; gap:16px; max-width:1280px; margin:auto; padding:20px 34px; border-top:1px solid rgba(255,255,255,.18); color:#b5c8d1; font-family:"DM Mono",monospace; font-size:.58rem; }.callback-layer { position:fixed; z-index:50; inset:0; display:flex; justify-content:center; align-items:center; padding:20px; background:rgba(17,40,54,.7); backdrop-filter:blur(4px); }.callback-card { position:relative; width:min(100%,475px); background:#fff; padding:41px; box-shadow:0 20px 55px rgba(0,0,0,.28); }.callback-card h2 { margin:0; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:2.55rem; letter-spacing:-.05em; line-height:1; }.callback-card>p:not(.eyebrow) { color:#537080; font-size:.86rem; }.callback-close { position:absolute; top:12px; right:12px; color:var(--steel); background:transparent; cursor:pointer; }.callback-form { display:grid; gap:11px; margin-top:22px; }
.seo-fallback { max-width:900px; margin:80px auto; padding:30px; font-family:Arial,sans-serif; }.seo-fallback h1 { color:var(--steel); }.seo-fallback nav { display:flex; flex-wrap:wrap; gap:10px; }.seo-fallback nav a { padding:8px; color:var(--steel); border:1px solid var(--line); }
@media (max-width:980px) { .desktop-nav,.header-actions { display:none; }.menu-toggle { display:block; }.mobile-menu { display:grid; gap:0; position:fixed; z-index:45; inset:0; padding:23px 28px 33px; overflow:auto; background:var(--steel); color:#fff; align-content:start; }.mobile-menu__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:38px; }.mobile-menu__head button { color:#fff; background:transparent; }.mobile-menu>a:not(.button) { padding:16px 0; border-top:1px solid rgba(255,255,255,.23); font-family:"Source Serif 4",Georgia,serif; font-size:1.62rem; }.mobile-menu .button { margin-top:24px; }.hero { min-height:600px; }.hero__content { max-width:650px; padding-top:116px; }.hero__signal { display:none; }.signal-strip { display:block; }.signal-strip div { min-width:0; height:55px; }.split-copy,.comparison,.page-intro,.location-layout,.contact-layout { gap:45px; }.workflow-section__head { gap:30px; }.calculator { grid-template-columns:260px 1fr; }.calculator__rail { padding:38px 25px; }.calculator__stage { padding:38px 40px; }.coverage-map { min-height:460px; }.coverage-section__copy { padding:10%; }.footer-grid { grid-template-columns:2fr 1fr 1fr; }.footer-grid>div:last-child { grid-column:2/4; display:grid; grid-template-columns:repeat(3,1fr); column-gap:8px; }.footer-grid>div:last-child .footer-label { grid-column:1/4; }.faq-page { grid-template-columns:1fr 290px; gap:35px; } }
@media (max-width:700px) { body { font-size:15px; }.site-header__inner { height:70px; padding:0 18px; }.brand__mark { width:41px; height:41px; }.brand__type strong { font-size:.71rem; }.brand__type small { font-size:.42rem; }.hero { min-height:610px; }.hero__media img { object-position:66% center; }.hero__shade { background:linear-gradient(90deg,rgba(16,38,52,.94),rgba(24,55,73,.75),rgba(35,69,93,.3)); }.hero__content { padding:105px 22px 55px; }.hero h1 { font-size:3.8rem; }.hero__lede { font-size:.9rem; }.hero__actions { display:grid; grid-template-columns:1fr; }.hero__actions .button { width:100%; }.signal-strip p { padding:25px 22px; font-size:1.22rem; }.signal-strip div { grid-template-columns:repeat(5,minmax(100px,1fr)); overflow-x:auto; }.signal-strip span { min-width:100px; }.section { padding:68px 22px; }.split-copy,.comparison,.page-intro,.location-layout,.contact-layout,.approach-grid,.coverage-section { grid-template-columns:1fr; }.split-copy { gap:28px; }.workflow-section { padding:68px 22px; }.workflow-section__head { grid-template-columns:1fr; gap:18px; }.lens-list { grid-template-columns:1fr; margin-top:40px; }.lens-list article,.lens-list article+article { min-height:0; padding:20px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }.lens-list h3 { margin:28px 0 8px; }.comparison { padding:70px 22px; gap:32px; }.comparison__visual { height:330px; }.comparison__before img { width:560px; }.section-head { display:grid; align-items:start; margin-bottom:29px; }.service-row { grid-template-columns:35px 31px 1fr 21px; gap:11px; }.service-row p { display:none; }.service-row h3 { font-size:1.24rem; }.project-band { grid-template-columns:1fr; }.project-band__copy { padding:65px 22px 32px; }.project-carousel { padding:22px 0 55px 22px; }.project-carousel figure { flex-basis:88%; }.project-carousel img { height:260px; }.approach-grid { padding:0; }.approach-grid__image img { min-height:330px; height:330px; }.approach-grid__content { padding:60px 22px; }.coverage-section { min-height:0; }.coverage-map { min-height:370px; }.coverage-section__copy { padding:63px 22px; }.coverage-map__point { font-size:.47rem; }.point-main { left:40%;top:50%;}.point-carefree{left:40%;top:15%;}.point-cave{left:64%;top:29%;}.point-fountain{left:61%;top:70%;}.point-paradise{left:9%;top:66%;}.final-banner,.thank-you { padding:76px 22px; }.page-intro { padding:69px 22px 55px; gap:25px; }.content-rail { display:block; }.content-rail__aside { position:static; margin-bottom:34px; }.article-copy img { height:255px; }.related-section { padding-left:22px; padding-right:22px; }.related-links { grid-template-columns:1fr; }.related-links a:first-child { border-left:0; }.location-layout>div img { height:330px; }.location-cities>div { grid-template-columns:1fr 1fr; }.areas-list>a { grid-template-columns:44px 1fr 22px; }.areas-list h2 { font-size:1.65rem; }.faq-page { display:block; }.faq-page aside { margin-top:35px; }.contact-form-card { padding:28px 22px; }.field-row,.calculator-fields { grid-template-columns:1fr; }.calculator-fields__wide { grid-column:auto; }.calculator { grid-template-columns:1fr; }.calculator__rail { padding:35px 22px 25px; }.calculator__rail h2 { font-size:2.05rem; }.calculator__rail ol { grid-template-columns:repeat(7,1fr); gap:4px; margin-top:25px; }.calculator__rail li { font-size:0; height:5px; background:rgba(255,255,255,.23); }.calculator__rail li span { display:none; }.calculator__rail li.is-active,.calculator__rail li.is-done { background:var(--copper); }.calculator__stage { padding:36px 22px; }.calculator__stage h2 { margin:27px 0 22px; font-size:2.45rem; }.range-report { padding:55px 22px; }.range-report__cards { grid-template-columns:1fr; }.estimate-notes { grid-template-columns:1fr; padding:0 22px 68px; }.footer-callout { display:block; padding:65px 22px 55px; }.footer-callout h2 { margin-bottom:25px; }.footer-grid { grid-template-columns:1fr 1fr; padding:45px 22px; gap:32px 20px; }.footer-grid>div:first-child { grid-column:1/3; }.footer-grid>div:last-child { grid-column:1/3; }.footer-bottom { display:grid; padding:18px 22px; font-size:.54rem; }.callback-card { padding:36px 22px 25px; }.callback-card h2 { font-size:2.2rem; } }

/* Controlled project gallery */
.project-carousel { display:grid; align-content:center; gap:14px; overflow:hidden; padding:55px max(4vw,24px); }
.project-carousel__viewport { overflow:hidden; width:100%; }
.project-carousel__track { display:flex; transition:transform .38s ease; }
.project-carousel figure { flex:0 0 100%; margin:0; }
.project-carousel img { height:355px; width:100%; object-fit:cover; }
.project-carousel figcaption { padding-top:10px; color:#c9d7df; font-family:"DM Mono",monospace; font-size:.65rem; }
.project-carousel__controls { display:flex; align-items:center; justify-content:flex-end; gap:11px; color:#c9d7df; font-family:"DM Mono",monospace; font-size:.65rem; }
.project-carousel__controls button { display:grid; place-items:center; width:34px; height:34px; color:#fff; border:1px solid rgba(255,255,255,.42); background:transparent; cursor:pointer; transition:background .2s; }
.project-carousel__controls button:hover,.project-carousel__controls button:focus-visible { background:var(--copper); outline:none; }
@media (max-width:700px) { .project-carousel { padding:22px 22px 55px; } .project-carousel img { height:260px; } }

/* Supplied Scottsdale brand asset */
.brand__logo-wrap { display:inline-flex; align-items:center; justify-content:center; width:190px; height:58px; }
.brand__logo { display:block; width:100%; height:100%; object-fit:contain; }
.brand--inverse .brand__logo-wrap { width:205px; height:62px; padding:4px 8px; background:#fff; }
.brand--compact .brand__logo-wrap { width:150px; height:48px; }
@media (max-width:700px) {
  .brand__logo-wrap { width:150px; height:48px; }
  .brand--inverse .brand__logo-wrap { width:175px; height:54px; }
}

/* Standalone static-export enhancements */
[hidden] { display:none !important; }
.copy-block { margin:42px 0 0; }
.copy-block h2 { margin:0 0 15px; color:var(--steel); font-family:"Source Serif 4",Georgia,serif; font-size:2.05rem; letter-spacing:-.04em; line-height:1.1; }
.copy-block p { color:#3d5f73; }
.form-status { min-height:1.25em; margin:0; font-size:.76rem; font-weight:700; }
.form-status.form-success { display:block; padding:12px; }
.choice-list button { display:block; width:100%; color:var(--steel); text-align:left; border:1px solid var(--line); background:#fff; padding:13px 16px; cursor:pointer; }
.choice-list button + button { margin-top:9px; }
.choice-list button:hover,.choice-list button.is-selected { border-color:var(--copper); background:#fff9f5; }
.choice-list button small { display:block; margin-top:4px; color:#658090; }
.mobile-menu[hidden] { display:none; }
@media (max-width:700px) { .copy-block h2 { font-size:1.75rem; } }
