/* ClickSolar / Scandinavian editorial direction. Existing form controls remain native. */
html { scroll-behavior: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto !important; }
.nordic { --ivory:#f7f7f2; --navy:#172e37; --blue:#345594; --line:#d8dcd6; --muted:#667571; --coral:#f49a76; --radius:5px; background:var(--ivory); }
.nordic ::selection { background:#f4c6af; color:#172e37; }
.nordic .wrap { width:calc(100% - 112px); max-width:1440px; }
.nordic .site-header { height:92px; background:var(--ivory); border-bottom:1px solid transparent; transition:border-color .25s; z-index:100; }
.nordic .site-header.is-scrolled { border-color:var(--line); }
.nordic .header-inner { min-height:92px; height:92px; }
.nordic .brand img { width:220px; height:74px; object-fit:contain; }
.nordic #main-nav { gap:31px; }
.nordic #main-nav > a:not(.button) { font-size:13px; font-weight:500; }
.nordic .button { border-radius:3px; background:var(--navy); color:#fff; padding:17px 25px; font-size:13px; font-weight:600; gap:32px; border:1px solid var(--navy); box-shadow:none; min-height:54px; }
.nordic .button:hover { background:#304a4e; border-color:#304a4e; color:white; transform:none; }
.nordic .button span { transition:transform .25s; }
.nordic .button:hover span { transform:translate(2px,-2px); }
.nordic .button-outline { color:var(--navy); background:transparent; }
.nordic .eyebrow { font-size:10px; letter-spacing:.15em; font-weight:500; line-height:1.7; }
.nordic h1,.nordic h2 { font-weight:400; letter-spacing:-.065em; }
.nordic h3 { font-weight:500; letter-spacing:-.035em; }
.nordic h2 { font-size:clamp(44px,5.1vw,76px); line-height:1.08; }
.nordic .soft-ink { color:#7b8b80; }
.nordic .editorial-link { display:inline-flex; gap:28px; justify-content:space-between; align-items:center; border-bottom:1px solid currentColor; padding:0 0 9px; font-size:13px; font-weight:500; }
.nordic .editorial-link span { font-size:22px; line-height:1; transition:transform .25s; }
.nordic .editorial-link:hover span { transform:translate(3px,-3px); }
.home-hero { position:relative; min-height:680px; height:calc(100svh - 108px); max-height:1000px; margin:0 18px; overflow:hidden; border-radius:5px; color:white; display:flex; align-items:center; isolation:isolate; }
.home-hero .hero-landscape { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 54%; z-index:-3; }
.home-hero .hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(10,28,32,.64) 0%,rgba(10,28,32,.38) 45%,rgba(10,28,32,.04) 83%),linear-gradient(0deg,rgba(9,24,27,.45),transparent 32%); }
.home-hero .hero-content { padding:50px clamp(30px,5.7vw,96px) 100px; width:100%; }
.home-hero .eyebrow { color:#fff; display:flex; align-items:center; gap:12px; margin:0 0 28px; }
.small-sun { display:inline-block; width:10px; height:10px; border:1px solid #f7c4a2; border-radius:50%; box-shadow:0 0 0 4px #f7c4a21a; }
.home-hero h1 { color:#fff; font-size:clamp(66px,7.55vw,118px); line-height:1.045; letter-spacing:-.065em; margin:0 0 27px; max-width:1020px; }
.home-hero .hero-lede { color:#fff; opacity:.88; max-width:470px; font-size:16px; line-height:1.7; margin-bottom:30px; }
.hero-choices { display:flex; align-items:center; gap:22px; }
.nordic .home-hero .button { background:#f4ae8c; border-color:#f4ae8c; color:#172e37; min-width:218px; justify-content:space-between; }
.nordic .home-hero .button:hover { background:#ffd0b4; border-color:#ffd0b4; }
.hero-choices > span { color:#fffe; font-size:10px; line-height:1.7; }
.hero-foot { display:flex; justify-content:space-between; align-items:center; position:absolute; left:clamp(30px,5.7vw,96px); right:clamp(30px,5.7vw,96px); bottom:25px; padding-top:20px; border-top:1px solid #fff4; font-size:9px; letter-spacing:.12em; width:auto; }
.hero-foot a { display:flex; align-items:center; gap:30px; letter-spacing:0; font-size:11px; }
.hero-foot a span { font-size:21px; }
.hero-foot .photo-credit { font-size:8px; color:#fffa; letter-spacing:0; }
.chapter { padding:130px 0; }
.chapter-grid { display:grid; grid-template-columns:1fr 1.75fr; gap:7%; }
.chapter-label { font-size:14px; line-height:1.7; color:#64736e; margin:0; }
.chapter-label > span { display:block; font-size:9px; letter-spacing:.13em; margin-bottom:26px; color:var(--navy); }
.chapter-main h2 { margin:0 0 45px; }
.intro-columns { display:grid; grid-template-columns:1fr 1fr; gap:38px; max-width:850px; }
.intro-columns p { font-size:15px; line-height:1.85; margin:0 0 25px; color:#64736e; }
.home-details { padding-top:0; }
.home-details .chapter-side h2 { margin:38px 0; }
.house-index article { display:grid; grid-template-columns:28px 1fr 22px; gap:20px; padding:28px 0 33px; border-top:1px solid var(--line); }
.house-index article:last-child { border-bottom:1px solid var(--line); }
.index-number { font-size:10px; color:#71817a; padding-top:7px; }
.index-symbol { font-size:22px; color:#7d8c84; }
.house-index h3 { margin:0 0 9px; font-size:26px; line-height:1.25; }
.house-index p { max-width:530px; margin:0; font-size:14px; line-height:1.8; color:#64736e; }
.energy-system { background:#ecefe8; padding:90px 0; }
.system-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:8%; align-items:center; }
.system-photo { margin:0; position:relative; }
.system-photo img { width:100%; height:660px; object-fit:cover; object-position:43% center; display:block; border-radius:3px; }
.system-photo figcaption { font-size:8px; letter-spacing:.08em; color:#71817a; margin-top:13px; }
.system-copy h2 { margin:28px 0; }
.system-copy > p:not(.eyebrow) { font-size:15px; max-width:410px; line-height:1.8; color:#64736e; }
.solution-index { margin-top:34px; }
.solution-index a { display:grid; grid-template-columns:25px 1fr 22px; gap:15px; align-items:center; border-top:1px solid #ccd2c9; padding:18px 0; }
.solution-index a:last-child { border-bottom:1px solid #ccd2c9; }
.solution-index a > span:first-child { font-size:9px; color:#71817a; }
.solution-index strong { font-size:14px; font-weight:500; }
.solution-index a > span:last-child { font-size:21px; transition:transform .25s; }
.solution-index a:hover > span:last-child { transform:translate(3px,-3px); }
.chapter-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:70px; }
.chapter-heading h2 { margin:26px 0 0; }
.process-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:6%; }
.process-columns article { padding-top:25px; border-top:1px solid #c4cdc4; }
.process-columns article > span { font-size:11px; color:#7d8d81; }
.process-columns h3 { margin:40px 0 14px; font-size:24px; }
.process-columns p { font-size:14px; color:#64736e; max-width:320px; line-height:1.8; }
.national-editorial { background:#1f363b; color:#f6f6ee; padding:86px 0 27px; margin:0 18px; border-radius:4px; }
.national-editorial .eyebrow { color:#becac0; }
.national-title { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:12%; padding:45px 0 80px; }
.national-title h2 { font-size:clamp(74px,9vw,140px); line-height:.98; color:#f6f6ee; margin:0; }
.national-title h2 span { color:#d8c2a1; }
.national-copy { max-width:350px; padding-bottom:8px; }
.national-copy p { color:#c4d0c9; font-size:15px; line-height:1.85; }
.national-copy .editorial-link { margin-top:25px; color:#f6f6ee; }
.national-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid #ffffff25; font-size:8px; color:#bcc9c1; letter-spacing:.1em; }
.reading h2 { margin-top:40px; }
.reading-list a { display:grid; grid-template-columns:28px 1fr 22px; align-items:start; gap:24px; padding:28px 0; border-top:1px solid var(--line); }
.reading-list a:last-child { border-bottom:1px solid var(--line); }
.reading-list a > span:first-child { font-size:9px; color:#71817a; padding-top:5px; }
.reading-list a > span:last-child { font-size:23px; }
.reading-list h3 { font-size:25px; line-height:1.35; margin:0 0 10px; }
.reading-list p { font-size:13px; line-height:1.7; color:#64736e; margin:0; }
.nordic .faq-section { padding-top:0; }
.nordic .faq-grid { grid-template-columns:1fr 1.75fr; gap:7%; }
.nordic .faq-section h2 { margin:28px 0; }
.nordic .faq-section .faq-grid > div > p:not(.eyebrow) { font-size:14px; color:#64736e; }
.nordic .faq-list summary { font-size:17px; font-weight:500; line-height:1.5; }
.nordic .faq-list details { padding:26px 0; }
.nordic .faq-list p { font-size:14px; line-height:1.8; color:#64736e; }
.partner-invitation { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:60px 0; }
.partner-invitation .wrap { display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:30px; }
.partner-invitation h2 { font-size:30px; line-height:1.25; margin:0; letter-spacing:-.045em; }
.partner-invitation .editorial-link { justify-self:end; }
.final-invitation { padding:125px 0 140px; text-align:center; }
.final-invitation h2 { font-size:clamp(72px,10vw,150px); line-height:.99; margin:36px 0 45px; }
.final-invitation h2 span { color:#7b8b80; }
.final-invitation > .wrap > p:last-child { font-size:10px; color:#64736e; margin-top:20px; }
.nordic footer { background:#e9ede5; padding-top:68px; }
.nordic .footer-top { padding-bottom:42px; }
.nordic .footer-top > p { font-size:30px; font-weight:400; letter-spacing:-.05em; }
.nordic .footer-top a:not(.footer-brand) { font-size:12px; }
.nordic .footer-bottom,.nordic .footer-note { border-color:#cbd3c8; }
.nordic .page-hero { padding-top:95px; padding-bottom:80px; border-bottom:1px solid var(--line); }
.nordic .page-hero h1 { font-size:clamp(50px,7vw,104px); line-height:1.04; max-width:1100px; }
.nordic .page-hero h1 span { color:#7b8b80; }
.nordic .page-hero .lede { max-width:650px; font-size:18px; color:#64736e; }
.nordic .section { padding-top:100px; padding-bottom:100px; }
.nordic .editorial-list article { border-color:var(--line); }
.nordic .editorial-list h2 { font-size:33px; }
.nordic .guide-card { border-radius:3px; background:transparent; box-shadow:none; border-color:var(--line); }
.nordic .guide-card:hover { transform:none; background:#ecefe8; }
.nordic .guide-card h3 { font-size:28px; }
.nordic .closing { background:#ecefe8; }
.nordic .closing h2 { font-size:clamp(44px,5.7vw,82px); }
.nordic .solar-form { border-radius:4px; box-shadow:none; border-color:var(--line); padding:46px; }
.nordic .solar-form input:not([type=checkbox]):not([type=radio]),.nordic .solar-form select,.nordic .solar-form textarea { border-radius:3px; border-color:#cbd3cc; }
.nordic .solar-form .review,.nordic .solar-form .form-errors { border-radius:3px; }
.nordic .solar-form .secondary { color:var(--navy); background:transparent; }
.nordic .solar-form .secondary:hover { background:#edf0e9; }
.scroll-progress { position:fixed; left:0; top:0; width:100%; height:2px; background:#d7ad8b; z-index:200; transform:scaleX(0); transform-origin:left; pointer-events:none; }
@media(min-width:1700px) { .home-hero .hero-content { padding-left:max(90px,calc((100vw - 1440px) / 2)); } }
@media(max-width:1100px) {
 .nordic .wrap { width:calc(100% - 72px); }
 .nordic #main-nav { gap:20px; }
 .nordic .brand img { width:190px; }
 .nordic #main-nav > a:not(.button) { font-size:11px; }
 .nordic #main-nav .button { gap:18px; padding:14px 20px; }
 .chapter { padding:100px 0; }
 .chapter-grid { grid-template-columns:1fr 1.65fr; gap:6%; }
 .system-grid { gap:6%; }
 .system-photo img { height:570px; }
 .partner-invitation .wrap { grid-template-columns:1fr 1.7fr; }
 .partner-invitation .editorial-link { grid-column:2; justify-self:start; }
}
@media(max-width:820px) {
 .nordic .site-header,.nordic .header-inner { height:78px; min-height:78px; }
 .nordic .brand img { width:190px; height:64px; }
 .nordic .menu-toggle { display:flex; }
 .nordic #main-nav { display:none; position:absolute; left:0; right:0; top:78px; padding:25px 36px; border-bottom:1px solid var(--line); background:var(--ivory); box-shadow:none; flex-direction:column; align-items:stretch; max-height:calc(100svh - 78px); overflow-y:auto; }
 .nordic #main-nav.open { display:flex; }
 .nordic #main-nav > a:not(.button) { font-size:16px; }
 .home-hero { margin:0 12px; min-height:660px; height:calc(100svh - 90px); }
 .home-hero h1 { font-size:clamp(56px,9vw,78px); }
 .home-hero .hero-content { padding:50px 38px 100px; }
 .hero-foot { left:38px; right:38px; }
 .hero-foot > span:first-child { display:none; }
 .chapter-grid,.nordic .faq-grid { grid-template-columns:1fr; gap:38px; }
 .chapter-label > span { margin-bottom:14px; }
 .chapter-label br { display:none; }
 .chapter-main h2 { margin-bottom:30px; }
 .chapter-side h2 br { display:none; }
 .home-details .chapter-side h2 { margin:25px 0; }
 .home-details { padding-top:0; }
 .system-grid { grid-template-columns:1fr 1fr; gap:6%; }
 .system-photo img { height:520px; }
 .system-copy h2 { font-size:45px; }
 .national-title { grid-template-columns:1.1fr 1fr; gap:8%; }
 .national-title h2 { font-size:80px; }
 .process-columns { gap:4%; }
 .process-columns h3 { font-size:21px; }
 .chapter-heading { align-items:flex-start; flex-direction:column; gap:25px; }
 .reading h2 { margin:25px 0 0; }
 .nordic .faq-section { padding-top:0; }
}
@media(max-width:600px) {
 .nordic .wrap { width:calc(100% - 40px); }
 .nordic .site-header,.nordic .header-inner { min-height:72px; height:72px; }
 .nordic .brand img { width:178px; height:60px; }
 .nordic #main-nav { top:72px; padding:22px 20px; gap:21px; }
 .nordic .menu-toggle { width:44px; height:44px; }
 .home-hero { margin:0 8px; height:calc(100svh - 80px); min-height:690px; max-height:900px; border-radius:3px; align-items:flex-start; }
 .home-hero .hero-landscape { object-position:61% center; }
 .home-hero .hero-shade { background:linear-gradient(180deg,rgba(9,27,29,.58),rgba(9,27,29,.30) 50%,rgba(9,27,29,.2)),linear-gradient(90deg,rgba(9,27,29,.28),transparent); }
 .home-hero .hero-content { padding:59px 24px 125px; }
 .home-hero .eyebrow { font-size:8px; letter-spacing:.11em; gap:9px; margin-bottom:32px; }
 .home-hero h1 { font-size:clamp(45px,10.8vw,64px); line-height:1.07; letter-spacing:-.065em; margin-bottom:24px; }
 .home-hero .hero-lede { font-size:14px; line-height:1.75; max-width:310px; margin-bottom:28px; }
 .home-hero .hero-lede br { display:none; }
 .hero-choices { align-items:flex-start; flex-direction:column; gap:15px; }
 .nordic .home-hero .button { min-width:220px; font-size:12px; }
 .hero-choices > span { font-size:9px; }
 .hero-choices > span br { display:none; }
 .hero-foot { left:24px; right:24px; bottom:21px; padding-top:17px; }
 .hero-foot a { font-size:10px; gap:20px; }
 .hero-foot .photo-credit { font-size:7px; }
 .chapter { padding:78px 0; }
 .nordic h2 { font-size:44px; }
 .chapter-grid { gap:32px; }
 .chapter-label { font-size:12px; }
 .chapter-label > span { font-size:8px; margin-bottom:12px; }
 .intro-columns { grid-template-columns:1fr; gap:0; }
 .intro-columns p { font-size:14px; }
 .chapter-main h2 { font-size:clamp(38px,10vw,49px); }
 .home-details { padding-top:0; }
 .house-index article { grid-template-columns:20px 1fr 16px; gap:12px; padding:25px 0; }
 .house-index h3 { font-size:23px; }
 .house-index p { font-size:13px; }
 .energy-system { padding:42px 0 60px; }
 .system-grid { grid-template-columns:1fr; gap:35px; }
 .system-photo img { height:420px; object-position:40% center; }
 .system-copy h2 { font-size:51px; }
 .system-copy > p:not(.eyebrow) { font-size:14px; }
 .solution-index strong { font-size:13px; }
 .chapter-heading { margin-bottom:38px; }
 .chapter-heading h2 { font-size:43px; }
 .process-columns { grid-template-columns:1fr; gap:25px; }
 .process-columns article { display:grid; grid-template-columns:28px 1fr; gap:0 12px; padding-top:22px; }
 .process-columns article > span { grid-column:1; padding-top:4px; font-size:9px; }
 .process-columns h3 { grid-column:2; font-size:22px; margin:0 0 10px; }
 .process-columns p { grid-column:2; font-size:13px; max-width:none; margin:0; }
 .national-editorial { margin:0 8px; padding:48px 0 24px; }
 .national-editorial .wrap { width:calc(100% - 48px); }
 .national-title { grid-template-columns:1fr; gap:35px; padding:28px 0 45px; }
 .national-title h2 { font-size:clamp(64px,18vw,90px); }
 .national-copy { max-width:none; }
 .national-copy p { font-size:14px; }
 .national-bottom { font-size:7px; letter-spacing:.05em; gap:20px; }
 .national-bottom > span:last-child { display:none; }
 .reading-list a { grid-template-columns:20px 1fr 20px; gap:12px; padding:25px 0; }
 .reading-list h3 { font-size:23px; }
 .reading-list p { font-size:12px; }
 .nordic .faq-section { padding-top:0; }
 .nordic .faq-list summary { font-size:16px; padding-right:25px; }
 .nordic .faq-list details { padding:23px 0; }
 .nordic .faq-list p { font-size:13px; }
 .partner-invitation { padding:44px 0; }
 .partner-invitation .wrap { grid-template-columns:1fr; gap:25px; }
 .partner-invitation h2 { font-size:30px; }
 .partner-invitation .eyebrow { margin:0; }
 .partner-invitation .editorial-link { grid-column:1; justify-self:start; }
 .final-invitation { padding:78px 0 85px; }
 .final-invitation h2 { font-size:clamp(58px,15vw,83px); margin:30px 0 35px; }
 .final-invitation .eyebrow { font-size:8px; }
 .nordic footer { padding-top:48px; }
 .nordic .footer-top > p { font-size:26px; }
 .nordic .footer-top a:not(.footer-brand) { font-size:12px; }
 .nordic .page-hero { padding:55px 0 50px; }
 .nordic .page-hero h1 { font-size:clamp(40px,10.8vw,58px); line-height:1.1; }
 .nordic .page-hero .lede { font-size:16px; }
 .nordic .section { padding-top:60px; padding-bottom:60px; }
 .nordic .editorial-list h2 { font-size:26px; }
 .nordic .solar-form { padding:26px 18px; }
 .nordic .solar-form .button { min-width:0; gap:12px; padding:13px 16px; font-size:12px; }
 .nordic .solar-form .wizard-progress { flex-wrap:wrap; }
 .nordic .solar-form .wizard-progress span { white-space:normal; }
 .nordic .form-wrap { width:calc(100% - 28px); }
 .nordic .closing h2 { font-size:43px; }
}
@media(prefers-reduced-motion:reduce) { .nordic *, .nordic *::before, .nordic *::after { animation:none !important; transition:none !important; } }

.nordic .footer-note p,.nordic .footer-bottom{font-size:11px}.nordic .footer-bottom{line-height:1.7}

.nordic .page-hero{background:var(--ivory)}

/* ClickSolar guided intake: one question per screen, native accessible controls. */
.nordic .quiz-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.nordic .quiz-card{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:16px;border:1px solid #ccd3cd;border-radius:4px;padding:22px;min-height:145px;cursor:pointer;background:#fff;transition:border-color .18s,background .18s;color:#172e37}
.nordic .quiz-card input{position:absolute;right:14px;top:14px;width:18px;height:18px;accent-color:#172e37}
.nordic .quiz-card svg{width:64px;height:48px;color:#476257}
.nordic .quiz-card:has(input:checked){background:#fae8dc;border-color:#b66341}
.nordic .quiz-card:has(input:focus-visible){outline:3px solid #172e37;outline-offset:3px}
.nordic .quiz-card[hidden]{display:none}
.nordic .quiz-card span{font-size:16px;line-height:1.5;padding-right:12px}
.nordic .quiz-enhanced[data-kind="homeowner"] fieldset{min-height:300px}
.nordic .quiz-hint{max-width:650px;color:#5c6d65;line-height:1.7}
.nordic .solar-form input[type="search"]{margin-bottom:8px}
@media(max-width:700px){.nordic .quiz-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nordic .quiz-card{padding:18px 14px;min-height:155px}.nordic .quiz-card span{font-size:14px}.nordic .quiz-enhanced[data-kind="homeowner"] fieldset{min-height:260px}}
@media(prefers-reduced-motion:reduce){.nordic .quiz-card{transition:none}}
.nordic .solar-form .button.primary{color:#fff;background:#172e37;border-color:#172e37}
.nordic .solar-form .button.secondary{color:#172e37;background:transparent;border-color:#172e37}
.nordic .solar-form .button.primary:hover{background:#304a4e;color:#fff}

/* Explicit control states shared by both intake forms and all public CTAs. */
.nordic .solar-form .button.primary{color:#fff;background:#172e37;border-color:#172e37}
.nordic .solar-form .button.secondary{color:#172e37;background:#fff;border-color:#172e37}
.nordic .solar-form .button.secondary:hover{color:#172e37;background:#edf0e9}
.nordic .button:focus-visible,.nordic .menu-toggle:focus-visible,.nordic summary:focus-visible{outline:3px solid #b66341;outline-offset:4px}
.nordic .button:disabled{color:#fff;background:#465b60;border-color:#465b60;opacity:1;cursor:wait}
.nordic .button{white-space:normal;text-align:left;overflow-wrap:anywhere}
.nordic .button span{color:inherit}
.nordic .menu-toggle{min-width:44px;min-height:44px}
.nordic .menu-toggle span{background:#172e37}
.nordic .solar-form .error{color:#9d422b}
.nordic .solar-form .form-footnote,.nordic .solar-form small{color:#566962}
