@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--forest:#173f33;--deep:#11382c;--sage:#dbe9d5;--mint:#9cceaa;--cream:#f9f8f2;--ink:#203c31;--muted:#66776e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:'DM Sans',Arial,sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}.wrap{max-width:1160px;padding:0 30px;margin:auto}.site-header{height:85px;background:var(--cream)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font:800 29px 'Outfit',sans-serif;letter-spacing:-1.3px}.mark{color:#80b28f;margin-right:8px}.dot{color:#84b58d}nav{display:flex;align-items:center;gap:30px;font-weight:700;font-size:14px}.nav-button{border:1px solid #bccdbf;border-radius:50px;padding:12px 20px}.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:595px;display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:30px}.hero-copy{padding:38px 0 80px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:800;color:#5e9773;display:flex;align-items:center;gap:9px}.live-dot{height:8px;width:8px;background:#78bb7f;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Outfit',sans-serif}h1{font-size:clamp(48px,5.2vw,75px);line-height:1.075;letter-spacing:-3px;margin:24px 0}h1 em{color:#7fb18b;font-style:normal}.lead{font-size:18px;line-height:1.78;color:#67776d;max-width:515px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border-radius:8px;font-weight:700;font-size:15px}.primary{background:var(--forest);color:white;box-shadow:0 8px 15px #173f3314}.text-link{font-weight:700;font-size:14px}.small-promise{display:flex;gap:19px;font-size:12px;color:#829084;margin-top:34px}.hero-art{position:relative;min-height:540px;display:grid;place-items:center}.sun-orb{position:absolute;width:470px;height:470px;border-radius:50%;background:#e4eddd}.circle-outline{position:absolute;width:550px;height:550px;border:1px solid #d7e4d3;border-radius:50%}.thermostat{z-index:1;background:white;width:360px;padding:30px 32px;border-radius:23px;box-shadow:0 30px 65px #1e4b3426;transform:rotate(-2deg)}.thermo-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#8a9c91}.signal{letter-spacing:0;color:#62aa7b}.temp{text-align:center;font:700 99px 'Outfit';letter-spacing:-6px;line-height:1.2;margin-top:22px}.temp span{font-size:50px;vertical-align:top;letter-spacing:-1px}.temp-caption{text-align:center;color:#9ca99d;font-size:12px}.thermo-divider{border-top:1px solid #ecf0e8;margin:33px 0 20px}.humidity-row{display:flex;align-items:center;justify-content:space-between}.meter-label{font-size:10px;color:#8da196;letter-spacing:1.1px;font-weight:800}.humidity{font:700 47px 'Outfit';line-height:1.3}.humidity span{font-size:24px}.droplet{color:#81b99a;background:#ecf5ed;border-radius:50%;padding:13px;font-size:25px}.meter{height:7px;border-radius:15px;background:#edf1eb;margin:10px 0 17px}.meter span{display:block;height:100%;width:57%;background:#82b790;border-radius:15px}.thermo-foot{display:flex;justify-content:space-between;color:#88978d;font-size:10px}.bubble{position:absolute;z-index:2;border-radius:30px;padding:15px 20px;background:#fff;font-weight:700;font-size:13px;box-shadow:0 15px 40px #3e5c4322}.b1{left:-16px;top:130px;transform:rotate(-7deg)}.b2{right:-7px;bottom:100px;transform:rotate(6deg);background:#d8ebda}.intro{background:#fff;padding:93px 0 110px;text-align:center}.center-label{font-weight:800;color:#7faf8a;letter-spacing:2px;font-size:12px}.intro h2{font-size:clamp(33px,4vw,47px);letter-spacing:-1.5px;margin:14px 0}.section-lead{color:#7e8c81;font-size:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px;text-align:left}.step{padding:36px;border:1px solid #e8eee5;border-radius:15px;background:#fbfcf8;position:relative}.step-icon{display:inline-grid;place-items:center;width:49px;height:49px;border-radius:12px;background:#e6f0e2;color:#427958;font-size:24px;font-weight:bold}.step-number{float:right;color:#c9d9c8;font:700 20px 'Outfit'}.step h3{margin:28px 0 10px;font-size:22px}.step p{color:#738276;line-height:1.75;font-size:14px;margin:0}.cta{background:var(--forest);padding:80px 0;color:white}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:39px;letter-spacing:-1px;margin:13px 0}.cta p{color:#b8d5bf;margin:0}.light{color:#b9d9b8}.light-button{background:#dfeeda;color:var(--forest);white-space:nowrap}.footer{background:#11352b;color:#a2b9a9;padding:27px 0}.foot-inner{display:flex;justify-content:space-between;font-size:12px}.plain{padding-top:75px;padding-bottom:120px;min-height:60vh}.plain h1{font-size:48px;letter-spacing:-1.5px}.settings-card{display:flex;gap:24px;align-items:center;background:white;border:1px solid #dfebdf;border-radius:15px;max-width:650px;padding:25px;margin:36px 0}.settings-card h2{font-size:25px;margin:0}.settings-card p{margin:6px 0 0;color:#647568}.muted{color:#839184}.success{color:#36744b;font-weight:700}@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:0}.hero-art{min-height:480px}.hero-grid{gap:0}.steps{grid-template-columns:1fr}.cta-inner{align-items:flex-start;flex-direction:column}.b1{left:3%}.b2{right:4%}}@media(max-width:550px){.wrap{padding:0 21px}.site-header{height:73px}nav>a:first-child{display:none}.brand{font-size:25px}.nav-button{font-size:12px;padding:10px 12px}h1{font-size:52px;letter-spacing:-2.7px}.lead{font-size:16px}.hero-actions{flex-wrap:wrap;gap:18px}.small-promise{flex-wrap:wrap;gap:10px}.hero-art{min-height:410px}.sun-orb{width:330px;height:330px}.circle-outline{width:390px;height:390px}.thermostat{width:300px;padding:24px}.temp{font-size:75px}.bubble{font-size:11px;padding:12px}.intro{padding:70px 0}.step{padding:26px}.foot-inner{gap:13px;flex-direction:column}.cta h2{font-size:33px}.plain h1{font-size:38px}}

