:root { --navy:#10283b; --navy2:#071a29; --blue:#176a98; --gold:#e5aa38; --cream:#f4f1e9; --ink:#18242d; --muted:#63717a; --line:#dce2e5; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1160px, calc(100% - 40px)); margin:0 auto; }
.utility-bar { background:var(--navy2); color:#dce7ed; font-size:13px; padding-top:env(safe-area-inset-top, 0px); }
.utility-inner { min-height:36px; display:flex; align-items:center; justify-content:space-between; }
.utility-inner a { color:#f3c266; font-weight:700; }
.site-header { background:#fff; border-bottom:1px solid #d8e0e4; position:relative; z-index:1; box-shadow:0 2px 12px rgba(4,23,36,.06); }
.brand-row { min-height:86px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:13px; }
.brand-mark { width:54px; height:54px; border-radius:50%; background:var(--navy); border:4px solid var(--gold); display:grid; place-items:center; color:white; font-size:13px; font-weight:900; letter-spacing:.08em; box-shadow:inset 0 0 0 2px #fff; }
.brand strong { display:block; font-family:Georgia,serif; font-size:25px; color:var(--navy); }
.brand small { display:block; color:#68747c; text-transform:uppercase; letter-spacing:.12em; font-size:10px; margin-top:3px; }
nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:700; color:#2f414d; }
nav a:hover { color:var(--blue); }
.hero { min-height:555px; color:#fff; position:relative; overflow:hidden; background:linear-gradient(112deg, rgba(5,25,39,.98) 5%, rgba(10,50,75,.93) 55%, rgba(17,79,111,.85)), radial-gradient(circle at 80% 30%, #4387a6 0, #12364e 45%, #061925 100%); }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:50px 50px; transform:perspective(700px) rotateX(58deg) scale(1.5); transform-origin:bottom; }
.hero-inner { position:relative; min-height:555px; display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:center; }
.eyebrow,.kicker { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.15em; font-size:12px; }
.eyebrow { color:#f1bd58; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia, "Times New Roman", serif; }
h1 { font-size:clamp(42px,5.2vw,70px); line-height:1.02; margin-bottom:24px; max-width:820px; }
.hero-lead { font-size:19px; line-height:1.7; max-width:690px; color:#d9e6ed; }
.hero-actions { display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border-radius:3px; font-weight:800; font-size:14px; transition:.2s; }
.button:hover { transform:translateY(-2px); }
.primary { background:var(--gold); color:#172633; }
.secondary { border:1px solid rgba(255,255,255,.55); color:#fff; background:rgba(255,255,255,.05); }
.gauge-card { background:rgba(5,22,34,.62); border:1px solid rgba(255,255,255,.2); padding:30px 26px 24px; text-align:center; backdrop-filter:blur(6px); }
.gauge { width:190px; height:95px; overflow:hidden; margin:0 auto 20px; position:relative; border-radius:100px 100px 0 0; background:conic-gradient(from 270deg at 50% 100%,#3b86a8 0 25%,#e5aa38 25% 50%,transparent 50%); }
.gauge:after { content:""; position:absolute; width:140px; height:70px; background:#0b2739; left:25px; bottom:0; border-radius:80px 80px 0 0; }
.needle { position:absolute; height:4px; width:72px; background:#fff; z-index:2; left:50%; bottom:0; transform-origin:left center; transform:rotate(-35deg); }
.hub { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--gold); z-index:3; left:calc(50% - 7px); bottom:-7px; }
.gauge-card strong { font-family:Georgia,serif; font-size:26px; }
.gauge-card p { color:#bfcfd8; margin:9px 0 22px; line-height:1.5; }
.value-row { border-top:1px solid rgba(255,255,255,.15); padding-top:17px; display:flex; justify-content:space-between; color:#f3c266; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.trust-strip { background:var(--cream); border-bottom:1px solid #ddd8cd; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid div { padding:25px 28px; border-right:1px solid #ddd8cd; }
.trust-grid div:first-child { border-left:1px solid #ddd8cd; }
.trust-grid strong,.trust-grid span { display:block; }
.trust-grid strong { color:var(--navy); font-family:Georgia,serif; font-size:19px; }
.trust-grid span { color:#7b7e7a; font-size:11px; margin-top:5px; text-transform:uppercase; letter-spacing:.08em; }
.section { padding:90px 0; }
.section-heading { max-width:760px; margin:0 auto 43px; text-align:center; }
.section-heading h2,.split h2,.library-box h2,.ask-inner h2 { color:var(--navy); font-size:clamp(34px,4vw,50px); line-height:1.12; margin-bottom:16px; }
.section-heading>p:last-child,.library-box p,.about-grid p { color:var(--muted); font-size:17px; line-height:1.7; }
.card-grid { display:grid; gap:20px; }
.four { grid-template-columns:repeat(4,1fr); }
.three { grid-template-columns:repeat(3,1fr); }
.topic-card,.article-card { border:1px solid var(--line); padding:28px; background:#fff; box-shadow:0 9px 28px rgba(14,39,56,.06); }
.topic-icon { width:45px; height:45px; display:grid; place-items:center; background:#e6f1f6; color:var(--blue); font-size:24px; margin-bottom:22px; }
.topic-card h3,.article-card h3 { color:var(--navy); font-family:Georgia,serif; font-size:22px; line-height:1.25; }
.topic-card p,.article-card p { color:var(--muted); line-height:1.65; font-size:14px; }
.topic-card a,.article-card a,.horizontal>a { color:var(--blue); font-weight:800; font-size:13px; }
.safety-note { margin-top:28px; background:#fff8e9; border-left:4px solid var(--gold); padding:17px 20px; color:#625940; font-size:13px; line-height:1.6; }
.dark-section { background:var(--navy); color:#fff; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.dark-section h2,.ask-inner h2 { color:#fff; }
.gold { color:#efb84b; }
.muted { color:#c5d1d8; line-height:1.7; font-size:17px; margin-bottom:30px; }
.checklist { background:#0b2131; padding:18px 32px; border-top:4px solid var(--gold); }
.checklist div { padding:19px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#e0e9ee; }
.checklist div:last-child { border:0; }
.checklist span { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:13px; background:var(--gold); color:var(--navy); border-radius:50%; font-weight:900; }
.horizontal { max-width:none; display:flex; justify-content:space-between; text-align:left; align-items:end; }
.horizontal h2 { margin-bottom:0; }
.article-card>span { color:#a26c0a; background:#fff4dc; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; padding:6px 8px; display:inline-block; margin-bottom:20px; }
.library-section { background:var(--cream); }
.manual-card { display:grid; grid-template-columns:320px 1fr; gap:52px; align-items:center; background:var(--navy); color:#fff; padding:48px; margin-bottom:28px; box-shadow:0 14px 35px rgba(7,28,42,.15); }
.manual-cover { background:#dfe4e6; padding:12px; box-shadow:0 12px 30px rgba(0,0,0,.3); transform:rotate(-1deg); }
.manual-cover img { display:block; width:100%; height:auto; }
.manual-copy h2 { color:#fff; font-size:clamp(34px,4vw,50px); line-height:1.08; margin-bottom:10px; }
.manual-copy>p:not(.kicker):not(.manual-meta) { color:#d2e0e7; font-size:16px; line-height:1.7; max-width:700px; }
.manual-meta { color:#f0bd58; font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:11px; margin-bottom:22px; }
.manual-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:27px; }
.outline-dark { border:1px solid rgba(255,255,255,.55); color:#fff; }
.library-box { display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; background:#fff; padding:45px; border:1px solid #ddd8cd; }
.library-icon { width:80px; height:80px; display:grid; place-items:center; background:var(--navy); color:#fff; font-size:38px; }
.library-box h2 { font-size:35px; margin-bottom:8px; }
.library-box p { margin-bottom:0; font-size:15px; }
.dark { background:var(--navy); color:#fff; white-space:nowrap; }
.about-section { background:#fff; }
.about-grid { grid-template-columns:.65fr 1.35fr; }
.portrait-placeholder { min-height:370px; display:grid; place-items:center; background:linear-gradient(145deg,#173b53,#0a1d2b); border:12px solid var(--cream); box-shadow:0 12px 30px rgba(7,28,42,.15); }
.portrait-placeholder span { width:150px; height:150px; border:3px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:#fff; font-family:Georgia,serif; font-size:54px; }
.ask-section { background:linear-gradient(120deg,#0a1d2b,#174e6e); color:#fff; padding:70px 0; }
.ask-inner { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.ask-inner p:last-child { color:#d2e0e7; line-height:1.7; max-width:740px; }
.light { background:#fff; color:var(--navy); white-space:nowrap; }
footer { background:#061723; color:#b8c6ce; padding:55px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:70px; }
.footer-grid strong { display:block; color:#fff; font-family:Georgia,serif; font-size:20px; margin-bottom:15px; }
.footer-grid a,.footer-grid p { display:block; font-size:13px; line-height:1.7; margin:0 0 8px; }
.footer-grid a:hover { color:var(--gold); }
.copyright { border-top:1px solid #203441; padding-top:22px; margin-top:36px; font-size:12px; color:#728693; }
@media (max-width:900px) { nav { display:none; } .hero-inner,.split { grid-template-columns:1fr; } .hero-inner { padding:70px 0; } .gauge-card { display:none; } .four { grid-template-columns:repeat(2,1fr); } .three { grid-template-columns:1fr; } .trust-grid { grid-template-columns:repeat(2,1fr); } .manual-card { grid-template-columns:240px 1fr; gap:34px; padding:34px; } .library-box { grid-template-columns:auto 1fr; } .library-box .button { grid-column:1/-1; } .about-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .wrap { width:min(100% - 28px,1160px); } .utility-inner span { display:none; } .utility-inner { justify-content:flex-end; } .brand strong { font-size:21px; } .brand-row { min-height:74px; } h1 { font-size:43px; } .hero,.hero-inner { min-height:520px; } .section { padding:65px 0; } .four,.trust-grid,.footer-grid,.ask-inner,.manual-card { grid-template-columns:1fr; } .manual-card { padding:25px; } .manual-cover { max-width:270px; margin:0 auto; } .trust-grid div { border-left:1px solid #ddd8cd; } .horizontal { display:block; } .horizontal>a { display:inline-block; margin-top:18px; } .library-box { grid-template-columns:1fr; padding:30px; } .library-box .button { grid-column:auto; } .ask-inner { gap:24px; } .footer-grid { gap:35px; } }

/* Equipment library */
.library-hero { background:linear-gradient(120deg,#081c2a,#174e6e); color:#fff; padding:72px 0 60px; }
.library-hero h1 { max-width:850px; margin:8px 0 14px; }
.library-hero p { max-width:780px; color:#d5e2e9; font-size:17px; line-height:1.7; }
.library-tools { background:var(--cream); border-bottom:1px solid var(--line); padding:24px 0; position:sticky; top:0; z-index:5; }
.library-tools input { width:100%; border:1px solid #b9c3c9; background:#fff; padding:15px 18px; font:inherit; color:var(--navy); }
.equipment-section { padding:62px 0 0; }
.equipment-section:last-of-type { padding-bottom:80px; }
.equipment-section h2 { color:var(--navy); font-size:34px; margin-bottom:10px; }
.section-intro { color:var(--muted); line-height:1.65; margin:0 0 26px; }
.equipment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.equipment-card { background:#fff; border:1px solid var(--line); box-shadow:0 8px 24px rgba(14,39,56,.06); padding:25px; }
.equipment-card h3 { color:var(--navy); font-family:Georgia,serif; font-size:22px; margin:0 0 7px; }
.model-list { color:var(--blue); font-weight:800; font-size:13px; line-height:1.7; margin-bottom:14px; }
.equipment-card p,.equipment-card li { color:var(--muted); font-size:14px; line-height:1.6; }
.equipment-card ul { padding-left:19px; margin:10px 0 0; }
.status { display:inline-block; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; padding:5px 8px; margin-bottom:13px; }
.status.confirmed { color:#27643a; background:#e8f5ec; }
.status.verify { color:#805b10; background:#fff1ce; }
.code-table { width:100%; border-collapse:collapse; background:#fff; box-shadow:0 8px 24px rgba(14,39,56,.06); }
.code-table th,.code-table td { border:1px solid var(--line); padding:15px; text-align:left; vertical-align:top; line-height:1.5; }
.code-table th { background:var(--navy); color:#fff; font-size:13px; }
.code-table td { color:var(--muted); font-size:13px; }
.code-table td:first-child { color:var(--navy); font-weight:800; white-space:nowrap; }
.field-note { border-left:5px solid var(--gold); background:#fffaf0; padding:20px 22px; margin-top:24px; color:#52616a; line-height:1.65; }
@media (max-width:760px) { .equipment-grid { grid-template-columns:1fr; } .code-table { display:block; overflow-x:auto; } .library-tools { position:static; } }

/* Membership system */
.nav-join { background:var(--gold); color:var(--navy)!important; padding:11px 15px; border-radius:3px; }
.nav-troubleshoot { background:#b53024; color:#fff!important; padding:11px 14px; border-radius:3px; }
.nav-plumbing { background:#167c86; color:#fff!important; padding:11px 14px; border-radius:3px; }
.nav-electrical { background:#7252a3; color:#fff!important; padding:11px 14px; border-radius:3px; }
.mobile-actions { display:none; align-items:center; gap:12px; font-size:14px; font-weight:800; }.mobile-account { background:#fff; padding:11px 20px; justify-content:flex-end; border-bottom:1px solid var(--line); }
.notice { padding:14px 0; font-weight:700; font-size:14px; }
.notice.success { background:#e8f5ec; color:#245f38; }
.notice.error { background:#fff0ee; color:#8b2f28; }
.member-section { padding:68px 0 90px; background:#f7f8f8; min-height:55vh; }
.narrow { max-width:680px; }
.form-card,.account-panel,.price-card,.purchase-history { background:#fff; border:1px solid var(--line); box-shadow:0 10px 30px rgba(14,39,56,.07); padding:36px; }
.form-card h1,.account-heading h1,.legal-copy h1 { color:var(--navy); font-size:clamp(34px,5vw,52px); margin-bottom:16px; }
.form-card>p { color:var(--muted); line-height:1.65; }
.account-form { display:grid; gap:20px; margin-top:26px; }
.account-form label { display:grid; gap:8px; color:var(--navy); font-weight:800; font-size:14px; }
.account-form input:not([type=checkbox]) { width:100%; padding:14px 15px; border:1px solid #aebbc2; font:inherit; border-radius:2px; }
.account-form small { color:var(--muted); font-weight:400; }
.check-row { grid-template-columns:auto 1fr!important; align-items:start; }
.check-row input { margin-top:3px; width:18px; height:18px; }
.account-form a,.form-foot a,.text-link,.legal-copy a { color:var(--blue); text-decoration:underline; }
.form-error,.form-success { padding:14px 16px; margin:12px 0; line-height:1.5; }
.form-error { background:#fff0ee; border-left:4px solid #a83a31; color:#792922; }
.form-success { background:#e8f5ec; border-left:4px solid #2f7c49; color:#245f38; }
.form-foot { margin:20px 0 0; color:var(--muted); }
.membership-hero,.viewer-heading { background:linear-gradient(120deg,#081c2a,#174e6e); color:#fff; padding:62px 0; }
.membership-hero h1,.viewer-heading h1 { font-size:clamp(38px,5vw,62px); margin:8px 0 14px; }
.membership-hero p,.viewer-heading p { max-width:800px; color:#d5e2e9; font-size:17px; line-height:1.7; }
.price-card { max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:32px 55px; align-items:start; border-top:5px solid var(--gold); }
.price-card h2 { color:var(--navy); font-size:25px; }
.price-card h2 span { font-size:58px; }
.price-card li { margin:0 0 15px; color:var(--muted); line-height:1.5; }
.price-card>.button { justify-self:start; }
.account-heading { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:32px; }
.member-badge { padding:10px 14px; border-radius:999px; font-weight:900; text-transform:uppercase; font-size:11px; letter-spacing:.08em; background:#e9edef; }
.member-badge.active { background:#e3f4e8; color:#27643a; }.member-badge.trialing { background:#fff1ce; color:#805b10; }.member-badge.past_due,.member-badge.canceled { background:#fff0ee; color:#8b2f28; }
.member-badge.owner { background:#dcecf6; color:#124f72; }
.member-badge.technician { background:#e7f3ea; color:#27643a; }
.account-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:24px; margin-bottom:28px; }
.account-panel h2,.purchase-history h2 { color:var(--navy); font-family:Georgia,serif; font-size:27px; }
.account-panel p { color:var(--muted); line-height:1.65; }
.account-panel .button { margin:8px 12px 8px 0; }.text-link { display:block; margin-top:16px; }
.account-panel dl { display:grid; grid-template-columns:90px 1fr; gap:13px; margin:0; }.account-panel dt { font-weight:800; color:var(--navy); }.account-panel dd { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.purchase-history { margin-top:28px; }.responsive-table { overflow-x:auto; }
.responsive-table table { width:100%; border-collapse:collapse; }.responsive-table th,.responsive-table td { padding:13px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; font-size:13px; }.responsive-table th { color:var(--navy); }.used-label { color:#8b2f28; font-weight:700; }
.button.small { min-height:38px; padding:0 14px; font-size:12px; border:0; cursor:pointer; }.outline-blue { border:1px solid var(--blue); color:var(--blue); }
.member-tools { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }.manual-grid { display:grid; gap:25px; }
.diagnostic-launch { display:grid; grid-template-columns:1fr auto; align-items:center; gap:35px; background:linear-gradient(120deg,#071a29,#174e6e); color:#fff; padding:32px 36px; margin-bottom:24px; border-left:7px solid var(--gold); box-shadow:0 12px 30px rgba(7,28,42,.18); }.diagnostic-launch h2 { color:#fff; font-size:36px; margin:4px 0 10px; }.diagnostic-launch p:last-child { color:#d6e3e9; line-height:1.6; margin:0; max-width:780px; }.diagnostic-launch .button { white-space:nowrap; }
.home-troubleshoot { background:#eef2f3; padding:34px 0; border-bottom:1px solid var(--line); }.home-diagnostic-launch { margin-bottom:16px; border-left-color:#e9b348; }.diagnostic-button { min-height:62px; padding:0 30px; background:#b53024; color:#fff; font-size:17px; box-shadow:0 5px 14px rgba(84,19,14,.28); }.home-access { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; border:2px solid #b8c5cc; padding:20px 24px; }.home-access.owner-access { border-color:#176a98; background:#f3f9fc; }.home-access strong,.home-access span { display:block; }.home-access strong { color:var(--navy); font-family:Georgia,serif; font-size:23px; margin-bottom:5px; }.home-access span { color:var(--muted); line-height:1.5; }.home-access-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.diagnostic-choice-buttons { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }.plumbing-button { min-height:54px; padding:0 24px; background:#167c86; color:#fff; border:0; font-weight:900; }.diagnostic-choice-buttons .button { white-space:normal; }
.electrical-button { min-height:54px; padding:0 24px; background-color:#7252a3!important; color:#fff!important; border:0; font-weight:900; box-shadow:0 5px 14px rgba(65,42,103,.28); }
.electric-heat-button { min-height:54px; padding:0 24px; background:#d47a16!important; color:#fff!important; border:0; font-weight:900; box-shadow:0 5px 14px rgba(112,59,7,.3); }
.nav-feedback { background:#c48612; color:#fff!important; padding:11px 14px; border-radius:3px; }.feedback-button,.feedback-submit { background:#c48612!important; color:#fff!important; border:0; }.ask-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }.feedback-page .form-card { max-width:780px; margin:auto; }.feedback-form textarea,.feedback-form select { width:100%; padding:13px 14px; border:1px solid #aebbc2; border-radius:2px; background:#fff; color:var(--navy); font:inherit; }.feedback-form textarea { resize:vertical; min-height:190px; }.feedback-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }.form-success { background:#e7f4ea; border:2px solid #66a477; color:#245e35; padding:18px 20px; margin:20px 0; }.footer-feedback { display:inline-block; margin-top:8px; color:#f0bd51!important; font-weight:900; text-decoration:underline; }
.member-manual-card { display:grid; grid-template-columns:230px 1fr; gap:35px; background:#fff; border:1px solid var(--line); padding:30px; box-shadow:0 10px 30px rgba(14,39,56,.07); }.member-manual-card img { width:100%; }.member-manual-card h2 { color:var(--navy); font-size:34px; }.member-manual-card p { color:var(--muted); line-height:1.65; }.member-manual-card form { display:inline-flex; }.purchase-note { font-size:12px; }
.manual-search { background:#fff; border:1px solid var(--line); border-top:5px solid var(--gold); padding:24px; margin:0 0 20px; }.manual-search label { display:block; margin-bottom:11px; }.manual-search>div { display:flex; gap:10px; flex-wrap:wrap; }.manual-search input { flex:1 1 420px; min-height:50px; padding:13px 15px; border:1px solid #aebbc2; border-radius:2px; font:inherit; font-size:16px; }.manual-search .button { border:0; cursor:pointer; }.manual-result-count { color:var(--muted); margin:0 0 20px; }.manual-document { color:var(--blue)!important; font-size:14px; }.manual-models { background:#eef6fa; border-left:4px solid var(--blue); padding:12px 14px; font-size:14px; }.manual-coverage { background:#fff8e9; border-left:4px solid var(--gold); padding:12px 14px; font-size:13px; }.no-manual-results { background:#fff; border:1px solid var(--line); padding:35px; }.no-manual-results h2 { color:var(--navy); }.no-manual-results p { color:var(--muted); }.no-manual-results a { color:var(--blue); text-decoration:underline; font-weight:800; }
.manual-search-page { max-width:none; }.manual-search-results { display:grid; gap:18px; }.manual-search-results>article { background:#fff; border:1px solid var(--line); border-left:5px solid var(--blue); padding:25px; box-shadow:0 8px 24px rgba(14,39,56,.06); }.manual-search-results h2 { color:var(--navy); font-size:25px; margin-bottom:10px; }.manual-search-results article>p:not(.kicker) { color:var(--muted); line-height:1.7; }
.sample-content { display:grid; gap:22px; }.sample-content article { background:#fff; border:1px solid var(--line); padding:28px; }.sample-content h2 { color:var(--navy); }.sample-content p,.sample-content li { color:var(--muted); line-height:1.65; }
.viewer-heading .wrap { display:flex; justify-content:space-between; align-items:center; gap:30px; }.viewer-heading h1 { font-size:42px; }
.manual-viewer { background:#3d464c; min-height:100vh; padding:25px 15px 70px; overflow-x:auto; }.viewer-toolbar { position:sticky; left:0; top:90px; z-index:10; display:flex; justify-content:center; align-items:center; gap:15px; flex-wrap:wrap; background:#071a29; color:#fff; padding:12px; margin:0 auto 22px; max-width:820px; box-shadow:0 5px 20px rgba(0,0,0,.3); }.viewer-toolbar button { background:var(--gold); border:0; padding:10px 14px; font-weight:800; cursor:pointer; }.viewer-toolbar input { width:65px; padding:8px; text-align:center; }.zoom-control { display:flex; align-items:center; gap:7px; font-weight:800; }.zoom-control select { min-height:38px; padding:7px 9px; font:inherit; }.manual-page-wrap { position:relative; width:min(850px, calc(100vw - 30px)); max-width:850px; margin:0 auto; user-select:none; }.manual-page-wrap img { display:block; width:100%; height:auto; background:#fff; box-shadow:0 10px 35px rgba(0,0,0,.45); }.viewer-watermark { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-30deg); color:rgba(135,20,20,.19); font-weight:900; font-size:clamp(20px,4vw,44px); white-space:nowrap; pointer-events:none; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-bottom:25px; }.stat-grid div { background:#fff; padding:22px; border:1px solid var(--line); }.stat-grid strong,.stat-grid span { display:block; }.stat-grid strong { color:var(--navy); font-size:32px; }.stat-grid span { color:var(--muted); font-size:12px; margin-top:5px; }
.inline-admin-form { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:end; padding:15px 0; border-bottom:1px solid var(--line); }.inline-admin-form label { font-weight:800; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:20px; }.inline-admin-form input { width:95px; padding:9px; }
.legal-copy { background:#fff; border:1px solid var(--line); padding:42px; max-width:900px; }.legal-copy h2 { color:var(--navy); margin-top:30px; }.legal-copy p { color:#4e5d66; line-height:1.75; }
@media print { .manual-viewer,.viewer-heading { display:none!important; } }
@media (max-width:900px) { .brand-row>.mobile-actions,.mobile-account { display:flex; } }
@media (max-width:760px) { .price-card,.account-grid,.member-manual-card,.diagnostic-launch { grid-template-columns:1fr; }.member-manual-card img { max-width:220px; }.account-heading,.viewer-heading .wrap { align-items:flex-start; flex-direction:column; }.stat-grid { grid-template-columns:repeat(2,1fr); }.inline-admin-form { grid-template-columns:1fr; }.viewer-toolbar { top:74px; gap:8px; }.diagnostic-launch { padding:27px 22px; }.diagnostic-launch .button { white-space:normal; }.home-access { align-items:flex-start; flex-direction:column; }.home-access-actions { justify-content:flex-start; }.diagnostic-button { width:100%; }.mobile-actions { gap:7px; flex-wrap:wrap; }.mobile-actions a { font-size:12px; }.mobile-actions .nav-troubleshoot,.mobile-actions .nav-plumbing,.mobile-actions .nav-electrical,.mobile-actions .nav-join { padding:9px 10px; } }

/* Guided technician troubleshooting */
.diagnostic-heading h1 { max-width:800px; }.diagnostic-shell { background:#eef1f2; min-height:70vh; padding:40px 0 85px; }.diagnostic-warning { background:#fff2ed; border:2px solid #b7412e; border-left-width:8px; color:#67291f; padding:18px 20px; line-height:1.6; margin-bottom:22px; }.diagnostic-progress { display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--navy2); color:#fff; padding:13px 18px; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.08em; }.diagnostic-progress button { background:transparent; border:1px solid #c9d5dc; color:#fff; padding:8px 12px; cursor:pointer; }.diagnostic-card { background:#fff; border:1px solid #ccd5da; border-top:5px solid var(--gold); box-shadow:0 12px 32px rgba(11,37,54,.10); padding:38px; min-height:360px; scroll-margin-top:115px; }.diagnostic-stage { color:var(--blue); font-weight:900; font-size:11px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:10px; }.diagnostic-card h2 { color:var(--navy); font-size:clamp(30px,4vw,46px); line-height:1.12; margin-bottom:16px; }.diagnostic-text,.diagnostic-card>p:not(.diagnostic-stage) { color:var(--muted); font-size:17px; line-height:1.65; max-width:900px; }.answer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:30px; }.answer-grid button,.restart-result { min-height:62px; background:#f8fafb; border:2px solid #aebcc4; color:var(--navy); padding:15px 18px; font:inherit; font-weight:800; text-align:left; cursor:pointer; border-radius:3px; }.answer-grid button:hover,.answer-grid button:focus { border-color:var(--blue); background:#eaf4f9; }.result-list { display:grid; gap:13px; padding-left:24px; color:#455761; font-size:16px; line-height:1.6; max-width:940px; }.restart-result { margin-top:28px; background:var(--gold); border-color:var(--gold); text-align:center; }.diagnostic-nav { margin-top:15px; }.diagnostic-nav button { background:transparent; border:0; color:var(--blue); font-weight:800; padding:10px 0; cursor:pointer; }.diagnostic-nav button:disabled { opacity:.35; cursor:not-allowed; }.contactor-diagram { display:block; width:min(100%,820px); height:auto; margin:25px auto; border:1px solid #ccd5da; background:#f5f7f8; }
.diagnostic-path { display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap; background:#e9f2f6; color:#254f67; padding:8px 11px; margin-bottom:18px; font-size:12px; font-weight:800; }.diagnostic-path span { color:#9a6a12; }
.step-illustration { margin:25px 0; border:2px solid #b9c8d0; background:#f7fafb; padding:14px; }.step-illustration svg { display:block; width:min(100%,760px); height:auto; margin:auto; }.step-illustration figcaption { color:#536873; font-size:12px; font-weight:800; text-align:center; padding-top:8px; }.guided-field-step h3 { color:var(--blue); font-size:16px; text-transform:uppercase; letter-spacing:.08em; margin:12px 0 8px; }.field-action { color:var(--navy); font-size:clamp(19px,2.5vw,25px); font-weight:800; line-height:1.5; max-width:920px; }.expected-result { background:#edf6ef; border-left:6px solid #2f7c49; padding:18px 20px; margin:20px 0; }.expected-result strong { color:#235b36; }.expected-result p { color:#3f5c49; line-height:1.55; margin:7px 0 0; }.step-continue { width:100%; min-height:62px; border:0; background:var(--gold); color:var(--navy); font:inherit; font-size:17px; font-weight:900; padding:14px 20px; cursor:pointer; }.guide-complete { background:#e8f5ec; border:2px solid #6ca87d; padding:20px; margin-top:25px; }.guide-complete strong { color:#235b36; font-size:20px; }.guide-complete p { color:#42624c; line-height:1.6; margin:8px 0 0; }
.technical-plate { padding:18px; background:#f5f7f8; }.technical-plate img { display:block; width:min(100%,900px); height:auto; margin:auto; }.technical-plate figcaption { font-size:15px; line-height:1.5; max-width:850px; margin:auto; }.field-procedure li { margin-bottom:12px; line-height:1.55; }.guided-field-step .component-identification dd,.guided-field-step .expected-result p,.guided-field-step .why-step p { font-size:17px; }
.component-identification { background:#fff8e9; border:2px solid #dfb454; padding:20px; margin:22px 0; }.component-identification h3 { color:#785710; margin-top:0; }.component-identification dl { display:grid; gap:0; margin:0; }.component-identification dl div { display:grid; grid-template-columns:150px 1fr; border-top:1px solid #e7d5ac; padding:12px 0; }.component-identification dt { color:var(--navy); font-weight:900; }.component-identification dd { color:#4f5e66; line-height:1.55; margin:0; }.sequence-illustration { margin:26px 0; background:#eef6fa; border:2px solid #9bbcca; padding:24px; }.sequence-illustration>div { display:flex; align-items:center; justify-content:center; gap:11px; flex-wrap:wrap; }.sequence-illustration span { min-height:86px; min-width:145px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; background:#fff; border:2px solid var(--blue); color:var(--navy); font-weight:900; text-align:center; padding:12px; }.sequence-illustration span b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--gold); }.sequence-illustration i { color:#b53024; font-size:28px; font-style:normal; font-weight:900; }.sequence-illustration figcaption { text-align:center; color:#4e6978; font-weight:800; margin-top:16px; }
.field-procedure { background:#eef6fa; border-left:6px solid var(--blue); padding:20px 24px; margin:22px 0; }.field-procedure h3 { color:var(--navy); margin-top:0; }.field-procedure ol { margin:0; padding-left:22px; }.field-procedure li { color:#405560; line-height:1.6; margin:10px 0; }.field-procedure strong { color:var(--navy); }
@media (max-width:650px) { .diagnostic-card { padding:25px 20px; }.answer-grid { grid-template-columns:1fr; }.answer-grid button { min-height:58px; }.diagnostic-warning { font-size:14px; }.component-identification dl div { grid-template-columns:1fr; gap:5px; }.sequence-illustration>div { flex-direction:column; }.sequence-illustration span { width:100%; }.sequence-illustration i { transform:rotate(90deg); } }
.why-step { background:#fff8e5; border-left:6px solid #c68a16; padding:18px 20px; margin:20px 0; }.why-step strong { color:#72500d; font-size:18px; }.why-step p { color:#554723; line-height:1.65; margin:7px 0 0; }

/* Installable phone app */
.install-app-panel { display:grid; grid-template-columns:130px 1fr; gap:28px; align-items:start; background:linear-gradient(135deg,#f2f8fb,#fff); border:2px solid #89adbf; border-left:8px solid #c48612; padding:28px; margin:0 0 28px; box-shadow:0 10px 28px rgba(14,39,56,.08); }
.install-app-icon img { display:block; width:112px; height:112px; border-radius:24px; box-shadow:0 8px 22px rgba(7,26,41,.22); }
.install-app-copy h2 { color:var(--navy); font-size:clamp(27px,4vw,38px); margin:4px 0 10px; }.install-app-copy>p { color:var(--muted); line-height:1.6; }
.install-app-button { background:#c48612!important; color:#fff!important; border:0; margin:8px 0 15px; }
.install-instructions { background:#fff; border:1px solid #b9cbd4; padding:18px 20px; margin:15px 0; }.install-instructions h3 { color:var(--navy); margin:0 0 9px; }.install-instructions ol { margin:0; padding-left:24px; }.install-instructions li { color:#405560; line-height:1.55; margin:8px 0; }
.app-installed-message { background:#e7f4ea; border-left:6px solid #2f7c49; color:#245e35; padding:17px 19px; margin:14px 0; }.app-installed-message p { margin:5px 0 0; }.app-browser-message { background:#fff6df; border-left:6px solid #c48612; padding:14px 17px; }.install-security-note { font-size:14px; border-top:1px solid #ccd8de; padding-top:14px; margin-top:18px; }.app-is-installed { border-left-color:#2f7c49; }
.install-readiness { background:#eef6fa; border-left:5px solid #176a98; padding:11px 14px; font-weight:800; }
@media (max-width:650px) { .install-app-panel { grid-template-columns:1fr; padding:22px 18px; }.install-app-icon img { width:88px; height:88px; border-radius:19px; }.install-app-button { width:100%; } }

/* Homeowner service requests */
.nav-service,.service-request-home,.service-request-submit { background:#b53024!important; color:#fff!important; border:0; border-radius:3px; font-weight:900; }
.nav-service { padding:11px 14px; }.service-request-home { display:inline-flex; margin-top:10px; }
.service-request-page .form-card { max-width:900px; margin:auto; }.service-request-form select,.service-request-form textarea { width:100%; padding:14px 15px; border:1px solid #aebbc2; border-radius:2px; background:#fff; color:var(--navy); font:inherit; }.service-request-form textarea { resize:vertical; min-height:180px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.location-row { grid-template-columns:1.4fr 1fr .7fr; }

/* Site-wide direct technical-support call button */
.call-tech-support { position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); z-index:1000; display:flex; align-items:center; gap:11px; min-height:62px; padding:10px 17px 10px 11px; border:2px solid #fff; border-radius:999px; background:#167044; color:#fff!important; box-shadow:0 8px 24px rgba(0,0,0,.3); text-decoration:none!important; }
.call-tech-support:hover,.call-tech-support:focus { background:#105936; transform:translateY(-2px); }
.call-tech-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:#fff; color:#167044; font-size:23px; line-height:1; }
.call-tech-support strong,.call-tech-support small { display:block; white-space:nowrap; }
.call-tech-support strong { font-size:15px; line-height:1.2; }
.call-tech-support small { margin-top:3px; color:#e9fff3; font-size:12px; line-height:1.2; }
@media (max-width:650px) { body { padding-bottom:92px; }.call-tech-support { right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); min-height:58px; padding:8px 14px 8px 9px; }.call-tech-icon { width:38px; height:38px; flex-basis:38px; }.call-tech-support strong { font-size:14px; }.call-tech-support small { font-size:11px; } }
.service-emergency { background:#fff0ee; border-left:7px solid #a83a31; color:#67291f; padding:16px 18px; line-height:1.55; margin:20px 0; }.out-of-area { background:#fff7e3; border:2px solid #d4a23e; padding:22px; margin:22px 0; }.out-of-area h2 { color:var(--navy); margin-top:0; }.out-of-area p { line-height:1.65; margin-bottom:0; }.service-alternatives { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }.service-alternatives form { margin:0; }
@media (max-width:650px) { .form-row,.location-row { grid-template-columns:1fr; }.service-request-submit,.service-alternatives .button,.service-alternatives form { width:100%; }.service-alternatives form .button { width:100%; } }
.repair-flow-standard{margin:16px 0 20px;border:2px solid #1d657d;border-radius:14px;background:#f4fbfe;overflow:hidden}.repair-flow-standard summary{cursor:pointer;padding:15px 18px;background:#123f52;color:#fff;font-weight:900;font-size:1rem}.repair-flow-standard[open] summary{border-bottom:1px solid #9fc4d2}.repair-standard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.repair-standard-grid section{border:1px solid #bdd4dc;border-radius:11px;padding:14px;background:#fff}.repair-standard-grid h3{margin:0 0 7px;color:#123f52;font-size:1rem}.repair-standard-grid p{margin:0;line-height:1.5}.repair-standard-note{margin:0 16px 16px;padding:13px;border-left:5px solid #b66b19;background:#fff7e8;line-height:1.5}@media(max-width:650px){.repair-standard-grid{grid-template-columns:1fr}.repair-flow-standard summary{padding:14px}.repair-standard-grid{padding:12px}}
.electrical-guided-step{border-top:6px solid #5c4382}.electrical-guided-step>h3:first-child{color:#4a346f}.repair-decision{margin:14px 0;padding:15px 17px;border-left:6px solid #6c4aa0;border-radius:8px;background:#f3effa;color:#251b35}.repair-decision strong{display:block;margin-bottom:5px;color:#4a306f}.repair-decision p{margin:0;line-height:1.55}.electrical-shell .expected-result{border-left-color:#24744e;background:#edf8f1}.electrical-shell .step-continue{width:100%;min-height:52px;font-weight:900;font-size:1rem}@media(max-width:650px){.electrical-guided-step .field-procedure ol{padding-left:22px}.electrical-guided-step .component-identification dl{grid-template-columns:1fr}}
.nav-appliance{background:#9a5a13!important;color:#fff!important}
.appliance-shell .diagnostic-warning{border-left-color:#9a5a13}
.appliance-shell .diagnostic-stage,.appliance-shell .diagnostic-path{color:#7a4309}
.appliance-shell .answer-grid button:hover,.appliance-shell .answer-grid button:focus{border-color:#9a5a13;box-shadow:0 0 0 3px rgba(154,90,19,.15)}
.appliance-safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.appliance-safety-grid div{background:#fff8ed;border:1px solid #efd6b2;border-radius:10px;padding:12px}
.appliance-safety-grid strong{display:block;color:#713b00;margin-bottom:4px}
@media(max-width:700px){.appliance-safety-grid{grid-template-columns:1fr}}
.manual-center{padding:38px 0 70px;background:#f4f7f8}.manual-center h2{margin:32px 0 14px;color:#102f3e}.manual-model-help,.manual-scope-note,.brand-family-note{margin:22px 0;padding:22px;border:1px solid #cad8de;border-radius:14px;background:#fff}.manual-model-help h2,.manual-scope-note h2{margin-top:0}.manual-card-grid,.brand-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.manual-card-grid article,.brand-support-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid #d3dfe4;border-radius:14px;background:#fff;box-shadow:0 6px 18px #102f3e0d}.manual-card-grid h3,.brand-support-grid h3{margin:7px 0;color:#102f3e}.manual-card-grid p,.brand-support-grid p{flex:1}.manual-type{color:#a45d12;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand-support-grid a{font-weight:800;color:#116b91}.manual-intro{max-width:800px}@media(max-width:850px){.manual-card-grid,.brand-support-grid{grid-template-columns:1fr}}

/* Prevent signed-in navigation from widening iPad pages beyond the viewport. */
@media (max-width:1200px) {
  nav { display:none; }
  .mobile-account { display:flex; flex-wrap:wrap; justify-content:center; }
}
