:root{--green:#6232a0;--green2:#30134e;--purple:#6232a0;--cream:#f8f6fc;--gold:#f1d693;--yellow:#f1d693;--ink:#24162f;--muted:#62536e;--line:#ded3e8;--radius:12px}
body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.topbar{background:#163b2c;color:#fff;border-bottom:1px solid #ffffff30;backdrop-filter:none;padding:18px 4vw;min-height:84px}
.brand{color:#fff}.brand small{color:#d9e5dd;font-size:11px}.desktop-nav button{color:#fff;border-radius:5px;font-size:14px;font-weight:600}.desktop-nav button:hover{background:#ffffff15}
.primary,.ghost{border-radius:5px;box-shadow:none;border-width:1px;font-size:16px;letter-spacing:0;font-weight:600;min-height:48px}.primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}.primary:hover{transform:none;box-shadow:none;background:#f7e2b4}.ghost.dark{border-color:var(--line)}.compact{padding:10px 15px;box-shadow:none;font-size:14px}.mini{font-size:14px;padding:10px 12px}
.hero{min-height:600px;display:block;position:relative;background:#254735 url('/images/green-mountains-vermont.jpg') center/cover no-repeat;color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c201de8,#0c201d65 70%,#0c201d25)}
.hero-content{position:relative;width:auto;max-width:1180px;margin:0 auto;padding:64px 48px 52px;text-shadow:none}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,6vw,74px);letter-spacing:-.035em;line-height:1.08;max-width:720px}.hero h1 span{color:var(--gold)}
.hero .eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.5;color:#e0ece3}.hero p{font-size:18px;line-height:1.6;font-weight:400;max-width:600px;color:#eef3ef;margin:24px 0}.hero .hero-detail{font-size:15px;margin:12px 0}.hero-actions{margin:28px 0;gap:16px;flex-wrap:wrap}.hero-actions .primary{padding:16px 24px}.contact-bar{gap:14px 22px;font-size:14px}.contact-bar a{font-weight:500}.trust-row{font-size:14px;font-weight:500;line-height:1.6;margin-top:24px;gap:18px}.hero-art,.sun,.mountains,.treeline{display:none}
.gm-booking{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:auto;padding:30px 40px;background:#fff}.gm-booking div{display:grid;gap:5px}.gm-booking small{font-size:12px;letter-spacing:.08em;color:var(--muted)}.gm-booking strong{font-size:20px;font-weight:600}.gm-booking span{font-size:14px;color:var(--muted)}.gm-booking .primary{background:var(--green);border-color:var(--green);color:#fff}.gm-booking .primary:hover{background:var(--green2)}
.content-section{padding-top:60px;padding-bottom:60px}.section-heading h2{font-family:Georgia,serif;font-size:clamp(32px,4.5vw,52px);font-weight:400;letter-spacing:-.025em;line-height:1.14}.step-grid{gap:24px}.step-card{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;padding:24px 0}.step-card span{border:0;border-radius:0;padding:0;background:transparent;color:var(--green);font-size:14px}.step-card h3{font-size:21px;line-height:1.25;margin:20px 0 10px}.step-card p{font-size:16px;line-height:1.6;color:var(--muted)}
.services-band{background:var(--green2)}.service-grid{gap:18px}.service-grid div{background:transparent;border:0;border-top:1px solid #ffffff45;border-radius:0;padding:22px 0}.service-grid span{font-size:16px;color:#dce8de}.services-band h2{color:white}
.policy-card{background:#fff;border-color:var(--line);padding:22px;border-radius:10px}.policy-card p{font-size:16px;line-height:1.6;color:var(--muted)}.policy-card b{font-size:18px}.policy-box{background:#edf3ed;color:#415c4a;font-size:14px}.notice{border:1px solid var(--line);font-size:15px;background:#fbf5e6}.notice.green{background:#edf5ed}
.page-header h1,.confirmation-card h1{font-family:Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.035em;font-size:clamp(40px,6vw,66px)}.page-header p{line-height:1.6}
.panel,.confirmation-card{border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #163b2c09}.form-section{padding:28px}.form-section-title>span{border:0;border-radius:7px;background:#e7efe7;color:var(--green)}.form-section-title h3{font-size:22px}.form-section-title p{font-size:14px}
input,select,textarea{background:#fff;border:1px solid #bdccbf;border-radius:5px;font-size:16px;min-height:48px;font-weight:400}label{font-size:14px;font-weight:600;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #234f3d20}
.quote-badge{background:var(--green);border:0;border-radius:12px;box-shadow:none}.quote-range{color:#dce8de;font-size:14px;line-height:1.5}.summary-head strong{color:var(--green)}.summary-sub,.fine-print{font-size:14px;line-height:1.5}.kpi{background:var(--green);border:0;border-radius:10px;box-shadow:none}.kpi span{color:#dce8de}.admin-tabs button{border-radius:5px;font-size:14px;min-height:44px}.status-pill{background:#e7efe7;border-color:#bdccbf;font-size:12px}.mobile-nav{background:var(--green2);border-color:#ffffff30}.mobile-nav button{color:#fff}.mobile-nav span{color:var(--gold)}.footer-links{background:var(--green2);padding-top:32px}.footer-links a{color:#e4ece5;font-size:14px}.release-note{background:var(--green2);color:#c5d5c9;margin:0;padding:0 20px 28px;font-size:14px}.gm-photo-credit{text-align:center;background:var(--green2);color:#b8ccbe;margin:0;padding:0 20px 28px;font-size:12px}.gm-photo-credit a{text-decoration:underline}a:focus-visible,button:focus-visible{outline-color:#8ab795}
@media(max-width:900px){.step-grid{grid-template-columns:1fr 1fr}.hero-content{padding:56px 32px}.gm-booking{flex-wrap:wrap;padding:28px 32px}.hero{min-height:580px}}
@media(max-width:620px){.topbar{padding:16px 18px}.hero{min-height:620px;background-position:60% center}.hero-content{padding:48px 22px}.hero h1{font-size:clamp(42px,10vw,58px)}.hero p{font-size:17px}.hero-actions{align-items:flex-start}.hero-actions button{width:auto}.gm-booking{align-items:flex-start;flex-direction:column;gap:24px;padding:26px 22px}.step-grid,.service-grid{grid-template-columns:1fr}.content-section{padding:48px 22px}.panel{padding:20px}.form-panel{padding:0}.form-section{padding:22px}.trust-row{gap:10px}.contact-bar{font-size:14px}.page-header{padding-top:42px}.section-heading h2{font-size:36px}}

/* Selected badge in the website header. */
.brand-mark{width:56px;height:56px;object-fit:contain;clip-path:circle(48% at 50% 50%);flex:none}
@media(max-width:620px){.brand-mark{width:44px;height:44px}}

.password-field{position:relative;display:block;width:100%}.password-field input{padding-right:54px;width:100%}.password-toggle,.account-card form button.password-toggle{position:absolute;right:2px;top:2px;min-height:44px;height:44px;width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#234f3d;cursor:pointer;border-radius:4px}.password-toggle:focus-visible{outline:3px solid #7c3aed;outline-offset:1px}.password-toggle svg{width:22px;height:22px;pointer-events:none}.password-toggle [hidden]{display:none}

/* iLoad's requested purple and gold palette. */
.topbar{background:var(--green2)}
.hero:before{background:linear-gradient(90deg,#241039ed,#30134e99 70%,#30134e55)}
.brand small,.hero .eyebrow,.hero p,.service-grid span,.kpi span,.quote-range{color:#f0e8f8}
.policy-box,.notice.green,.form-section-title>span,.status-pill{background:#efe7f8;color:#4c2870}
input,select,textarea{border-color:#cbbbdc}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #6232a020}
.password-toggle,.account-card form button.password-toggle{color:var(--green)}
a:focus-visible,button:focus-visible{outline-color:#ab79e0}
.footer-links a,.release-note,.gm-photo-credit{color:#e7d9f4}

/* Clear customer requests and responsive launch surfaces. */
.customer-nav{color:#fff;padding:10px 14px;font-size:14px;text-decoration:none;font-weight:600}
.hero{min-height:520px}.hero-content{padding-top:58px;padding-bottom:58px}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:750;letter-spacing:-.04em;max-width:680px}
.optional-details summary{cursor:pointer;font-size:16px;font-weight:700;padding:12px 0;line-height:1.5}
.optional-details summary span{font-weight:400;color:var(--muted)}
.optional-details p{font-size:16px;line-height:1.6;color:var(--muted)}
.optional-details[open]>summary{margin-bottom:12px}.optional-details:not(.form-section){margin-top:16px}
.request-error{color:#8e142e;background:#fff0f2;padding:14px;line-height:1.5}
.owner-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;border-top:1px solid var(--line)}
.owner-intro h2{font-size:42px;margin:0}.owner-intro p{font-size:17px;line-height:1.65;margin-top:0}
.contact-link{display:inline-flex;text-decoration:none;align-items:center}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:14px;font-weight:700;min-height:48px}
.notice p{margin:8px 0;line-height:1.65}
.policy-page{max-width:800px;margin:auto;padding:36px 22px;font-size:16px;line-height:1.7}
.policy-page li{margin-bottom:14px}
.contact-bar a[href^="tel:"]{font-size:18px;font-weight:700;padding:10px 0}
@media(max-width:620px){.hero h1{font-size:clamp(34px,9vw,48px)}.brand small{font-size:12px}.mobile-nav button{font-size:14px;min-height:48px}.trust-row{display:grid;gap:8px}.quote-layout,.track-layout{grid-template-columns:minmax(0,1fr)}.policy-grid{grid-template-columns:1fr}.panel-title,.section-heading{flex-wrap:wrap}.quote-summary{position:static}}
button:disabled{cursor:wait;opacity:.65}input[type=checkbox]{min-height:20px}
@media(max-width:620px){.owner-intro{grid-template-columns:1fr;gap:20px}.hero{min-height:0}.hero-content{padding:44px 22px 52px}.hero-actions button{width:100%}.hero-actions{flex-wrap:wrap}.quote-layout{padding-left:16px;padding-right:16px}.quote-summary{position:static}.customer-nav{padding:10px}.brand strong{font-size:20px}.gm-booking{padding:24px 22px}.summary-head strong{font-size:36px}}

/* Customer policy help and private owner research. */
.ai-help h2{font-size:32px;line-height:1.2;margin:0 0 16px}.ai-help p{line-height:1.6}.ai-topics{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.ai-help form{max-width:780px}.ai-answer{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;line-height:1.65;font-size:16px;margin-top:18px}.ai-answer p{margin-top:0}.ai-answer a{color:#54248b;text-decoration:underline}.ai-answer ul{white-space:normal;padding-left:22px}.ai-help [data-ai-status]{min-height:24px}.ai-answer small{display:block;color:var(--muted);margin-top:16px;line-height:1.5}
