:root {
            --blue: #0f4d8f;
            --blue-dark: #082d58;
            --orange: #f47b20;
            --orange-dark: #d85f00;
            --cream: #fff8ee;
            --light: #f4f7fb;
            --ink: #18212b;
            --muted: #5d6b7c;
            --white: #ffffff;
            --shadow: 0 18px 45px rgba(8, 45, 88, .16);
            --radius: 22px;
            --max: 1180px;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--ink);
            background: var(--white);
            line-height: 1.55;
        }
        img { max-width: 100%; display: block; }
        a { color: inherit; }
        .wrap { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; }
        .eyebrow { color: var(--orange); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; font-size: .78rem; }
        h1, h2, h3 { line-height: 1.08; margin: 0 0 16px; color: var(--blue-dark); }
        h1 { font-size: clamp(2.6rem, 7vw, 5.6rem); letter-spacing: -0.06em; }
        h2 { font-size: clamp(2rem, 4vw, 3.45rem); letter-spacing: -0.045em; }
        h3 { font-size: 1.35rem; }
        p { margin: 0 0 18px; color: var(--muted); }
        .button {
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            min-height: 48px; padding: 0 22px; border-radius: 999px;
            background: var(--orange); color: #fff; text-decoration: none; font-weight: 900;
            box-shadow: 0 12px 25px rgba(244,123,32,.28); border: 0; cursor: pointer;
        }
        .button.secondary { background: var(--blue); box-shadow: 0 12px 25px rgba(15,77,143,.22); }
        .button.light { background: #fff; color: var(--blue-dark); }
        .topbar { background: var(--blue-dark); color: #fff; font-size: .92rem; }
        .topbar .wrap { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; flex-wrap: wrap; }
        .topbar a { color: #fff; text-decoration: none; font-weight: 800; }
        .site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(8,45,88,.08); }
        .nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 76px; }
        .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 1000; color: var(--blue-dark); }
        .brand-logo { width: 48px; height: 48px; border-radius: 15px; object-fit: contain; flex-shrink: 0; box-shadow: var(--shadow); }
        .nav-links { display: flex; gap: 18px; align-items: center; font-weight: 800; font-size: .95rem; }
        .nav-links a { text-decoration: none; color: var(--blue-dark); opacity: .88; }
        .menu-toggle { display: none; border: 0; background: var(--light); padding: 10px 12px; border-radius: 12px; font-weight: 900; }

        .hero { position: relative; overflow: hidden; background: radial-gradient(circle at top right, rgba(244,123,32,.22), transparent 35%), linear-gradient(135deg,#eaf3ff 0%,#fff 58%,#fff8ee 100%); padding: 74px 0 46px; }
        .hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 44px; align-items: center; }
        .hero p { font-size: clamp(1.08rem,2vw,1.34rem); max-width: 680px; }
        .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
        .hero-card { background: #fff; padding: 12px; border-radius: 30px; box-shadow: var(--shadow); transform: rotate(1deg); }
        .hero-card img { border-radius: 22px; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
        .scoreboard { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 38px; }
        .stat { background: rgba(255,255,255,.78); border: 1px solid rgba(15,77,143,.1); border-radius: 18px; padding: 18px; box-shadow: 0 8px 28px rgba(8,45,88,.08); }
        .stat strong { display: block; color: var(--blue-dark); font-size: 1.05rem; }
        .stat span { color: var(--muted); font-size: .93rem; }

        section { padding: 78px 0; }
        .section-head { max-width: 780px; margin-bottom: 34px; }
        .cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
        .card { background: #fff; border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); border: 1px solid rgba(15,77,143,.08); }
        .icon { width: 52px; height: 52px; border-radius: 16px; background: var(--cream); display: grid; place-items: center; font-size: 1.55rem; margin-bottom: 18px; }
        .split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: center; }
        .about-photo img {
            width: 100%;
            border-radius: 26px;
            border: 8px solid #fff;
            box-shadow: var(--shadow);
            object-fit: cover;
            display: block;
        }
        .feature-list { display: grid; gap: 14px; padding: 0; margin: 24px 0 0; list-style: none; }
        .feature-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--muted); }
        .check { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); color: #fff; font-weight: 1000; }

        .blue-band { background: linear-gradient(135deg,var(--blue-dark),var(--blue)); color: #fff; }
        .blue-band h2, .blue-band h3, .blue-band p { color: #fff; }
        .blue-band p { opacity: .88; }
        .team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
        .team-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); overflow: hidden; }
        .team-card img { width: 100%; height: 320px; object-fit: cover; }
        .team-card div { padding: 24px; }

        .review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; align-items: start; }
        blockquote { margin: 0; color: var(--muted); }
        blockquote p { font-size: .98rem; }
        cite { font-style: normal; font-weight: 900; color: var(--blue-dark); display: block; margin-top: 14px; }
        .review-card { display: flex; flex-direction: column; }
        .review-card blockquote { flex: 1; }
        .review-quote { margin: 0; transition: opacity .2s ease; }
        .review-quote--full + .review-quote--full { margin-top: 0.85rem; }
        .review-more:not([hidden]) { animation: review-fade-in .25s ease; }
        @keyframes review-fade-in {
            from { opacity: 0; transform: translateY(-6px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .review-toggle {
            margin-top: 16px;
            padding: 0;
            border: 0;
            background: none;
            color: var(--blue);
            font: inherit;
            font-weight: 800;
            font-size: .92rem;
            cursor: pointer;
            text-align: left;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
        .review-toggle:hover { color: var(--orange); }
        .review-card.is-expanded { box-shadow: 0 22px 50px rgba(8, 45, 88, .18); }

        .comfort { background: var(--cream); }
        .price-card { background: #fff; border-radius: 28px; padding: 34px; box-shadow: var(--shadow); border-top: 8px solid var(--orange); }
        .price { font-size: clamp(2.4rem,5vw,4.2rem); font-weight: 1000; letter-spacing: -.06em; color: var(--blue-dark); margin: 0; }
        .price small { font-size: 1rem; letter-spacing: 0; color: var(--muted); }

        .community-gallery { display: grid; grid-template-columns: 1.2fr .8fr .9fr; gap: 16px; margin-top: 34px; }
        .community-gallery img { width: 100%; height: 230px; object-fit: cover; border-radius: 18px; box-shadow: 0 12px 32px rgba(8,45,88,.12); }
        .community-gallery img.tall { height: 476px; }
        .community-gallery .stack { display: grid; gap: 16px; }

        .munchies { background: linear-gradient(135deg,#fff 0%,#fff8ee 100%); }
        .munchies-img { border-radius: 28px; box-shadow: var(--shadow); overflow: hidden; }
        .lennox { background: var(--light); }
        .lennox-img { border-radius: 28px; box-shadow: var(--shadow); overflow: hidden; background: #fff; }
        .lennox-img img { width: 100%; height: auto; display: block; object-fit: cover; }
        .contact { background: var(--blue-dark); color: #fff; }
        .contact h2, .contact p { color: #fff; }
        .contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: start; }
        .contact-card, .contact-form { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); padding: 28px; }
        .contact-card a { color: #fff; font-weight: 900; text-decoration: none; }
        label { display: block; color: #fff; font-weight: 800; margin: 0 0 8px; }
        input, textarea { width: 100%; border: 0; border-radius: 14px; padding: 14px 15px; margin-bottom: 14px; font: inherit; }
        textarea { min-height: 130px; resize: vertical; }
        .form-message { border-radius: 14px; padding: 12px 14px; margin-bottom: 16px; color: #fff; }
        .form-message--success { background: rgba(255,255,255,.15); }
        .form-message--error { background: rgba(220, 53, 69, .35); border: 1px solid rgba(255,255,255,.25); }
        footer { padding: 28px 0; background: #061f3d; color: rgba(255,255,255,.76); }
        footer .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

        @media (max-width: 900px) {
            .hero-grid, .split, .team-grid, .contact-grid { grid-template-columns: 1fr; }
            .scoreboard, .cards, .review-grid { grid-template-columns: repeat(2,1fr); }
            .community-gallery { grid-template-columns: 1fr; }
            .community-gallery img, .community-gallery img.tall { height: 260px; }
            .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; padding: 18px; box-shadow: var(--shadow); flex-direction: column; align-items: flex-start; }
            .nav-links.open { display: flex; }
            .menu-toggle { display: inline-flex; }
        }
        @media (max-width: 620px) {
            .scoreboard, .cards, .review-grid { grid-template-columns: 1fr; }
            .hero { padding-top: 46px; }
            section { padding: 58px 0; }
            .topbar .wrap { display: block; }
            .team-card img { height: 250px; }
        }
body {
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.brand small { display: block; font-size: 0.72rem; font-weight: 700; color: var(--muted); letter-spacing: 0.02em; }
.updates { background: var(--light); }
.updates-panel {
    background: #fff;
    border-radius: var(--radius);
    padding: clamp(24px, 4vw, 42px);
    box-shadow: var(--shadow);
    border: 1px solid rgba(15,77,143,.08);
    max-width: 52rem;
    margin: 0 auto;
}
.updates-meta { font-size: 0.88rem; color: var(--muted); margin-top: 1rem; }
.google-doc-content,
.google-doc-content * {
    font-family: inherit !important;
    color: var(--muted) !important;
    background: transparent !important;
    background-color: transparent !important;
    max-width: none !important;
    box-shadow: none !important;
}
.google-doc-content { font-size: 1rem; line-height: 1.65; overflow-x: auto; }
.google-doc-content strong, .google-doc-content b { font-weight: 700 !important; color: var(--blue-dark) !important; }
.google-doc-content p { margin: 0 0 0.85rem !important; padding: 0 !important; line-height: 1.65 !important; text-align: left !important; }
.google-doc-content h1, .google-doc-content h2, .google-doc-content h3 {
    color: var(--blue-dark) !important;
    margin: 1.25rem 0 0.5rem !important;
    font-weight: 800 !important;
}
.google-doc-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1rem auto;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(8,45,88,.12);
}
.google-doc-content p > span:has(> img) {
    display: inline-block !important;
    max-width: 100% !important;
    vertical-align: middle;
}
.google-doc-content p > span:has(> img) img {
    margin: 0 auto;
}
.google-doc-content ul, .google-doc-content ol { margin: 0 0 1rem; padding-left: 1.35rem; }
.google-doc-content a { color: var(--blue); word-break: break-word; }
/* Import admin page */
.htvac-import-body { margin: 0; min-height: 100vh; background: linear-gradient(135deg,#eaf3ff,#fff8ee); }
.htvac-import-wrap { width: min(640px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0 64px; }
.htvac-import-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 32px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(15,77,143,.08);
}
.htvac-import-card h1 { font-size: 1.75rem; margin-bottom: 8px; }
.htvac-import-card .subtitle { margin-bottom: 24px; }
.htvac-import-steps { margin: 0 0 20px; padding-left: 1.25rem; color: var(--muted); }
.htvac-import-steps li { margin-bottom: 10px; }
.htvac-import-form label { color: var(--blue-dark); }
.htvac-import-form input[type=url] { border: 1px solid rgba(15,77,143,.15); margin-bottom: 16px; }
.htvac-alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 16px; font-weight: 600; }
.htvac-alert-error { background: #fde8e8; color: #9b1c1c; }
.htvac-alert-success { background: #e8f5e9; color: #1b5e20; }
.htvac-import-footer { margin-top: 20px; font-size: 0.95rem; }
.htvac-import-footer a { color: var(--blue); font-weight: 800; }
