/**
 * solar.css — /solar paid landing page.
 *
 * Deliberately restrained relative to the main site:
 *   · Two typefaces. Manrope for everything; JetBrains Mono only for small
 *     utility labels. Playfair Display is NOT used here — the editorial serif
 *     reads creative-agency, and this page needs to read operator. It also
 *     removes three font files from the critical path.
 *   · Four colours. paper / ink / orange / neutral greys. No mint, no sky.
 *     Orange means one thing: "this is the action, or this is the number".
 *   · One radius, one border, one button, one divider, one card.
 *   · Three background zones — paper, soft neutral, one dark band, paper.
 *
 * Loaded after main.css, so all tokens are inherited from the theme.
 * Classes namespaced `sol-`; the shared atoms .container .btn .arr .brand
 * .dotlogo .nav .nav-inner .hero-tag .dot are reused as-is.
 *
 * @package loomreach
 */

.lr-solar{
	--r: 16px;                       /* the only card radius */
	--edge: 1px solid var(--rule);   /* the only light border */
	--edge-dark: 1px solid rgba(247,245,240,.15);
	--gut: clamp(64px,7.5vw,116px);  /* the only section rhythm */
}

/* ---------------- nav ---------------- */
.sol-nav-right{display:flex;align-items:center;gap:14px}
.sol-tel{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;
	padding:10px 4px;color:var(--ink)}
.sol-tel:hover{color:var(--accent)}
@media(max-width:820px){.sol-tel .lbl{display:none}.sol-nav.nav-inner{gap:16px}}
@media(max-width:560px){.sol-nav .btn{padding:12px 16px;font-size:13px}}

/* ---------------- type ---------------- */
.sol-h1,.sol-h2,.sol-h3{margin:0;font-weight:800;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}
.sol-h1{font-size:clamp(40px,5.4vw,80px);letter-spacing:-.045em;line-height:.95}
.sol-h1 em{font-style:normal;color:var(--accent)}   /* the ONE headline highlight */
.sol-h2{font-size:clamp(28px,3.3vw,48px);letter-spacing:-.04em}
.sol-h3{font-size:clamp(16px,1.35vw,19px);letter-spacing:-.02em;line-height:1.25}

.sol-kicker{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.15em;
	text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px}
.sol-kicker.on-ink{color:#8d8880}
.sol-lede{font-size:clamp(16px,1.3vw,18.5px);line-height:1.6;color:var(--ink-soft);max-width:60ch;margin:0}
.sol-fine{font-size:13.5px;line-height:1.6;color:var(--ink-faint);margin:0}
.sol-fine a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}
.sol-fine a:hover{color:var(--accent)}
.sol-mt{margin-top:20px}
.sol-mt-lg{margin-top:40px}

/* ---------------- zones ---------------- */
.sol-sec{padding:var(--gut) 0;border-top:var(--edge)}
.sol-sec-tight{border-top:none;padding-top:0}
.sol-mid{max-width:1000px}
.sol-slim{max-width:760px}
.sol-alt{background:var(--bg)}
.sol-alt+.sol-alt{border-top-color:transparent}
.sol-ink{background:var(--ink);color:#b4afa4;border-top-color:var(--ink)}
.sol-ink .sol-h1,.sol-ink .sol-h2,.sol-ink .sol-h3{color:var(--paper)}
.sol-ink .sol-lede{color:#b4afa4}
.sol-ink .sol-fine{color:#8d8880}

/* ---------------- buttons ---------------- */
.sol-cta{cursor:pointer;font-family:inherit}
.sol-btn-lg{padding:17px 30px;font-size:15px}
.sol-wide{width:100%}
.sol-btn-out{background:transparent;color:var(--ink);border-color:var(--ink)}
.sol-btn-out:hover{background:var(--ink);color:var(--paper)}
.sol-tel-inline{font-size:14.5px;color:var(--ink-soft);white-space:nowrap}
.sol-tel-inline:hover{color:var(--accent)}
.sol-ink .sol-tel-inline{color:#8d8880}

/* ---------------- hero ---------------- */
.sol-hero{padding:clamp(56px,6.5vw,104px) 0 clamp(52px,6vw,88px)}
.sol-hero-inner{max-width:940px}
.sol-hero .hero-tag{margin-bottom:26px}
.sol-hero-lede{margin-top:24px;font-size:clamp(17px,1.5vw,21px);max-width:56ch}
.sol-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:36px}
.sol-trust{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;padding:24px 0 0;
	margin:34px 0 0;border-top:1px dashed var(--rule)}
.sol-trust li{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
	color:var(--ink-faint);display:inline-flex;align-items:center;gap:8px}
.sol-trust li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);flex:0 0 auto}

/* ---------------- numbered rows (leaks) ---------------- */
.sol-leaks{list-style:none;padding:0;margin:40px 0 0;border-top:var(--edge);counter-reset:none}
.sol-leaks li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:28px 0;
	border-bottom:1px dashed var(--rule);align-items:start}
