@font-face { font-family:"Instrument Serif"; src:url("../media/instrument-serif-400-latin.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }@font-face { font-family:"Instrument Sans"; src:url("../media/instrument-sans-var-latin.woff2") format("woff2"); font-weight:400 700; font-stretch:75% 100%; font-style:normal; font-display:swap; }:root {--ink:#001124;--ink-2:#061A33;--ink-3:#0D2B4D;--blue:#2563C4;--blue-d:#1D4FA0;--blue-l:#8DB8EA;--gold:#FAC86F;--silver:#C7CDD6;--paper:#F3F6FA;--white:#FFFFFF;--text:#0B1A2E;--muted:#4B5870;--rule:#D9DEE6;--on-dark:#E8ECF2;--on-dark-muted:#A9B4C6;--focus:#1D4FA0;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Instrument Sans", "Segoe UI", system-ui, sans-serif;--wrap:1200px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--ease:cubic-bezier(.2, .7, .1, 1)}*, *::before, *::after { box-sizing:border-box; }html { overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:6rem; -webkit-text-size-adjust:100%; }body { margin:0; overflow-x:clip; background:var(--paper); color:var(--text); font-family:var(--sans); font-size:1.0625rem; line-height:1.6; }img, svg { display:block; max-width:100%; height:auto; }a { color:inherit; }a[href^="tel:"] { white-space:nowrap; }h1, h2, h3 { font-family:var(--serif); font-weight:400; margin:0; text-wrap:balance; }h2 { font-size:clamp(2.2rem, 3.8vw, 3.5rem); line-height:1.04; letter-spacing:-.005em; }h3 { font-size:1.6rem; line-height:1.15; }h3 a { text-decoration:none; }h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }p { margin:0; }.wrap { width:min(var(--wrap), 100% - 2 * var(--gutter)); margin-inline:auto; }.on-dark { --focus:var(--gold); background:var(--ink); color:var(--on-dark); }.on-light { --focus:var(--blue-d); }:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:2px; }.skip-link { position:absolute; left:1rem; top:-4rem; z-index:100; padding:.7rem 1rem; background:var(--white); color:var(--ink); font-weight:700; text-decoration:none; }.skip-link:focus { top:1rem; }.review-note { background:#DCE8F7; color:var(--ink); font-size:.875rem; line-height:1.4; text-align:center; padding:.55rem var(--gutter); }.confirm { display:inline-block; vertical-align:middle; margin-left:.5rem; padding:.15rem .55rem; border-radius:999px; background:#DCE8F7; color:var(--blue-d); font:700 .75rem/1.3 var(--sans); letter-spacing:.01em; }.on-dark .confirm { background:rgba(141, 184, 234, .18); color:var(--blue-l); }.btn { --b:transparent; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:.75rem 1.35rem; border:1.5px solid var(--b); border-radius:999px; font:700 1rem/1.1 var(--sans); text-decoration:none; cursor:pointer; transition:background-color .2s, color .2s, border-color .2s, transform .2s var(--ease); }.btn--primary { background:var(--blue); color:#fff; --b:var(--blue); }.btn--primary:hover { background:var(--blue-d); --b:var(--blue-d); color:#fff; }.on-dark .btn--primary:hover { background:#2F70D6; --b:#2F70D6; }.btn--line { background:transparent; color:inherit; --b:currentColor; }.on-dark .btn--line { --b:rgba(232, 236, 242, .55); }.btn--line:hover { --b:var(--gold); color:var(--gold); }.on-light .btn--line:hover { --b:var(--ink); color:var(--ink); background:rgba(0, 17, 36, .05); }.btn--slot { border-style:dashed; cursor:default; flex-direction:column; gap:.15rem; line-height:1.1; }.btn--slot small { font-weight:500; font-size:.7rem; opacity:.8; }.btn--slot:hover { --b:currentColor; color:inherit; }.btn--lg { min-height:54px; padding:.9rem 1.6rem; font-size:1.0625rem; }.btn--sm { min-height:40px; padding:.5rem 1rem; font-size:.9375rem; }.btn:active { transform:translateY(1px); }.site-header { position:relative; z-index:50; background:var(--ink); color:var(--on-dark); border-bottom:1px solid rgba(199, 205, 214, .14); --focus:var(--gold); }.site-header__in { display:flex; align-items:center; gap:1.5rem; min-height:80px; }.brand { display:block; flex:none; }.brand img { width:86px; height:auto; }.nav { display:flex; align-items:center; gap:1.6rem; margin-left:auto; }.nav > a, .nav__drop > summary { position:relative; display:inline-flex; align-items:center; gap:.35rem; min-height:44px; text-decoration:none; font-size:.9688rem; color:var(--on-dark); cursor:pointer; list-style:none; }.nav__drop > summary::-webkit-details-marker { display:none; }.nav > a::after, .nav__drop > summary::after { content:""; position:absolute; left:0; right:0; bottom:6px; height:1.5px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }.nav > a:hover::after, .nav > a[aria-current]::after, .nav__drop:hover > summary::after, .nav__drop[open] > summary::after { transform:scaleX(1); }.nav__drop { position:relative; }.nav__drop svg { transition:transform .25s var(--ease); }.nav__drop[open] svg { transform:rotate(180deg); }.nav__menu { position:absolute; left:-1rem; top:100%; min-width:300px; margin:0; padding:.6rem; list-style:none; background:var(--white); color:var(--text); border-radius:10px; box-shadow:0 24px 50px rgba(0, 9, 20, .35); --focus:var(--blue-d); }.nav__menu a { display:flex; align-items:center; min-height:44px; padding:.45rem .8rem; border-radius:6px; text-decoration:none; font-size:.9688rem; }.nav__menu a:hover, .nav__menu a[aria-current] { background:var(--paper); color:var(--blue-d); }@media (hover:hover) and (min-width:1001px) {.nav__drop:not([open]) .nav__menu { display:block; visibility:hidden; opacity:0; transform:translateY(6px); transition:opacity .2s, transform .2s var(--ease), visibility 0s .2s; }.nav__drop:hover .nav__menu, .nav__drop:focus-within .nav__menu { visibility:visible; opacity:1; transform:none; transition:opacity .2s, transform .2s var(--ease); }}.header-phone { text-decoration:none; font-weight:700; white-space:nowrap; }.header-phone span { display:block; font-size:.75rem; font-weight:400; color:var(--on-dark-muted); }.menu { display:none; }.menu > summary { list-style:none; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:1px solid rgba(232, 236, 242, .35); cursor:pointer; }.menu > summary::-webkit-details-marker { display:none; }.menu__panel { position:fixed; inset:72px 0 0 0; overflow-y:auto; padding:1rem var(--gutter) 7rem; background:var(--ink); border-top:1px solid rgba(199, 205, 214, .14); }.menu__k { margin-top:1.25rem; color:var(--gold); font-size:.8125rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.menu__panel ul { list-style:none; margin:.4rem 0 0; padding:0; }.menu__panel li a { display:flex; align-items:center; min-height:48px; border-bottom:1px solid rgba(199, 205, 214, .12); text-decoration:none; font-size:1.05rem; }.menu__panel .btn { width:100%; margin-top:1.5rem; }@media (min-width:1001px) {.site-header { position:sticky; top:0; }.site-header.is-scrolled { box-shadow:0 10px 30px rgba(0, 9, 20, .28); }.site-header.is-scrolled .site-header__in { min-height:66px; }.site-header .brand img { transition:width .3s var(--ease); }.site-header.is-scrolled .brand img { width:70px; }.site-header__in { transition:min-height .3s var(--ease); }}@media (max-width:1180px) { .nav { gap:1.1rem; } .nav > a, .nav__drop > summary { font-size:.9rem; } .header-phone { display:none; } }@media (max-width:1000px) {.nav, .header-phone, .header-book { display:none; }.menu { display:block; margin-left:auto; }.site-header__in { min-height:72px; }.brand img { width:72px; }}.crumbs { padding:1rem 0 0; }.crumbs ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.25rem .6rem; font-size:.875rem; color:var(--muted); }.crumbs li + li::before { content:"/"; margin-right:.6rem; color:var(--rule); }.crumbs a { color:var(--muted); }.crumbs + .phero, .crumbs + .book { margin-top:1rem; }.hero { position:relative; padding:clamp(2.5rem, 5vw, 4.5rem) 0 0; background:radial-gradient(1200px 600px at 78% 30%, rgba(37, 99, 196, .22), transparent 60%),radial-gradient(900px 500px at 10% 100%, rgba(13, 43, 77, .9), transparent 70%), var(--ink); }.hero__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(1.5rem, 4vw, 3.5rem); align-items:center; }.hero__h1 { font:600 clamp(1rem, 1.3vw, 1.125rem)/1.35 var(--sans); color:var(--gold); max-width:34ch; }.hero__display { margin-top:.9rem; font:400 clamp(2.9rem, 5.4vw, 5.25rem)/.98 var(--serif); letter-spacing:-.01em; color:#fff; text-wrap:balance; }.hero__lede { margin-top:1.4rem; max-width:40ch; font-size:1.15rem; color:var(--on-dark); }.hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }.hero__offer { margin-top:1.6rem; padding-top:1rem; border-top:1px solid rgba(199, 205, 214, .18); color:var(--blue-l); font-size:.9688rem; max-width:40ch; }.house { margin:0; }.house__stage { position:relative; }.house__svg { width:100%; overflow:visible; }.ln path, .ln circle { fill:none; stroke:var(--silver); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }.ln--faint path { stroke:rgba(199, 205, 214, .45); }.ln--gold path { stroke:var(--blue-l); }.grp { transition:opacity .35s var(--ease), filter .35s var(--ease); }.grp path { transition:stroke .35s var(--ease), stroke-width .35s var(--ease); }.leader { fill:none; stroke:var(--gold); stroke-width:1; stroke-dasharray:3 4; opacity:.55; transition:opacity .3s; }.dot { fill:var(--ink); stroke:var(--gold); stroke-width:1.5; transition:fill .3s; }.beam { opacity:0; }.house[data-active] .grp { opacity:.32; }.house[data-active="roof"] .grp--roof, .house[data-active="attic"] .grp--attic, .house[data-active="hvac"] .grp--hvac,.house[data-active="elec"] .grp--elec, .house[data-active="plumb"] .grp--plumb, .house[data-active="structure"] .grp--structure { opacity:1; filter:drop-shadow(0 0 6px rgba(250, 200, 111, .5)); }.house[data-active="roof"] .grp--roof path, .house[data-active="attic"] .grp--attic path, .house[data-active="structure"] .grp--structure path,.house[data-active="hvac"] .grp--hvac path, .house[data-active="elec"] .grp--elec path, .house[data-active="plumb"] .grp--plumb path { stroke:var(--gold); stroke-width:2.2; }.house[data-active] .leader { opacity:.15; }.house[data-active="roof"] [data-sys="roof"].leader, .house[data-active="attic"] [data-sys="attic"].leader, .house[data-active="hvac"] [data-sys="hvac"].leader,.house[data-active="elec"] [data-sys="elec"].leader, .house[data-active="plumb"] [data-sys="plumb"].leader, .house[data-active="structure"] [data-sys="structure"].leader { opacity:1; stroke-dasharray:none; }.house[data-active="roof"] [data-sys="roof"].dot, .house[data-active="attic"] [data-sys="attic"].dot, .house[data-active="hvac"] [data-sys="hvac"].dot,.house[data-active="elec"] [data-sys="elec"].dot, .house[data-active="plumb"] [data-sys="plumb"].dot, .house[data-active="structure"] [data-sys="structure"].dot { fill:var(--gold); }.tags { list-style:none; margin:0; padding:0; }.tags li { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%, -50%); }.tag { appearance:none; border:1px solid rgba(141, 184, 234, .55); background:rgba(0, 17, 36, .88); color:var(--on-dark); border-radius:999px; padding:.38rem .8rem; min-height:32px; font:600 .8438rem/1.2 var(--sans); white-space:nowrap; cursor:pointer; transition:background-color .25s, color .25s, border-color .25s; }.tag:hover, .tag[aria-pressed="true"] { background:var(--gold); color:var(--ink); border-color:var(--gold); }.readout { display:flex; flex-wrap:wrap; gap:.25rem .75rem; align-items:baseline; margin-top:1.25rem; min-height:3.2em; padding:.8rem 1rem; border-left:2px solid var(--gold); background:rgba(6, 26, 51, .8); color:var(--on-dark); font-size:.9688rem; }.readout__k { color:var(--gold); font-weight:700; }.js .house.is-drawing .ln path { stroke-dasharray:1; stroke-dashoffset:1; animation:draw 1.5s var(--ease) forwards; animation-delay:var(--d, 0s); }.js .house.is-drawing .beam { animation:beam 2.3s cubic-bezier(.45, 0, .2, 1) 1.9s 1 forwards; }.js .house.is-drawing .leader, .js .house.is-drawing .dot, .js .house.is-drawing .tag { opacity:0; animation:pop .5s var(--ease) forwards; }.js .house.is-drawing [data-sys="roof"], .js .house.is-drawing .tags li:nth-child(1) .tag { animation-delay:2.2s; }.js .house.is-drawing [data-sys="attic"], .js .house.is-drawing .tags li:nth-child(2) .tag { animation-delay:2.5s; }.js .house.is-drawing [data-sys="elec"], .js .house.is-drawing .tags li:nth-child(4) .tag { animation-delay:2.9s; }.js .house.is-drawing [data-sys="hvac"], .js .house.is-drawing .tags li:nth-child(3) .tag { animation-delay:3.1s; }.js .house.is-drawing [data-sys="plumb"], .js .house.is-drawing .tags li:nth-child(5) .tag { animation-delay:3.4s; }.js .house.is-drawing [data-sys="structure"], .js .house.is-drawing .tags li:nth-child(6) .tag { animation-delay:3.7s; }.js .house.is-drawing .leader { animation-name:fade; }@keyframes draw { to { stroke-dashoffset:0; } }@keyframes beam { 0% { opacity:1; transform:translateY(0); } 92% { opacity:1; } 100% { opacity:0; transform:translateY(560px); } }@keyframes pop { from { opacity:0; transform:scale(.85); } to { opacity:1; transform:none; } }@keyframes fade { from { opacity:0; } to { opacity:.55; } }.creds { list-style:none; margin:clamp(2.5rem, 5vw, 4rem) auto 0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); border-top:1px solid rgba(199, 205, 214, .18); }.creds li { padding:1.4rem 1.25rem 1.6rem 0; display:grid; gap:.2rem; align-content:start; }.creds li + li { padding-left:1.25rem; border-left:1px solid rgba(199, 205, 214, .18); }.creds strong { font:400 1.6rem/1.1 var(--serif); color:#fff; }.creds span { color:var(--on-dark-muted); font-size:.9375rem; line-height:1.4; }.phero { position:relative; padding:clamp(2.5rem, 5vw, 4.25rem) 0; background:radial-gradient(900px 500px at 85% 20%, rgba(37, 99, 196, .2), transparent 60%),radial-gradient(700px 400px at 0% 100%, rgba(13, 43, 77, .9), transparent 70%), var(--ink); }.phero__grid { display:grid; grid-template-columns:minmax(0, 6fr) minmax(0, 6fr); gap:clamp(1.5rem, 4vw, 3.5rem); align-items:center; }.phero__k { color:var(--gold); font-weight:700; font-size:.9375rem; margin-bottom:.8rem; }.phero h1 { font:400 clamp(2.4rem, 4.4vw, 4rem)/1.02 var(--serif); color:#fff; letter-spacing:-.005em; }.phero__lede { margin-top:1.2rem; max-width:46ch; font-size:1.15rem; color:var(--on-dark); }.phero__img { position:relative; overflow:hidden; border-radius:10px; aspect-ratio:4 / 3; background:var(--ink-3); box-shadow:0 30px 60px rgba(0, 0, 0, .35); }.phero__img img { width:100%; height:100%; object-fit:cover; }.phero--plain h1 { max-width:20ch; }.drawn { width:100%; }.js .scope-cam { animation:scope 2.4s linear infinite; }@keyframes scope { to { stroke-dashoffset:-44; } }section { padding:clamp(4rem, 8vw, 7rem) 0; }.hero { padding-bottom:0; }.sec-head { max-width:46rem; margin-bottom:clamp(2rem, 4vw, 3rem); }.sec-head p { margin-top:1rem; color:var(--muted); font-size:1.125rem; max-width:56ch; }.sec-head p a { color:var(--blue-d); font-weight:700; }.on-dark .sec-head p { color:var(--on-dark-muted); }.on-dark .sec-head p a { color:var(--blue-l); }.sec-head--split { max-width:none; display:grid; grid-template-columns:1.1fr 1fr; gap:2rem 4rem; align-items:end; }.sec-head--split p { margin-top:0; }.stock { position:absolute; left:.6rem; bottom:.6rem; padding:.2rem .5rem; border-radius:4px; background:rgba(0, 17, 36, .78); color:#fff; font-size:.75rem; line-height:1.3; }.situations { background:var(--paper); }.tabs__list { position:relative; display:flex; gap:.25rem; flex-wrap:wrap; border-bottom:1px solid var(--rule); }.tabs__list [role="tab"] { appearance:none; background:none; border:0; padding:.9rem 1.1rem 1rem; min-height:48px; font:700 1rem/1.2 var(--sans); color:var(--muted); cursor:pointer; transition:color .2s; }.tabs__list [role="tab"]:hover { color:var(--text); }.tabs__list [role="tab"][aria-selected="true"] { color:var(--ink); }.tabs__ink { position:absolute; left:0; bottom:-1px; height:3px; width:var(--w, 0); transform:translateX(var(--l, 0)); background:var(--blue); transition:transform .45s var(--ease), width .45s var(--ease); }.tabs__panel { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr); gap:clamp(1.5rem, 4vw, 3.5rem); align-items:center; padding-top:clamp(1.75rem, 3vw, 2.5rem); }.js .tabs__panel[hidden] { display:none; }.js .tabs__panel.is-in .panel__img img { animation:settle .8s var(--ease); }.js .tabs__panel.is-in .panel__body > * { animation:rise .6s var(--ease) both; }.js .tabs__panel.is-in .panel__body > :nth-child(2) { animation-delay:.06s; }.js .tabs__panel.is-in .panel__body > :nth-child(3) { animation-delay:.12s; }.js .tabs__panel.is-in .panel__body > :nth-child(4) { animation-delay:.18s; }@keyframes settle { from { transform:scale(1.05); opacity:.4; } to { transform:none; opacity:1; } }@keyframes rise { from { transform:translateY(12px); opacity:0; } to { transform:none; opacity:1; } }html:not(.js) .tabs__panel + .tabs__panel { margin-top:3rem; }.panel__img, .pic { position:relative; overflow:hidden; border-radius:8px; aspect-ratio:4 / 3; background:var(--rule); }.panel__img img, .pic img { width:100%; height:100%; object-fit:cover; }.panel__body h3 { font-size:clamp(1.8rem, 2.6vw, 2.4rem); line-height:1.08; }.panel__body > p { margin-top:1rem; color:var(--muted); max-width:54ch; }.panel__body .fits { margin-top:1.6rem; color:var(--text); font-weight:700; font-size:.9375rem; }.chips { list-style:none; padding:0; margin:.7rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem; }.chip { display:inline-flex; align-items:center; min-height:44px; padding:.55rem 1rem; border:1.5px solid var(--ink); border-radius:999px; text-decoration:none; font-weight:600; font-size:.9375rem; color:var(--ink); transition:background-color .2s, color .2s; }.chip:hover { background:var(--ink); color:#fff; }.thermal { background:linear-gradient(180deg, var(--ink) 0%, #071A3A 100%); }.thermal__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(2rem, 5vw, 4rem); align-items:center; }.thermal h2 { color:#fff; }.thermal__copy > p { margin-top:1.25rem; color:var(--on-dark-muted); max-width:46ch; }.thermal__keys { margin:1.75rem 0 2rem; display:grid; gap:.9rem; }.thermal__keys div { display:grid; grid-template-columns:9.5rem 1fr; gap:1rem; align-items:baseline; padding-bottom:.9rem; border-bottom:1px solid rgba(199, 205, 214, .14); }.thermal__keys dt { display:flex; align-items:center; gap:.6rem; font-weight:700; color:#fff; }.thermal__keys dd { margin:0; color:var(--on-dark-muted); }.sw { width:14px; height:14px; border-radius:50%; flex:none; }.sw--cool { background:radial-gradient(circle, #2FD3F5, #2A61C9); }.sw--violet { background:radial-gradient(circle, #6A3BC9, #3B1E86); }.sw--hot { background:radial-gradient(circle, #FFFBE0, #FFD23F 40%, #FF9A1A); }.lens { margin:0; }.lens__stage { position:relative; border-radius:8px; overflow:hidden; aspect-ratio:640 / 420; cursor:crosshair; touch-action:manipulation; box-shadow:0 30px 60px rgba(0, 0, 0, .35), 0 0 0 1px rgba(199, 205, 214, .14); --x:22%; --y:22%; --r:19%; }.lens__plain, .lens__ir, .lens__ir svg { position:absolute; inset:0; width:100%; height:100%; }.lens__ir { clip-path:circle(var(--r) at var(--x) var(--y)); transition:clip-path .5s var(--ease); }.lens__stage.is-tracking .lens__ir { transition:none; }.lens__stage.is-full .lens__ir { clip-path:circle(150% at 50% 50%); transition:clip-path .9s var(--ease); }.lens__ring { position:absolute; left:var(--x); top:var(--y); width:calc(var(--r) * 1.6916); aspect-ratio:1; transform:translate(-50%, -50%); border:2px solid var(--gold); border-radius:50%; pointer-events:none; box-shadow:0 0 0 1px rgba(0, 17, 36, .6), inset 0 0 30px rgba(0, 0, 0, .25); }.lens__stage:not(.is-tracking) .lens__ring { transition:left .5s var(--ease), top .5s var(--ease); }.lens__ring span { position:absolute; top:-.2rem; left:50%; transform:translate(-50%, -100%); padding:.1rem .45rem; border-radius:999px; background:var(--gold); color:var(--ink); font-size:.6875rem; font-weight:800; letter-spacing:.04em; }.lens__stage.is-full .lens__ring { opacity:0; }.lens__cap { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; align-items:center; justify-content:space-between; margin-top:1rem; color:var(--on-dark-muted); font-size:.9375rem; }.services { background:var(--white); }.feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(1rem, 2.5vw, 2rem); }.feature { display:flex; flex-direction:column; gap:.75rem; }.feature__img { position:relative; overflow:hidden; border-radius:8px; aspect-ratio:3 / 2; background:var(--rule); margin-bottom:.5rem; }.feature__img img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }.feature:hover .feature__img img { transform:scale(1.04); }.feature p { color:var(--muted); }.more { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; padding-top:.5rem; font-weight:700; color:var(--ink); text-decoration-color:var(--blue); text-decoration-thickness:2px; text-underline-offset:5px; }.more:hover { text-decoration-color:var(--ink); }.more--light { color:var(--blue-l); text-decoration-color:var(--blue-l); }.index { list-style:none; margin:clamp(3rem, 5vw, 4rem) 0 0; padding:0; border-top:2px solid var(--ink); }.index li { display:grid; grid-template-columns:minmax(0, 18rem) minmax(0, 1fr) auto; gap:1rem 2.5rem; align-items:baseline; padding:1.35rem 0; border-bottom:1px solid var(--rule); }.index h3 { font-size:1.5rem; }.index p { color:var(--muted); max-width:60ch; }.index__go { display:inline-flex; align-items:center; min-height:44px; font-weight:700; color:var(--ink); text-decoration:none; padding:.45rem 1rem; border:1.5px solid var(--rule); border-radius:999px; transition:border-color .2s, background-color .2s; }.index__go:hover { border-color:var(--blue); background:var(--paper); }.results { background:var(--paper); }.ba-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(1.25rem, 3vw, 2.5rem); }.ba { padding:1.25rem; border-radius:10px; background:var(--white); box-shadow:0 1px 0 var(--rule), 0 18px 40px rgba(0, 17, 36, .06); }.ba h3 { font-size:1.45rem; margin-bottom:.9rem; }.ba__pair { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }.ba figure { position:relative; margin:0; }.ba img { width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:6px; }.ba figcaption { margin-top:.5rem; color:var(--muted); font-size:.875rem; line-height:1.45; }.ba__k { position:absolute; left:.5rem; top:.5rem; z-index:1; padding:.15rem .55rem; border-radius:999px; font-size:.75rem; font-weight:700; }.ba__k--found { background:var(--ink); color:#fff; }.ba__k--fixed { background:var(--blue); color:#fff; }.build { background:linear-gradient(180deg, var(--ink), #061C3A); }.build h2 { color:#fff; }.stages { list-style:none; margin:0 0 2.5rem; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(1rem, 3vw, 2.25rem); position:relative; counter-reset:stage; }.stages::before { content:""; position:absolute; left:0; right:0; top:calc(14.5rem - 1px); height:2px; background:var(--blue-l); transform-origin:left; transform:scaleX(var(--p, 1)); }.stages--text::before { top:.95rem; }.stages--text .stage__when { margin-top:0; }.js .stages:not(.is-in) { --p:0; }.js .stages::before { transition:transform 1.6s var(--ease); }.stage { position:relative; counter-increment:stage; }.stage__img { position:relative; overflow:hidden; border-radius:8px; height:13rem; background:var(--ink-2); }.stage__img img { width:100%; height:100%; object-fit:cover; }.stage__when { position:relative; margin-top:1.4rem; padding-top:1.5rem; color:var(--gold); font-weight:700; font-size:.9375rem; }.stage__when::before { content:counter(stage); position:absolute; top:-.85rem; left:0; width:1.9rem; height:1.9rem; display:grid; place-items:center; border-radius:50%; background:var(--ink); border:2px solid var(--blue-l); color:#fff; font-size:.875rem; }.js .stages:not(.is-in) .stage__when::before { transform:scale(.4); opacity:0; }.js .stage__when::before { transition:transform .5s var(--ease), opacity .5s; }.js .stages.is-in .stage:nth-child(1) .stage__when::before { transition-delay:.1s; }.js .stages.is-in .stage:nth-child(2) .stage__when::before { transition-delay:.7s; }.js .stages.is-in .stage:nth-child(3) .stage__when::before { transition-delay:1.3s; }.stage h3 { margin-top:.35rem; color:#fff; }.stage > p:not(.stage__when) { margin-top:.6rem; color:var(--on-dark-muted); }.about { background:var(--paper); }.about__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:start; }.portrait-slot { position:sticky; top:7rem; aspect-ratio:4 / 5; display:grid; align-content:end; gap:.4rem; padding:1.75rem; border-radius:10px; border:1.5px dashed rgba(29, 79, 160, .5); background:linear-gradient(180deg, rgba(37, 99, 196, .10), rgba(37, 99, 196, .02)), var(--white); }.portrait-slot--dark { position:relative; top:0; background:linear-gradient(180deg, rgba(141, 184, 234, .12), rgba(141, 184, 234, .03)); border-color:rgba(141, 184, 234, .45); max-width:420px; justify-self:end; width:100%; }.portrait-slot__k { font:400 1.8rem/1.1 var(--serif); color:var(--ink); }.portrait-slot--dark .portrait-slot__k { color:#fff; }.portrait-slot__note { color:var(--muted); font-size:.9375rem; }.portrait-slot--dark .portrait-slot__note { color:var(--on-dark-muted); }.portrait-alt { display:grid; place-items:center; aspect-ratio:4 / 5; padding:2rem; border-radius:10px; background:radial-gradient(circle at 50% 40%, var(--ink-3), var(--ink)); }.portrait-alt img { width:70%; }.portrait-photo { position:sticky; top:7rem; aspect-ratio:4 / 5; overflow:hidden; border-radius:10px; background:var(--ink); box-shadow:0 18px 40px rgba(0, 17, 36, .14); }.portrait-photo img { width:100%; height:100%; object-fit:cover; object-position:59% 50%; }.portrait-photo--dark { position:relative; top:0; max-width:420px; width:100%; justify-self:end; box-shadow:0 0 0 1px rgba(141, 184, 234, .25), 0 24px 60px rgba(0, 0, 0, .35); }.about__name { margin-top:1.5rem; font:400 2rem/1.1 var(--serif); }.about__role { margin-top:.3rem; color:var(--blue-d); font-weight:700; }.about__copy > p:not([class]) { margin-top:1.25rem; color:var(--muted); max-width:60ch; }.goal { margin:2rem 0 1rem; padding:1.5rem 0 0; border-top:2px solid var(--ink); }.goal p { font:400 clamp(1.45rem, 2.2vw, 1.85rem)/1.3 var(--serif); color:var(--ink); }.goal footer { margin-top:.9rem; color:var(--muted); font-size:.9375rem; }.process { background:var(--white); }.process__grid { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:start; }.steps { list-style:none; margin:2.25rem 0 0; padding:0; counter-reset:step; }.steps li { counter-increment:step; display:grid; grid-template-columns:3.5rem 1fr; column-gap:1rem; padding:1.25rem 0; border-top:1px solid var(--rule); }.steps li::before { content:counter(step); grid-row:span 2; font:400 2.4rem/1 var(--serif); color:var(--blue); }.steps h3 { font-size:1.45rem; }.steps p { margin-top:.3rem; color:var(--muted); max-width:54ch; }.process--compact .steps { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:1.25rem; margin-top:0; }.process--compact .steps li { grid-template-columns:1fr; padding-top:1rem; border-top:2px solid var(--ink); }.process--compact .steps li::before { grid-row:auto; font-size:2rem; margin-bottom:.4rem; }.process--compact .steps h3 { font-size:1.3rem; }.process__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }.report { display:grid; gap:1.5rem; }.dial { position:relative; display:grid; grid-template-columns:140px 1fr; gap:1.25rem; align-items:center; padding:1.5rem; border-radius:10px; background:var(--paper); }.dial__arc { stroke-dasharray:1; stroke-dashoffset:0; }.js .dial:not(.is-in) .dial__arc { stroke-dashoffset:1; }.js .dial__arc { transition:stroke-dashoffset 2s var(--ease) .2s; }.dial__ring { position:relative; }.dial__num { position:absolute; inset:0; display:grid; place-items:center; font:400 3.4rem/1 var(--serif); color:var(--ink); }.dial__text { color:var(--muted); }.dial__text strong { display:block; font:400 1.6rem/1.15 var(--serif); color:var(--ink); }.slot { position:relative; padding:1.5rem; border-radius:10px; border:1.5px dashed rgba(29, 79, 160, .5); background:linear-gradient(180deg, rgba(37, 99, 196, .07), transparent), var(--white); }.slot__k { font:400 1.6rem/1.1 var(--serif); color:var(--ink); margin-bottom:.4rem; }.slot p:not(.slot__k) { color:var(--muted); font-size:.9688rem; }.slot__h { margin-bottom:.6rem; }.slot__lines { display:grid; gap:.55rem; margin-top:1.25rem; }.slot__lines i { display:block; height:8px; border-radius:4px; background:var(--rule); }.slot__lines i:nth-child(2) { width:82%; } .slot__lines i:nth-child(3) { width:91%; } .slot__lines i:nth-child(4) { width:64%; }.slot__cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; margin-top:1.25rem; }.slot__cards i { display:block; height:8rem; border-radius:8px; background:linear-gradient(var(--rule), var(--rule)) 1.1rem 1.4rem / 40% 8px no-repeat, linear-gradient(var(--rule), var(--rule)) 1.1rem 2.7rem / 72% 8px no-repeat, linear-gradient(var(--rule), var(--rule)) 1.1rem 4rem / 60% 8px no-repeat, var(--paper); }.reviews { background:var(--paper); }.area-sec { background:linear-gradient(180deg, #061C3A, var(--ink)); }.area-sec h2 { color:#fff; }.area { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 4fr); gap:clamp(1.5rem, 4vw, 3.5rem); align-items:center; }.area__map { margin:0; width:100%; max-width:600px; justify-self:center; }.area__map svg { width:100%; height:auto; }.area__tx { fill:#0A2547; stroke:rgba(141, 184, 234, .55); stroke-width:1.2; }.area__k { fill:rgba(169, 180, 198, .7); font:600 9px/1 var(--sans); letter-spacing:.18em; }.area__k--gulf { fill:rgba(141, 184, 234, .55); }.pin { cursor:pointer; }.pin__halo { fill:rgba(141, 184, 234, .18); transform-box:fill-box; transform-origin:center; transition:transform .3s var(--ease), fill .3s; }.pin__dot { fill:var(--blue-l); stroke:var(--ink); stroke-width:1.4; }.pin__dot--home { fill:var(--gold); }.pin__label { fill:#fff; font:600 11px/1 var(--sans); paint-order:stroke; stroke:var(--ink); stroke-width:3px; stroke-linejoin:round; }.pin__sub { fill:var(--gold); font:600 8.5px/1 var(--sans); letter-spacing:.06em; paint-order:stroke; stroke:var(--ink); stroke-width:3px; }.pin.is-on .pin__halo { transform:scale(1.9); fill:rgba(250, 200, 111, .3); }.area__cap { margin-top:.5rem; color:var(--on-dark-muted); font-size:.75rem; }.area-list { list-style:none; margin:0; padding:0; border-top:1px solid rgba(199, 205, 214, .2); }.area-list li { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .7rem; min-height:56px; padding:.6rem .25rem; border-bottom:1px solid rgba(199, 205, 214, .14); font:400 1.45rem/1.2 var(--serif); color:#fff; transition:background-color .25s; }.area-list li.is-on { background:rgba(141, 184, 234, .08); }.area-list li a { color:#fff; text-decoration-color:var(--blue-l); text-underline-offset:4px; }.area-list small { flex-basis:100%; padding-left:1.4rem; font:400 .875rem/1.3 var(--sans); color:var(--on-dark-muted); }.area-list__dot { width:10px; height:10px; border-radius:50%; background:var(--blue-l); flex:none; }.area-list__dot--home { background:var(--gold); }.area__more { margin-top:1.5rem; color:var(--on-dark-muted); max-width:60ch; }.thanks { background:linear-gradient(120deg, var(--blue-d), #0E3A7A 70%); padding:clamp(3rem, 6vw, 4.5rem) 0; }.thanks__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:1.5rem 3rem; align-items:center; }.thanks h2 { font-size:clamp(2rem, 3.2vw, 2.9rem); color:#fff; }.thanks__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }.thanks__list li { display:grid; justify-items:start; gap:.6rem; padding-top:1rem; border-top:2px solid rgba(255, 255, 255, .5); font-weight:700; color:#fff; }.thanks__list svg { width:32px; height:32px; fill:none; stroke:var(--gold); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.thanks__note { grid-column:2; font-size:.9688rem; color:var(--on-dark); }.faq { background:var(--white); }.faq__grid { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 8fr); gap:2rem 4rem; }.faq .sec-head p a { color:var(--ink); font-weight:700; }.faq__list { border-top:2px solid var(--ink); }.faq details { border-bottom:1px solid var(--rule); }.faq summary { list-style:none; display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; min-height:48px; cursor:pointer; font:400 1.45rem/1.25 var(--serif); }.faq summary::-webkit-details-marker { display:none; }.faq summary::after { content:""; flex:none; width:14px; height:14px; margin-top:.45rem; background:linear-gradient(var(--blue), var(--blue)) center / 14px 2px no-repeat, linear-gradient(var(--blue), var(--blue)) center / 2px 14px no-repeat; transition:transform .3s var(--ease); }.faq details[open] summary::after { transform:rotate(45deg); }.faq details p { padding:0 0 1.3rem; color:var(--muted); max-width:62ch; }.svc { background:var(--white); }.svc__grid { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 4fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:start; }.svc__copy h2 { font-size:clamp(2rem, 3.2vw, 2.9rem); margin-bottom:1.25rem; }.svc__copy > p { margin-top:1rem; color:var(--muted); max-width:62ch; font-size:1.125rem; }.svc__copy h3 { margin-top:2.25rem; }.ticks { list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.65rem; }.ticks li { position:relative; padding-left:1.8rem; color:var(--text); }.ticks li::before { content:""; position:absolute; left:0; top:.45rem; width:12px; height:7px; border-left:2px solid var(--blue); border-bottom:2px solid var(--blue); transform:rotate(-45deg); }.checks { position:sticky; top:7rem; padding:1.75rem; border-radius:12px; background:var(--ink); color:var(--on-dark); --focus:var(--gold); }.checks h2 { font-size:1.9rem; color:#fff; }.checks ul { list-style:none; margin:1.1rem 0 1.5rem; padding:0; border-top:1px solid rgba(199, 205, 214, .2); }.checks li { display:flex; align-items:center; gap:.7rem; min-height:44px; padding:.5rem 0; border-bottom:1px solid rgba(199, 205, 214, .14); }.checks li::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--gold); flex:none; }.related { background:var(--paper); }.related h2 { font-size:clamp(1.9rem, 3vw, 2.6rem); }.related .index { margin-top:1.5rem; }.town__sec { background:var(--white); padding:clamp(3rem, 6vw, 5rem) 0; }.town__sec--alt { background:var(--paper); }.town__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:1.5rem clamp(2rem, 5vw, 4.5rem); align-items:start; }.town__grid h2 { font-size:clamp(2rem, 3.2vw, 2.8rem); }.town__copy p { color:var(--muted); font-size:1.125rem; max-width:62ch; }.town__copy p + p { margin-top:1rem; }.town__links { display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; }.area--compact { grid-template-columns:1fr; }.area--compact .area-list { display:none; }.area--compact .area__map { max-width:440px; }.sources { background:var(--white); padding:clamp(2.5rem, 5vw, 3.5rem) 0; }.sources h2 { font-size:1.6rem; }.sources ul { margin:.9rem 0 0; padding-left:1.2rem; display:grid; gap:.4rem; color:var(--muted); font-size:.9375rem; }.sources a { color:var(--blue-d); }.trec { flex-basis:100%; }.trec a { color:var(--on-dark); font-size:.9375rem; text-underline-offset:3px; }.trec a:hover { color:var(--gold); }@media (max-width:1000px) { .town__grid { grid-template-columns:1fr; } }.cta { background:radial-gradient(900px 500px at 85% 0%, rgba(37, 99, 196, .28), transparent 60%), var(--ink); padding:clamp(3.5rem, 7vw, 5.5rem) 0; }.cta__grid { display:grid; grid-template-columns:minmax(0, 6fr) minmax(0, 6fr); gap:1.5rem 3rem; align-items:center; }.cta h2 { color:#fff; font-size:clamp(2.1rem, 3.6vw, 3.2rem); }.cta p { margin-top:1rem; color:var(--on-dark-muted); max-width:48ch; }.cta__actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; }.book { background:radial-gradient(900px 500px at 85% 0%, rgba(37, 99, 196, .22), transparent 60%), var(--ink); }.book__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(2rem, 5vw, 4.5rem); }.book h1 { color:#fff; font:400 clamp(2.6rem, 4.6vw, 4.2rem)/1.02 var(--serif); }.book__copy > p:first-of-type { margin-top:1rem; color:var(--on-dark-muted); max-width:42ch; font-size:1.125rem; }.book__phone { display:inline-block; margin-top:2rem; font:400 clamp(2rem, 3.4vw, 2.8rem)/1 var(--serif); color:var(--gold); text-decoration:none; }.book__phone:hover { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }.book__meta { margin-top:.8rem; color:var(--on-dark); }.book__meta a { color:var(--on-dark); }.book__area { margin-top:2rem; padding-top:1rem; border-top:1px solid rgba(199, 205, 214, .18); color:var(--on-dark-muted); max-width:40ch; }.book__sched { margin-top:1rem; }.form { display:grid; gap:1rem; align-content:start; padding:clamp(1.25rem, 3vw, 2rem); border-radius:12px; background:var(--ink-2); border:1px solid rgba(199, 205, 214, .14); }.form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.field { display:grid; gap:.4rem; }.field label { font-weight:700; font-size:.9375rem; color:var(--on-dark); }.opt { font-weight:400; color:var(--on-dark-muted); }.field input, .field select, .field textarea { width:100%; min-height:48px; padding:.7rem .85rem; border-radius:6px; border:1.5px solid #3A5578; background:var(--ink); color:#fff; font:400 1rem/1.4 var(--sans); }.field select { appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--blue-l) 50%), linear-gradient(135deg, var(--blue-l) 50%, transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; padding-right:2.5rem; }.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { border-color:var(--gold); }.form .btn { justify-self:start; }.form__note { color:var(--on-dark-muted); font-size:.875rem; }.form__done { padding:.8rem 1rem; border-left:2px solid var(--blue-l); background:rgba(141, 184, 234, .1); }.form--call { align-content:center; justify-items:start; gap:.6rem; }.form__k { font:400 1.6rem/1.2 var(--serif); color:#fff; }.form__phone { font:400 2.4rem/1 var(--serif); color:var(--gold); text-decoration:none; }.form--call a { color:var(--on-dark); }.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }.site-footer { padding:clamp(3rem, 6vw, 4.5rem) 0 calc(2rem + env(safe-area-inset-bottom)); border-top:1px solid rgba(199, 205, 214, .12); }.site-footer__grid { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:2rem; }.site-footer__brand img { width:128px; }.site-footer__brand p { margin-top:1rem; color:var(--on-dark-muted); max-width:30ch; font-size:.9375rem; }.site-footer__k { color:var(--gold); font-size:.8125rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.6rem; }.site-footer__nav ul { list-style:none; margin:0; padding:0; display:grid; }.site-footer__nav a, .site-footer__contact a { display:inline-flex; align-items:center; min-height:34px; color:var(--on-dark); text-decoration:none; font-size:.9375rem; }.site-footer__nav a:hover, .site-footer__contact a:hover { color:var(--gold); }.site-footer__contact { display:grid; align-content:start; }.site-footer__phone { font:400 1.6rem/1.2 var(--serif) !important; }.site-footer__contact p:not(.site-footer__k) { color:var(--on-dark-muted); font-size:.9375rem; margin-top:.3rem; }.site-footer__base { display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; justify-content:space-between; margin-top:3rem; padding-top:1.5rem; border-top:1px solid rgba(199, 205, 214, .12); }.site-footer__base > p { color:var(--on-dark-muted); font-size:.8125rem; max-width:60ch; }.agency-credit__link { display:inline-flex; align-items:center; gap:.85rem; padding:.7rem 1rem .7rem .8rem; border:1px solid rgba(141, 184, 234, .35); border-radius:4px; color:var(--on-dark); text-decoration:none; background:linear-gradient(90deg, rgba(141, 184, 234, .08), transparent 70%); transition:border-color .25s; }.agency-credit__link:hover { border-color:var(--blue-l); }.agency-credit__mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; border:1px solid rgba(250, 200, 111, .6); color:var(--gold); }.agency-credit__text { display:grid; line-height:1.3; }.agency-credit__maker { font:400 1.05rem/1.2 var(--serif); color:#fff; }.agency-credit__engine { font-size:.75rem; letter-spacing:.02em; color:var(--on-dark-muted); }.agency-credit__l1, .agency-credit__l2 { transition:transform .3s var(--ease); }.agency-credit__link:hover .agency-credit__l1 { transform:translate(1px, -1px); }.agency-credit__link:hover .agency-credit__l2 { transform:translate(-1px, 1px); }.callbar { display:none; }@media (max-width:1000px) {.callbar { position:fixed; left:0; right:0; bottom:0; z-index:60; display:grid; grid-template-columns:auto 1fr; gap:.5rem; padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom)); background:rgba(0, 17, 36, .96); color:var(--on-dark); --focus:var(--gold); box-shadow:0 -8px 24px rgba(0, 0, 0, .25); }.callbar .btn--line { --b:rgba(232, 236, 242, .55); }.callbar .btn { white-space:nowrap; padding-inline:.75rem; }@media (max-width:380px) { .callbar .btn { white-space:normal; } }body { padding-bottom:76px; }}.js [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }.js [data-reveal].is-in { opacity:1; transform:none; }.js .index li[data-reveal]:nth-child(2), .js .ba[data-reveal]:nth-child(2) { transition-delay:.06s; }.js .index li[data-reveal]:nth-child(3), .js .ba[data-reveal]:nth-child(3) { transition-delay:.12s; }.js .index li[data-reveal]:nth-child(4), .js .ba[data-reveal]:nth-child(4) { transition-delay:.18s; }.js .feature[data-reveal]:nth-child(2) { transition-delay:.08s; }.js .feature[data-reveal]:nth-child(3) { transition-delay:.16s; }@media (max-width:1000px) {.hero__grid, .thermal__grid, .about__grid, .process__grid, .book__grid, .faq__grid, .thanks__grid, .phero__grid, .svc__grid, .area, .cta__grid { grid-template-columns:1fr; }.sec-head--split { grid-template-columns:1fr; }.portrait-slot { position:relative; top:0; max-width:420px; aspect-ratio:5 / 4; }.portrait-alt { max-width:420px; aspect-ratio:5 / 4; }.portrait-photo { position:relative; top:0; max-width:420px; width:100%; aspect-ratio:1 / 1; justify-self:start; }.portrait-slot--dark { justify-self:start; }.thanks__note { grid-column:auto; }.hero__copy { max-width:40rem; }.checks { position:relative; top:0; }.cta__actions { justify-content:flex-start; }.process--compact .steps { grid-template-columns:1fr 1fr; }}@media (max-width:760px) {.creds { grid-template-columns:1fr 1fr; }.creds li:nth-child(3) { padding-left:0; border-left:0; }.creds li:nth-child(n+3) { border-top:1px solid rgba(199, 205, 214, .18); }.tabs__panel { grid-template-columns:1fr; }.feature-grid, .stages, .ba-list { grid-template-columns:1fr; }.stages::before { display:none; }.index li { grid-template-columns:1fr; gap:.4rem; }.index__go { justify-self:start; margin-top:.4rem; }.thanks__list { grid-template-columns:1fr 1fr 1fr; }.slot__cards { grid-template-columns:1fr; }.slot__cards i:nth-child(n+2) { display:none; }.form__row { grid-template-columns:1fr; }.site-footer__grid { grid-template-columns:1fr 1fr; }.site-footer__brand { grid-column:1 / -1; }.tags { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }.tags li { position:static; transform:none; }.leaders .leader { display:none; }.tag { font-size:.875rem; padding:.5rem .85rem; min-height:44px; }.readout { margin-top:1rem; }.thermal__keys div { grid-template-columns:1fr; gap:.2rem; }.dial { grid-template-columns:110px 1fr; }.dial__num { font-size:2.6rem; }.tabs__list [role="tab"] { padding:.75rem .7rem .85rem; font-size:.9375rem; }.process--compact .steps { grid-template-columns:1fr; }.area-list li { font-size:1.25rem; }}@media (prefers-reduced-motion:reduce) {*, *::before, *::after { animation-duration:.001ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; transition-delay:0s !important; scroll-behavior:auto !important; }.js [data-reveal] { opacity:1; transform:none; }.js .house.is-drawing .beam { animation:none; opacity:0; }.js .scope-cam { animation:none; }}