/* Public landing page: one visual language for all three analysis modules. */
.public-home { background: #f7f9fa; --max: 1200px; }
.public-home .site-header { background: rgba(255,255,255,.96); box-shadow: none; }
.public-home .hero { padding: 122px 32px 44px; background: radial-gradient(ellipse at 85% 12%,#dfedf8 0,transparent 48%),linear-gradient(130deg,#f6f9fc,#f0f6fc); }
.public-home .hero::before { display: none; }
.public-home .hero-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 56px; }
.public-home .hero h1 { max-width: 580px; text-wrap: balance; font-size: clamp(2.8rem,4.8vw,4.1rem); letter-spacing: -.045em; line-height: 1.09; }
.public-home .hero h1 em { color: var(--mv-blue); font-style: normal; }
.public-home .hero-lead { max-width: 505px; margin-top: 24px; font-size: 1.06rem; }
.public-home .eyebrow { color: var(--mv-blue); font-size: 11px; letter-spacing: .12em; }
.public-home .hero-actions { gap: 10px; margin-top: 28px; }
.public-home .button { border-radius: 9px; font-size: 13px; gap: 16px; }
.public-home .button.primary { background: var(--mv-navy); box-shadow: none; }
.public-home .button.primary:hover { background: #28536a; }
.home-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 25px; color: #5c738c; font-size: 11px; }
.home-trust span::before { content: '✓'; margin-right: 6px; color: var(--mv-blue); }
.insight-board { overflow: hidden; border: 1px solid var(--mv-line); border-radius: 18px; background: #fff; box-shadow: 0 20px 55px #243d4410; transform: none; }
.insight-board-head { display: flex; align-items: center; gap: 8px; padding: 18px 22px; color: #213e50; font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.insight-board-head > span:last-child { margin-left: auto; color: #70807f; font-weight: 500; letter-spacing: 0; }
.insight-status { width: 7px; height: 7px; border-radius: 50%; background: var(--mv-sky); }
.insight-map { position: relative; height: 166px; overflow: hidden; border-block: 1px solid #e2eae6; }
.insight-map svg { display: block; width: 100%; height: 100%; object-fit: cover; }
.insight-map-label { position: absolute; left: 15px; top: 13px; padding: 5px 9px; border-radius: 5px; background: #ffffffed; font-size: 11px; font-weight: 700; }
.insight-map small { position: absolute; bottom: 5px; right: 10px; color: #405d76; font-size: 9px; }
.rain { --accent: #3572ac; --tint: #edf4fc; }
.flood { --accent: var(--mv-blue); --tint: var(--mv-pale); }
.wind { --accent: var(--mv-blue); --tint: var(--mv-pale); }
.insight-row { display: flex; align-items: center; gap: 13px; padding: 15px 20px; border-bottom: 1px solid #edf0f2; text-decoration: none; transition: background .15s; }
.insight-row:hover { background: var(--tint); }
.insight-icon { display: grid; place-items: center; flex: 0 0 37px; height: 37px; border-radius: 10px; background: var(--tint); color: var(--accent); font-size: 25px; line-height: 1; }
.insight-row > div { min-width: 0; }
.insight-row strong { display: block; font-size: 14px; }
.insight-row div span { display: block; margin-top: 2px; color: #72808b; font-size: 11px; }
.insight-row b { margin-left: auto; color: var(--accent); font-size: 9px; white-space: nowrap; }
.insight-row b span { margin-left: 7px; }
.insight-board-foot { padding: 13px 16px; text-align: center; color: #75818d; font-size: 10px; background: #fafbfc; }
.public-home .section { max-width: 1264px; margin: 0 auto; padding: 65px 32px; }
.public-home h2 { font-size: clamp(1.9rem,3vw,2.65rem); letter-spacing: -.035em; line-height: 1.13; }
.home-section-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 65px; margin-bottom: 30px; }
.home-section-heading > p { max-width: 440px; color: #637180; font-size: 15px; }
.service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px; }
.service-card { display: flex; flex-direction: column; padding: 27px; border: 1px solid #dde5e8; border-radius: 14px; background: white; scroll-margin-top: 100px; }
.service-kicker { color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.service-symbol { display: grid; place-items: center; width: 48px; height: 48px; margin: 22px 0 18px; background: var(--tint); color: var(--accent); border-radius: 13px; font-size: 32px; line-height: 1; }
.service-card h3 { font-size: 1.25rem; letter-spacing: -.02em; }
.service-card p { margin-top: 12px; color: #637180; font-size: 14px; line-height: 1.7; }
.service-card ul { padding: 0; margin: 20px 0 25px; list-style: none; color: #40556a; font-size: 12px; }
.service-card li { margin-bottom: 8px; padding-left: 14px; position: relative; }
.service-card li::before { content: '·'; position: absolute; left: 0; color: var(--accent); font-weight: 900; }
.service-card > a { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e8edef; font-size: 12px; font-weight: 750; text-decoration: none; color: var(--accent); }
.public-home .button.light { background: #fff; color: #233e50; }
.public-home .process-section { background: transparent; }
.public-home .process-section::before { display: none; }
.home-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; padding-top: 10px; }
.home-process article { border-top: 1px solid var(--mv-line); padding-top: 22px; }
.home-process article > span { font-size: 12px; color: var(--mv-blue); }
.home-process h3 { margin: 12px 0; font-size: 17px; }
.home-process p { font-size: 14px; color: #637180; }
.public-home .products { border-top: 1px solid #e1e7eb; }
.public-home .section-head { margin-bottom: 28px; }
.public-home .section-head > p:not(.eyebrow) { max-width: 720px; font-size: 15px; }
.home-offer-label { margin-bottom: 20px; color: #667c8a; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.public-home .product-card { border-radius: 14px; box-shadow: none; }
.public-home .product-card.featured { border-color: #90b0c4; }
.public-home .license-cta { border-radius: 16px; grid-template-columns: 1.1fr .9fr; }
.home-hub-preview { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 32px; border: 1px solid #ffffff25; background: var(--mv-navy); border-radius: 12px; }
.home-hub-preview > span { color: var(--mv-sky); font-size: 11px; letter-spacing: .12em; font-weight: 800; }
.home-hub-preview h3 { color: white; font-size: 30px; line-height: 1.1; }
.home-hub-preview > div { display: flex; flex-wrap: wrap; gap: 7px; }
.home-hub-preview > div span { padding: 5px 8px; background: #ffffff12; border: 1px solid #ffffff20; border-radius: 5px; color: #fff; font-size: 11px; }
.public-home .home-hub-preview p { margin: 0; color: #d0dce2; font-size: 12px; }
.home-hub-preview a { color: #fff; font-size: 13px; text-underline-offset: 5px; }
.public-home .direct-view { background: #edf3f7; border-radius: 18px; }
.public-home .direct-view::before { display: none; }
.public-home .radolan-query > .button { -webkit-appearance:none; appearance:none; }
.public-home .address-input-control { position:relative; min-width:0; }
.public-home .address-input-control input { min-height:54px; text-overflow:ellipsis; }
.public-home .address-input-control:has(.address-activate:not([hidden])) input { padding-right:174px; }
.public-home .address-activate { position:absolute; top:5px; right:5px; bottom:5px; width:160px; border:1px solid var(--mv-blue); border-radius:7px; padding:0 8px; background:var(--mv-blue); color:#fff; font-family:inherit; line-height:1.2; font-size:12px; font-weight:600; cursor:pointer; }
.public-home .address-activate:hover { background:var(--mv-navy); border-color:var(--mv-navy); }
.public-home .address-activate[hidden] { display:none; }
.public-home .map-services { margin-top:-5px; padding:10px 0 0; border-top:1px solid var(--mv-line); }
.public-home .map-services p { margin:0 0 7px; color:var(--mv-muted); font-size:11px; line-height:1.5; }
.public-home .map-services .text-link,.public-home .map-services-active .text-link { font:inherit; font-size:12px; border:0; padding:6px 0; background:none; cursor:pointer; text-align:left; }
.public-home .map-services-active { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; font-size:11px; color:var(--mv-muted); }
.public-home .map-services-active[hidden],.public-home .map-services[hidden] { display:none; }
.public-home .is-overview-loading .map-loading { place-items:end; background:transparent; backdrop-filter:none; pointer-events:none; padding:12px; }
.public-home .is-overview-loading .map-loading-card { width:min(260px,100%); padding:12px; border:1px solid var(--mv-line); border-radius:10px; box-shadow:0 2px 12px #16264212; }
.public-home .is-overview-loading .map-loading-card strong { font-size:13px; margin:0; }
.public-home .is-overview-loading .map-loading-card p { font-size:11px; margin-top:5px; }
.public-home .is-overview-loading .map-loading-card > span,.public-home .is-overview-loading .map-loading-steps { display:none; }
.public-home .is-overview-loading .map-progress { height:3px; margin-top:8px; }
.public-home .direct-copy h2 { font-size: 2rem; }
.public-home .faq h2 { max-width: none; }
.public-home .faq details { border-radius: 10px; }
.public-home :is(section,article)[id] { scroll-margin-top: 95px; }
@media (max-width: 1180px) {
 .public-home .hero-grid { gap: 30px; }
 .public-home .hero h1 { font-size: 2.8rem; }
 .service-card { padding: 22px; }
}
@media (max-width: 900px) {
 .public-home .hero-grid { grid-template-columns: 1fr; max-width: 700px; }
 .public-home .hero h1 { max-width: 650px; font-size: 3.3rem; }
 .insight-board { transform: none; }
 .public-home .hero-lead { max-width: 650px; }
 .home-section-heading { gap: 28px; }
 .service-grid { grid-template-columns: 1fr; }
 .service-card { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 0 20px; }
 .service-kicker,.service-card > a { grid-column: 1/-1; }
 .service-symbol { grid-row: 2/5; margin-top: 18px; }
 .service-card h3 { margin-top: 18px; }
 .service-card ul { grid-column: 2; }
 .public-home .license-cta { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
 .public-home .hero { padding: 108px 20px 36px; }
 .public-home .hero h1 { font-size: clamp(1.85rem,8.8vw,2.4rem); }
 .public-home .hero-lead { font-size: 15px; }
 .public-home .hero-actions .button { width: 100%; }
 .public-home .header-cta { display: none; }
 .public-home .section { padding: 40px 20px; }
 .home-section-heading { grid-template-columns: 1fr; gap: 15px; }
 .home-process { grid-template-columns: 1fr; gap: 22px; }
 .insight-row { padding-inline: 13px; gap: 10px; }
 .insight-row b { font-size: 8px; }
 .insight-row div span { font-size: 10px; }
 .insight-map { height: 145px; }
 .public-home .direct-view { border-radius: 0; }
 .home-hub-preview { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .public-home { scroll-behavior: auto; } .public-home * { transition: none; } }

/* Compact question-led entry points keep the product choice easy to scan. */
.insight-icon svg { width: 25px; height: 25px; }
.public-home .service-top { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.public-home .service-top .service-symbol { flex-shrink: 0; width: 42px; height: 42px; margin: 0; }
.service-symbol svg { width: 27px; height: 27px; }
.public-home .service-card h3 { margin: 0; line-height: 1.3; }
.public-home .service-card { transition: border-color .2s, box-shadow .2s; }
.public-home .service-card:hover { border-color: #accae2; box-shadow: 0 8px 24px #16264208; }
@media (max-width: 900px) and (min-width: 641px) {
 .public-home .hero-grid { max-width: none; grid-template-columns: 1.1fr .9fr; gap: 24px; }
 .public-home .hero h1 { font-size: 2.8rem; }
 .insight-row b { display: none; }
 .insight-board-head { padding-inline: 16px; }
}
@media (max-width: 640px) {
 .public-home .hero-grid { gap: 28px; }
 .public-home .hero h1 { max-width: 100%; }
 .public-home .home-trust { gap: 8px 14px; }
 .insight-board .insight-map { height: 105px; }
 .insight-row { padding-block: 11px; }
 .insight-board-foot { padding: 11px; }
}
@media (prefers-reduced-motion: reduce) { .public-home .service-card { transition: none; } }
@media(max-width:640px) {
 .public-home .hero { padding-top: 108px; }
 .public-home .hero .eyebrow { font-size: 9px; letter-spacing: .07em; }
 .public-home .hero-lead { margin-top: 18px; }
 .public-home .hero-actions { margin-top: 20px; }
 .public-home .insight-board .insight-map,.public-home .insight-board-foot { display: none; }
 .public-home .insight-board-head { padding: 13px 16px; }
 .public-home .insight-row div span { font-size: 11px; }
 .public-home .direct-copy h2 { font-size: 1.75rem; }
 .public-home .service-card { padding: 22px; }
 .public-home .service-top { gap: 10px; margin-bottom: 16px; }
 .public-home .service-kicker { font-size: 9px; }
 .public-home .home-trust { margin-top: 18px; }
}

/* Original RADOLAN imagery, presented as one focused report preview. */
.showcase-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 22px; }
.radar-example,.report-explorer { min-width: 0; margin: 0; border: 1px solid var(--mv-line); border-radius: 16px; background: #fff; overflow: hidden; }
.radar-example { display: flex; flex-direction: column; }
.showcase-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 24px; border-bottom: 1px solid var(--mv-line); }
.showcase-card-head div > span { display: block; margin-bottom: 8px; color: var(--mv-blue); font-size: 10px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.showcase-card-head h3 { font-size: 21px; line-height: 1.2; margin: 0; }
.showcase-source { color: var(--mv-muted); font-size: 9px; }
.radar-example-stage { display: grid; place-items: center; flex: 1; padding: 18px; background: #edf3f7; }
.radar-example-stage img,.radar-example-stage canvas { display: block; max-width: 100%; width: auto; height: 440px; object-fit: contain; }
.report-showcase [hidden] { display: none !important; }
.radar-example-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--mv-line); font-size: 10px; color: var(--mv-muted); }
.radar-example-controls button { min-height: 36px; padding: 8px 10px; border: 1px solid var(--mv-line); border-radius: 7px; background: #fff; color: var(--mv-blue); font: inherit; font-weight: 700; cursor: pointer; }
.report-example-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 7px; margin: 18px 20px 0; background: #edf3f8; border-radius: 10px; }
.report-example-tabs button { min-width: 0; min-height: 42px; padding: 9px 6px; border: 0; border-radius: 7px; background: transparent; color: var(--mv-muted); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.report-example-tabs button[aria-selected="true"] { color: #fff; background: var(--mv-navy); box-shadow: 0 2px 7px #16264215; }
.report-example-panel { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: center; gap: 20px; padding: 24px; min-height: 485px; }
.report-example-copy > span { color: var(--mv-blue); font-size: 10px; }
.report-example-copy h4 { margin: 12px 0 16px; color: var(--mv-navy); font-size: 25px; line-height: 1.15; letter-spacing: -.03em; }
.report-example-copy p { color: var(--mv-muted); font-size: 13px; line-height: 1.7; }
.report-example-copy small { display: block; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--mv-line); font-size: 11px; line-height: 1.6; color: var(--mv-muted); }
.report-example-image { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; padding: 12px; border: 1px solid var(--mv-line); border-radius: 10px; background: #fff; color: var(--mv-blue); text-decoration: none; }
.report-example-image img { display: block; width: 100%; height: 370px; object-fit: contain; }
.report-example-image span { font-size: 11px; text-underline-offset: 4px; text-decoration: underline; }
.report-example-image:hover { border-color: var(--mv-sky); }
.showcase-footer { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 20px; }
.showcase-footer p { color: var(--mv-muted); font-size: 11px; line-height: 1.8; }
.showcase-footer a { flex-shrink: 0; font-size: 12px; }
@media(max-width:1000px) {
 .showcase-grid { grid-template-columns: minmax(0,1fr); }
 .radar-example-stage img,.radar-example-stage canvas { height: 400px; }
 .report-example-panel { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 0; }
 .report-example-image img { height: 400px; }
 .showcase-footer { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media(max-width:640px) {
 .showcase-card-head { padding: 20px; }
 .showcase-card-head h3 { font-size: 19px; }
 .radar-example-stage { padding: 12px; }
 .radar-example-stage img,.radar-example-stage canvas { width: 100%; height: auto; max-height: 430px; object-fit: contain; }
 .radar-example-controls { padding: 10px 14px; }
 .radar-example-controls button { min-height: 44px; }
 .report-example-tabs { margin: 14px 12px 0; padding: 4px; gap: 2px; }
 .report-example-tabs button { min-height: 44px; font-size: clamp(9px,2.65vw,11px); padding-inline: 2px; }
 .report-example-panel { grid-template-columns: minmax(0,1fr); padding: 20px; gap: 18px; }
 .report-example-copy h4 { font-size: 23px; margin: 8px 0 12px; }
 .report-example-copy h4 br { display: none; }
 .report-example-copy small { margin-top: 12px; padding-top: 12px; }
 .report-example-image { width: 100%; max-width: 360px; justify-self: center; }
 .report-example-image img { height: 370px; }
 .report-example-image span { display: flex; align-items: center; min-height: 32px; }
 .showcase-footer a { display: flex; align-items: center; min-height: 44px; }
}