.sol-leaks .no{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent);padding-top:4px}
.sol-leaks h3{margin-bottom:8px}
.sol-leaks p{margin:0;color:var(--ink-soft);font-size:15.5px;max-width:70ch}
@media(max-width:640px){.sol-leaks li{grid-template-columns:1fr;gap:8px}}

/* ---------------- calculator ---------------- */
.sol-calc{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border:var(--edge);
	border-radius:var(--r);overflow:hidden}
@media(max-width:900px){.sol-calc{grid-template-columns:1fr}}
.sol-calc-in{background:var(--paper);padding:clamp(24px,2.6vw,36px)}
.sol-calc-out{background:var(--ink);color:#b4afa4;padding:clamp(24px,2.6vw,36px);
	display:flex;flex-direction:column}
.sol-srow{margin-bottom:22px}
.sol-srow:last-child{margin-bottom:0}
.sol-srow .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.sol-srow label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.11em;
	text-transform:uppercase;color:var(--ink-faint);font-weight:500;margin:0}
.sol-srow output{font-family:var(--mono);font-weight:500;font-size:15px;color:var(--ink);
	font-variant-numeric:tabular-nums}
.sol-calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;padding:0;
	border:none;border-radius:999px;background:var(--rule);cursor:pointer}
.sol-calc input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.sol-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;
	border-radius:50%;background:var(--accent);border:3px solid var(--paper);
	box-shadow:0 0 0 1px var(--rule);cursor:pointer}
.sol-calc input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;
	background:var(--accent);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--rule);cursor:pointer}
.sol-bignum{font-size:clamp(44px,5.6vw,70px);font-weight:800;letter-spacing:-.05em;line-height:.95;
	color:var(--accent);font-variant-numeric:tabular-nums;margin:0}
.sol-bigcap{font-size:13.5px;color:#8d8880;margin:12px 0 0;max-width:36ch;line-height:1.5}
.sol-clines{list-style:none;padding:22px 0 0;margin:24px 0 0;
	border-top:1px dashed rgba(247,245,240,.2);display:grid;gap:12px}
.sol-clines li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:14px}
.sol-clines b{font-family:var(--mono);font-weight:500;color:var(--paper);
	font-variant-numeric:tabular-nums;white-space:nowrap}
.sol-cfoot{font-size:11.5px;color:#7a756e;margin-top:auto;padding-top:22px;line-height:1.6}

.sol-calc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;justify-content:space-between}
.sol-calc-cta .sol-lede{flex:1 1 380px;font-size:16px;margin:0}

/* ---------------- flow strip ---------------- */
.sol-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;
	padding:24px 0 0;margin:32px 0 0;border-top:1px dashed var(--rule)}
.sol-flow li{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
	color:var(--ink-faint);border:var(--edge);padding:6px 11px;border-radius:999px;white-space:nowrap}
.sol-flow li.sep{border:none;padding:0 1px;color:var(--rule);font-size:11px}
.sol-flow li.hot{border-color:var(--ink);color:var(--ink)}

/* ---------------- stage / card grids (one shared pattern) ---------------- */
.sol-stages,.sol-cards,.sol-pilot-grid{display:grid;gap:20px;margin-top:40px}
.sol-stages{grid-template-columns:repeat(2,1fr)}
.sol-cards{grid-template-columns:repeat(3,1fr)}
.sol-pilot-grid{grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:1000px){.sol-pilot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sol-stages,.sol-cards{grid-template-columns:1fr}}
@media(max-width:560px){.sol-pilot-grid{grid-template-columns:1fr}}

