/* Shared template for /solutions/* product marketing pages.
   Tokens, header, footer and base type match the inline styles of the company pages (solutions.html). */
/* Per-product accent: [data-accent] on body (or a wrapper). Buttons stay Tempra amber on every page. Contrast checked: bright >= 6.3:1 on night, ink >= 5.2:1 on paper. */
[data-accent="storm"]{--accent:#5B9BF5;--accent-ink:#1E5BB8;--accent-soft:rgba(91,155,245,.24);--accent-glow:rgba(91,155,245,.20)}
[data-accent="thermal"]{--accent:#3CC6C0;--accent-ink:#0F6E6A;--accent-soft:rgba(60,198,192,.24);--accent-glow:rgba(60,198,192,.18)}
[data-accent="heat"]{--accent:#F2684A;--accent-ink:#B33A1E;--accent-soft:rgba(242,104,74,.24);--accent-glow:rgba(242,104,74,.20)}
[data-accent="portfolio"]{--accent:#A68BF5;--accent-ink:#5B3FC2;--accent-soft:rgba(166,139,245,.24);--accent-glow:rgba(166,139,245,.20)}
:root{--ink:#10181a;--ink-soft:#334246;--night:#091012;--night-2:#142124;--paper:#f3f0e8;--white:#fff;--amber:#f3a21b;--amber-dark:#a95f00;--sage:#ccd7ca;--line:rgba(16,24,26,.17);--line-light:rgba(255,255,255,.23);--max:1220px;--accent:#f3a21b;--accent-ink:#a95f00;--accent-soft:rgba(243,162,27,.24);--accent-glow:rgba(243,162,27,.16);--serif:"Newsreader",Georgia,serif;--sans:"Source Sans 3",Arial,sans}
*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:84px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.eyebrow{margin:0 0 10px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.05rem;color:var(--accent-ink)}.night .eyebrow,.hero .eyebrow{color:var(--accent)}
.col-note{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink-soft);max-width:260px}.night .col-note{color:rgba(255,255,255,.62)}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:.99}h1{font-size:clamp(2.1rem,3.8vw,3.6rem)}h2{font-size:clamp(2rem,3.4vw,3.1rem)}h3{font-size:clamp(1.3rem,1.8vw,1.7rem);line-height:1.15}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid transparent;text-decoration:none;font-size:.9rem;font-weight:700;letter-spacing:.04em;transition:.2s}.button:hover{transform:translateY(-2px)}.button--amber{background:var(--amber);color:var(--night)}.button--ghost{border-color:rgba(255,255,255,.55);color:var(--white)}
.text-link{display:inline-flex;gap:9px;font-weight:700;text-underline-offset:5px}.text-link:after{content:"→";color:var(--amber-dark)}

/* header */
.site-header{position:sticky;top:0;z-index:20;color:var(--white);background:var(--night);border-bottom:1px solid rgba(255,255,255,.14)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}.brand img{width:150px;height:auto}.nav-links{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}.nav-links a:not(.button){color:rgba(255,255,255,.88);font-size:.89rem;font-weight:600;text-decoration:none}.nav-links a.active,.nav-links a:not(.button):hover{color:var(--white)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.15);color:var(--white);font:inherit;font-weight:700}

/* hero */
.hero{position:relative;color:var(--white);background:var(--night) var(--hero-photo,none) center/cover no-repeat;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,8,10,.95),rgba(3,8,10,.84) 45%,rgba(3,8,10,.3)),linear-gradient(0deg,rgba(3,8,10,.7),transparent 45%),radial-gradient(circle at 82% 22%,var(--accent-glow),transparent 40%)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--accent)}
.hero-credit{position:absolute;right:14px;bottom:12px;margin:0;font-size:.72rem;color:rgba(255,255,255,.62)}
.hero-content{width:min(880px,100%);padding:84px 0 88px}.breadcrumb{margin:0 0 26px;font-size:.86rem;color:rgba(255,255,255,.6)}.breadcrumb a{color:rgba(255,255,255,.82);text-underline-offset:4px}
.hero h1{margin-bottom:22px}.hero-lead{max-width:740px;color:rgba(255,255,255,.88);font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.5;margin-bottom:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.audience{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none}.audience li{padding:5px 12px;border:1px solid rgba(255,255,255,.28);font-size:.84rem;font-weight:600;color:rgba(255,255,255,.82)}

/* sections */
.section{padding:clamp(62px,7vw,104px) 0}.section.white{background:var(--white)}.section.night{background:var(--night);color:var(--white)}
.two-col{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,88px);align-items:start}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:780px}.night .lead{color:rgba(255,255,255,.74)}
.section-head{max-width:860px;margin-bottom:38px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:30px;border-top:2px solid var(--ink);background:rgba(255,255,255,.45)}.white .card{background:var(--paper)}.night .card{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.045)}.card h3{font-family:var(--sans);font-size:1.1rem;font-weight:700;letter-spacing:0;line-height:1.3}.card p{margin-bottom:0;color:var(--ink-soft)}.night .card p{color:rgba(255,255,255,.7)}
.card-grid--4{grid-template-columns:repeat(4,1fr)}.teams{margin-top:clamp(52px,6vw,80px);padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--line-light)}.teams .eyebrow{margin-bottom:22px}
.icon-tile{width:56px;height:56px;margin-bottom:16px;border-radius:14px;background:var(--paper);display:flex;align-items:center;justify-content:center}.white .icon-tile,.card .icon-tile{background:var(--white)}.night .icon-tile{background:var(--paper)}
.icon-tile svg{width:34px;height:34px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-tile .ac{stroke:var(--accent-ink)}.icon-tile .tint{fill:var(--accent-soft);stroke:none}
.col-figure{margin:28px 0 0;max-width:420px}.col-figure img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:50% 60%;border-top:3px solid var(--accent);box-shadow:0 14px 34px rgba(16,24,26,.12)}.col-figure figcaption{margin-top:8px;font-size:.78rem;color:var(--ink-soft)}
.pain{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.pain li{padding:16px 0 16px 30px;border-bottom:1px solid var(--line);position:relative;color:var(--ink-soft)}.pain li:before{content:"";position:absolute;left:4px;top:25px;width:12px;height:2px;background:var(--accent)}.pain strong{color:var(--ink)}

/* how it works: decision chain */
.chain{display:grid;grid-template-columns:repeat(var(--steps,7),1fr);gap:20px;margin:0;padding:0;list-style:none}
.chain li{padding:22px 0 0;border-top:4px solid var(--accent)}
.chain h3{font-family:var(--sans);font-size:1rem;font-weight:700;letter-spacing:0;line-height:1.25;margin-bottom:8px}.chain p{margin:0;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.66)}

