@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
.cx-footer{display:block;padding:40px max(20px,calc((100% - 1400px)/2));background:#07131f;border-top:1px solid #294556;color:#b6cad8;font:13px/1.8 Inter,Arial,sans-serif}.cx-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.cx-footer h2,.cx-footer h3{color:#e7f7ff;margin-top:0}.cx-footer-grid a{display:block;color:#72dce6;margin:5px 0}.cx-footer-legal{border-top:1px solid #294556;margin-top:25px;padding-top:20px}.cx-footer-legal a{color:#72dce6}.cx-footer p{margin:8px 0}.cx-footer a:focus-visible{outline:2px solid #72dce6;outline-offset:4px}.brand-mark{display:inline-flex;align-items:center}.brand-mark img{height:56px;width:258px;object-fit:cover;object-position:center;display:block}@media(max-width:700px){.cx-footer-grid{grid-template-columns:1fr;gap:18px}}
header.wrap{height:auto;min-height:84px;gap:20px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}header nav{flex-wrap:wrap;gap:16px;line-height:1.5}
.layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(240px,.85fr);gap:28px;min-height:620px;padding-top:48px;padding-bottom:48px}
.earthbox{height:auto;min-height:0;aspect-ratio:auto;min-width:0;flex-direction:column;gap:22px}
.earthbox img{width:100%;max-width:none;height:auto;border-radius:0;animation:none;box-shadow:none;filter:none}
.hero-card{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid #315365;box-shadow:0 18px 50px #0008}
.hero-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,20,.62) 0%,rgba(3,10,20,.28) 36%,transparent 58%);pointer-events:none}
.hero-phrase{position:absolute;z-index:1;left:7%;top:50%;transform:translateY(-50%);width:min(46%,250px);margin:0;color:#f4fbff;font:600 clamp(18px,1.6vw,26px)/1.28 "Space Grotesk",sans-serif;letter-spacing:-.03em;text-wrap:balance}
.hero-phrase em{font-style:normal;color:#63e6ee}
.earthbox:before{display:none}.earthbox .orbit{display:none}.earth-action{color:#72e0e9;font-size:12px;text-align:center;line-height:1.7;z-index:2}.earth-action small{display:block;color:#a3bdcc}
.score{margin:0;padding:22px;min-width:0}.score strong{font-size:clamp(20px,2vw,30px);letter-spacing:.04em;margin:22px 0}.intro h1{font-size:clamp(42px,4.1vw,66px)}.intro .buttons{gap:12px}.intro p{max-width:100%}
@media(max-width:1150px){.layout{grid-template-columns:1fr 1fr;gap:30px}.score{grid-column:1/-1}.earthbox{min-height:0}.intro h1{font-size:48px}.hero-phrase{width:min(40%,200px);font-size:17px}}
@media(max-width:700px){.layout{display:flex;flex-direction:column;align-items:stretch;padding-top:32px;padding-bottom:32px;gap:24px}.intro{padding-top:0}.intro h1{font-size:44px}.earthbox{min-height:0;aspect-ratio:auto;padding:8px 0}.earthbox img{width:100%}.hero-phrase{width:min(44%,168px);font-size:16px;left:6%}.score{margin:0}.earth-action{padding-top:6px}.intro .buttons .btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Seven-level Civilisation Outlook presentation */
.outlook-state-label{margin-top:20px;color:#9eb7c7;font-size:10px;font-weight:700;letter-spacing:.18em}
.score .outlook-level{display:flex;align-items:baseline;gap:8px;margin:4px 0 0;font-size:clamp(62px,6vw,92px);line-height:.95;letter-spacing:-.06em}
.score .outlook-level small{font-size:14px;letter-spacing:.16em;color:#91aabc}
.outlook-condition{margin:8px 0 18px;color:#75ead0;font:700 17px 'Space Grotesk',sans-serif;letter-spacing:.12em}
.outlook-scale{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:16px 0}
.outlook-scale span{display:grid;place-items:center;height:30px;border:1px solid #355367;border-radius:4px;background:#102131;color:#7690a1;font-size:10px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;opacity:.48}
.outlook-scale span:nth-child(1){--level-colour:#c94b5b}.outlook-scale span:nth-child(2){--level-colour:#e16a4d}.outlook-scale span:nth-child(3){--level-colour:#e4a84e}.outlook-scale span:nth-child(4){--level-colour:#b8c4cb}.outlook-scale span:nth-child(5){--level-colour:#68debb}.outlook-scale span:nth-child(6){--level-colour:#63e6ee}.outlook-scale span:nth-child(7){--level-colour:#6fa8ff}
.outlook-scale span.is-reached{background:color-mix(in srgb,var(--level-colour) 28%,#102131);border-color:var(--level-colour);color:#f2fdff;opacity:.78}
.outlook-scale span.is-current{transform:translateY(-3px) scale(1.08);background:var(--level-colour);border-color:var(--level-colour);color:#031018;opacity:1;box-shadow:0 0 22px color-mix(in srgb,var(--level-colour) 55%,transparent)}
.outlook-summary{margin:0 0 17px;color:#c7dbe5;font-size:12px;line-height:1.7}
.outlook-explanation{margin:0 0 18px;padding:13px 14px;border:1px solid #315064;border-radius:7px;background:#071522}
.outlook-explanation summary{cursor:pointer;color:#72e0e9;font-size:10px;font-weight:700;letter-spacing:.1em}
.outlook-explanation p{color:#a9c0ce;font-size:11px;line-height:1.65;margin:12px 0}
.outlook-explanation a{color:#72e0e9;font-size:11px;font-weight:700}
.outlook-disclosure{color:#9bb4c3;font-size:11px;line-height:1.6}
.status-totals{margin:0}
.status-totals summary{cursor:pointer;color:var(--c,#72e0e9);font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase;list-style:none}
.status-totals summary::-webkit-details-marker{display:none}
.status-totals summary::before{content:'▸';display:inline-block;width:1.1em;letter-spacing:0}
.status-totals[open] summary::before{content:'▾'}
.status-totals [data-status-totals]{margin-top:8px}
@media(max-width:700px){.score .outlook-level{font-size:72px}.outlook-scale{gap:4px}.outlook-scale span{height:28px}}

.cx-brief{max-width:760px;margin:28px auto 48px;padding:28px 22px;border:1px solid #294556;border-radius:10px;background:#071522}
.cx-brief h2{margin:0 0 8px;font-size:clamp(26px,4vw,34px);line-height:1.2}
.cx-brief p{color:#c5d7e2}
.cx-brief form{display:grid;gap:14px;margin-top:16px}
.cx-brief label{display:grid;gap:6px}
.cx-brief input[type=email]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #36576a;border-radius:7px;background:#0b1a24;color:#e5f1f9;font:inherit}
.cx-brief fieldset{border:1px solid #36576a;border-radius:7px;display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:12px 14px}
.cx-brief fieldset label{display:flex;gap:8px;align-items:center}
.cx-brief button{justify-self:start;padding:10px 18px;border:0;border-radius:7px;background:#6cdae7;color:#041018;font:inherit;font-weight:700;cursor:pointer}
.cx-brief button:focus-visible,.cx-brief input:focus-visible{outline:2px solid #6cdae7;outline-offset:3px}
.cx-brief .cx-check{display:flex;gap:10px;align-items:flex-start}
.cx-brief .cx-check input{margin-top:7px}
#cx-brief-status:empty{display:none}