.sol-stage,.sol-card,.sol-pilot-grid>div{border:var(--edge);border-radius:var(--r);padding:26px}
.sol-ink .sol-card,.sol-ink .sol-pilot-grid>div{border:var(--edge-dark);background:rgba(247,245,240,.035)}
.sol-stage .no,.sol-card .no,.sol-pilot-grid .no{display:block;font-family:var(--mono);font-size:10.5px;
	letter-spacing:.12em;color:var(--accent);margin-bottom:14px}
.sol-stage h3,.sol-card h3,.sol-pilot-grid h3{margin-bottom:10px}
.sol-stage p,.sol-card p,.sol-pilot-grid p{margin:0;font-size:14.5px;color:var(--ink-soft);line-height:1.55}
.sol-ink .sol-card p,.sol-ink .sol-pilot-grid p{color:#b4afa4}

/* ---------------- pilot ---------------- */
.sol-pilot{margin-top:var(--gut);padding-top:var(--gut);border-top:var(--edge-dark)}
.sol-pilot-top{max-width:760px}
.sol-more{margin-top:24px;border-top:1px dashed rgba(247,245,240,.2);
	border-bottom:1px dashed rgba(247,245,240,.2)}
.sol-more summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;position:relative;
	font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#b4afa4}
.sol-more summary::-webkit-details-marker{display:none}
.sol-more summary:hover{color:var(--paper)}
.sol-more summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
	font-size:16px;color:var(--accent);font-family:var(--sans)}
.sol-more[open] summary::after{content:"\2013"}
.sol-more .ans{padding:0 0 26px}
.sol-inc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
@media(max-width:700px){.sol-inc{grid-template-columns:1fr}}
.sol-inc li{font-size:14.5px;color:#b4afa4;padding-left:18px;position:relative}
.sol-inc li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
	border-radius:50%;background:var(--accent)}

.sol-reversal{margin-top:40px;padding:30px;border:var(--edge-dark);border-radius:var(--r);
	background:rgba(247,245,240,.035);display:flex;flex-wrap:wrap;gap:26px;
	justify-content:space-between;align-items:center}
.sol-reversal ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;flex:1 1 420px}
.sol-reversal li{font-size:14.5px;color:#d8d4cb;padding-left:20px;position:relative;line-height:1.5}
.sol-reversal li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;
	border-radius:50%;background:var(--accent)}

/* ---------------- fit ---------------- */
.sol-fit{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
@media(max-width:820px){.sol-fit{grid-template-columns:1fr}}
.sol-fitcol{border:var(--edge);border-radius:var(--r);padding:30px}
.sol-fitcol.no{background:var(--bg)}
.sol-fitcol h3{margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--rule)}
.sol-fitcol ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.sol-fitcol li{font-size:14.5px;color:var(--ink-soft);padding-left:20px;position:relative;line-height:1.5}
.sol-fitcol li::before{content:"";position:absolute;left:0;top:.58em;width:5px;height:5px;border-radius:50%}
.sol-fitcol.yes li::before{background:var(--accent)}
.sol-fitcol.no li::before{background:var(--rule)}

/* ---------------- faq ---------------- */
.sol-faq{margin-top:36px;border-top:var(--edge)}
.sol-faq details{border-bottom:1px dashed var(--rule)}
.sol-faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;
	font-weight:700;font-size:clamp(15.5px,1.25vw,18px);letter-spacing:-.02em}
.sol-faq summary::-webkit-details-marker{display:none}
.sol-faq summary:hover{color:var(--accent)}
.sol-faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
	font-size:20px;font-weight:400;color:var(--accent);line-height:1}
.sol-faq details[open] summary::after{content:"\2013"}
.sol-faq .ans{padding:0 0 24px;max-width:72ch}
.sol-faq .ans p{color:var(--ink-soft);font-size:15px;margin:0}

/* ---------------- final ---------------- */
.sol-final-sec{background:var(--bg)}
.sol-final{max-width:760px}
.sol-final-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:32px}

/* ---------------- inline Cal embed ----------------
 * Wrapped in the same card treatment as every other block on the page — one
 * radius, one border, paper ground — so the scheduler reads as part of the
 * page rather than an iframe dropped into it. The header strip carries the
 * mono label style used elsewhere.
 */