/* screenshots */
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.shot{margin:0}.shot-frame{aspect-ratio:16/10;background:var(--night);border:1px solid rgba(16,24,26,.14);box-shadow:0 22px 60px rgba(16,24,26,.12);overflow:hidden}.shot-frame img,.shot-frame video{width:100%;height:100%;object-fit:cover}
.shot-frame.pending{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:rgba(255,255,255,.55);font-size:.9rem;background:linear-gradient(145deg,var(--night-2),var(--night))}
.shot figcaption{margin-top:12px;font-size:.93rem;color:var(--ink-soft)}.shot figcaption strong{color:var(--ink)}
.shot.wide{grid-column:1/-1}.shot.wide .shot-frame{aspect-ratio:16/8}
.data-note{margin:26px 0 0;font-size:.9rem;color:var(--ink-soft)}

/* architecture */
.arch{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:0}
.arch-col{display:flex;flex-direction:column;gap:10px}.arch-col h3{margin:0 0 4px;font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dark)}
.arch-box{padding:14px 16px;background:var(--paper);border-left:3px solid var(--ink);font-size:.93rem;line-height:1.35}.arch-box small{display:block;margin-top:3px;color:var(--ink-soft);font-size:.82rem}.arch-box.planned{border-left-style:dashed;border-left-color:var(--ink-soft);background:transparent;outline:1px dashed var(--line)}
.arch-arrow{display:flex;align-items:center;justify-content:center;width:44px;color:var(--amber-dark);font-size:1.4rem}
.arch-legend{margin:22px 0 0;font-size:.88rem;color:var(--ink-soft)}

/* rows (benefits, methodology) */
.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}.row h3{margin:0;font-family:var(--sans);font-size:1.1rem;font-weight:700;letter-spacing:0;line-height:1.35}.row p{margin:0;color:var(--ink-soft)}.night .rows,.night .row{border-color:var(--line-light)}.night .row p{color:rgba(255,255,255,.72)}

/* provenance */
.labels{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none}.labels li{padding:8px 12px;border:1px solid var(--line-light);font-size:.86rem;color:rgba(255,255,255,.8)}.labels code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:var(--amber)}