/* Humidibee readability pass, October 2026.
   Keeps the original palette/layout, improves body text contrast and size. */
:root { --muted: #455b4d; }
body { font-size: 16px; line-height: 1.55; }
.lead { color: #405649; font-size: 18px; line-height: 1.7; }
.eyebrow, .center-label { color: #356c4b; }
.section-lead { color: #405448; font-size: 17px; line-height: 1.65; }
.step p { color: #3f5347; font-size: 16px; line-height: 1.7; }
.small-promise { color: #485e50; font-size: 14px; }
.thermo-top, .meter-label { color: #4c6554; font-size: 12px; }
.temp-caption { color: #4a5e50; font-size: 14px; }
.thermo-foot { color: #455d4e; font-size: 12px; }
.settings-card p, .muted { color: #485d4e; font-size: 15px; }
.cta p { color: #e0efdf; font-size: 16px; }
.footer { color: #d5e4d6; }
.foot-inner { font-size: 13px; }

/* Public-facing service notice: rose-tinted, high-contrast card. */
.hb-maintenance {
    background: var(--cream);
    border: 0;
    padding: 20px 20px 8px;
}
.hb-maintenance-content {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: linear-gradient(120deg, #fff0f1 0%, #fff8f6 100%);
    border: 1px solid #e7bfc5;
    border-left: 5px solid #ba6276;
    border-radius: 16px;
    padding: 25px 30px;
    box-shadow: 0 14px 32px rgba(83, 47, 56, 0.13),
                0 3px 9px rgba(83, 47, 56, 0.06);
}
.hb-maintenance-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f4d7de;
    border: 1px solid #e8b7c3;
    color: #88354d;
    font: 800 21px 'Outfit', Arial, sans-serif;
}
.hb-maintenance-eyebrow {
    margin: 0 0 6px;
    color: #85334a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.2px;
}
.hb-maintenance h2 {
    margin: 0 0 10px;
    font-size: clamp(23px, 2.4vw, 30px);
    letter-spacing: -.4px;
    line-height: 1.25;
    color: #602d3d;
}
.hb-maintenance p:not(.hb-maintenance-eyebrow) {
    margin: 0 0 10px;
    max-width: 900px;
    color: #463a3e;
    font-size: 16px;
    line-height: 1.65;
}
.hb-maintenance strong {
    color: #642b3c;
    font-weight: 800;
}
.hb-maintenance p:last-child { margin-bottom: 0; }
@media (max-width: 550px) {
    .hb-maintenance { padding: 14px 14px 6px; }
    .hb-maintenance-content {
        gap: 12px;
        padding: 19px 16px;
        border-radius: 13px;
    }
    .hb-maintenance-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 18px;
    }
    .hb-maintenance-eyebrow { font-size: 11px; letter-spacing: 0.9px; }
    .hb-maintenance p:not(.hb-maintenance-eyebrow) { font-size: 15px; }
}

/* Announcement variants for the future Humidibee Admin controls.
   Default "maintenance" keeps the existing pink/rose design unchanged. */
.hb-maintenance--information .hb-maintenance-content {
    background: linear-gradient(120deg, #eff5fc 0%, #f9fbff 100%);
    border-color: #b9cfe8;
    border-left-color: #567da6;
    box-shadow: 0 14px 32px rgba(40, 65, 99, 0.12),
                0 3px 9px rgba(40, 65, 99, 0.05);
}
.hb-maintenance--information .hb-maintenance-icon {
    background: #dce9f8;
    border-color: #bfd5ec;
    color: #2e547b;
}
.hb-maintenance--information .hb-maintenance-eyebrow,
.hb-maintenance--information h2,
.hb-maintenance--information strong { color: #24476d; }
.hb-maintenance--information p:not(.hb-maintenance-eyebrow) { color: #35475c; }

.hb-maintenance--resolved .hb-maintenance-content {
    background: linear-gradient(120deg, #eaf6ee 0%, #f7fcf8 100%);
    border-color: #b7d7c0;
    border-left-color: #4b9164;
    box-shadow: 0 14px 32px rgba(37, 81, 53, 0.10),
                0 3px 9px rgba(37, 81, 53, 0.05);
}
.hb-maintenance--resolved .hb-maintenance-icon {
    background: #d9eddf;
    border-color: #b8ddc5;
    color: #2e7047;
}
.hb-maintenance--resolved .hb-maintenance-eyebrow,
.hb-maintenance--resolved h2,
.hb-maintenance--resolved strong { color: #245737; }
.hb-maintenance--resolved p:not(.hb-maintenance-eyebrow) { color: #354a3e; }

/* Make public About/Contact reachable without squeezing the mobile header. */
.site-header .nav > nav { gap: 20px; }
.footer a { color: #f0faf0; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
    .site-header .nav > nav { gap: 12px; }
    .site-header .hb-public-how, .site-header .hb-public-about { display: none; }
}
@media (max-width: 370px) {
    .site-header .hb-public-contact { display: none; }
}