.sol-cal-shell{margin-top:40px;border:var(--edge);border-radius:var(--r);
	background:var(--paper);overflow:hidden}
.sol-cal-head{display:flex;align-items:center;gap:9px;padding:14px 20px;
	border-bottom:1px dashed var(--rule);font-family:var(--mono);font-size:10.5px;
	letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.sol-cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}

.sol-cal-inline{width:100%;min-height:660px;position:relative}
.sol-cal-inline.is-ready{min-height:0}
/* Cal injects its own iframe/host element; keep it fluid inside the card. */
.sol-cal-inline iframe,.sol-cal-inline > *{max-width:100%!important}

.sol-cal-skeleton{position:absolute;inset:0;display:grid;place-items:center;
	font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
	color:var(--ink-faint);background:var(--paper)}
.sol-cal-inline.is-ready .sol-cal-skeleton{display:none}

.sol-cal-fallback{padding:clamp(26px,3vw,40px);text-align:left}
.sol-cal-fallback .sol-lede{margin-top:10px;font-size:15px}
.sol-cal-fallback[hidden]{display:none}

.sol-cal-foot{margin-top:18px}
.sol-cal-foot a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}
.sol-cal-foot a:hover{color:var(--accent)}

@media(max-width:760px){
	/* Month view needs more vertical room once the day list stacks. */
	.sol-cal-inline{min-height:760px}
	.sol-cal-head{padding:12px 16px;font-size:9.5px}
}
@media(max-width:480px){
	.sol-cal-inline{min-height:820px}
}

/* ---------------- callback fallback ---------------- */
.sol-callback[hidden]{display:none}
.sol-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
@media(max-width:620px){.sol-form-grid{grid-template-columns:1fr}}
.sol-field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.11em;
	text-transform:uppercase;color:var(--ink-faint);margin-bottom:7px;font-weight:500}
.sol-callback input{width:100%;padding:13px 15px;border:var(--edge);border-radius:10px;
	font-size:15px;font-family:var(--sans);color:var(--ink);background:var(--paper);
	transition:border-color 160ms,box-shadow 160ms}
.sol-callback input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,31,.15)}
.sol-callback input[aria-invalid=true]{border-color:var(--accent)}
.sol-err{display:none;font-family:var(--mono);font-size:10px;letter-spacing:.05em;
	color:var(--accent);margin:6px 0 0}
.sol-err.show{display:block}
.sol-callback .btn{margin-top:20px}
.sol-formfoot{font-size:12px;color:var(--ink-faint);margin:14px 0 0;line-height:1.5}
.sol-formfoot a{text-decoration:underline;text-underline-offset:2px}
.sol-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}
.sol-done{display:none;margin-top:32px}
.sol-done.show{display:block}
.sol-ring{width:44px;height:44px;border-radius:50%;background:var(--accent);position:relative;margin-bottom:18px}
.sol-ring::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--bg)}
.sol-done p{font-size:15px;color:var(--ink-soft);margin:10px 0 0}

/* ---------------- footer ---------------- */
.sol-footer{background:var(--ink);color:#7a756e;padding:36px 0;border-top:var(--edge-dark)}
.sol-foot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
	font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.sol-foot a{margin-right:20px;color:#b4afa4}
.sol-foot a:hover{color:var(--accent)}

/* ---------------- sticky mobile bar ---------------- */
.sol-mobar{display:none}
@media(max-width:760px){
	.sol-mobar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;
		bottom:0;z-index:60;background:rgba(247,245,240,.97);backdrop-filter:blur(14px);
		border-top:var(--edge);padding:11px 14px}
	.sol-mobar .btn{width:100%;padding:14px 8px;justify-content:center;font-size:14px}
	body.lr-solar{padding-bottom:76px}
}

/* ---------------- cal.com modal ---------------- */
.sol-cal-loading{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;
	background:rgba(20,20,20,.55);backdrop-filter:blur(3px)}
.sol-cal-loading span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--paper);background:var(--ink);
	padding:14px 22px;border-radius:999px}

@media(prefers-reduced-motion:reduce){
	.lr-solar *{animation:none!important;transition:none!important}
}
::selection{background:var(--accent);color:var(--paper)}