/* scope */
.scope{padding:28px 30px;border:1px solid var(--line);border-top:2px solid var(--amber);background:var(--white)}.scope ul{margin:0;padding-left:20px;color:var(--ink-soft)}.scope li{margin:6px 0}

/* cta */
.cta{background:var(--amber);padding:72px 0}.cta-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:42px}.cta h2{max-width:760px;margin:0 0 14px;font-size:clamp(2rem,3.6vw,3.3rem)}.cta p{margin:0;max-width:640px}.cta .button{background:var(--night);color:var(--white);flex:0 0 auto}.cta-fallback{margin-top:12px!important;font-size:.92rem}.cta-fallback a{font-weight:700;text-underline-offset:4px}

/* footer */
footer{padding:42px 0 28px;background:var(--night);color:rgba(255,255,255,.68);font-size:.84rem}.footer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.footer-brand img{width:205px}.footer-brand p{max-width:470px;margin:18px 0 0}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.footer-links h4{margin:0 0 12px;color:var(--white);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.footer-links a{display:block;margin:7px 0;color:rgba(255,255,255,.74);text-decoration:none}.footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}

/* responsive */
@media(max-width:1120px){.container{width:min(calc(100% - 36px),var(--max))}.brand img{width:132px}.menu-toggle{display:block;width:auto;height:auto;padding:8px 0 8px 14px;border:0;background:transparent}.nav-links{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:4px 24px 10px;background:var(--night);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 14px 30px rgba(0,0,0,.24)}.nav-links.open{display:flex}.nav-links a:not(.button){padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.94rem}.nav-links .button{display:none}
.two-col,.card-grid,.footer-grid{grid-template-columns:1fr}.card-grid--4{grid-template-columns:repeat(2,1fr)}.chain{grid-template-columns:repeat(2,1fr);row-gap:26px}.arch{grid-template-columns:1fr;gap:6px}.arch-arrow{width:auto;height:34px;transform:rotate(90deg)}}
@media(max-width:1120px){.col-figure{max-width:none}.col-figure img{aspect-ratio:16/9}}
@media(max-width:760px){.shots{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:8px}}
@media(max-width:620px){body{font-size:16px}.container{width:min(calc(100% - 32px),var(--max))}.nav{min-height:72px}.brand img{width:120px}.hero-content{padding:52px 0 58px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.chain{grid-template-columns:1fr}.card-grid--4{grid-template-columns:1fr}.cta-grid{display:block}.cta .button{width:100%;margin-top:24px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.footer-brand img{width:176px}.footer-grid{gap:28px}.scope{padding:22px 20px}}

/* Signature visual: an illustrative product card in the hero (synthetic sample, never real data) */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:clamp(32px,4vw,64px);align-items:center}
.hero-grid .hero-content{width:100%}
.sig{margin:0;padding:18px 18px 14px;background:rgba(9,16,18,.78);border:1px solid rgba(255,255,255,.14);border-top:3px solid var(--accent);border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.84rem;color:rgba(255,255,255,.86)}
.sig-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.sig-title{margin:0;font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sig-meta{font-size:.74rem;color:rgba(255,255,255,.55)}
.sig-note{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:.7rem;color:rgba(255,255,255,.5)}
.sig-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;padding:0;list-style:none}.sig-chips li{padding:2px 8px;border:1px solid rgba(255,255,255,.2);font-size:.7rem;color:rgba(255,255,255,.7)}.sig-chips li.on{border-color:var(--accent);color:#fff;background:var(--accent-soft)}
/* ranked rows */
.sig-rows{margin:0;padding:0;list-style:none}.sig-rows li{display:grid;grid-template-columns:1.3fr 1.4fr auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid rgba(255,255,255,.08)}
.sig-rows b{font-weight:600;color:#fff}.sig-rows small{display:block;font-size:.7rem;color:rgba(255,255,255,.5)}
.sig-bar{height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.sig-bar i{display:block;height:100%;background:var(--accent);border-radius:3px}
.sig-val{font-variant-numeric:tabular-nums;font-weight:700;color:#fff;text-align:right}
/* cold-to-heat scale */
.sig-scale{position:relative;height:10px;margin:22px 0 8px;border-radius:5px;background:linear-gradient(90deg,#2f6fd6,#3CC6C0 30%,#8a949b 50%,#e0a23a 70%,#e2553a)}
.sig-scale-ends{display:flex;justify-content:space-between;font-size:.7rem;color:rgba(255,255,255,.55)}
.sig-marker{position:absolute;top:-19px;transform:translateX(-50%);font-size:.7rem;font-weight:700;color:#fff;white-space:nowrap}.sig-marker:after{content:"";position:absolute;left:50%;top:15px;width:2px;height:18px;margin-left:-1px;background:#fff}
.sig-tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:14px 0 10px;padding:0;list-style:none}.sig-tiers li{padding:5px 0;text-align:center;font-size:.68rem;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6)}.sig-tiers li.on{background:var(--accent);color:#091012;font-weight:700}
.sig-plan{margin:0;display:grid;gap:4px}.sig-plan div{display:flex;justify-content:space-between;gap:10px}.sig-plan dt{color:rgba(255,255,255,.55)}.sig-plan dd{margin:0;color:#fff;font-weight:600;text-align:right}
/* heat-day strip */
.sig-strip{display:grid;grid-template-columns:62px repeat(13,1fr);gap:2px;align-items:center}
.sig-strip span{height:16px;border-radius:2px;background:#5d6a72}.sig-strip span.i{background:#c88708}.sig-strip span.h{background:#d9541a}
.sig-strip em{font-style:normal;font-size:.7rem;color:rgba(255,255,255,.7);white-space:nowrap}.sig-strip .t{height:auto;background:none;font-size:.6rem;color:rgba(255,255,255,.45);text-align:center}
.sig-legend{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 0;padding:0;list-style:none;font-size:.68rem;color:rgba(255,255,255,.6)}.sig-legend li:before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;vertical-align:-1px;background:var(--c)}
.sig-ack{display:flex;gap:8px;align-items:center;margin-top:10px;padding:7px 9px;background:var(--accent-soft);border-left:3px solid var(--accent);font-size:.74rem;color:#fff}
/* scored-locations map */
.sig-map{display:block;width:100%;height:auto;margin-bottom:6px;border-radius:6px;background:#0f1a1d}
.sev{display:inline-block;min-width:66px;padding:1px 6px;font-size:.66rem;font-weight:700;text-align:center;color:#fff;background:var(--c)}
@media(max-width:1120px){.hero-grid{grid-template-columns:1fr;gap:0}.hero-grid .hero-content{padding-bottom:32px}.sig{max-width:520px;margin-bottom:56px}}
@media(max-width:620px){.sig{font-size:.8rem}.sig-strip{grid-template-columns:52px repeat(13,1fr)}}
.sig-tier-now{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 6px}.sig-tier-now span{color:rgba(255,255,255,.55)}.sig-tier-now b{font-size:1rem;color:var(--accent)}
.sig-bar--tier{height:8px;margin-bottom:12px}

/* Other solutions row above the footer (keeps visitors moving between products) */
.other-sol{padding:26px 0;background:var(--paper);border-top:1px solid var(--line)}.other-sol .container{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}.other-label{margin-right:6px;font-family:var(--serif);font-style:italic;color:var(--ink-soft)}.other-chip{padding:6px 12px;border:1px solid var(--accent);border-left-width:4px;background:var(--white);color:var(--accent-ink);font-size:.9rem;font-weight:700;text-decoration:none}.other-chip:hover{background:var(--accent-soft)}.other-all{margin-left:auto;font-weight:700;font-size:.9rem;text-underline-offset:5px}.other-all:after{content:" \2192"}@media(max-width:620px){.other-all{margin-left:0}}

/* Compact footer (shared markup across all pages) */
.foot{padding:22px 0 16px;background:var(--night);color:rgba(255,255,255,.62);font-size:.86rem}.foot-row{display:flex;align-items:center;justify-content:space-between;gap:14px 32px;flex-wrap:wrap}.foot-brand img{display:block;width:118px;height:auto}.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px}.foot a{color:rgba(255,255,255,.78);text-decoration:none}.foot a:hover{color:#fff}.foot-bottom{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:rgba(255,255,255,.5)}@media(max-width:620px){.foot-links{gap:8px 16px}}
.other-tech{font-weight:700;font-size:.9rem;text-underline-offset:5px}.other-tech:after{content:" \2192"}
/* Phones: stack the card header, give the scale marker room, and darken the hero photo evenly for text contrast */
@media(max-width:620px){.sig-head{flex-direction:column;align-items:flex-start;gap:2px}.sig-scale{margin-top:26px}.hero:before{background:linear-gradient(0deg,rgba(3,8,10,.9),rgba(3,8,10,.8))}}
