/* page: root */

*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--sky); color:var(--ink); font-family:'Manrope',sans-serif; line-height:1.55; overflow-x:hidden;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1140px; margin:0 auto; padding:0 28px; position:relative; z-index:2;}
section{padding:74px 0; position:relative;}
@media(max-width:720px){ section{padding:52px 0;} .wrap{padding:0 20px;} }

/* decorative clouds / sun blobs */
.cloud{position:absolute; border-radius:50%; filter:blur(30px); background:rgba(255,255,255,0.75); z-index:0; pointer-events:none;}
.sun-glow{position:absolute; border-radius:50%; z-index:0; pointer-events:none; background:radial-gradient(circle, rgba(255,201,60,0.35), rgba(255,201,60,0) 70%);}
.star{position:absolute; border-radius:50%; background:#fff; z-index:0; pointer-events:none;}
.isobar{position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;}

/* ---------- NAV ---------- */
nav{padding:18px 0; position:sticky; top:0; background:rgba(234,244,252,0.85); backdrop-filter:blur(10px); z-index:50; border-bottom:1px solid var(--line);}
nav .wrap{display:flex; justify-content:space-between; align-items:center; gap:16px;}
.logo{font-weight:800; font-size:20px; display:flex; align-items:center; gap:8px;}
.logo-dot-old{width:9px; height:9px; border-radius:50%; background:var(--sky-deep); box-shadow:0 0 0 4px rgba(74,144,217,0.15); margin-right: 5px;}
.logo-dot{width: 16px; height: 16px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(74,144,217,0.15); background-image: url('/assets/favicon-dot.svg'); background-repeat: no-repeat; background-position: center; background-size: cover;}
.navlinks{display:flex; gap:22px; font-weight:700; font-size:14px; color:var(--muted); flex-wrap:wrap;}
.btn{font-weight:800; font-size:14.5px; padding:13px 24px; border-radius:100px; background:var(--sky-deep); color:#fff; display:inline-block; border:none; cursor:pointer; box-shadow:0 6px 0 var(--sky-dark); transition:transform .12s ease;}
.btn:hover{transform:translateY(-1px);}
.btn.ghost{background:transparent; color:var(--ink); border:2px solid var(--line); box-shadow:none; padding:11px 22px;}
.btn.small{padding:10px 18px; font-size:13px; box-shadow:0 4px 0 var(--sky-dark);}

/* ---------- HERO ---------- */
.hero-sky{background:linear-gradient(180deg, #F7FBFE 0%, var(--sky) 55%, var(--sky-dim) 100%); padding-bottom:42px;}
.hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; padding:36px 0 20px; position:relative; z-index:2;}
@media(max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.eyebrow{font-weight:800; font-size:13px; color:var(--sky-dark); margin-bottom:18px; text-transform:none; display:inline-flex; align-items:center; gap:8px; background:#fff; padding:8px 18px; border-radius:100px;}
h1{font-weight:900; font-size:40px; line-height:1.16; margin-bottom:20px;}
@media(max-width:720px){ h1{font-size:30px;} }
.lead{font-size:16px; color:var(--muted); max-width:440px; margin-bottom:26px;}
.price-row{display:flex; align-items:baseline; gap:10px; margin-bottom:24px; flex-wrap:wrap;}
.price-row .from{color:var(--muted-soft); font-size:14px;}
.price-row .amount{font-size:28px; font-weight:900; color:var(--ink);}
.price-row .per{color:var(--muted-soft); font-size:14px;}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px;}
.hero-note{color:var(--muted-soft); font-size:13px; margin-bottom:16px; line-height:1.5;}
.case-badge{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); padding:8px 16px; border-radius:100px; font-size:13px; color:var(--muted);}
.case-badge .dot{width:7px; height:7px; border-radius:50%; background:#3BB273; flex-shrink:0;}
.case-badge b{color:var(--ink);}

.forecast-card{
  background:#fff; border-radius:28px; padding:32px; box-shadow:0 30px 60px -30px rgba(46,109,174,0.35); position:relative; z-index:2;
  border:1px solid rgba(255,255,255,0.6);
}
.forecast-today{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;}
.forecast-today .label{font-size:12.5px; color:var(--muted); font-weight:800; text-transform:uppercase; letter-spacing:.03em;}
.forecast-today .big{display:flex; align-items:center; gap:14px; margin-top:8px; position:relative;}
.forecast-today .icon{font-size:46px; position:relative; z-index:1;}
.sun-ring{position:absolute; left:-10px; top:-10px; width:66px; height:66px; border-radius:50%; background:radial-gradient(circle, rgba(255,201,60,0.5), rgba(255,201,60,0) 68%); z-index:0;}
.forecast-today .temp{font-size:42px; font-weight:900;}
.forecast-today .status{font-size:14.5px; color:var(--sky-dark); font-weight:800; margin-top:2px;}
.uptime-badge{background:var(--sky); border-radius:16px; padding:10px 16px; text-align:center;}
.uptime-badge .n{font-family:'IBM Plex Mono'; font-weight:700; font-size:17px; color:var(--sky-dark);}
.uptime-badge .l{font-size:10px; color:var(--muted); text-transform:uppercase;}

.week-row{display:flex; gap:8px; padding-top:18px; border-top:1px dashed var(--line);}
.day{flex:1; text-align:center; padding:10px 6px; border-radius:12px;}
.day.active{background:var(--sky);}
.day .d{font-size:10.5px; color:var(--muted); margin-bottom:6px; font-weight:700;}
.day .i{font-size:19px; margin-bottom:4px;}
.day .v{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--muted-soft);}
.day.active .v{color:var(--sky-dark); font-weight:700;}

.who-fits{display:flex; gap:10px; flex-wrap:wrap; margin-top:34px; position:relative; z-index:2;}
.who-pill{font-family:'IBM Plex Mono'; font-size:12px; color:var(--muted); background:#fff; border:1px solid var(--line); padding:8px 14px; border-radius:100px;}

/* ---------- SECTION HEADS ---------- */
.sec-head{max-width:620px; margin-bottom:40px;}
.kicker{font-weight:800; font-size:12.5px; color:var(--sky-dark); margin-bottom:12px; display:inline-flex; align-items:center; gap:6px; background:#fff; padding:6px 14px; border-radius:100px; letter-spacing:.02em;}
h2{font-weight:900; font-size:30px;}
@media(max-width:720px){ h2{font-size:23px;} }
.sec-lead{color:var(--muted); margin-top:12px; font-size:15.5px;}

/* ---------- PROBLEM / INSTRUMENTS ---------- */
.problem{background:var(--sky-dim); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.problem-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:820px){ .problem-row{grid-template-columns:1fr;} }
.instrument-card{background:var(--card); border-radius:20px; padding:26px 24px; border:1px solid var(--line);}
.instrument-badge{width:56px; height:56px; border-radius:50%; padding:4px; margin-bottom:16px; background:conic-gradient(var(--sky-deep) 0deg 252deg, var(--line) 252deg 360deg);}
.instrument-badge-inner{width:100%; height:100%; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:inset 0 0 0 1px var(--line);}
.instrument-card h3{font-weight:800; font-size:16.5px; margin-bottom:8px;}
.instrument-card p{font-size:13.5px; color:var(--muted);}
.problem-close{
  margin-top:24px; background:var(--card); border:2px dashed var(--sky-deep); border-radius:18px; padding:20px 24px;
  font-size:14.5px; color:#3A4E63; max-width:820px;
}
.problem-close b{color:var(--sky-dark);}

/* ---------- QELK ---------- */
.qelk-weather-sec{background:var(--sky);}
.qelk-weather-grid{display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:center;}
@media(max-width:820px){ .qelk-weather-grid{grid-template-columns:1fr; text-align:center;} }
.qelk-weather-art{position:relative; display:flex; justify-content:center; align-items:center;}
.qelk-weather-backdrop{position:absolute; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(74,144,217,0.22), rgba(74,144,217,0) 72%);}
.qelk-weather-backdrop::after{content:''; position:absolute; inset:0; border-radius:50%; border:1.5px dashed rgba(74,144,217,0.35);}
.qelk-weather-art img{position:relative; z-index:1; width:auto; max-height:300px; filter:drop-shadow(0 18px 26px rgba(22,50,79,0.2));}
.qelk-weather-house-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:24px 0 20px;}
@media(max-width:560px){ .qelk-weather-house-grid{grid-template-columns:1fr;} }
.house-row{display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px;}
@media(max-width:820px){ .house-row{text-align:left;} }
.house-icon{width:34px; height:34px; border-radius:10px; background:var(--sun-tint); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
.house-row b{display:block; font-size:14px; margin-bottom:2px;}
.house-row span{font-size:12.5px; color:var(--muted);}
.qelk-weather-link{font-weight:800; font-size:14px; color:var(--sky-dark); border-bottom:2px solid var(--sky-deep); padding-bottom:2px;}

/* ---------- INCLUDED ---------- */
.included{background:var(--sky-dim); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.included-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
@media(max-width:720px){ .included-grid{grid-template-columns:1fr;} }
.inc-item{display:flex; gap:14px; padding:20px; background:var(--card); border:1px solid var(--line); border-radius:16px;}
.inc-check{width:24px; height:24px; border-radius:50%; background:var(--sun-tint); color:var(--sun-dark); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; margin-top:1px; font-weight:800;}
.inc-item h4{font-weight:700; font-size:15px; margin-bottom:4px;}
.inc-item p{font-size:13px; color:var(--muted);}

/* ---------- CASE ---------- */
.case{background:var(--sky);}
.case-intro{text-align:center; max-width:640px; margin:0 auto 40px;}
.case-intro .brand-line{font-weight:900; font-size:26px; margin-bottom:8px;}
.case-intro .brand-sub{color:var(--muted-soft); font-size:15px;}
.dual-mock{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:40px; align-items:start;}
@media(max-width:820px){ .dual-mock{grid-template-columns:1fr;} }
.mock-label{font-family:'IBM Plex Mono'; font-size:12px; color:var(--muted-soft); text-align:center; margin-bottom:12px;}
.browser-mock{border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 50px -30px rgba(22,50,79,0.3); background:var(--night);}
.browser-bar{background:var(--night-soft); padding:10px 14px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--night-line);}
.browser-dot{width:9px; height:9px; border-radius:50%; background:var(--night-line);}
.browser-url{margin-left:8px; background:var(--night); border-radius:6px; padding:5px 12px; font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--night-muted); flex:1;}
.browser-body{height:300px; overflow:hidden;}
.browser-body img{display:block; width:100%; height:100%; object-fit:cover;}
.site-link-below{display:block; text-align:center; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:2px; width:fit-content; margin-left:auto; margin-right:auto;}
.mock-caption{display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; font-size:12.5px; color:var(--muted-soft); font-family:'IBM Plex Mono';}
.mock-caption .live-dot{width:6px; height:6px; border-radius:50%; background:#3BB273; box-shadow:0 0 0 3px rgba(59,178,115,0.18); flex-shrink:0;}
.case-facts{max-width:780px; margin:0 auto;}
.case-fact{display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line);}
.case-fact:last-child{border-bottom:1px solid var(--line);}
.case-fact .tag{font-weight:800; font-size:11px; color:#fff; background:var(--sky-deep); padding:4px 10px; border-radius:100px; height:fit-content; margin-top:2px; flex-shrink:0; width:150px; text-align:center;}
.case-fact p{font-size:14.5px; color:#33465C;}
.tech-detail{font-size:12px; color:var(--muted-soft); margin-top:6px; font-family:'IBM Plex Mono';}
@media(max-width:560px){ .case-fact{flex-direction:column; gap:8px;} .case-fact .tag{width:fit-content;} }
.case-quote{max-width:780px; margin:26px auto 0; padding:20px 22px; background:var(--sky-dim); border-radius:16px; font-size:14.5px; color:#33465C; border-left:4px solid var(--sky-deep);}
.quote-attr{display:block; margin-top:10px; font-family:'IBM Plex Mono'; font-size:12px; color:var(--muted-soft);}

/* ---------- PRICING: UNIFIED NIGHT CONSOLE ---------- */
.pricing{background:var(--night-deep); color:#fff; overflow:hidden;}
.pricing .kicker{background:rgba(255,255,255,0.08); color:#BFD4EA;}
.pricing .sec-lead, .pricing h2{color:#fff;}
.night-texture{position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 8% 18%, rgba(255,255,255,0.55) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 22% 62%, rgba(255,255,255,0.4) 50%, transparent 52%),
    radial-gradient(1px 1px at 38% 12%, rgba(255,255,255,0.5) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 55% 78%, rgba(255,255,255,0.45) 50%, transparent 52%),
    radial-gradient(1px 1px at 68% 30%, rgba(255,255,255,0.5) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 82% 55%, rgba(255,255,255,0.4) 50%, transparent 52%),
    radial-gradient(1px 1px at 92% 15%, rgba(255,255,255,0.5) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 12% 88%, rgba(255,255,255,0.4) 50%, transparent 52%),
    radial-gradient(1px 1px at 75% 92%, rgba(255,255,255,0.45) 50%, transparent 52%);
}
.console-panel{position:relative; z-index:2; background:var(--night-soft); border:1px solid var(--night-line); border-radius:26px; padding:38px; margin-bottom:20px;}
@media(max-width:720px){ .console-panel{padding:24px 20px;} }
.console-head{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
.console-head .dot{width:8px; height:8px; border-radius:50%; background:#3BB273; box-shadow:0 0 0 3px rgba(59,178,115,0.2); flex-shrink:0;}
.console-head .label{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--night-muted); letter-spacing:.04em; text-transform:uppercase;}
.calc-head h3{font-size:19px; margin:8px 0 8px; color:#fff;}
.calc-head p{font-size:13.5px; color:var(--night-muted); max-width:520px;}
.calc-grid{display:grid; grid-template-columns:1fr 340px; gap:36px; align-items:start; margin-top:26px;}
@media(max-width:900px){ .calc-grid{grid-template-columns:1fr;} }

.calc-q{margin-bottom:26px;}
.calc-q:last-child{margin-bottom:0;}
.calc-q-title{
  font-weight:800; font-size:12.5px; color:#BFD4EA; letter-spacing:.02em;
  background:var(--night-deep); border:1px solid var(--night-line); display:inline-block; padding:7px 16px; border-radius:100px; margin-bottom:14px;
}
.calc-opt{display:flex; align-items:center; gap:10px; padding:8px 2px; font-size:14px; color:#fff; cursor:pointer;}
.calc-opt input{width:18px; height:18px; accent-color:var(--sun); flex-shrink:0; cursor:pointer;}

.calc-result-card{
  background:linear-gradient(165deg, rgba(255,201,60,0.14), var(--night-deep) 60%);
  border:2px solid var(--sun); border-radius:22px; padding:28px 26px; position:relative; z-index:2;
}
.calc-result-card .kicker{background:var(--sun); color:#3A2B00; margin-bottom:12px;}
.calc-result-card .p-tier{font-size:24px; font-weight:900; color:#fff; margin-bottom:8px; display:flex; align-items:center; gap:8px;}
.calc-result-card .p-amount{font-family:'IBM Plex Mono'; font-size:20px; font-weight:700; color:var(--sun); margin-bottom:14px;}
.calc-result-card .p-for{font-size:13.5px; color:#C9D6E5; margin-bottom:16px; line-height:1.5;}
.calc-tier-note{font-size:12px; color:var(--night-muted); margin-bottom:20px; padding-top:14px; border-top:1px dashed var(--night-line); line-height:1.6;}
.calc-result-card .p-cta{
  display:block; text-align:center; font-weight:800; font-size:14.5px; padding:13px 22px; border-radius:100px;
  background:var(--sun); color:#3A2B00; border:none;
}
.calc-footnote{margin-top:26px; font-size:12.5px; color:var(--night-muted); text-align:center; max-width:720px; margin-left:auto; margin-right:auto; position:relative; z-index:2;}


/* ---------- HOW ---------- */
.how{background:var(--sky);}
.steps-line{position:relative; padding-top:10px;}
.steps-track{position:absolute; top:27px; left:0; right:0; height:2px; background:var(--line);}
@media(max-width:820px){ .steps-track{display:none;} }
.steps-row{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; position:relative; z-index:1;}
@media(max-width:820px){ .steps-row{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .steps-row{grid-template-columns:1fr;} }
.step-dot{width:26px; height:26px; border-radius:50%; background:#fff; border:2px solid var(--sky-deep); margin-bottom:14px; display:flex; align-items:center; justify-content:center; font-size:12.5px;}
.step h4{font-weight:800; font-size:14px; margin-bottom:6px;}
.step p{font-size:12.5px; color:var(--muted);}

/* ---------- FAQ ---------- */
.faq{background:var(--sky-dim); border-top:1px solid var(--line);}
.faq-item{border-top:1px solid var(--line); padding:20px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:15.5px; font-weight:800;}
.faq-q .plus{color:var(--sky-dark); font-size:18px; transition:transform .2s; font-family:'IBM Plex Mono';}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{padding-top:12px; font-size:14px; color:#3A4E63; max-width:660px;}

/* ---------- PARTNERS ---------- */
.partners{background:var(--sky); padding-top:64px; padding-bottom:64px;}
.partner-card{background:var(--night); border-radius:24px; padding:40px 44px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; position:relative; overflow:hidden;}
.partner-copy{max-width:640px; position:relative; z-index:1;}
.partner-copy .kicker{background:rgba(255,255,255,0.1); color:#BFD4EA;}
.partner-copy h2{color:#fff; font-size:24px; margin:10px 0 14px;}
.partner-copy p{color:var(--night-muted); font-size:14.5px; margin-bottom:18px;}
.partner-tags{display:flex; gap:10px; flex-wrap:wrap;}
.tag-pill{font-family:'IBM Plex Mono'; font-size:11.5px; color:#fff; background:var(--night-soft); border:1px solid var(--night-line); padding:6px 12px; border-radius:100px;}
.partner-card .btn.ghost.partner-cta{flex-shrink:0; color:#fff; border-color:var(--night-line); position:relative; z-index:1;}
@media(max-width:720px){ .partner-card{padding:28px 24px; flex-direction:column; align-items:flex-start;} .partner-copy h2{font-size:20px;} .partner-cta{width:100%; text-align:center;} }

/* ---------- FINAL ---------- */
.final{background:var(--night-deep); color:#fff; text-align:center; padding:64px 0; position:relative; overflow:hidden;}
.final h2{font-size:30px; line-height:1.3; margin:0 auto 14px; max-width:640px; position:relative; z-index:2;}
@media(max-width:720px){ .final h2{font-size:22px;} }
.final p{color:var(--night-muted); font-size:16px; margin-bottom:26px; max-width:520px; margin-left:auto; margin-right:auto; position:relative; z-index:2;}
.final .btn{position:relative; z-index:2;}

footer{background:var(--night-deep); border-top:1px solid var(--night-line); padding:28px 0; color:var(--night-muted); font-size:13px;}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; align-items: center;}
footer a{color:#fff;}


/* ---------- NAV ---------- */

.btn.gradient{background:linear-gradient(120deg, var(--night) 0%, var(--sky-deep) 50%, var(--sun-dark) 100%); color:#fff; box-shadow:0 6px 0 var(--night-deep); border:none;}
.nav-icon-btn{width:40px; height:40px; border-radius:12px; border:2px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:16px; background:#fff; flex-shrink:0;}

/* ---------- HERO ---------- */
@media(max-width:720px){ h1{font-size:28px;} }
.lead{font-size:15.5px; color:var(--muted); max-width:460px; margin-bottom:16px;}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:14px;}

/* ---------- SECTION HEADS ---------- */
.sec-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* ---------- FOCUS CARD ---------- */
.focus-card{background:var(--card); border:1px solid var(--line); border-radius:24px; padding:30px 32px; box-shadow:0 30px 60px -35px rgba(22,50,79,0.25); position:relative; z-index:2;}
.focus-card-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.focus-card-top .flogo{font-weight:800; font-size:14px; color:var(--muted-soft);}
.focus-card-top .tag-outline{font-family:'IBM Plex Mono'; font-size:11px; color:var(--sky-dark); border:1px solid var(--line); padding:5px 12px; border-radius:100px;}
.focus-title{font-weight:800; font-size:20px; margin-bottom:14px;}
.focus-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:13px 0; border-top:1px solid var(--line); font-size:13.5px;}
.focus-row:first-of-type{border-top:none;}
.focus-row .flabel{color:var(--muted-soft); flex-shrink:0; display:flex; align-items:center; gap:7px;}
.focus-row .fval{font-weight:800; font-size:14px; color:var(--ink); text-align:right;}
.focus-note{margin-top:16px; background:var(--sun-tint); border-radius:14px; padding:14px 16px; display:flex; align-items:center; gap:10px; font-weight:700; font-size:13px; color:#7A5400;}
.focus-note .dot{width:8px; height:8px; border-radius:50%; background:var(--sun-dark); flex-shrink:0;}

/* ---------- GRIDS / CARDS ---------- */
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:900px){ .grid-4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .grid-4{grid-template-columns:1fr;} }
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){ .grid-3{grid-template-columns:1fr;} }
.grid-5{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
@media(max-width:900px){ .grid-5{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .grid-5{grid-template-columns:1fr;} }

.info-card{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:26px 24px;}
.info-card h3{font-weight:800; font-size:16.5px; margin-bottom:8px;}
.info-card p{font-size:13.5px; color:var(--muted); line-height:1.6;}

.step-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px 16px; text-align:center;}
.step-card .num{font-weight:800; font-size:14.5px; margin-bottom:8px; color:var(--ink);}
.step-card p{font-size:12.5px; color:var(--muted); line-height:1.5;}

.note-bar{margin-top:20px; background:var(--card); border:1px dashed var(--sky-deep); border-radius:16px; padding:18px 24px; font-size:14px; color:#2C445C;}

.split{display:grid; grid-template-columns:1fr 360px; gap:32px; align-items:start;}
@media(max-width:900px){ .split{grid-template-columns:1fr;} }

.check-card{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:28px 26px;}
.check-card h4{font-weight:800; font-size:15px; margin-bottom:14px;}
.check-row{display:flex; gap:10px; padding:10px 0; border-top:1px solid var(--line); font-size:13.5px; color:var(--ink); align-items:flex-start; line-height:1.4;}
.check-row:first-of-type{border-top:none; padding-top:0;}
.check-mark{color:var(--sky-dark); font-weight:800; flex-shrink:0; margin-top:1px;}

.zone-grid .check-card h4{font-size:16px;}

.check-2col{display:grid; grid-template-columns:1fr 1fr; gap:0 40px; background:var(--card); border:1px solid var(--line); border-radius:22px; padding:6px 28px;}
@media(max-width:720px){ .check-2col{grid-template-columns:1fr; padding:6px 24px;} }
.check-2col .check-row:nth-child(-n+2){border-top:none;}
@media(max-width:720px){ .check-2col .check-row:nth-child(2){border-top:1px solid var(--line);} }

.text-block h2{margin-bottom:14px;}
.text-block p{font-size:15px; color:var(--muted); margin-bottom:14px; line-height:1.7;}
.text-block p:last-child{margin-bottom:0;}
.text-block .cta-stack{display:flex; flex-direction:column; gap:12px; align-items:flex-start; margin-top:22px;}

/* ---------- FINAL (night console) ---------- */
.final{background:var(--night-deep); color:#fff; text-align:center; padding:70px 0; position:relative; overflow:hidden;}
.final h2{font-size:28px; line-height:1.32; margin:0 auto 14px; max-width:660px; position:relative; z-index:2;}
@media(max-width:720px){ .final h2{font-size:21px;} }
.final p{color:var(--night-muted); font-size:15.5px; margin-bottom:28px; max-width:560px; margin-left:auto; margin-right:auto; position:relative; z-index:2;}
.final-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; z-index:2;}
.final-ctas .btn.ghost{color:#fff; border-color:var(--night-line);}


/* ---------- NAV ---------- */

.logo-col{display:flex; flex-direction:column; gap:0;}
.nav-sub{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--muted-soft); margin-top:-2px; letter-spacing:.02em;}
@media(max-width:900px){ .navlinks{display:none;} }

/* ---------- HERO ---------- */
.lead{font-size:15.5px; color:var(--muted); max-width:470px; margin-bottom:16px;}
.who-fits{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; margin-bottom:26px;}


/* ---------- FOCUS CARD ---------- */
.focus-row .flabel{color:var(--muted-soft); flex-shrink:0;}

/* ---------- GRIDS / CARDS ---------- */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media(max-width:820px){ .grid-2{grid-template-columns:1fr;} }


.num-badge{
  width:38px; height:38px; border-radius:12px; background:linear-gradient(135deg, var(--night), var(--sun-dark));
  color:#fff; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}

.final-light{background:var(--card); border:1px solid var(--line); border-radius:28px; padding:52px 44px; text-align:center;}
.final-light h2{font-weight:900; font-size:28px; margin-bottom:14px;}
@media(max-width:720px){ .final-light h2{font-size:21px;} .final-light{padding:36px 26px;} }
.final-light p{color:var(--muted); font-size:15px; max-width:600px; margin:0 auto 26px;}
.final-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

.footer-light{background:var(--sky); border-top:1px solid var(--line); padding:28px 0; color:var(--muted-soft); font-size:13px;}
.footer-light .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.footer-light a{color:var(--ink);}


/* ---------- HERO ---------- */
.who-fits{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px;}


/* ---------- REQUISITES ---------- */
.req-card{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:28px 26px;}
.req-card h4{font-weight:800; font-size:15.5px; margin-bottom:16px;}
.req-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:11px 0; border-top:1px solid var(--line); font-size:13.5px;}
.req-row:first-of-type{border-top:none;}
.req-row .rlabel{color:var(--muted-soft); flex-shrink:0;}
.req-row .rval{font-family:'IBM Plex Mono'; font-size:13px; color:var(--ink); text-align:right;}


/* ---------- DOCUMENT LAYOUT ---------- */
.doc-layout{display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:start;}
@media(max-width:900px){ .doc-layout{grid-template-columns:1fr;} }

.doc-toc{position:sticky; top:96px; display:flex; flex-direction:column; gap:10px;}
@media(max-width:900px){ .doc-toc{position:static; flex-direction:row; flex-wrap:wrap;} }
.doc-toc a{
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 18px;
  font-weight:700; font-size:13.5px; color:var(--ink); transition:all .15s ease;
}
.doc-toc a:hover{border-color:var(--sky-deep); color:var(--sky-dark);}
.doc-toc a.active{background:var(--sun-tint); border-color:var(--sun-dark); color:#7A5400;}

.doc-body{background:var(--card); border:1px solid var(--line); border-radius:28px; padding:48px 52px;}
@media(max-width:720px){ .doc-body{padding:32px 24px;} }
.doc-title{font-weight:800; font-size:32px; margin-bottom:14px;}
@media(max-width:720px){ .doc-title{font-size:25px;} }
.doc-sub{font-size:18px; color:var(--ink); margin-bottom:22px; font-weight:800; line-height:1.35;}
.doc-intro p{font-size:14.5px; color:var(--muted); margin-bottom:10px; line-height:1.7;}
.doc-intro{margin-bottom:34px; padding-bottom:30px; border-bottom:1px solid var(--line);}
.doc-sec{margin-top:34px; scroll-margin-top:96px;padding:unset}
.doc-sec:first-of-type{margin-top:0;}
.doc-sec h3{font-weight:800; font-size:21px; margin-bottom:14px; color:var(--ink);}
.doc-sec p{font-size:14.5px; color:#2C445C; margin-bottom:12px; line-height:1.7;}
.doc-sec ul{margin:4px 0 16px 20px;}
.doc-sec li{font-size:14.5px; color:#2C445C; margin-bottom:6px; line-height:1.6;}
.doc-sec b{color:var(--ink); font-weight:800;}
.doc-req{background:var(--sky-dim); border-radius:16px; padding:22px 24px; font-family:'IBM Plex Mono'; font-size:13px; color:var(--ink); line-height:2;}


.weather-footer{background:var(--night-deep, #071A30); color:rgba(255,255,255,.86); padding:34px 0; border-top:1px solid rgba(255,255,255,.14);}
.weather-footer__inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.weather-footer__brand{font-weight:900; letter-spacing:.02em;}
.weather-footer__nav{display:flex; gap:18px; flex-wrap:wrap; align-items:center; color:rgba(255,255,255,.72); font-weight:800; font-size:14px; position:static; top:auto; z-index:auto; padding:0; background:transparent; border-bottom:0; backdrop-filter:none; box-shadow:none;}
.weather-footer__nav a:hover{color:#fff;}
.weather-footer__meta{color:rgba(255,255,255,.52); font-size:13px;}
@media(max-width:720px){.weather-footer__inner{align-items:flex-start; flex-direction:column;} .weather-footer__nav{flex-direction:column; gap:10px;}}

.focus-row.is-active{
  background:var(--sky);
  border-color:var(--sky-deep);
}
.focus-row.is-active .fval{
  color:var(--sky-dark);
  font-weight:800;
}
.weather-legal-doc{
  padding-top:0;
}
.weather-legal-points{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.weather-legal-points p{
  background:var(--sky);
  border:1px solid var(--line);
  border-radius:14px;
  margin:0;
  padding:14px 16px;
}
.weather-scroll-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:45;
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:linear-gradient(145deg, var(--night), var(--sky-dark));
  color:#fff;
  box-shadow:0 16px 34px rgba(7,26,48,.28), 0 5px 0 var(--night-deep);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease, box-shadow .18s ease;
}
.weather-scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.weather-scroll-top:hover{
  box-shadow:0 18px 38px rgba(7,26,48,.34), 0 4px 0 var(--night-deep);
}
.weather-scroll-top svg{
  width:24px;
  height:24px;
}
@media(max-width:720px){
  .weather-scroll-top{
    right:18px;
    bottom:18px;
    width:52px;
    height:52px;
  }
}

/* extracted inline styles */
.weather-inline-23190a7f1c{width:110px; height:44px; top:160px; left:6%;}
.weather-inline-27231daefd{display:flex; align-items:center; gap:8px;}
.weather-inline-2734c0d9dd{display:flex; gap:20px;}
.weather-inline-4db17882b1{font-family:'Manrope'; font-weight:600; max-width:280px;}
.weather-inline-61874dc5d6{width:420px; height:420px; top:-140px; right:-60px;}
.weather-inline-6438beb825{text-decoration:none; cursor:pointer;}
.weather-inline-6c002e2180{margin-bottom:6px;}
.weather-inline-70f128106c{font-size:26px;}
.weather-inline-737c789b57{font-size:12.5px; color:var(--muted-soft); margin-top:18px; line-height:1.6;}
.weather-inline-77914d9135{font-family:'Manrope'; font-weight:700;}
.weather-inline-79a1c5a5db{margin-bottom:16px;}
.weather-inline-7c2d023723{font-size:13.5px; color:var(--muted); margin-top:16px; line-height:1.6;}
.weather-inline-88b9d5c614{margin-top:14px;}
.weather-inline-93fed3127f{padding-top:0;}
.weather-inline-9b4e4fed3d{margin-bottom:40px;}
.weather-inline-ca2388f029{width:160px; height:60px; top:60px; left:-40px;}
.weather-inline-ed19f3ccba{font-family:'Manrope'; font-weight:600;}

/* scoped fixes for partner CTA block */
.final-light .final-ctas .btn.ghost{
  color:var(--ink);
  border-color:var(--sky-dark);
  background:transparent;
}
.final-light .final-ctas .btn.ghost:hover{
  color:var(--sky-dark);
}
.weather-stack .info-card{
  box-shadow:0 18px 42px rgba(74,144,217,.1);
}
.weather-stack-tags{
  margin-top:12px;
}
.weather-stack-tags .tag-pill{
  color:var(--ink);
  background:var(--sky);
  border-color:var(--line);
}

/* animated forecast card */
.forecast-card{
  isolation:isolate;
}

@media(max-width:720px){
  .forecast-card{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:24px 20px;
    border-radius:22px;
    overflow:hidden;
    transform:none;
    zoom:1;
  }
  .forecast-today{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:14px;
    align-items:start;
  }
  .forecast-today > div:first-child{
    min-width:0;
  }
  .forecast-today .label{
    overflow-wrap:anywhere;
  }
  .forecast-today .big{
    gap:10px;
    min-height:56px;
  }
  .forecast-today .icon{
    min-width:42px;
    font-size:36px;
  }
  .sun-ring{
    left:-8px;
    top:-8px;
    width:54px;
    height:54px;
  }
  .forecast-today .temp{
    min-width:0;
    font-size:34px;
  }
  .uptime-badge{
    min-width:78px;
    padding:9px 10px;
  }
  .week-row{
    gap:6px;
  }
  .day{
    min-width:0;
    padding:9px 4px;
  }
  .day .v{
    font-size:9.5px;
    overflow-wrap:anywhere;
  }
}
@media(max-width:420px){
  .forecast-card{
    padding:22px 16px;
  }
  .forecast-today{
    grid-template-columns:1fr;
  }
  .uptime-badge{
    width:fit-content;
  }
}

.forecast-card::before{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 16% 24%, rgba(255,201,60,.18), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(74,144,217,.14), transparent 32%);
  opacity:.82;
  pointer-events:none;
  z-index:-1;
  transition:opacity .45s ease, transform .45s ease;
}
.forecast-card[data-weather-state="burst"]::before{
  opacity:1;
  transform:scale(1.015);
  background:
    radial-gradient(circle at 18% 22%, rgba(255,201,60,.12), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(155,143,224,.22), transparent 34%),
    radial-gradient(circle at 70% 80%, rgba(74,144,217,.14), transparent 32%);
}
.forecast-card .big,
.forecast-card .status,
.forecast-card .uptime-badge{
  transition:opacity .22s ease, transform .22s ease, color .35s ease, background .35s ease;
}
.forecast-card.is-changing .big,
.forecast-card.is-changing .status,
.forecast-card.is-changing .uptime-badge{
  opacity:.34;
  transform:translateY(4px);
}
.forecast-card.is-settling .icon{
  animation:weatherIconSettle .42s ease;
}
.forecast-card.is-settling .sun-ring{
  animation:weatherRingPulse .7s ease;
}
.forecast-today .big{
  min-height:68px;
}
.forecast-today .icon{
  min-width:54px;
  text-align:center;
  filter:drop-shadow(0 8px 14px rgba(255,201,60,.22));
}
.forecast-today .temp{
  min-width:150px;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.uptime-badge{
  min-width:92px;
  transition:opacity .22s ease, transform .22s ease, background .35s ease;
}
.forecast-card[data-weather-state="burst"] .uptime-badge{
  background:rgba(155,143,224,.18);
}
.forecast-card[data-weather-state="burst"] .uptime-badge .n{
  color:#6d63b8;
}
.day{
  cursor:pointer;
  transition:background .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
}
.day:hover{
  transform:translateY(-1px);
}
.day.active{
  box-shadow:inset 0 0 0 1px rgba(74,144,217,.08), 0 14px 30px rgba(74,144,217,.13);
  transform:translateY(-2px);
}
.day .i,
.day .v{
  transition:opacity .22s ease, transform .22s ease, color .28s ease;
}
.forecast-card.is-changing .day.active .i,
.forecast-card.is-changing .day.active .v{
  opacity:.5;
  transform:translateY(2px);
}
@keyframes weatherIconSettle{
  0%{transform:translateY(4px) scale(.96);}
  100%{transform:translateY(0) scale(1);}
}
@keyframes weatherRingPulse{
  0%{opacity:.45; transform:scale(.92);}
  70%{opacity:.9; transform:scale(1.08);}
  100%{opacity:1; transform:scale(1);}
}
@media(prefers-reduced-motion: reduce){
  .forecast-card::before,
  .forecast-card .big,
  .forecast-card .status,
  .forecast-card .uptime-badge,
  .day,
  .day .i,
  .day .v{
    transition:none;
    animation:none;
  }
}

.hero-sky + .problem{
  padding-top:52px;
  border-top:0;
}

/* request page */
.weather-request-page{
  background:var(--sky);
}
.weather-request-hero{
  padding-bottom:58px;
}
.weather-request-hero::before{
  content:none;
}
.weather-request-grid{
  align-items:start;
  padding-bottom:0;
}
.weather-request-checklist{
  margin-top:26px;
  max-width:620px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.76);
  padding:24px;
  box-shadow:0 18px 42px rgba(74,144,217,.12);
}
.weather-request-checklist strong{
  display:block;
  margin-bottom:12px;
  color:var(--ink);
  font-weight:900;
}
.weather-request-checklist ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.weather-request-checklist li{
  position:relative;
  padding-left:26px;
  color:var(--muted);
  line-height:1.55;
}
.weather-request-checklist li::before{
  content:'';
  position:absolute;
  width:10px;
  height:10px;
  left:2px;
  top:.62em;
  border-radius:50%;
  background:linear-gradient(135deg, var(--sun), var(--sky-dark));
  box-shadow:0 0 0 5px rgba(74,144,217,.11);
}
.weather-request-card{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(74,144,217,.16);
  border-radius:32px;
  padding:28px;
  box-shadow:0 28px 70px rgba(27,74,120,.18), 0 8px 0 rgba(255,255,255,.7) inset;
}
.weather-request-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.weather-request-card__head span{
  display:block;
  margin-bottom:5px;
  color:var(--sky-dark);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-request-card__head h2{
  margin:0;
  font-size:28px;
  line-height:1.1;
}
.weather-mini-forecast{
  flex:0 0 auto;
  min-width:82px;
  padding:14px 16px;
  border-radius:22px;
  background:var(--sky);
  text-align:center;
}
.weather-mini-forecast b{
  display:block;
  color:var(--sky-dark);
  font-size:24px;
  line-height:1;
}
.weather-mini-forecast small{
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
}
.weather-request-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:6px;
  margin-bottom:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--sky);
}
.weather-request-tabs button{
  border:0;
  border-radius:15px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  font-weight:900;
  padding:13px 14px;
  transition:background .18s ease, color .18s ease, box-shadow .18s ease;
}
.weather-request-tabs button.is-active{
  background:#fff;
  color:var(--ink);
  box-shadow:0 10px 24px rgba(74,144,217,.12);
}
.weather-request-panel{
  display:grid;
  gap:10px;
}
.weather-request-panel[hidden],
.qelk-suggest-panel[hidden],
.weather-request-note[hidden],
.weather-request-status[hidden],
.weather-request-counters[hidden],
.weather-request-results[hidden],
.weather-audit-performance[hidden]{
  display:none !important;
}
.weather-request-panel label{
  margin-top:6px;
  color:var(--ink);
  font-weight:900;
  font-size:14px;
}
.weather-request-panel input,
.weather-request-panel textarea{
  width:100%;
  min-height:52px;
  border:1px solid rgba(74,144,217,.24);
  border-radius:17px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:700;
  padding:14px 16px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.weather-request-panel select{
  width:100%;
  min-height:52px;
  border:1px solid rgba(74,144,217,.24);
  border-radius:17px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:700;
  padding:14px 16px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px 20px;
}


.weather-request-panel textarea{
  resize:vertical;
  min-height:108px;
  line-height:1.45;
}
.weather-request-panel input:focus,
.weather-request-panel select:focus,
.weather-request-panel textarea:focus{
  border-color:var(--sky-dark);
  box-shadow:0 0 0 4px rgba(74,144,217,.13);
}
.weather-request-panel [aria-invalid="true"]{
  border-color:#C64D4D;
  box-shadow:0 0 0 4px rgba(198,77,77,.12);
}
.weather-request-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.weather-request-note,
.weather-request-policy{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.weather-request-policy{
  margin-top:10px;
}
.weather-request-policy a{
  color:var(--sky-dark);
  font-weight:900;
}
.weather-request-submit{
  width:100%;
  justify-content:center;
  margin-top:18px;
}
.weather-request-submit:disabled,
.weather-counter-button:disabled{
  cursor:progress;
  opacity:.66;
}
.weather-request-status,
.weather-request-counters{
  margin-top:14px;
  border:1px solid rgba(74,144,217,.18);
  border-radius:18px;
  background:var(--sky);
  color:var(--muted);
  padding:14px 16px;
  font-weight:800;
  line-height:1.5;
}
.weather-request-status.is-error{
  border-color:rgba(198,77,77,.28);
  background:#FFF2F2;
  color:#A13C3C;
}
.weather-request-counters{
  display:grid;
  gap:10px;
}
.weather-request-counters strong{
  color:var(--ink);
}
.weather-counter-button{
  width:100%;
  border:1px solid rgba(74,144,217,.28);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  font:inherit;
  font-weight:900;
  padding:13px 14px;
  text-align:left;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.weather-counter-button:hover{
  border-color:var(--sky-dark);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(74,144,217,.12);
}
.qelk-suggest-field{
  position:relative;
}
.qelk-suggest-panel{
  position:absolute;
  z-index:20;
  left:0;
  right:0;
  top:calc(100% + 8px);
  display:grid;
  gap:6px;
  max-height:310px;
  overflow:auto;
  padding:8px;
  border:1px solid rgba(74,144,217,.2);
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 48px rgba(27,74,120,.18);
}
.qelk-suggest-option{
  width:100%;
  display:grid;
  gap:3px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font:inherit;
  padding:11px 12px;
  text-align:left;
}
.qelk-suggest-option:hover{
  background:var(--sky);
}
.qelk-suggest-option strong{
  font-size:14px;
}
.qelk-suggest-option span{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.weather-request-results{
  padding:0 0 82px;
}
.weather-results-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border:1px solid rgba(74,144,217,.16);
  border-radius:32px;
  background:#fff;
  padding:26px 30px;
  box-shadow:0 24px 60px rgba(27,74,120,.14);
}
.weather-results-summary span{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-weight:800;
}
.weather-results-summary h2{
  margin:0;
  font-size:34px;
}
.weather-results-summary strong{
  flex:0 0 auto;
  min-width:116px;
  padding:18px;
  border-radius:24px;
  background:var(--sky);
  color:var(--sky-dark);
  font-size:30px;
  text-align:center;
}
.weather-results-metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin:18px 0;
}
.weather-metric,
.weather-audit-finding,
.weather-audit-perf-card{
  border:1px solid rgba(74,144,217,.16);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(27,74,120,.1);
}
.weather-metric{
  padding:20px;
}
.weather-metric span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-metric b{
  color:var(--ink);
  font-size:34px;
}
.weather-metric.is-risk b{color:#B94A48;}
.weather-metric.is-attention b{color:#B08118;}
.weather-metric.is-info b{color:var(--sky-dark);}
.weather-metric.is-ok b{color:#2C7A58;}
.weather-audit-findings{
  display:grid;
  gap:14px;
}
.weather-audit-finding{
  padding:22px;
  border-left:6px solid var(--sky-dark);
}
.weather-audit-finding > span{
  display:inline-flex;
  margin-bottom:10px;
  border-radius:999px;
  background:var(--sky);
  color:var(--sky-dark);
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-audit-finding h3{
  margin:0 0 8px;
}
.weather-audit-finding p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.weather-audit-finding .weather-audit-recommendation{
  margin-top:12px;
  color:var(--ink);
  font-weight:800;
}
.weather-audit-finding.is-risk{border-left-color:#B94A48;}
.weather-audit-finding.is-warning{border-left-color:#D4A62A;}
.weather-audit-finding.is-ok{border-left-color:#2C7A58;}
.weather-audit-performance{
  margin-top:30px;
}
.weather-audit-performance h3{
  margin:0 0 16px;
  font-size:28px;
}
.weather-audit-performance-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.weather-audit-perf-card{
  overflow:hidden;
  padding:18px;
}
.weather-audit-perf-card img{
  width:100%;
  display:block;
  margin:14px 0;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--sky);
}
.weather-audit-perf-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  color:var(--muted);
  font-weight:900;
}
.weather-audit-perf-head strong{
  color:var(--sky-dark);
}
.weather-audit-perf-card h4{
  margin:10px 0 14px;
  font-size:20px;
}
.weather-audit-perf-list{
  display:grid;
  gap:9px;
}
.weather-audit-perf-metric{
  display:grid;
  grid-template-columns:12px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border-radius:16px;
  background:var(--sky);
}
.weather-audit-perf-metric > span{
  width:12px;
  height:12px;
  margin-top:5px;
  border-radius:50%;
  background:var(--sky-dark);
}
.weather-audit-perf-metric.is-risk > span{background:#B94A48;}
.weather-audit-perf-metric.is-warning > span{background:#D4A62A;}
.weather-audit-perf-metric.is-ok > span{background:#2C7A58;}
.weather-audit-perf-metric strong{
  display:block;
  color:var(--ink);
  font-size:14px;
}
.weather-audit-perf-metric small{
  color:var(--muted);
  line-height:1.45;
}

/* ---------- SAVED REPORT ---------- */
.weather-report-page{
  background:var(--sky);
}
.weather-report-page main{
  background:var(--sky);
}
.weather-report-page .qma-container{
  max-width:1140px;
  margin:0 auto;
  padding:0 28px;
  position:relative;
  z-index:2;
}
.weather-report-hero{
  overflow:hidden;
  padding:70px 0 64px;
}
.weather-report-hero .hero-grid{
  align-items:center;
  padding:0;
}
.weather-report-hero .lead{
  max-width:600px;
}
.weather-report-hero .qelk-report-highlight{
  max-width:560px;
  margin-top:26px;
}
.weather-report-page .qma-section{
  padding:72px 0;
}
.weather-report-page .qma-section-accent{
  background:var(--sky-dim);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.weather-report-page .qma-two-col,
.weather-report-page .qma-grid-2,
.weather-report-page .qma-grid-3,
.weather-report-page .qma-grid-4{
  display:grid;
  gap:18px;
}
.weather-report-page .qma-two-col{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:40px;
}
.weather-report-page .qma-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.weather-report-page .qma-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.weather-report-page .qma-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.weather-report-page .qma-card{
  border:1px solid rgba(74,144,217,.16);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(27,74,120,.1);
  padding:24px;
}
.weather-report-page .qma-card,
.weather-report-page .forecast-card{
  color:var(--ink);
}
.weather-report-page .qma-card h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:20px;
  line-height:1.25;
}
.weather-report-page .qma-card p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.weather-report-page .qma-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  border-radius:999px;
  background:#fff;
  color:var(--sky-dark);
  padding:7px 16px;
  font-size:13px;
  font-weight:900;
}
.weather-report-page .qma-lead,
.weather-report-page .qma-section-lead{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.weather-report-page .qma-lead{
  max-width:580px;
  margin:0 0 24px;
}
.weather-report-page .qma-section-lead{
  max-width:760px;
  margin:12px 0 0;
}
.weather-report-page .weather-report-hero h1{
  max-width:720px;
  font-size:42px;
  line-height:1.15;
  margin-bottom:20px;
}
.weather-report-page h2{
  margin:0;
  font-size:30px;
  line-height:1.2;
}
.weather-report-page .qma-tags,
.weather-report-page .qelk-section-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.weather-report-page .qma-tags{
  margin-top:22px;
}
.weather-report-page .qma-tags span{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted);
  padding:8px 14px;
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
}
.weather-report-page .qelk-section-actions{
  margin-top:22px;
}
.weather-report-page .qma-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  padding:12px 22px;
}
.weather-report-page .qma-button-primary{
  background:var(--sky-deep);
  color:#fff;
  box-shadow:0 6px 0 var(--sky-dark);
}
.weather-report-page .qma-button-ghost{
  border:2px solid var(--line);
  background:#fff;
  color:var(--ink);
}
.weather-report-page .qma-button:disabled{
  cursor:wait;
  opacity:.62;
}
.weather-report-page .qelk-audit-status{
  margin-top:14px;
  border:1px solid rgba(74,144,217,.22);
  border-radius:16px;
  background:#fff;
  color:var(--muted);
  padding:12px 14px;
  font-weight:800;
}
.weather-report-page .qelk-audit-status.is-error{
  border-color:rgba(198,77,77,.28);
  background:#fff2f2;
  color:#a13c3c;
}
.weather-report-page .qma-check-list{
  display:grid;
  gap:10px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.weather-report-page .qma-check-list li{
  position:relative;
  padding-left:24px;
  color:var(--muted);
  line-height:1.55;
}
.weather-report-page .qma-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.52em;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--sun);
  box-shadow:0 0 0 5px rgba(74,144,217,.13);
}
.weather-report-page .qelk-report-highlight{
  max-width:560px;
  margin-top:28px;
  border:1px solid rgba(74,144,217,.2);
  border-radius:24px;
  background:linear-gradient(135deg,#fff 0%,var(--sky) 58%,rgba(255,201,60,.28) 100%);
  padding:24px;
  box-shadow:0 24px 60px rgba(27,74,120,.13);
}
.weather-report-page .qelk-report-highlight span,
.weather-report-page .qelk-report-tariff-summary span,
.weather-report-page .qelk-report-tariff-card span,
.weather-report-page .qelk-report-tariff-cta span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-report-page .qelk-report-highlight strong,
.weather-report-page .qelk-report-tariff-summary strong{
  display:block;
  margin-top:8px;
  color:var(--ink);
  font-size:clamp(32px,4vw,52px);
  line-height:1;
}
.weather-report-page .qelk-report-tariff-price{
  margin:10px 0 0;
  color:var(--ocean);
  font-size:20px;
  font-weight:900;
  line-height:1.2;
}
.weather-report-page .qelk-report-hero-preview{
  overflow:hidden;
  padding:24px;
}
.weather-report-page .qelk-report-hero-preview span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-report-page .qelk-report-hero-preview img{
  width:100%;
  margin-top:12px;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:top center;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--sky);
}
.weather-report-page .qelk-report-tariff-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:28px;
  align-items:end;
  margin-bottom:28px;
}
.weather-report-page .qelk-report-tariff-summary{
  background:linear-gradient(135deg,#fff 0%,var(--sky) 60%,rgba(255,201,60,.25) 100%);
}
.weather-report-page .qelk-report-tariff-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.weather-report-page .qelk-report-tariff-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.weather-report-page .qelk-report-tariff-card h3{
  font-size:24px;
}
.weather-report-page .qelk-report-tariff-card sup,
.weather-report-page .qelk-report-footnote sup{
  font-size:.72em;
  line-height:0;
}
.weather-report-page .qelk-report-footnote{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.weather-report-page .qelk-report-reason-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.72fr);
  gap:18px;
  margin-top:18px;
}
.weather-report-page .qelk-report-tariff-cta{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.weather-report-page .qelk-report-tariff-cta .qma-button{
  margin-top:auto;
}
.weather-report-page .qelk-audit-metrics{
  margin:24px 0;
}
.weather-report-page .qelk-audit-metric-card{
  display:grid;
  gap:8px;
}
.weather-report-page .qelk-audit-metric-card span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-report-page .qelk-audit-metric-card b{
  color:var(--ink);
  font-size:36px;
}
.weather-report-page .qelk-audit-metric-card.is-risk b{color:#B94A48;}
.weather-report-page .qelk-audit-metric-card.is-attention b{color:#B08118;}
.weather-report-page .qelk-audit-metric-card.is-info b{color:var(--sky-dark);}
.weather-report-page .qelk-audit-metric-card.is-ok b{color:#2C7A58;}
.weather-report-page .qelk-audit-findings{
  display:grid;
  gap:14px;
}
.weather-report-page .qelk-audit-finding{
  border-left:6px solid var(--sky-dark);
}
.weather-report-page .qelk-audit-finding.is-risk{border-left-color:#B94A48;}
.weather-report-page .qelk-audit-finding.is-warning{border-left-color:#D4A62A;}
.weather-report-page .qelk-audit-finding.is-ok{border-left-color:#2C7A58;}
.weather-report-page .qelk-audit-finding > span{
  display:inline-flex;
  margin-bottom:10px;
  border-radius:999px;
  background:var(--sky);
  color:var(--sky-dark);
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.weather-report-page .qelk-audit-recommendation{
  margin-top:12px!important;
  color:var(--ink)!important;
  font-weight:800;
}
.weather-report-page .qelk-audit-performance{
  margin-top:32px;
}
.weather-report-page .qelk-audit-performance h3{
  margin:0 0 18px;
  font-size:28px;
}
.weather-report-page .qelk-audit-performance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.weather-report-page .qelk-audit-perf-card{
  overflow:hidden;
  padding:24px;
}
.weather-report-page .qelk-audit-perf-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  color:var(--muted);
  font-weight:900;
}
.weather-report-page .qelk-audit-perf-head strong{
  color:var(--sky-dark);
  font-size:22px;
}
.weather-report-page .qelk-audit-shot{
  margin:14px 0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--sky);
}
.weather-report-page .qelk-audit-shot--desktop{
  aspect-ratio:16/9;
}
.weather-report-page .qelk-audit-shot--mobile{
  width:100%;
  max-width:520px;
  height:640px;
  max-height:72vh;
  margin-left:auto;
  margin-right:auto;
}
.weather-report-page .qelk-audit-shot img{
  width:100%;
  height:100%;
  margin:0;
  border:0;
  border-radius:0;
  object-fit:cover;
  object-position:top center;
  background:var(--sky);
}
.weather-report-page .qelk-audit-perf-card h4{
  margin:12px 0 14px;
  font-size:20px;
}
.weather-report-page .qelk-audit-perf-list{
  display:grid;
  gap:10px;
}
.weather-report-page .qelk-audit-perf-metric{
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  gap:12px;
  align-items:start;
  border-radius:16px;
  background:var(--sky);
  padding:13px 14px;
}
.weather-report-page .qelk-audit-perf-metric > span{
  width:12px;
  height:12px;
  margin-top:6px;
  border-radius:999px;
  background:var(--sky-dark);
}
.weather-report-page .qelk-audit-perf-metric.is-ok > span{background:#2C7A58;}
.weather-report-page .qelk-audit-perf-metric.is-warning > span{background:#D4A62A;}
.weather-report-page .qelk-audit-perf-metric.is-risk > span{background:#B94A48;}
.weather-report-page .qelk-audit-perf-metric strong{
  display:block;
  color:var(--ink);
  font-size:14.5px;
  line-height:1.35;
}
.weather-report-page .qelk-audit-perf-metric small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.weather-report-final{
  background:var(--night-deep);
  color:#fff;
  text-align:center;
  padding:64px 0;
  position:relative;
  overflow:hidden;
}
.weather-report-final h2{
  max-width:680px;
  margin:0 auto 14px;
  color:#fff;
}
.weather-report-final p{
  max-width:560px;
  margin:0 auto 26px;
  color:var(--night-muted);
  font-size:15.5px;
}
.weather-report-final .qelk-audit-status{
  max-width:560px;
  margin:18px auto 0;
  text-align:left;
}
@media print{
  nav,
  .weather-footer,
  .weather-scroll-top,
  .weather-report-final,
  .weather-report-page .qelk-section-actions{
    display:none!important;
  }
  .weather-report-page,
  .weather-report-hero,
  .weather-report-page .qma-section,
  .weather-report-page .qma-section-accent{
    background:#fff!important;
  }
  .weather-report-page .qma-card{
    box-shadow:none;
    break-inside:avoid;
  }
}
@media(max-width:980px){
  .weather-report-hero .hero-grid,
  .weather-report-page .qma-two-col,
  .weather-report-page .qelk-report-tariff-head,
  .weather-report-page .qelk-report-reason-grid,
  .weather-report-page .qelk-audit-performance-grid{
    grid-template-columns:1fr;
  }
  .weather-report-page .qma-grid-4,
  .weather-report-page .qelk-report-tariff-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .weather-report-page .qma-container{
    padding:0 20px;
  }
  .weather-report-hero,
  .weather-report-page .qma-section{
    padding:52px 0;
  }
  .weather-report-page .weather-report-hero h1{
    font-size:30px;
  }
  .weather-report-page .qma-grid-2,
  .weather-report-page .qma-grid-3,
  .weather-report-page .qma-grid-4,
  .weather-report-page .qelk-report-tariff-grid{
    grid-template-columns:1fr;
  }
  .weather-report-page .qma-card{
    border-radius:20px;
    padding:20px;
  }
  .weather-report-page .qelk-audit-shot--mobile{
    height:520px;
    max-height:70vh;
  }
}

/* ---------- CALCULATOR RESULT PRESENTATION ---------- */
.pricing .calc-grid{
  align-items:stretch;
}
.pricing .calc-result-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.pricing .calc-context,
.pricing .calc-fit{
  margin:2px 0 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  padding:16px;
}
.pricing .calc-context > span,
.pricing .calc-fit > span{
  display:block;
  margin-bottom:10px;
  color:#BFD4EA;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.pricing .calc-context ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.pricing .calc-context li{
  color:#fff;
  font-size:13.5px;
  line-height:1.4;
}
.pricing .calc-fit p{
  margin:0;
  color:#DDEAF7;
  font-size:13.5px;
  line-height:1.55;
}
.pricing .calc-tier-note{
  margin-top:auto;
}
.pricing .calc-result-card .p-cta{
  margin-top:0;
}

/* ---------- MOBILE OVERFLOW GUARD ---------- */
html{
  max-width:100%;
  overflow-x:clip;
}
@supports not (overflow:clip){
  html{
    overflow-x:hidden;
  }
}
.hero-sky,
.pricing,
main{
  max-width:100%;
}
@media(max-width:720px){
  .hero-sky{
    overflow:hidden;
  }
  nav .wrap{
    min-width:0;
  }
  .logo{
    min-width:0;
    flex-shrink:1;
  }
  .btn.small{
    flex-shrink:0;
    padding-left:16px;
    padding-right:16px;
    white-space:nowrap;
  }
  .pricing .wrap,
  .pricing .console-panel,
  .pricing .calc-grid,
  .pricing .calc-questions,
  .pricing .calc-q,
  .pricing .calc-result-card{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .pricing .console-panel{
    overflow:hidden;
  }
  .pricing .console-head,
  .pricing .calc-opt,
  .pricing .calc-result-card .p-tier{
    min-width:0;
  }
  .pricing .console-head .label,
  .pricing .calc-q-title,
  .pricing .calc-opt span,
  .pricing .calc-context li,
  .pricing .calc-fit p,
  .pricing .calc-tier-note{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .pricing .calc-q-title{
    white-space:normal;
    border-radius:18px;
  }
  .pricing .calc-opt{
    align-items:flex-start;
  }
  .pricing .calc-opt input{
    margin-top:2px;
  }
  .pricing .calc-result-card .p-tier{
    flex-wrap:wrap;
  }
}
@media(max-width:960px){
  .weather-request-grid{
    grid-template-columns:1fr;
  }
  .weather-results-metrics,
  .weather-audit-performance-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:640px){
  .weather-request-hero{
    padding:46px 0 58px;
  }
  .weather-request-card,
  .weather-request-checklist,
  .weather-results-summary{
    border-radius:24px;
    padding:20px;
  }
  .weather-request-card__head,
  .weather-results-summary{
    flex-direction:column;
    align-items:flex-start;
  }
  .weather-request-tabs,
  .weather-request-fields,
  .weather-results-metrics,
  .weather-audit-performance-grid{
    grid-template-columns:1fr;
  }
  .weather-results-summary h2{
    font-size:26px;
  }
}

/* ---------- STICKY FOOTER ---------- */
html{
  min-height:100%;
}
body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body > main{
  flex:1 0 auto;
}
.weather-footer{
  margin-top:auto;
  flex-shrink:0;
}

body.is-pdf-export .qelk-section-actions,
body.is-pdf-export [data-report-share-status],
body.is-pdf-export .weather-scroll-top{
  display:none!important;
}
body.is-pdf-export.weather-report-page{
  font-size:14px;
  line-height:1.45;
}
body.is-pdf-export.weather-report-page nav .btn,
body.is-pdf-export.weather-report-page .weather-footer,
body.is-pdf-export.weather-report-page .weather-report-final,
body.is-pdf-export.weather-report-page .qelk-report-tariff-cta{
  display:none!important;
}
body.is-pdf-export.weather-report-page .wrap,
body.is-pdf-export.weather-report-page .qma-container{
  max-width:none;
  width:100%;
  padding-left:34px;
  padding-right:34px;
}
body.is-pdf-export.weather-report-page nav{
  position:static;
  padding:18px 0;
}
body.is-pdf-export.weather-report-page .weather-report-hero{
  padding:38px 0 32px;
}
body.is-pdf-export.weather-report-page .weather-report-hero h1{
  font-size:38px;
  line-height:1.08;
  margin-bottom:14px;
}
body.is-pdf-export.weather-report-page .lead,
body.is-pdf-export.weather-report-page .qma-lead,
body.is-pdf-export.weather-report-page .qma-section-lead{
  font-size:14px;
  line-height:1.5;
}
body.is-pdf-export.weather-report-page .qelk-report-highlight{
  margin-top:18px;
  padding:18px;
  border-radius:20px;
}
body.is-pdf-export.weather-report-page .qelk-report-highlight strong,
body.is-pdf-export.weather-report-page .qelk-report-tariff-summary strong{
  font-size:34px;
}
body.is-pdf-export.weather-report-page .qelk-report-hero-preview,
body.is-pdf-export.weather-report-page .qma-card,
body.is-pdf-export.weather-report-page .qelk-report-tariff-card,
body.is-pdf-export.weather-report-page .qelk-report-tariff-cta,
body.is-pdf-export.weather-report-page .qelk-audit-metric-card,
body.is-pdf-export.weather-report-page .qelk-audit-finding,
body.is-pdf-export.weather-report-page .qelk-audit-perf-card{
  break-inside:avoid;
  page-break-inside:avoid;
}
body.is-pdf-export.weather-report-page .qelk-report-hero-preview{
  padding:18px;
}
body.is-pdf-export.weather-report-page .qelk-report-hero-preview img{
  height:270px;
  aspect-ratio:auto;
}
body.is-pdf-export.weather-report-page .qma-section{
  padding:36px 0;
  break-inside:avoid;
  page-break-inside:avoid;
}
body.is-pdf-export.weather-report-page .qma-card{
  padding:18px;
  border-radius:20px;
  box-shadow:0 12px 28px rgba(27,74,120,.08);
}
body.is-pdf-export.weather-report-page h2,
body.is-pdf-export.weather-report-page h3,
body.is-pdf-export.weather-report-page .qma-badge{
  break-after:avoid;
  page-break-after:avoid;
}
body.is-pdf-export.weather-report-page h2{
  font-size:25px;
}
body.is-pdf-export.weather-report-page .qma-card h3,
body.is-pdf-export.weather-report-page .qelk-audit-perf-card h4{
  font-size:18px;
}
body.is-pdf-export.weather-report-page .qelk-audit-metric-card b{
  font-size:30px;
}
body.is-pdf-export.weather-report-page .qelk-report-tariff-head{
  gap:18px;
  margin-bottom:20px;
}
body.is-pdf-export.weather-report-page .qelk-report-tariff-grid{
  gap:12px;
}
body.is-pdf-export.weather-report-page .qelk-report-reason-grid,
body.is-pdf-export.weather-report-page .qelk-audit-performance-grid{
  gap:14px;
}
body.is-pdf-export.weather-report-page .qelk-report-reason-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.is-pdf-export.weather-report-page .weather-report-hero + .qma-section .qma-grid-4{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
body.is-pdf-export.weather-report-page .weather-report-hero + .qma-section .qma-card{
  padding:14px 16px;
}
body.is-pdf-export.weather-report-page .weather-report-hero + .qma-section .qma-card h3{
  font-size:15px;
  line-height:1.2;
}
body.is-pdf-export.weather-report-page .weather-report-hero + .qma-section .qma-card p{
  font-size:13px;
  line-height:1.35;
}
body.is-pdf-export.weather-report-page .qelk-audit-performance{
  margin-top:24px;
}
body.is-pdf-export.weather-report-page .qelk-audit-performance h3{
  font-size:24px;
}
body.is-pdf-export.weather-report-page .qelk-audit-perf-card{
  padding:18px;
}
body.is-pdf-export.weather-report-page .qelk-audit-shot--mobile{
  height:520px;
  max-height:none;
}
body.is-pdf-export.weather-report-page .qelk-audit-perf-metric{
  padding:10px 12px;
}
body.is-pdf-export.weather-report-page .qelk-audit-perf-metric strong{
  font-size:13.5px;
}
body.is-pdf-export.weather-report-page .qelk-audit-perf-metric small{
  font-size:12px;
}
