/* Version 2.0: choices belong to the same story as the imagery. */
.journey-v2{--plan-accent:#56e5d0}
.journey-v2 [hidden]{display:none!important}
.journey-v2 .journey-choice{border:0;border-top:1px solid #a6ddd33d;padding:26px 0 0;margin:30px 0 0;min-width:0}
.journey-choice legend{float:left;width:100%;font-size:24px;line-height:1.2;font-weight:500;color:#f1fffb;margin-bottom:14px}
.journey-choice legend+p{clear:both;font-size:16px;color:#d4e4df}
.usage-readout{display:flex;align-items:baseline;gap:12px;margin:22px 0 18px}
.usage-readout input{width:180px;max-width:60%;padding:0 0 5px;background:none;border:0;border-bottom:1px solid #83beb566;color:white;font:500 clamp(32px,3vw,45px)/1.2 'Exo',sans-serif;border-radius:0}
.usage-readout span{font-size:14px;color:#c6dbd5}
#usageRange{width:100%;accent-color:#00c4b4;cursor:pointer;height:28px}
.range-ends{display:flex;justify-content:space-between;font-size:12px;color:#b2cfc5}
.bill-help{font-size:14px;margin:17px 0 20px;color:#c4d8d1;border:0}
.bill-help summary{cursor:pointer}.bill-help p{font-size:14px;margin:12px 0}
.choice-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.journey-v2 .button{background:#00c4b4;color:#102b28;border:0}
.journey-v2 .button span{color:#102b28}
.quiet-choice{background:transparent;border:0;border-bottom:1px solid #8bb9af55;color:#d7e8e0;padding:10px 0;font:14px 'Exo',sans-serif;cursor:pointer}
.quiet-choice:hover{color:#62e7d4}
.choice-status{min-height:38px;font-size:14px!important;line-height:1.5!important;color:#b8dfd2!important;margin:20px 0 0!important}
.journey-v2 .energy-stage{position:sticky;top:120px;align-self:start}
.usage-echo{font-size:12px!important;letter-spacing:0!important;color:#d7efe5!important;max-width:190px;text-align:center}
.journey-v2 .roof-choice{max-width:1000px;margin:20px auto 0}
.roof-choice legend{font-size:21px}
.roof-picks{clear:both;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0 15px}
.roof-picks button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;background:transparent;border:0;border-top:1px solid #b4d3c44a;padding:20px 10px;color:#dbebe5;transition:color .2s,border-color .2s}
.roof-picks button span{font-size:12px;color:#a8c3b7}.roof-picks strong{font-size:20px;font-weight:500}
.roof-picks button[aria-pressed=true]{border-top:2px solid #56e5d0;background:linear-gradient(#00c4b413,transparent);color:#67f3dc}
.roof-choice>.quiet-choice[aria-pressed=true]{color:#67f3dc;border-bottom-color:#67f3dc}
.plan-finish,.plan-review{padding:110px 6%;color:#edf9f4;background:linear-gradient(90deg,#1423258a,#1423253a);scroll-margin-top:110px}
.plan-finish{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:start}
.plan-introduction h2,.plan-review h2{font-size:clamp(42px,5.4vw,80px);line-height:1.06;letter-spacing:-.035em;font-weight:500;margin:0 0 30px}
.plan-finish h2 em,.plan-review h2 em{color:#63e6cc}
.plan-introduction>p{font-size:18px;line-height:1.7;max-width:530px;color:#d7e7df}
.saved-choices{margin:35px 0}.saved-choices a{padding:20px 0;border-top:1px solid #b0d4c64a;display:grid;grid-template-columns:1fr auto;gap:8px}
.saved-choices span{font-size:13px;color:#bdcfc6}.saved-choices strong{font-size:22px;font-weight:500;grid-column:1}.saved-choices small{grid-column:2;grid-row:1/3;align-self:center;color:#61dfc9}
.plan-introduction .plan-reassurance{font-size:14px}
.contact-plan{padding-top:5px}
#journeyContact{display:flex;flex-direction:column}
#journeyContact label{font-size:14px;margin:18px 0 9px;color:#e1eee7}
#journeyContact input{width:100%;min-width:0;font:18px 'Exo',sans-serif;color:#f2fff9;background:#14252480;border:0;border-bottom:1px solid #b0d6c76b;border-radius:0;padding:13px 10px;min-height:50px}
#journeyContact input:focus{outline:2px solid #00c4b4;outline-offset:3px}
#journeyContact .contact-privacy{font-size:14px;line-height:1.6;color:#b9d2c6;margin:24px 0}
#journeyContact .button{width:100%;font-size:16px}
.preview-note{font-size:12px;color:#b4c9bf;line-height:1.55;margin:20px 0 0}
#planContactStatus{font-size:14px;color:#ffd2ae}
.plan-review{border-top:1px solid #bad3c539}
.plan-review>p:not(.eyebrow){color:#d7e7df}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:45px 0}
.review-grid>div{border-top:1px solid #aacaba4d;padding:20px 0}
.review-grid dt{font-size:13px;color:#c1d9cc}.review-grid dd{margin:12px 0;font-size:23px;overflow-wrap:anywhere;line-height:1.35}.review-grid a{font-size:13px;color:#76e7c9}
.consent-row{display:flex;align-items:flex-start;gap:13px;max-width:720px;margin:30px 0;font-size:16px;line-height:1.6}
.consent-row input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:#00c4b4}
#submitPlan{min-width:250px}#submitPlan:disabled{opacity:.65;cursor:default}
.plan-result{font-size:21px;max-width:760px;color:#8df2d2!important;margin-top:30px}


body:has(.brand-loading) 
.journey-v2 footer{padding-bottom:125px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#usage-choice,#roof-choice,#journey-details,#planName{scroll-margin-top:110px}
@media(max-width:900px){.plan-finish{grid-template-columns:1fr;gap:45px}.contact-plan{max-width:650px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-v2 .energy-stage{position:relative;top:auto}}
@media(max-width:600px){.roof-picks{grid-template-columns:repeat(2,1fr);gap:10px}.roof-picks strong{font-size:18px}.plan-finish,.plan-review{padding:65px 6%}.review-grid{grid-template-columns:1fr;gap:12px}.plan-introduction h2,.plan-review h2{font-size:43px}.choice-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.roof-picks button{transition:none}}

/* Quiet typography on the right; confirmed choices carry the colour. */
.plan-dock{position:fixed;right:22px;bottom:90px;left:auto;z-index:61;display:flex;flex-direction:column;align-items:flex-end;gap:13px;width:176px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;transform:none;text-align:right;pointer-events:none;text-shadow:0 2px 8px #071b1b,0 0 3px #071b1b}
.plan-dock a{display:block;padding:3px 0 3px 12px;font-size:14px;line-height:1.3;color:#e0e7e4;pointer-events:auto;transition:color .25s;max-width:100%}
.plan-dock a>span{font-size:12px;opacity:.6;margin-right:6px}
.plan-dock a.is-ready{color:#19ffec}
.plan-dock .plan-value{display:block;font-size:12px;font-weight:400;line-height:1.35;color:#d0f8ed;margin-top:4px;overflow-wrap:anywhere}
.plan-dock .plan-value:empty{display:none}
.plan-dock>small{font-size:12px;line-height:1.4;color:#d0ddd7;max-width:150px}
.plan-dock a:hover,.plan-dock a:focus-visible{color:white}
.plan-dock a:focus-visible{outline:1px solid #00c4b4;outline-offset:5px}
.journey-v2 .certification-marks{background:transparent;box-shadow:none;padding:0}
.journey-v2 .certification-marks>.current-mcs{width:150px;height:auto;max-width:100%;object-fit:contain;filter:none;mix-blend-mode:normal}
/* Keep the logo and the statement in separate visual fields. */
.journey-v2 .energy-loading .loading-signature{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:32%;max-width:440px}
.entrance-quote{position:absolute;left:7%;top:50%;transform:translateY(calc(-50% + 18px));width:46%;max-width:820px;margin:0;z-index:1;color:#fff;font:700 clamp(30px,3.6vw,58px)/1.18 'Exo',sans-serif;letter-spacing:-.025em;opacity:0;pointer-events:none;transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);text-wrap:balance;text-shadow:0 2px 24px #07191e40}
.quote-visible .entrance-quote{opacity:1;transform:translateY(-50%)}
.hyper-jump .entrance-quote{opacity:0;transition:opacity .12s;visibility:hidden}
@media(max-width:760px){
 .plan-dock{right:14px;bottom:72px;width:145px;gap:8px}.plan-dock a{font-size:14px}.plan-dock a>span{display:none}.plan-dock>small{font-size:12px}
 .journey-v2 .energy-loading .loading-signature{top:12%;right:8%;width:54%;max-width:320px;transform:none}
 .journey-v2 .energy-loading .loading-signature img{max-height:110px;margin-bottom:20px}
 .entrance-quote{top:51%;left:8%;width:84%;max-width:620px;font-size:clamp(25px,5.8vw,39px);transform:translateY(15px)}
 .quote-visible .entrance-quote{transform:translateY(0)}
 .journey-v2 .loading-skip{bottom:3%}
}
@media(max-height:540px) and (min-width:761px){.entrance-quote{font-size:30px}.journey-v2 .energy-loading .loading-signature img{max-height:110px;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.plan-dock a,.entrance-quote{transition:none}}

/* V2 refinement: a centred invitation, quieter choices and warm solar currents. */
.journey-v2 .energy-loading .loading-signature{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(32vw,440px)}
.journey-v2 .entrance-quote{left:5%;top:50%;width:26%;max-width:480px;font-size:clamp(24px,2.6vw,42px);transform:translateY(calc(-50% + 15px))}
.journey-v2 .quote-visible .entrance-quote{transform:translateY(-50%)}
.journey-v2 .roof-choice{border:0;padding:0;margin:12px auto 0;max-width:900px}
.journey-v2 .roof-choice legend.sr-only{float:none;width:1px;margin:-1px}
.journey-v2 .roof-picks{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:0}
.journey-v2 .roof-picks button{display:block;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid transparent;background:none;color:#d3ded9;cursor:pointer;font:16px 'Exo',sans-serif}
.journey-v2 .roof-picks strong{font-size:18px;font-weight:500}
.journey-v2 .roof-picks button[aria-pressed=true]{background:none;border-bottom:1px solid #00c4b4;color:#19ffec}
.journey-v2 .roof-picks button:hover{color:white}
.journey-v2 .roof-picks button:focus-visible{outline:1px solid #00c4b4;outline-offset:5px}
.journey-v2 .roof-choice .choice-status{min-height:22px;font-size:13px!important;margin-top:15px!important}
.journey-v2 .roof-choice .choice-status:empty{margin-top:0!important}




.journey-v2 .journey-photo{background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.journey-v2 .journey-photo:after{display:none}
.journey-v2 #journeyImage{clip-path:none;border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 90%,transparent),linear-gradient(transparent,#000 7%,#000 89%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 90%,transparent),linear-gradient(transparent,#000 7%,#000 89%,transparent);-webkit-mask-composite:source-in}
.journey-v2 #journeyCaption{background:none;bottom:25px;left:8%;right:8%;text-shadow:0 2px 8px #000}
@media(max-width:760px){
 .journey-v2 .energy-loading .loading-signature{top:29%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(70vw,340px)}
 .journey-v2 .entrance-quote{left:8%;top:58%;width:84%;font-size:clamp(24px,5.5vw,34px);transform:translateY(15px)}.journey-v2 .quote-visible .entrance-quote{transform:translateY(0)}
 .journey-v2 .roof-picks{gap:8px 22px}.journey-v2 .roof-picks strong{font-size:16px}
}
@media(max-height:540px){
 .journey-v2 .energy-loading .loading-signature{top:26%;width:260px}.journey-v2 .energy-loading .loading-signature img{max-height:75px;margin-bottom:12px}
 .journey-v2 .entrance-quote{top:57%;font-size:clamp(18px,3vw,27px);width:75%;transform:translateY(12px)}.journey-v2 .quote-visible .entrance-quote{transform:translateY(0)}.journey-v2 .loading-skip{bottom:1%;font-size:12px}
}

/* An unboxed action, with a clear keyboard focus and generous click target. */
.journey-v2 #confirmUsage{background:none;border:0;border-radius:0;box-shadow:none;color:#74eedc;padding:12px 0;min-height:48px;gap:18px;font-size:17px;justify-content:flex-start;transform:none}
.journey-v2 #confirmUsage span{color:inherit;font-size:21px;transition:transform .2s}
.journey-v2 #confirmUsage:hover{color:#fff;background:none;transform:none}
.journey-v2 #confirmUsage:hover span{transform:translate(3px,-3px)}
.journey-v2 #confirmUsage:focus-visible{outline:2px solid #00c4b4;outline-offset:6px}
.journey-v2 .brand-loading.hyper-jump.cinema-arrival{transition:opacity 1.45s cubic-bezier(.22,.61,.36,1)!important}
.journey-v2 .hyper-jump .jump-trails{transition:opacity 1.05s ease}
.journey-v2.cinematic-entry.cinematic-arrival .element-hero .video-title{transition:opacity 1.25s ease .25s}
.journey-v2.cinematic-entry.cinematic-arrival .element-hero>video{transition:transform 1.7s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.journey-v2 #confirmUsage span{transition:none}.journey-v2 .brand-loading.hyper-jump.cinema-arrival{transition:none!important}}

/* A short material transition, without a star field or tunnel. */
.journey-v2 .brand-loading.surface-opening{transition:opacity 1.05s cubic-bezier(.22,.61,.36,1);background:#182426}
.journey-v2 .surface-opening .loading-signature,.journey-v2 .surface-opening .entrance-quote,.journey-v2 .surface-opening .loading-skip{opacity:0;pointer-events:none;transition:opacity .4s ease}
.journey-v2 .surface-opening #solarRelief{transform:scale(1.045);filter:brightness(1.12);transition:transform 1.25s ease-out,filter .8s ease}
.journey-v2 .brand-loading.surface-opening.cinema-arrival{opacity:0;pointer-events:none}
.journey-v2.cinematic-entry.cinematic-arrival .element-hero .video-title{transition:opacity 1s ease .12s}
@media(prefers-reduced-motion:reduce){.journey-v2 .surface-opening #solarRelief{transform:none;filter:none;transition:none}}

/* Give the real mesh a clear moment to unfold before the film appears. */
.journey-v2 .brand-loading.surface-opening{transition:opacity .9s cubic-bezier(.22,.61,.36,1)}
.journey-v2 .surface-opening #solarRelief{transform:none;filter:none;transition:none}
.journey-v2 .surface-opening .loading-signature,.journey-v2 .surface-opening .entrance-quote,.journey-v2 .surface-opening .loading-skip{transition:opacity .28s ease}

.enquiry-verification{margin:24px 0;max-width:340px}.enquiry-verification p{font-size:14px;color:inherit}.journey-v2 .enquiry-verification p{color:#cbe6de}

/* Roof selection: persistent warm highlight, tick and confirmation. */
.journey-v2 .roof-picks button{border-bottom-width:2px;transition:color .18s,border-color .18s}
.journey-v2 .roof-picks button::after{content:"✓";display:inline-block;width:1em;margin-left:.4em;visibility:hidden}
.journey-v2 .roof-picks button[aria-pressed=true],
.journey-v2 .roof-picks button[aria-pressed=true]:hover,
.journey-v2 .roof-picks button[aria-pressed=true]:focus-visible{color:#ffca8a;border-bottom:2px solid #ffca8a}
.journey-v2 .roof-picks button[aria-pressed=true] strong{color:inherit}
.journey-v2 .roof-picks button[aria-pressed=true]::after{visibility:visible}
.journey-v2 #roofStatus{color:#ffca8a!important;font-size:15px!important;line-height:1.6!important;min-height:24px}
@media(prefers-reduced-motion:reduce){.journey-v2 .roof-picks button{transition:none}}

/* Section 5: show the original photograph without feathering or scroll resampling. */
.journey-v2 #journeyImage{
 display:block;mask-image:none;-webkit-mask-image:none;
 transform:none;filter:none;opacity:1;transition:none;
}
