/* Studio 01: remaining public pages. Presentation only. */
.public-rest { --base-900:var(--ds-ink); --base-800:var(--ds-ink); --base-700:var(--ds-ink); --base-600:var(--ds-muted); --base-500:var(--ds-muted); --primary-main:var(--ds-brand); --primary-dark:var(--ds-brand-hover); --primary-light:#e7f2eb; --primary-bg:#edf4ef; --ink:var(--ds-ink); --green:var(--ds-brand); --cream:var(--ds-paper); --yellow:var(--ds-accent); --lime:var(--ds-accent); --muted:var(--ds-muted); background:var(--ds-paper); }
.public-rest *, .public-rest *::before, .public-rest *::after { box-sizing:border-box; }
.public-rest :is(main,section,article,div,form,figure) { min-width:0; }
.public-rest :is(h1,h2,h3,h4) { letter-spacing:-.04em; line-height:1.2; }
.public-rest :is(p,li) { line-height:1.8; }
.public-rest :is(input,select,textarea,button) { font:inherit; max-width:100%; }
.public-rest :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea) { min-height:50px; border:1px solid #becfc6; border-radius:12px; padding:12px 14px; color:var(--ds-ink); background:#fff; }
.public-rest :is(textarea) { min-height:120px; resize:vertical; }
.public-rest :is(button,.btn,.help-button,.links a,.help-links a) { border-radius:12px; min-height:48px; font-weight:600; }
.public-rest [hidden],.public-rest:not(.resco-page) .hidden { display:none!important; }
.public-rest .site-subheader { display:none; }
.public-rest .page-hero { background:var(--ds-paper)!important; }
.public-rest .page-hero .lead { color:var(--ds-muted)!important; }
.public-rest :is(.tag-chip,.tag-cloud .tag-chip,.article-tags span,.blog-card-tags span,.chip) { background:#e7f2eb; color:#27614d; border:1px solid #d3e1d8; font-weight:500; }
.public-rest :is(.resource-card,.feature-card,.blog-card,.article-shell,.article-related-card,.help-card,.login-panel,.login-card) { background:#fff; border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; }
.public-rest :is(.resource-card,.feature-card) { padding:32px; }
.public-rest :is(.resource-card,.feature-card):hover { transform:none; box-shadow:var(--ds-shadow); }
.public-rest .blog-filters { background:#fff; border:1px solid var(--ds-border); padding:28px; border-radius:20px; }
.public-rest .blog-filters form { grid-template-columns:2fr 1fr 1fr auto; gap:18px; }
.public-rest .blog-filters label { font-size:.88rem; font-weight:500; }
.public-rest .blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.public-rest .blog-card { gap:0; transition:border-color .2s; }
.public-rest .blog-card:hover { transform:none; box-shadow:var(--ds-shadow); border-color:#9fbcb1; }
.public-rest .blog-card img { height:auto; aspect-ratio:16/10; }
.public-rest .blog-card-body { padding:26px; gap:16px; }
.public-rest .blog-card h3 { font-size:1.35rem; }
.public-rest .blog-empty { border:1px solid var(--ds-border); background:#fff; padding:64px 24px; }
.public-rest .blog-pagination nav { flex-wrap:wrap; }
.public-rest .blog-pagination :is(a,span) { min-height:46px; border-radius:12px; }
.public-rest .blog-pagination .current { background:var(--ds-brand); }
.public-rest .article-section { width:min(1200px,calc(100% - 64px)); padding:64px 0; margin:auto; }
.public-rest .article-layout { width:100%; }
.public-rest .article-shell { padding:clamp(24px,4vw,48px); }
.public-rest .article-content { display:block; max-width:76ch; overflow-wrap:anywhere; }
.public-rest .article-content > * + * { margin-top:1.2em; }
.public-rest .article-content :is(img,video,iframe) { max-width:100%; }
.public-rest .article-content :is(table,pre) { display:block; max-width:100%; overflow:auto; }
.public-rest .article-content :is(th,td) { color:var(--ds-ink); background:#fff; border:1px solid var(--ds-border); padding:12px; }
.public-rest .article-content blockquote { border-color:var(--ds-brand); background:var(--ds-paper); padding:20px; margin:24px 0; }
.public-rest .article-meta { color:var(--ds-muted); }
.public-rest .article-related-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-rest .article-nav a { width:auto; flex:1 1 220px; }
.public-rest .article-nav a:hover { border-color:var(--ds-brand); }
.public-rest .login-hero .hero-inner { grid-template-columns:1.3fr .7fr; }
.public-rest .login-hero .hero-art { background:#e7f2eb; border-radius:24px; padding:28px; }
.public-rest .login-hero .hero-art img { width:100%; max-height:260px; object-fit:contain; }
.public-rest .login-layout { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:32px; }
.public-rest .login-panel { padding:32px; }
.public-rest .role-buttons { gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-rest .role-button { border:1px solid var(--ds-border); border-radius:14px; background:var(--ds-paper); padding:16px; color:var(--ds-ink); }
.public-rest .role-button.is-active { background:#e7f2eb; border-color:var(--ds-brand); box-shadow:inset 0 0 0 1px var(--ds-brand); }
.public-rest .role-button__label { color:var(--ds-ink); font-weight:600; }
.public-rest .role-button__caption { color:var(--ds-muted); font-size:.78rem; line-height:1.6; }
.public-rest .login-summary { gap:16px; }
.public-rest .login-card { padding:24px; }
.public-rest .login-recovery { background:var(--ds-paper); border:1px solid var(--ds-border); border-radius:16px; }
.public-rest .login-help-footer a { color:var(--ds-brand); background:#e7f2eb; font-weight:500; }
.public-rest .help-shell,.public-rest .page { width:min(1100px,calc(100% - 64px)); max-width:1100px; padding:0; margin:48px auto 64px; }
.public-rest .help-hero { background:#153b35; padding:48px; border:0; border-radius:24px; box-shadow:none; }
.public-rest .help-hero h1 { font-size:clamp(2.5rem,4.5vw,4rem); color:#fff; }
.public-rest .help-hero p { color:#d3e2dc; }
.public-rest .help-links a { padding:12px 18px; text-decoration:none; }
.public-rest .help-links .help-button { background:var(--ds-accent); color:var(--ds-ink); }
.public-rest .help-links a:not(.help-button) { color:#fff; background:transparent; border:1px solid #8daaa1; }
.public-rest .help-grid { gap:24px; margin:28px 0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-rest .help-card { padding:28px; }
.public-rest .help-card h2 { font-size:1.4rem; }
.public-rest .note { border:1px solid #d0dfd6; border-radius:16px; background:#e7f2eb; padding:24px; }
.public-rest .page .card { background:#fff; border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; padding:clamp(24px,5vw,52px); }
.public-rest .page h1 { font-size:clamp(2.5rem,4.5vw,4rem); }
.public-rest .links a { background:#e7f2eb; color:var(--ds-brand); font-weight:600; }
.public-rest .links a:first-child { background:var(--ds-brand); color:#fff; }
.public-rest.enquiry-page main { width:min(760px,calc(100% - 64px)); max-width:760px!important; margin:48px auto!important; background:#fff; padding:40px; border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; }
.public-rest.enquiry-page h1 { font-size:clamp(2.2rem,4vw,3.5rem); }
.public-rest.enquiry-page form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:0; background:none; border:0; box-shadow:none; }
.public-rest.enquiry-page label { display:grid; gap:8px; font-size:.9rem; }
.public-rest.enquiry-page label:last-of-type,.public-rest.enquiry-page form button { grid-column:1/-1; }
.public-rest .public-brand { display:flex; width:min(1200px,calc(100% - 64px)); margin:28px auto; align-items:center; gap:12px; font-size:1rem; font-weight:600; color:var(--ds-ink); text-decoration:none; }
.public-rest .public-brand img { width:36px; height:36px; object-fit:contain; }
.public-rest.solar-guide .wrap { width:min(1200px,calc(100% - 64px)); margin:0 auto 64px; padding:0; }
.public-rest.solar-guide .hero { background:#153b35; padding:48px; border-radius:24px; }
.public-rest.solar-guide .hero h1 { font-size:clamp(2.5rem,4.5vw,4rem); color:#fff; }
.public-rest.solar-guide .hero p { color:#d3e2dc; max-width:70ch; }
.public-rest.solar-guide .grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); margin:28px 0; gap:24px; }
.public-rest.solar-guide .card { border:1px solid var(--ds-border); border-radius:20px; box-shadow:none; padding:32px; }
.public-rest.solar-guide .card + .card { margin-top:28px; }
.public-rest.solar-guide .grid .card { margin-top:0; }
.public-rest.solar-guide .text-block { color:var(--ds-muted); }
.public-rest.solar-guide .cta { padding:40px; background:#153b35; border-radius:20px; }
.public-rest.solar-guide .cta a { color:var(--ds-accent); text-decoration:underline; text-underline-offset:4px; }
.public-rest.solar-guide .cta h2 { color:#fff; }
.public-rest.resco-page { background:var(--ds-paper); color:var(--ds-ink); }
.public-rest.resco-page > header { background:#fff; box-shadow:none; border-bottom:1px solid var(--ds-border); }
.public-rest.resco-page > header nav { max-width:1200px; gap:20px; }
.public-rest.resco-page main,.public-rest.resco-page > .max-w-7xl { max-width:1200px; margin:auto; }
.public-rest.resco-page main { padding:40px 24px; }
.public-rest.resco-page main h1,.public-rest.resco-page #hero h1 { font-size:clamp(2.5rem,5vw,4.5rem); }
.public-rest.resco-page main h2 { font-size:clamp(1.8rem,3vw,2.75rem); }
.public-rest.resco-page [class*=shadow] { box-shadow:none; }
.public-rest.resco-page :is([class*=rounded-lg],[class*=rounded-xl],[class*=rounded-2xl],[class*=rounded-3xl]) { border-radius:20px; }
.public-rest.resco-page [class*=text-sky],.public-rest.resco-page [class*=text-amber],.public-rest.resco-page [class*=text-489FB5],.public-rest.resco-page [class*=text-16697A] { color:var(--ds-brand); }
.public-rest.resco-page [class*=bg-sky],.public-rest.resco-page [class*=bg-amber],.public-rest.resco-page [class*=bg-489FB5],.public-rest.resco-page [class*=bg-82C0CC] { background-color:#e7f2eb; color:var(--ds-ink); }
.public-rest.resco-page [class*=bg-0B2D48] { background:#153b35; }
.public-rest.resco-page .flow-node.active,.public-rest.resco-page .flow-node:hover { border-color:var(--ds-brand); box-shadow:var(--ds-shadow); }
.public-rest.resco-page .nav-dot.active { background:var(--ds-brand); }
.public-rest.resco-page #hero { min-height:65vh; }
.public-rest.resco-page .chart-container,.public-rest.resco-page .chart-container-bar { max-width:100%; }
.public-rest.partner-page header { background:#fff; border-color:var(--ds-border); }
.public-rest.partner-page :is(.hero-art,.explain) { background:#e7f2eb; border-radius:20px; }
.public-rest.partner-page :is(.card,.output,.floating,.calc) { border-radius:20px; box-shadow:none; }
.public-rest.partner-page :is(.card,.output,.floating) { border:1px solid var(--ds-border); }
.public-rest.partner-page .calc,.public-rest.partner-page .formula .result { background:#153b35; }
.public-rest.partner-page .calc .muted { color:#d3e2dc; }
.public-rest.partner-page .calc .output .muted { color:var(--ds-muted); }
.public-rest.partner-page .featured { background:var(--ds-accent); }
.public-rest.partner-page .tier-bonus { color:var(--ds-brand); }
.public-rest.partner-page .hero-art .visual-caption { background:#e7f2eb; color:var(--ds-muted); }
.public-rest.residential-page :is(.hero-form form,.compare-box,.product-card,.price-card,.card,.language-card) { border-radius:20px; border-color:var(--ds-border); box-shadow:none; }
.public-rest.residential-page :is(.button,.call-button,.language-switch,.wizard-nav button,.language-options button,.sticky-cta) { border-radius:12px; }
.public-rest.residential-page .hero-form form { background:#fff; }
.public-rest.residential-page #form-next { background:var(--ds-brand); }
.public-rest.residential-page #form-next:disabled { background:#e0e7e2; color:#63756d; }
.public-rest.residential-page .hero-photo figcaption { background:#e7f2eb; }
.public-rest.residential-page .hero-offer { border-color:var(--ds-brand); }
.public-rest.residential-page .language-gate { background:var(--ds-paper); }
.public-rest.residential-page input[type=range] { padding:0; accent-color:var(--ds-brand); }
@media(max-width:1000px) {
 .public-rest .blog-filters form { grid-template-columns:1fr 1fr; }
 .public-rest .blog-grid,.public-rest .article-related-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-rest .login-layout { grid-template-columns:1fr; }
 .public-rest .login-summary { grid-template-columns:1fr 1fr; }
 .public-rest .help-grid { grid-template-columns:1fr; }
 .public-rest :is(.help-shell,.page,.public-brand),.public-rest.solar-guide .wrap,.public-rest .article-section { width:calc(100% - 48px); }
}
@media(max-width:700px) {
 .public-rest .blog-filters { padding:22px; }
 .public-rest .blog-filters form,.public-rest .blog-grid,.public-rest .article-related-list,.public-rest .login-summary,.public-rest .login-hero .hero-inner { grid-template-columns:1fr; }
 .public-rest .role-buttons { grid-template-columns:1fr; }
 .public-rest .login-panel { padding:24px; }
 .public-rest .login-hero .hero-art { max-width:360px; }
 .public-rest :is(.help-shell,.page,.public-brand),.public-rest.solar-guide .wrap,.public-rest .article-section { width:calc(100% - 36px); }
 .public-rest :is(.help-hero,.help-card),.public-rest.solar-guide :is(.hero,.card,.cta) { padding:24px; }
 .public-rest.enquiry-page main { width:calc(100% - 36px); padding:24px; }
 .public-rest.enquiry-page form { grid-template-columns:1fr; }
 .public-rest .help-links { flex-direction:column; }
 .public-rest .article-hero { float:none; width:100%; margin:0 0 24px; }
 .public-rest .article-section { padding:32px 0; }
 .public-rest .article-shell { padding:24px; }
 .public-rest.resco-page > header nav { flex-wrap:wrap; padding:18px; }
 .public-rest.resco-page main { padding:32px 18px; }
 .public-rest.resco-page #hero { padding:48px 24px; }
 .public-rest.resco-page #side-nav { display:none; }
 .public-rest.partner-page .calc { padding:24px; }
 .public-rest.partner-page .formula b { white-space:normal; overflow-wrap:anywhere; }
 .public-rest.partner-page header .wrap { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .public-rest * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
.public-rest .policy-directory { background:#153b35; color:#fff; padding:36px; border-radius:24px; align-self:center; }
.public-rest .policy-directory .hero-eyebrow { background:#ffffff12; border-color:#ffffff2b; color:#d8f36a; }
.public-rest .policy-directory h2 { color:#fff; font-size:clamp(1.8rem,3vw,2.5rem); margin:24px 0; }
.public-rest .policy-directory > a { display:flex; align-items:center; gap:20px; color:#d8f36a; padding:18px 0; border-bottom:1px solid #ffffff26; text-decoration:none; font-size:.85rem; min-height:52px; }
.public-rest .policy-directory > a span { flex:1; color:#fff; }
.public-rest .policy-directory p { color:#c5d6d3; font-size:.85rem; margin:28px 0 0; }
.public-rest .policy-directory p a { color:#d8f36a; text-underline-offset:4px; }
.public-rest :is(p,li,a) { overflow-wrap:anywhere; }
.public-rest .list-check li { min-width:0; flex-wrap:wrap; }
@media(max-width:700px){.public-rest .policy-directory { padding:26px; }}
.public-rest.resco-page .tab-button.active { color:var(--ds-brand); border-color:var(--ds-brand); }
.public-rest.resco-page .phase-node.active { background:var(--ds-brand); color:#fff; }
.public-rest.partner-page .gate { background:var(--ds-paper); }
.public-rest.partner-page .gate-card { border-radius:24px; box-shadow:none; border:1px solid var(--ds-border); }
.public-rest.partner-page .gate-card button { background:var(--ds-brand); color:#fff; }
.public-rest.residential-page .language-options button { background:var(--ds-brand); color:#fff; }
.public-rest.residential-page .language-options button span { color:#e7f2eb; }
.public-rest .login-hero .login-welcome { background:#153b35; color:#fff; padding:36px; }
.public-rest .login-welcome .hero-eyebrow { color:#d8f36a; border-color:#ffffff30; background:#ffffff0d; }
.public-rest .login-welcome h2 { color:#fff; font-size:2rem; margin:24px 0 16px; }
.public-rest .login-welcome p { color:#c5d6d3; }
.public-rest .login-welcome > div { border-top:1px solid #ffffff26; padding:16px 0; font-size:.95rem; }
.public-rest .login-welcome > div span { color:#d8f36a; font-size:.78rem; margin-right:22px; }
.public-rest.resco-page .flex:has(>.tab-button) { flex-wrap:wrap; gap:8px; }
.public-rest.resco-page .tab-button { flex:1 1 120px; }
.public-rest.resco-page [role=button]:focus-visible { outline:3px solid var(--ds-brand); outline-offset:4px; }
.public-rest .page-hero:has(.article-meta) .hero-inner { grid-template-columns:1fr; }
.public-rest .page-hero:has(.article-meta) .hero-copy { max-width:1000px; }
.public-rest .page-hero:has(.article-meta) h1 { font-size:clamp(2.4rem,4.8vw,4.2rem); max-width:24ch; }
.public-rest .article-content h1 { font-size:clamp(1.8rem,3vw,2.5rem); }
/* Explicit foregrounds for light controls and dark information panels. */
.public-rest.solar-guide .cta .text-block,.public-rest.solar-guide .cta .text-block p { color:#d0e0d5; }
.public-rest.enquiry-page .btn-primary { color:#fff; }
.public-rest .login-help-footer a,.public-rest .page .links a:not(:first-child) { color:#066457; }
.public-rest.residential-page .language-options button span { color:#fff; }
.public-rest.residential-page .hero-photo small,.public-rest.residential-page .finance-note { color:#4f625c; }
.public-rest.residential-page .journey-grid article > span { color:#527344; }
.public-rest.residential-page .enquiry-section .eyebrow { color:#3e634e; }
.public-rest.partner-page #join .small.muted { color:#4f625c; }
