.weather-case{max-width:1440px;padding:80px clamp(40px,calc((100vw - 1110px)/2),165px) 80px;color:#000}
.weather-case h1,.weather-case h2,.weather-case h3{font-family:'Times New Roman',serif;font-weight:400}
.weather-case h1,.weather-case h2{font-size:44px;line-height:1.4;letter-spacing:-.02em}
.weather-case h3{font-size:32px;line-height:1.4;letter-spacing:-.02em}
.weather-case p,.weather-case li{font-size:24px;line-height:1.4;font-weight:400;color:#67707f}
.weather-case ul{margin:0;padding-left:36px}.weather-case dl{margin:0}.weather-case dd{margin:0}
.weather-case img{max-width:100%}.weather-back{margin-bottom:80px}
.weather-intro,.weather-section{display:flex;flex-direction:column;gap:60px;min-width:0}
.weather-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-top:-26px;color:#67707f}
.weather-meta>p{max-width:542px}.weather-meta dl{display:flex;gap:64px;flex-shrink:0;font-size:20px;line-height:1.4}
.weather-visual{display:block;width:100%;height:auto}.weather-section{margin-top:100px}
.weather-section>h2+p,.weather-section>h2+.weather-research-intro,.weather-section>h2+.weather-monetisation-copy{margin-top:-26px}
.weather-narrow{max-width:622px}.weather-mid,.weather-monetisation-copy{max-width:726px}
.weather-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,622px);gap:40px;min-width:0}
.weather-row>div{min-width:0}.weather-spaced-list li+li{margin-top:29px}
.weather-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.weather-stat{border:1px solid #d9d9d9;border-radius:20px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:60px;min-width:0}
.weather-stat .weather-stat-value{font-family:'Times New Roman',serif;font-size:44px;line-height:1.1;color:#000}
.weather-stat .weather-stat-label{font-size:20px;margin-top:6px}
.weather-percent .weather-stat{min-height:387px}.weather-percent .weather-stat-value{font-size:80px;line-height:1.4}.weather-percent .weather-stat-label{font-size:24px;color:#000;margin-top:0}
.weather-research-intro{display:flex;justify-content:space-between;gap:193px}.weather-research-intro>p:first-child{flex:1}.weather-research-intro>p:last-child{flex-shrink:0}
.weather-findings-heading{display:flex;justify-content:space-between;gap:24px}.weather-terrain .weather-stat{min-height:434px}.weather-planning .weather-stat{min-height:362px}
.weather-approach{display:flex;flex-direction:column;gap:34px}.weather-approach .weather-row{min-height:160px}.weather-approach-section>h2+.weather-approach{margin-top:-26px}
.tablet-opportunity-label{display:none}
.weather-placeholder{height:672px;width:100%;background:#d9d9d9}.weather-placeholder span{display:none}
.weather-monetisation-copy{display:flex;flex-direction:column;gap:40px}
.weather-mobile-only,.weather-research-mobile{display:none}
.weather-download{gap:4px;align-self:flex-start;font-size:12px;line-height:1.4}
.weather-download img{display:block;flex-shrink:0}
.weather-back-bottom{display:none}
@media(max-width:1000px){
 .weather-case{padding:60px 40px 40px}
 .weather-case h1,.weather-case h2{font-size:32px;line-height:1.4}.weather-case h3{font-size:28px;line-height:1.4}
 .weather-case p,.weather-case li{font-size:16px;line-height:1.4;color:#6b7280}
 .weather-back{font-size:16px;line-height:1.5;margin-bottom:32px}.weather-back span{font-size:24px}
 .weather-intro,.weather-section{gap:32px}.weather-section{margin-top:80px}
 .weather-meta{flex-direction:column;gap:32px;margin-top:0;color:#6b7280}.weather-meta>p{max-width:none}
 .weather-meta dl{gap:40px;font-size:14px;line-height:1.4}.weather-meta dl>div{display:flex;flex-direction:column;gap:4px}
 .weather-section>h2+p,.weather-section>h2+.weather-research-intro,.weather-section>h2+.weather-monetisation-copy,.weather-approach-section>h2+.weather-approach{margin-top:0}
 .weather-narrow,.weather-mid,.weather-monetisation-copy{max-width:none}
 .weather-row{display:flex;flex-direction:column;gap:32px}.weather-row ul{padding-left:24px}.weather-spaced-list li+li{margin-top:0}
 .weather-cards{gap:16px}.weather-stat{padding:20px;gap:20px}.weather-stat .weather-stat-value{font-size:24px;line-height:1.1}.weather-stat .weather-stat-label{font-size:14px;color:#000}
 .weather-percent .weather-stat{min-height:210px}.weather-percent .weather-stat-value{font-size:32px;line-height:1.4}.weather-percent .weather-stat-label{font-size:14px}
 .weather-terrain .weather-stat{min-height:223px}.weather-planning .weather-stat{min-height:219px}
 .weather-research-intro{gap:32px;flex-direction:column}.weather-findings-heading h3,.weather-findings-heading p{font-size:16px;line-height:1.4}
 .weather-approach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.weather-approach .weather-row{min-height:152px;border:1px solid #d9d9d9;border-radius:12px;padding:20px;gap:12px}.weather-approach .weather-row h3{font-size:24px}
 .opportunity-label{display:none}.tablet-opportunity-label{display:inline}
 .weather-placeholder{height:425px}.weather-screens{gap:32px}
 .weather-monetisation-copy{gap:0}.weather-monetisation h2{font-size:28px}
 .weather-monetisation-copy p{font-size:14px;line-height:1.4}
 .weather-back-bottom{display:inline-flex;font-size:16px;margin:32px 0 0}
}
@media(max-width:600px){
 .weather-case{padding:32px 16px}
 .weather-case h1{font-size:28px;line-height:1.3;letter-spacing:-.01em}.weather-case h2{font-size:24px;line-height:1.3;letter-spacing:-.01em}.weather-case h3{font-size:16px;line-height:1.4;letter-spacing:0}
 .weather-case p,.weather-case li{font-size:14px;line-height:1.4}
 .weather-back{margin-bottom:24px;font-size:14px;line-height:1.4}.weather-back span{font-size:24px}
 .weather-intro,.weather-section{gap:24px}.weather-section{margin-top:64px}
 .weather-meta{gap:24px}.weather-meta dl{gap:16px;width:100%;font-size:14px}.weather-meta dl>div{flex:1;gap:2px}
 .weather-row{gap:16px}.weather-case ul{padding-left:16px}.weather-spaced-list li+li{margin-top:12px}
 .weather-cards{grid-template-columns:1fr;gap:24px}.weather-stat{padding:16px;gap:16px;min-height:0!important}
 .weather-stat .weather-stat-value,.weather-percent .weather-stat-value{font-size:28px;line-height:1.3}
 .weather-stat .weather-stat-label{font-size:14px;margin-top:8px;color:#6b7280}.weather-percent .weather-stat-label{color:#000}
 .weather-findings-heading{flex-direction:column;gap:16px}.weather-findings-heading h3{font-size:28px;line-height:1.3}.weather-findings-heading p{font-size:14px}
 .weather-research-intro{gap:24px}.weather-wide-only{display:none}
 .weather-research-mobile{display:flex;flex-direction:column;gap:24px}
 .weather-survey-crop,.weather-banner-crop{position:relative;overflow:hidden;width:100%;border-radius:20px}
 .weather-survey-crop{aspect-ratio:994/976}.weather-banner-crop{aspect-ratio:750/679;border-radius:6.8% / 7.51%;clip-path:inset(0 round 6.8% / 7.51%)}
 .weather-survey-crop img{display:block;width:206.0362%;height:auto;max-width:none}
 .weather-banner-crop img{position:absolute;display:block;max-width:none;width:273.0667%;height:auto;left:-156.9333%;top:-21.944%}
 .weather-mobile-only{display:inline-flex}
 .weather-approach{display:flex;flex-direction:column;gap:24px}.weather-approach .weather-row{border:0;padding:0;min-height:0;gap:16px}.weather-approach .weather-row h3{font-size:16px}
 .opportunity-label{display:inline}.tablet-opportunity-label{display:none}
 .weather-placeholder{height:246px;border:1px solid rgba(30,109,179,.15);border-radius:20px;background:rgba(163,206,245,.2);display:flex;align-items:center;justify-content:center;padding:16px}
 .weather-placeholder span{display:block;font-size:12px;line-height:1.4;color:#6b7280;text-align:center}
 .weather-back-bottom,.weather-page footer{display:none}
}
/* Scale the complete Figma flow together, keeping connectors anchored to screens. */
.flow-stage{position:relative;width:100%;aspect-ratio:1109/4931;overflow:hidden}
.flow-canvas{position:absolute;top:0;left:0;width:1109px;height:4931px;transform-origin:top left;transform:scale(var(--flow-scale,1))}
.flow-canvas .flow-screen{position:absolute;display:block;width:1108.8399658203125px;height:796.208740234375px;max-width:none}
.flow-canvas .flow-connector{position:absolute;display:block;max-width:none;pointer-events:none}
.flow-note{position:absolute;box-sizing:border-box;width:232px;display:flex;flex-direction:column;gap:6.629px;padding:13.257px;border:.829px solid rgba(255,255,255,.5);border-radius:13.257px;background:rgba(255,255,255,.4);backdrop-filter:blur(41.429px)}
.flow-note-preselected{left:128px;top:891.9580078125px;min-height:175.77142333984375px}
.flow-note-compare{left:521px;top:1056.6015625px;min-height:111.77143096923828px}
.weather-case .flow-note p{font-size:10.771px;line-height:1.45;color:#333}
.weather-case .flow-note .flow-note-label{font-size:9.943px;line-height:normal;font-weight:600;color:rgba(30,30,30,.5);text-transform:uppercase}
.flow-note h4{margin:0;font:600 9.943px/normal Inter,Arial,sans-serif;color:#1e1e1e}

.monetisation-visual{position:relative;width:100%;aspect-ratio:1399/2048}.monetisation-visual>.weather-visual{position:absolute;left:0;width:100%;height:49.07%;object-fit:fill}.monetisation-build{top:0}.monetisation-upgrade{bottom:0}.monetisation-link{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.weather-prototype{width:100%;height:672px;min-width:0;overflow:hidden;background:#e9eef3}.weather-prototype iframe{display:block;width:100%;height:100%;border:0}.prototype-open{align-self:flex-start;gap:8px}@media(max-width:1000px){.weather-prototype{height:520px}}@media(max-width:600px){.weather-prototype{height:560px;border-radius:20px}}

/* Use the standalone banner at responsive breakpoints, without a second crop. */
@media(max-width:1000px){
 .weather-research-desktop{display:none}
 .weather-research-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:center}
 .weather-survey-crop{position:relative;overflow:hidden;width:100%;aspect-ratio:994/976;border-radius:12.2% / 12.4%}
 .weather-survey-crop img{display:block;width:206.0362%;height:auto;max-width:none}
 .weather-banner-crop{position:relative;width:100%;aspect-ratio:auto;border:0;border-radius:0;clip-path:none;overflow:visible;background:transparent}
 .weather-banner-crop img{position:static;display:block;max-width:100%;width:100%;height:auto;border:0;border-radius:0}
}
@media(max-width:600px){.weather-research-mobile{display:flex;flex-direction:column;align-items:stretch}}
.weather-case .prototype-open,.weather-case .weather-download{font-size:12px;line-height:1.4}
.weather-solution{gap:32px}.weather-solution>h2+p{margin-top:0}
.weather-prototype{height:680px}
@media(max-width:980px){.weather-prototype{height:400px}}
@media(max-width:600px){.weather-solution{gap:24px}.weather-prototype{height:340px}}

/* Findings use section heading typography and consistent desktop label grey. */
.weather-case .weather-findings .weather-stat .weather-stat-label{color:#67707f}
@media(max-width:1000px){
 .weather-findings .weather-stat .weather-stat-value{font-size:32px;line-height:1.4}
 .weather-case .weather-findings .weather-stat .weather-stat-label{font-size:14px}
}
@media(max-width:600px){
 .weather-findings .weather-stat .weather-stat-value{font-size:24px;line-height:1.3}
 .weather-case .weather-findings .weather-stat .weather-stat-label{font-size:12px}
}

.prototype-open>span[aria-hidden="true"]{color:#727c8d}
