/* ==========================================================================
   Forged Advisors — design system
   Dark, high-contrast, "forge + fiber" visual language.
   Tokens are overridable from the Customizer via inline custom properties.
   ========================================================================== */

/* --- Tokens ------------------------------------------------------------- */
:root{
	--fa-ink:        #060911;
	--fa-ink-2:      #0a0f1c;
	--fa-surface:    #0f1626;
	--fa-surface-2:  #141d31;
	--fa-line:       rgba(255,255,255,.09);
	--fa-line-2:     rgba(255,255,255,.16);
	--fa-text:       #e9eefb;
	--fa-muted:      #9aa8c2;
	--fa-dim:        #6d7c99;

	--fa-accent:     #ff6b2c;
	--fa-accent-2:   #ffa23a;
	--fa-signal:     #35e0d0;
	--fa-signal-2:   #4c9bff;
	--fa-accent-rgb: 255,107,44;
	--fa-signal-rgb: 53,224,208;

	--fa-grad:       linear-gradient(135deg, var(--fa-accent), var(--fa-accent-2));
	--fa-grad-sig:   linear-gradient(135deg, var(--fa-signal), var(--fa-signal-2));

	--fa-r-sm: 8px;
	--fa-r:    14px;
	--fa-r-lg: 22px;
	--fa-r-xl: 30px;

	--fa-shadow:    0 18px 50px -22px rgba(0,0,0,.85);
	--fa-shadow-lg: 0 40px 90px -32px rgba(0,0,0,.9);
	--fa-glow:      0 0 0 1px rgba(var(--fa-accent-rgb),.28), 0 18px 46px -16px rgba(var(--fa-accent-rgb),.42);

	--fa-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--fa-display: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--fa-wrap: 1200px;
	--fa-gut: clamp(18px, 4vw, 40px);
	--fa-sec-y: clamp(64px, 9vw, 132px);
}

/* --- Reset -------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
	margin:0;
	font-family:var(--fa-sans);
	font-size:clamp(15.5px,.35vw + 15px,17px);
	line-height:1.65;
	color:var(--fa-text);
	background:var(--fa-ink);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}

img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
button{ font:inherit; }

h1,h2,h3,h4,h5{
	font-family:var(--fa-display);
	font-weight:600;
	line-height:1.12;
	letter-spacing:-.022em;
	margin:0 0 .5em;
	text-wrap:balance;
}
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

::selection{ background:rgba(var(--fa-accent-rgb),.32); color:#fff; }

:focus-visible{
	outline:2px solid var(--fa-accent);
	outline-offset:3px;
	border-radius:4px;
}

/* --- Layout ------------------------------------------------------------- */
.wrap{ width:100%; max-width:var(--fa-wrap); margin-inline:auto; padding-inline:var(--fa-gut); }
.wrap-narrow{ max-width:820px; }
.section{ padding-block:var(--fa-sec-y); position:relative; }
.section-alt{ background:linear-gradient(180deg, var(--fa-ink-2), var(--fa-ink)); }
.section-alt::before,.section-alt::after{
	content:""; position:absolute; left:0; right:0; height:1px;
	background:linear-gradient(90deg,transparent,var(--fa-line-2),transparent);
}
.section-alt::before{ top:0; } .section-alt::after{ bottom:0; }

.grid{ display:grid; gap:clamp(16px,1.8vw,24px); }
.grid-2{ grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.grid-3{ grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }

/* --- Icons -------------------------------------------------------------- */
.fa-ico{ width:22px; height:22px; flex:none; }
.fa-ico-sm{ width:17px; height:17px; }
.fa-ico-xs{ width:14px; height:14px; }

/* --- Buttons ------------------------------------------------------------ */
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:.5em;
	padding:.72em 1.35em;
	border-radius:100px;
	border:1px solid transparent;
	font-weight:600; font-size:.95rem; letter-spacing:-.01em;
	text-decoration:none; cursor:pointer;
	transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .25s, background .25s, border-color .25s, color .25s;
	white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-sm{ padding:.55em 1.05em; font-size:.875rem; }
.btn-lg{ padding:.92em 1.7em; font-size:1.02rem; }

.btn-primary{
	background:var(--fa-grad); color:#150800;
	box-shadow:0 10px 30px -12px rgba(var(--fa-accent-rgb),.75);
}
.btn-primary:hover{ box-shadow:0 18px 42px -14px rgba(var(--fa-accent-rgb),.9); }

.btn-ghost{
	background:rgba(255,255,255,.045); color:var(--fa-text);
	border-color:var(--fa-line-2); backdrop-filter:blur(10px);
}
.btn-ghost:hover{ background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.3); }

.btn-soft{
	background:rgba(var(--fa-accent-rgb),.12); color:var(--fa-accent-2);
	border-color:rgba(var(--fa-accent-rgb),.28);
}
.btn-soft:hover{ background:rgba(var(--fa-accent-rgb),.2); }

.btn-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.btn-row-center{ justify-content:center; }

.link-arrow{
	display:inline-flex; align-items:center; gap:.4em;
	color:var(--fa-accent-2); font-weight:600; font-size:.93rem;
	text-decoration:none;
}
.link-arrow svg{ transition:transform .2s; }
.link-arrow:hover svg{ transform:translateX(4px); }

/* --- Eyebrow / headings ------------------------------------------------- */
.eyebrow{
	display:inline-flex; align-items:center; gap:.55em;
	font-size:.76rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
	color:var(--fa-muted); margin:0 0 16px;
}
.eyebrow-lg{ font-size:.8rem; }
.eyebrow-center{ display:flex; justify-content:center; }
.eyebrow-dot{
	width:7px; height:7px; border-radius:50%;
	background:var(--fa-grad);
	box-shadow:0 0 0 4px rgba(var(--fa-accent-rgb),.16);
	animation:faPulse 2.6s ease-in-out infinite;
}
@keyframes faPulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(var(--fa-accent-rgb),.16);} 50%{ box-shadow:0 0 0 8px rgba(var(--fa-accent-rgb),0);} }

.sec-head{ max-width:760px; margin-bottom:clamp(32px,4vw,54px); }
.sec-head.is-center{ margin-inline:auto; text-align:center; }
.sec-head.is-center .eyebrow{ justify-content:center; }
.sec-title{ font-size:clamp(1.75rem,3.4vw,2.85rem); margin:0 0 .45em; }
.sec-sub{ color:var(--fa-muted); font-size:1.03rem; margin:0; }
.lede{ font-size:1.09rem; color:var(--fa-text); }

/* --- Utility strip ------------------------------------------------------ */
.utility{
	background:linear-gradient(90deg, rgba(var(--fa-accent-rgb),.14), rgba(var(--fa-signal-rgb),.09));
	border-bottom:1px solid var(--fa-line);
	font-size:.83rem;
}
.utility-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:40px; }
.utility-note{ display:flex; align-items:center; gap:.5em; margin:0; color:var(--fa-muted); }
.utility-note svg{ color:var(--fa-accent-2); }
.utility-phone{
	display:inline-flex; align-items:center; gap:.45em;
	font-weight:700; text-decoration:none; color:var(--fa-text);
	letter-spacing:-.01em;
}
.utility-phone svg{ color:var(--fa-accent); }
.utility-phone:hover{ color:var(--fa-accent-2); }
@media (max-width:720px){ .utility-note{ display:none; } .utility-inner{ justify-content:center; } }

/* --- Header ------------------------------------------------------------- */
.site-header{
	position:sticky; top:0; z-index:60;
	background:rgba(6,9,17,.72);
	backdrop-filter:saturate(1.6) blur(18px);
	-webkit-backdrop-filter:saturate(1.6) blur(18px);
	border-bottom:1px solid transparent;
	transition:border-color .25s, background .25s, box-shadow .25s;
}
.site-header.is-stuck{ border-bottom-color:var(--fa-line); box-shadow:0 12px 34px -24px #000; background:rgba(6,9,17,.92); }
.header-inner{ display:flex; align-items:center; gap:22px; min-height:72px; }

.brand{ flex:none; }
.brand img,.custom-logo{ max-height:46px; width:auto; }
.brand-fallback{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark{ width:34px; height:34px; color:var(--fa-accent); flex:none; }
.brand-mark svg{ width:100%; height:100%; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-name{ font-family:var(--fa-display); font-weight:700; font-size:1.06rem; letter-spacing:-.02em; }
.brand-tag{ font-size:.68rem; color:var(--fa-dim); letter-spacing:.04em; }

.site-nav{ margin-left:auto; }
.nav-list{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.nav-list li{ position:relative; }
.nav-list a{
	display:block; padding:9px 12px; border-radius:8px; white-space:nowrap;
	font-size:.92rem; font-weight:500; color:var(--fa-muted); text-decoration:none;
	transition:color .18s, background .18s;
}
.nav-list a:hover,.nav-list .current-menu-item > a{ color:var(--fa-text); background:rgba(255,255,255,.06); }
.nav-list .menu-item-has-children > a::after{
	content:""; display:inline-block; width:5px; height:5px; margin-left:7px; vertical-align:2px;
	border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
	transform:rotate(45deg); opacity:.6;
}
.nav-list .sub-menu{
	position:absolute; top:calc(100% + 8px); left:0; min-width:250px;
	list-style:none; margin:0; padding:8px;
	background:var(--fa-surface); border:1px solid var(--fa-line);
	border-radius:var(--fa-r); box-shadow:var(--fa-shadow-lg);
	opacity:0; visibility:hidden; transform:translateY(-6px);
	transition:opacity .18s, transform .18s, visibility .18s;
}
.nav-list li:hover > .sub-menu,.nav-list li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-list .sub-menu a{ padding:9px 12px; border-radius:8px; font-size:.9rem; }

.header-actions{ display:flex; align-items:center; gap:10px; flex:none; margin-left:auto; }
.site-nav + .header-actions{ margin-left:0; }

.nav-toggle{
	display:none; width:42px; height:42px; padding:0;
	border:1px solid var(--fa-line-2); border-radius:11px;
	background:rgba(255,255,255,.05); color:var(--fa-text); cursor:pointer;
}
.nav-toggle-bars{ display:grid; gap:4px; justify-items:center; }
.nav-toggle-bars i{ display:block; width:17px; height:1.8px; border-radius:2px; background:currentColor; transition:transform .25s, opacity .2s; }
.nav-toggle[aria-expanded="true"] i:nth-child(1){ transform:translateY(5.8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] i:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] i:nth-child(3){ transform:translateY(-5.8px) rotate(-45deg); }

@media (max-width:1320px) and (min-width:1081px){
	.nav-list a{ padding:9px 9px; font-size:.875rem; }
	.header-inner{ gap:14px; }
}
@media (max-width:1080px){
	.hide-md{ display:none; }
	.nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
	.site-nav{
		position:fixed; inset:112px 0 0; z-index:55;
		background:var(--fa-ink); padding:24px var(--fa-gut) 40px;
		overflow-y:auto;
		transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none;
		transition:opacity .22s, transform .22s, visibility .22s;
	}
	.site-nav.is-open{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
	.nav-list{ flex-direction:column; align-items:stretch; gap:2px; }
	.nav-list a{ padding:13px 14px; font-size:1.02rem; border-radius:11px; }
	.nav-list .sub-menu{
		position:static; opacity:1; visibility:visible; transform:none;
		box-shadow:none; background:rgba(255,255,255,.03); margin:4px 0 8px 12px;
	}
}

/* --- Breadcrumbs -------------------------------------------------------- */
.crumbs{ border-bottom:1px solid var(--fa-line); background:var(--fa-ink-2); }
.crumbs ol{ display:flex; flex-wrap:wrap; gap:7px; list-style:none; margin:0; padding:11px 0; font-size:.8rem; color:var(--fa-dim); }
.crumbs li + li::before{ content:"/"; margin-right:7px; opacity:.45; }
.crumbs a{ color:var(--fa-muted); text-decoration:none; }
.crumbs a:hover{ color:var(--fa-accent-2); }

/* --- Hero --------------------------------------------------------------- */
.hero{ position:relative; overflow:hidden; padding-block:clamp(44px,6vw,80px) clamp(48px,6.5vw,88px); }
.hero-bg,.sol-hero-bg{ position:absolute; inset:0; pointer-events:none; }
.hero-grid{
	position:absolute; inset:0;
	background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
	                 linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(ellipse 90% 65% at 50% 20%,#000 30%,transparent 78%);
	-webkit-mask-image:radial-gradient(ellipse 90% 65% at 50% 20%,#000 30%,transparent 78%);
}
.hero-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.4; }
.hero-orb-1{ width:min(620px,70vw); aspect-ratio:1; top:-24%; left:-12%; background:radial-gradient(circle,rgba(var(--fa-accent-rgb),.55),transparent 66%); }
.hero-orb-2{ width:min(560px,64vw); aspect-ratio:1; bottom:-32%; right:-10%; background:radial-gradient(circle,rgba(var(--fa-signal-rgb),.45),transparent 66%); }
.hero-lines{ position:absolute; inset:0; width:100%; height:100%; opacity:.85; }
.fiber{ stroke-dasharray:260 1400; animation:faFlow 9s linear infinite; }
.fiber-b{ animation-duration:12s; animation-delay:-3s; }
.fiber-c{ animation-duration:15s; animation-delay:-6s; }
@keyframes faFlow{ to{ stroke-dashoffset:-1660; } }
@media (prefers-reduced-motion:reduce){ .fiber{ animation:none; stroke-dasharray:none; opacity:.35; } }

.hero-inner{
	position:relative; z-index:1;
	display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
	gap:clamp(30px,4.5vw,64px); align-items:center;
}
@media (max-width:980px){ .hero-inner{ grid-template-columns:1fr; } }

.hero-title{
	font-size:clamp(2.15rem,5.4vw,4.05rem);
	letter-spacing:-.035em; line-height:1.02; margin:0 0 .42em;
}
.hero-sub{ font-size:clamp(1.02rem,1.15vw,1.16rem); color:var(--fa-muted); max-width:56ch; margin:0 0 30px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px; }

.hero-trust{ display:flex; flex-wrap:wrap; gap:8px 22px; list-style:none; margin:0; padding:0; font-size:.86rem; color:var(--fa-muted); }
.hero-trust li{ display:inline-flex; align-items:center; gap:.42em; }
.hero-trust svg{ color:var(--fa-signal); }
.hero-trust-center{ justify-content:center; margin-top:22px; }

/* Picker panel */
.picker{
	background:linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.022));
	border:1px solid var(--fa-line-2);
	border-radius:var(--fa-r-xl);
	padding:clamp(20px,2.4vw,30px);
	box-shadow:var(--fa-shadow-lg);
	backdrop-filter:blur(20px);
	position:relative; overflow:hidden;
}
.picker::before{
	content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
	background:linear-gradient(140deg,rgba(var(--fa-accent-rgb),.5),transparent 42%,transparent 60%,rgba(var(--fa-signal-rgb),.4));
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor; mask-composite:exclude;
	pointer-events:none;
}
.picker-kicker{ font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--fa-accent-2); margin:0 0 8px; }
.picker-title{ font-size:1.36rem; margin:0 0 6px; }
.picker-sub{ font-size:.9rem; color:var(--fa-muted); margin:0 0 18px; }
.picker-grid{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
@media (max-width:420px){ .picker-grid{ grid-template-columns:1fr; } }
.picker-card{
	display:flex; align-items:center; gap:10px;
	padding:13px 14px; border-radius:var(--fa-r);
	background:rgba(255,255,255,.04); border:1px solid var(--fa-line);
	text-decoration:none; color:var(--fa-text);
	transition:background .2s, border-color .2s, transform .2s;
}
.picker-card:hover{ background:rgba(var(--fa-accent-rgb),.12); border-color:rgba(var(--fa-accent-rgb),.42); transform:translateY(-2px); }
.picker-ico{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:rgba(var(--fa-accent-rgb),.14); color:var(--fa-accent-2); flex:none; }
.picker-card:hover .picker-ico{ background:rgba(var(--fa-accent-rgb),.25); }
.picker-name{ font-size:.9rem; font-weight:600; line-height:1.25; }
.picker-arrow{ margin-left:auto; color:var(--fa-dim); transition:transform .2s,color .2s; }
.picker-card:hover .picker-arrow{ transform:translateX(3px); color:var(--fa-accent); }
.picker-card-more{ grid-column:1/-1; background:rgba(var(--fa-signal-rgb),.07); }
.picker-card-more .picker-ico{ background:rgba(var(--fa-signal-rgb),.16); color:var(--fa-signal); }
.picker-foot{ display:flex; align-items:center; gap:.5em; margin:18px 0 0; font-size:.81rem; color:var(--fa-dim); }
.picker-foot svg{ color:var(--fa-signal); }

/* --- Stat bar ----------------------------------------------------------- */
.statbar{ border-block:1px solid var(--fa-line); background:var(--fa-ink-2); }
.statbar-list{
	display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
	list-style:none; margin:0; padding:0;
}
.stat{ padding:26px 20px; text-align:center; border-right:1px solid var(--fa-line); }
.stat:last-child{ border-right:0; }
@media (max-width:720px){ .stat{ border-right:0; border-bottom:1px solid var(--fa-line); padding:20px 12px; } .stat:last-child{ border-bottom:0; } }
.stat-v{
	display:block; font-family:var(--fa-display); font-weight:700;
	font-size:clamp(1.6rem,2.9vw,2.35rem); letter-spacing:-.03em;
	background:var(--fa-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-l{ display:block; font-size:.82rem; color:var(--fa-muted); margin-top:5px; }

/* --- Marquee ------------------------------------------------------------ */
.marquee-sec{ padding-block:clamp(44px,6vw,76px); overflow:hidden; }
.marquee-kicker{ text-align:center; font-size:.88rem; color:var(--fa-dim); margin:0 0 26px; }
.marquee{ display:flex; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee + .marquee{ margin-top:11px; }
.marquee-track{ display:flex; gap:11px; padding-inline:6px; animation:faMarquee 62s linear infinite; will-change:transform; }
.marquee-rev .marquee-track{ animation-direction:reverse; animation-duration:78s; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes faMarquee{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; } }
.marquee-foot{ text-align:center; margin:26px 0 0; }

.chip{
	display:inline-flex; align-items:center; white-space:nowrap;
	padding:8px 15px; border-radius:100px;
	background:rgba(255,255,255,.04); border:1px solid var(--fa-line);
	font-size:.86rem; font-weight:500; color:var(--fa-muted);
	transition:border-color .2s,color .2s,background .2s;
}
.chip:hover{ border-color:rgba(var(--fa-accent-rgb),.45); color:var(--fa-text); background:rgba(var(--fa-accent-rgb),.08); }
.chip-sm{ padding:6px 12px; font-size:.79rem; }
.chip-more{ background:rgba(var(--fa-accent-rgb),.1); color:var(--fa-accent-2); border-color:rgba(var(--fa-accent-rgb),.25); }
.chip-wrap{ display:flex; flex-wrap:wrap; gap:8px; }

/* --- Cards -------------------------------------------------------------- */
.card{
	position:relative;
	background:linear-gradient(165deg,rgba(255,255,255,.058),rgba(255,255,255,.018));
	border:1px solid var(--fa-line);
	border-radius:var(--fa-r-lg);
	padding:clamp(20px,2.2vw,27px);
	display:flex; flex-direction:column;
	transition:transform .28s cubic-bezier(.2,.8,.3,1), border-color .28s, box-shadow .28s;
	overflow:hidden;
}
.card::after{
	content:""; position:absolute; inset:0; border-radius:inherit; opacity:0;
	background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(var(--fa-accent-rgb),.14),transparent 62%);
	transition:opacity .3s; pointer-events:none;
}
.card:hover{ transform:translateY(-4px); border-color:var(--fa-line-2); box-shadow:var(--fa-shadow); }
.card:hover::after{ opacity:1; }

.card-ico{
	display:grid; place-items:center; width:46px; height:46px; flex:none;
	border-radius:13px; margin-bottom:15px;
	background:rgba(var(--fa-accent-rgb),.13); color:var(--fa-accent-2);
	border:1px solid rgba(var(--fa-accent-rgb),.2);
}
.card-sol-top{ display:flex; align-items:flex-start; gap:14px; }
.card-sol-top .card-ico{ margin-bottom:0; }
.card-title{ font-size:1.14rem; margin:0 0 0; letter-spacing:-.02em; }
.card-title a{ text-decoration:none; }
.card-title a:hover{ color:var(--fa-accent-2); }
.card-sol .card-text{ margin-top:14px; }
.card-text{ color:var(--fa-muted); font-size:.93rem; margin:0 0 14px; }

.card-list{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:9px; }
.card-list li{ display:flex; gap:9px; font-size:.87rem; color:var(--fa-muted); line-height:1.5; }
.card-list svg{ color:var(--fa-signal); margin-top:3px; flex:none; }

.card-foot{ margin-top:auto; padding-top:6px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }

.card-post{ padding:0; overflow:hidden; }
.card-post-img{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--fa-surface); }
.card-post-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.card-post:hover .card-post-img img{ transform:scale(1.05); }
.card-post .card-body{ padding:22px; }
.card-meta{ font-size:.76rem; color:var(--fa-dim); margin:0 0 8px; letter-spacing:.02em; }

/* Pills */
.sol-more{ margin-top:clamp(30px,4vw,48px); text-align:center; }
.sol-more-label{ font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--fa-dim); margin:0 0 16px; }
.sol-pills{ display:flex; flex-wrap:wrap; gap:9px; }
.sol-pills-center{ justify-content:center; }
.pill{
	display:inline-flex; align-items:center; gap:.5em;
	padding:9px 16px; border-radius:100px;
	background:rgba(255,255,255,.04); border:1px solid var(--fa-line);
	font-size:.87rem; font-weight:500; color:var(--fa-muted); text-decoration:none;
	transition:all .2s;
}
.pill svg{ color:var(--fa-dim); }
.pill:hover{ color:var(--fa-text); border-color:rgba(var(--fa-accent-rgb),.45); background:rgba(var(--fa-accent-rgb),.09); }
.pill:hover svg{ color:var(--fa-accent); }

/* --- Split layout ------------------------------------------------------- */
.split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4.5vw,64px); align-items:center; }
.split-rev .split-copy{ order:2; }
@media (max-width:940px){ .split{ grid-template-columns:1fr; } .split-rev .split-copy{ order:0; } }
.split-copy .sec-head{ margin-bottom:22px; }

.check-list{ list-style:none; margin:0 0 4px; padding:0; display:grid; gap:12px; }
.check-list li{ display:flex; gap:11px; font-size:.94rem; color:var(--fa-muted); line-height:1.55; }
.check-list svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
.check-list strong{ color:var(--fa-text); }
.check-list-lg li{ font-size:.98rem; }

/* Compare table */
.compare{ list-style:none; margin:0; padding:0; border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); overflow:hidden; background:var(--fa-surface); }
.compare-row{ display:grid; grid-template-columns:1.15fr 1fr 1.25fr; gap:10px; padding:13px 16px; font-size:.86rem; border-bottom:1px solid var(--fa-line); align-items:center; }
.compare-row:last-child{ border-bottom:0; }
.compare-head{ background:rgba(255,255,255,.04); font-weight:700; font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; color:var(--fa-dim); }
.compare-head .is-us{ color:var(--fa-accent-2); }
.compare-label{ color:var(--fa-muted); }
.compare-them{ color:var(--fa-dim); }
.compare-us{ display:flex; align-items:flex-start; gap:.4em; color:var(--fa-text); font-weight:600; }
.compare-us svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
@media (max-width:560px){
	.compare-row{ grid-template-columns:1fr; gap:4px; }
	.compare-head{ display:none; }
	.compare-label{ font-weight:700; color:var(--fa-text); }
	.compare-them::before{ content:"Carrier rep: "; opacity:.6; }
}

/* --- AI demo ------------------------------------------------------------ */
.ai{ position:relative; overflow:hidden; }
.ai-bg{ position:absolute; inset:0; pointer-events:none; }
.ai-orb{ position:absolute; width:min(700px,80vw); aspect-ratio:1; top:-30%; right:-14%; border-radius:50%; filter:blur(110px); opacity:.32; background:radial-gradient(circle,rgba(var(--fa-signal-rgb),.6),transparent 65%); }
.ai-wrap{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(22px,3vw,40px); align-items:start; }
@media (max-width:940px){ .ai-wrap{ grid-template-columns:1fr; } }

.ai-chat{
	background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
	border:1px solid var(--fa-line-2); border-radius:var(--fa-r-xl);
	box-shadow:var(--fa-shadow-lg); overflow:hidden; backdrop-filter:blur(18px);
}
.ai-chat-head{ display:flex; align-items:center; gap:13px; padding:16px 20px; border-bottom:1px solid var(--fa-line); background:rgba(255,255,255,.03); }
.ai-avatar{ display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--fa-grad-sig); color:#04121a; flex:none; }
.ai-name{ margin:0; font-weight:700; font-size:.98rem; display:flex; align-items:center; gap:8px; }
.ai-badge{ font-size:.63rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:3px 8px; border-radius:100px; background:rgba(var(--fa-signal-rgb),.16); color:var(--fa-signal); }
.ai-status{ margin:2px 0 0; font-size:.78rem; color:var(--fa-dim); display:flex; align-items:center; gap:.45em; }
.ai-dot{ width:6px; height:6px; border-radius:50%; background:var(--fa-signal); box-shadow:0 0 0 3px rgba(var(--fa-signal-rgb),.2); animation:faPulse 2.4s infinite; }

.ai-log{ padding:20px; min-height:300px; max-height:430px; overflow-y:auto; display:flex; flex-direction:column; gap:13px; scrollbar-width:thin; }
.ai-msg{ max-width:88%; padding:13px 16px; border-radius:16px; font-size:.9rem; line-height:1.58; animation:faIn .3s cubic-bezier(.2,.8,.3,1); }
.ai-msg p{ margin:0 0 .7em; } .ai-msg p:last-child{ margin:0; }
.ai-msg-bot{ align-self:flex-start; background:rgba(255,255,255,.055); border:1px solid var(--fa-line); border-bottom-left-radius:5px; color:var(--fa-text); }
.ai-msg-user{ align-self:flex-end; background:var(--fa-grad); color:#170800; border-bottom-right-radius:5px; font-weight:500; }
.ai-msg ul{ margin:.55em 0 0; padding-left:1.05em; }
.ai-msg li{ margin-bottom:.35em; }
.ai-msg a{ color:var(--fa-signal); font-weight:600; }
.ai-msg-bot .ai-actions{ display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.ai-msg-bot .ai-actions a{
	display:inline-flex; align-items:center; gap:.35em;
	padding:7px 13px; border-radius:100px; font-size:.8rem; font-weight:600; text-decoration:none;
	background:rgba(var(--fa-accent-rgb),.15); color:var(--fa-accent-2); border:1px solid rgba(var(--fa-accent-rgb),.3);
}
.ai-msg-bot .ai-actions a:hover{ background:rgba(var(--fa-accent-rgb),.26); }
@keyframes faIn{ from{ opacity:0; transform:translateY(8px); } }

.ai-typing{ display:inline-flex; gap:4px; align-items:center; }
.ai-typing i{ width:6px; height:6px; border-radius:50%; background:var(--fa-dim); animation:faBounce 1.3s infinite; }
.ai-typing i:nth-child(2){ animation-delay:.16s; } .ai-typing i:nth-child(3){ animation-delay:.32s; }
@keyframes faBounce{ 0%,60%,100%{ transform:translateY(0); opacity:.45; } 30%{ transform:translateY(-5px); opacity:1; } }

.ai-suggest{ display:flex; flex-wrap:wrap; gap:7px; padding:0 20px 14px; }
.ai-chip{
	padding:7px 13px; border-radius:100px; cursor:pointer;
	background:rgba(255,255,255,.045); border:1px solid var(--fa-line);
	font-size:.8rem; color:var(--fa-muted); transition:all .2s;
}
.ai-chip:hover{ border-color:rgba(var(--fa-signal-rgb),.5); color:var(--fa-text); background:rgba(var(--fa-signal-rgb),.1); }

.ai-form{ display:flex; gap:9px; padding:14px 20px 20px; border-top:1px solid var(--fa-line); }
.ai-form input{
	flex:1; min-width:0; padding:12px 16px; border-radius:100px;
	background:rgba(255,255,255,.05); border:1px solid var(--fa-line-2);
	color:var(--fa-text); font-size:.92rem; font-family:inherit;
}
.ai-form input::placeholder{ color:var(--fa-dim); }
.ai-form input:focus{ outline:none; border-color:rgba(var(--fa-signal-rgb),.55); background:rgba(255,255,255,.08); }
.ai-send{
	display:grid; place-items:center; width:44px; height:44px; flex:none;
	border-radius:50%; border:0; cursor:pointer;
	background:var(--fa-grad); color:#170800;
	transition:transform .18s, box-shadow .2s;
}
.ai-send:hover{ transform:scale(1.06); box-shadow:0 8px 22px -8px rgba(var(--fa-accent-rgb),.8); }

.ai-side-title{ font-size:1.1rem; margin:0 0 18px; }
.ai-uses{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:16px; }
.ai-uses li{ display:flex; gap:13px; }
.ai-use-ico{ display:grid; place-items:center; width:36px; height:36px; flex:none; border-radius:11px; background:rgba(var(--fa-signal-rgb),.13); color:var(--fa-signal); border:1px solid rgba(var(--fa-signal-rgb),.2); }
.ai-uses strong{ display:block; font-size:.94rem; margin-bottom:3px; }
.ai-uses p{ margin:0; font-size:.85rem; color:var(--fa-muted); line-height:1.5; }

/* --- Process steps ------------------------------------------------------ */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:clamp(16px,2vw,22px); counter-reset:step; }
.step{
	position:relative; padding:26px 22px;
	background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
	border:1px solid var(--fa-line); border-radius:var(--fa-r-lg);
	transition:transform .28s, border-color .28s;
}
.step:hover{ transform:translateY(-4px); border-color:var(--fa-line-2); }
.step-n{
	position:absolute; top:16px; right:20px;
	font-family:var(--fa-display); font-weight:700; font-size:2.6rem; line-height:1;
	color:rgba(255,255,255,.05); letter-spacing:-.04em;
}
.step-ico{ display:grid; place-items:center; width:44px; height:44px; border-radius:13px; margin-bottom:16px; background:rgba(var(--fa-accent-rgb),.13); color:var(--fa-accent-2); border:1px solid rgba(var(--fa-accent-rgb),.2); }
.step-h{ font-size:1.08rem; margin:0 0 8px; }
.step-p{ font-size:.88rem; color:var(--fa-muted); margin:0 0 14px; }
.step-time{ display:inline-flex; align-items:center; gap:.4em; font-size:.76rem; font-weight:600; color:var(--fa-signal); letter-spacing:.02em; }

/* --- Timeline ----------------------------------------------------------- */
.timeline{ background:var(--fa-surface); border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); padding:26px 24px; }
.timeline-title{ font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--fa-dim); margin:0 0 20px; }
.timeline-row{ position:relative; display:flex; gap:16px; padding-bottom:20px; }
.timeline-row:last-child{ padding-bottom:0; }
.timeline-row::before{ content:""; position:absolute; left:6px; top:16px; bottom:-4px; width:1px; background:var(--fa-line-2); }
.timeline-row:last-child::before{ display:none; }
.timeline-dot{ width:13px; height:13px; flex:none; margin-top:4px; border-radius:50%; background:var(--fa-surface); border:2px solid var(--fa-dim); position:relative; z-index:1; }
.timeline-row.is-now .timeline-dot{ border-color:var(--fa-accent); background:var(--fa-accent); box-shadow:0 0 0 5px rgba(var(--fa-accent-rgb),.18); }
.timeline-row.is-key .timeline-dot{ border-color:var(--fa-signal); background:var(--fa-signal); box-shadow:0 0 0 5px rgba(var(--fa-signal-rgb),.18); }
.timeline-row.is-end .timeline-dot{ border-color:var(--fa-accent-2); background:var(--fa-accent-2); }
.timeline-row strong{ display:block; font-size:.94rem; margin-bottom:2px; }
.timeline-row span:not(.timeline-dot){ font-size:.84rem; color:var(--fa-muted); }

/* --- Quote engine ------------------------------------------------------- */
.quote-shell{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); gap:clamp(20px,2.6vw,34px); align-items:start; }
@media (max-width:940px){ .quote-shell{ grid-template-columns:1fr; } }

.quote{
	position:relative;
	background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
	border:1px solid var(--fa-line-2); border-radius:var(--fa-r-xl);
	padding:clamp(22px,2.6vw,36px);
	box-shadow:var(--fa-shadow-lg); backdrop-filter:blur(16px);
	overflow:hidden;
}
.quote-progress{ position:absolute; top:0; left:0; right:0; height:3px; background:rgba(255,255,255,.07); }
.quote-progress-bar{ height:100%; width:33.33%; background:var(--fa-grad); transition:width .4s cubic-bezier(.2,.8,.3,1); }

.quote-steps-nav{ display:flex; gap:8px; list-style:none; margin:0 0 24px; padding:0; }
.quote-steps-nav li{
	flex:1; text-align:center; padding:7px 8px; border-radius:100px;
	font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
	background:rgba(255,255,255,.035); color:var(--fa-dim); border:1px solid var(--fa-line);
	transition:all .25s;
}
.quote-steps-nav li::before{ content:attr(data-step-label) ". "; opacity:.6; }
.quote-steps-nav li.is-active{ background:rgba(var(--fa-accent-rgb),.16); color:var(--fa-accent-2); border-color:rgba(var(--fa-accent-rgb),.35); }
.quote-steps-nav li.is-done{ background:rgba(var(--fa-signal-rgb),.12); color:var(--fa-signal); border-color:rgba(var(--fa-signal-rgb),.28); }

.quote-step{ display:none; border:0; margin:0; padding:0; min-inline-size:0; }
.quote-step.is-active{ display:block; animation:faIn .32s cubic-bezier(.2,.8,.3,1); }
.quote-legend{ font-family:var(--fa-display); font-size:1.4rem; font-weight:600; letter-spacing:-.02em; padding:0; margin:0 0 6px; }
.quote-hint{ font-size:.88rem; color:var(--fa-muted); margin:0 0 20px; }

.opt-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:9px; }
.opt{
	position:relative; display:flex; align-items:center; gap:10px;
	padding:13px 14px; border-radius:var(--fa-r);
	background:rgba(255,255,255,.035); border:1px solid var(--fa-line);
	cursor:pointer; transition:all .2s; user-select:none;
}
.opt input{ position:absolute; opacity:0; width:0; height:0; }
.opt:hover{ background:rgba(255,255,255,.06); border-color:var(--fa-line-2); }
.opt.is-checked{ background:rgba(var(--fa-accent-rgb),.14); border-color:rgba(var(--fa-accent-rgb),.5); }
.opt-ico{ display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:9px; background:rgba(255,255,255,.06); color:var(--fa-muted); transition:all .2s; }
.opt.is-checked .opt-ico{ background:rgba(var(--fa-accent-rgb),.22); color:var(--fa-accent-2); }
.opt-name{ font-size:.88rem; font-weight:600; line-height:1.25; }
.opt-check{ margin-left:auto; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--fa-grad); color:#170800; opacity:0; transform:scale(.6); transition:all .2s; flex:none; }
.opt.is-checked .opt-check{ opacity:1; transform:scale(1); }
.opt:focus-within{ outline:2px solid var(--fa-accent); outline-offset:2px; }

.field{ margin-bottom:18px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .field-row{ grid-template-columns:1fr; } }
.field-label{ display:block; font-size:.83rem; font-weight:600; color:var(--fa-muted); margin-bottom:7px; letter-spacing:.01em; }
.req{ color:var(--fa-accent); }
.field-input{
	width:100%; padding:12px 15px; border-radius:12px;
	background:rgba(255,255,255,.045); border:1px solid var(--fa-line-2);
	color:var(--fa-text); font-size:.95rem; font-family:inherit;
	transition:border-color .2s, background .2s;
}
.field-input::placeholder{ color:var(--fa-dim); }
.field-input:focus{ outline:none; border-color:rgba(var(--fa-accent-rgb),.6); background:rgba(255,255,255,.075); }
.field-input.has-error{ border-color:#ff5a5a; background:rgba(255,90,90,.07); }
textarea.field-input{ resize:vertical; min-height:88px; }
select.field-input{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239aa8c2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:38px; }
select.field-input option{ background:var(--fa-surface); color:var(--fa-text); }
.field-help{ font-size:.78rem; color:var(--fa-dim); margin:6px 0 0; }
.field-error{ font-size:.79rem; color:#ff7d7d; margin:6px 0 0; min-height:0; }
.field-error:empty{ display:none; }

.radio-row{ display:flex; flex-wrap:wrap; gap:8px; }
.radio-pill{ position:relative; cursor:pointer; }
.radio-pill input{ position:absolute; opacity:0; width:0; height:0; }
.radio-pill span{
	display:inline-block; padding:9px 16px; border-radius:100px;
	background:rgba(255,255,255,.04); border:1px solid var(--fa-line);
	font-size:.86rem; color:var(--fa-muted); transition:all .2s;
}
.radio-pill:hover span{ border-color:var(--fa-line-2); color:var(--fa-text); }
.radio-pill input:checked + span{ background:rgba(var(--fa-accent-rgb),.16); border-color:rgba(var(--fa-accent-rgb),.5); color:var(--fa-accent-2); font-weight:600; }
.radio-pill input:focus-visible + span{ outline:2px solid var(--fa-accent); outline-offset:2px; }

.quote-nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:26px; }
.quote-legal{ display:flex; align-items:flex-start; gap:.5em; font-size:.78rem; color:var(--fa-dim); margin:16px 0 0; }
.quote-legal svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
.quote-escape{ text-align:center; font-size:.86rem; color:var(--fa-muted); margin:20px 0 0; padding-top:18px; border-top:1px solid var(--fa-line); }
.quote-escape a{ color:var(--fa-accent-2); font-weight:700; text-decoration:none; }

.quote-alert{ margin-top:16px; padding:13px 16px; border-radius:12px; font-size:.88rem; }
.quote-alert.is-error{ background:rgba(255,90,90,.12); border:1px solid rgba(255,90,90,.35); color:#ffb3b3; }
.quote-alert.is-ok{ background:rgba(var(--fa-signal-rgb),.12); border:1px solid rgba(var(--fa-signal-rgb),.35); color:var(--fa-signal); }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.quote-simple{ text-align:left; }

.quote-aside{ background:var(--fa-surface); border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); padding:26px 24px; }
.quote-aside-title{ font-size:1rem; margin:0 0 18px; }
.quote-next{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:16px; counter-reset:qn; }
.quote-next li{ position:relative; padding-left:26px; }
.quote-next li::before{
	counter-increment:qn; content:counter(qn);
	position:absolute; left:0; top:1px;
	width:18px; height:18px; border-radius:50%;
	display:grid; place-items:center;
	font-size:.68rem; font-weight:700;
	background:rgba(var(--fa-accent-rgb),.18); color:var(--fa-accent-2);
}
.quote-next strong{ display:block; font-size:.85rem; color:var(--fa-accent-2); margin-bottom:3px; }
.quote-next span{ font-size:.84rem; color:var(--fa-muted); line-height:1.5; }
.quote-aside-note{ display:flex; gap:11px; padding-top:18px; border-top:1px solid var(--fa-line); }
.quote-aside-note svg{ color:var(--fa-signal); margin-top:2px; flex:none; }
.quote-aside-note p{ margin:0; font-size:.82rem; color:var(--fa-muted); line-height:1.55; }

.quote-page-hero{ position:relative; overflow:hidden; padding-block:clamp(46px,6vw,82px) 0; text-align:center; }
.quote-page-hero .wrap{ position:relative; z-index:1; }
.quote-page-title{ font-size:clamp(1.9rem,4.2vw,3rem); margin:0 0 .45em; }
.quote-page-sub{ color:var(--fa-muted); font-size:1.04rem; margin:0; }

/* --- FAQ ---------------------------------------------------------------- */
.faq{ display:grid; gap:10px; }
.faq-item{ border:1px solid var(--fa-line); border-radius:var(--fa-r); background:rgba(255,255,255,.028); overflow:hidden; transition:border-color .22s, background .22s; }
.faq-item[open]{ border-color:var(--fa-line-2); background:rgba(255,255,255,.05); }
.faq-q{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:17px 20px; cursor:pointer; list-style:none;
	font-family:var(--fa-display); font-weight:600; font-size:1rem; letter-spacing:-.01em;
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q:hover{ color:var(--fa-accent-2); }
.faq-mark{ position:relative; width:16px; height:16px; flex:none; }
.faq-mark::before,.faq-mark::after{
	content:""; position:absolute; top:50%; left:0; width:16px; height:1.8px; border-radius:2px;
	background:var(--fa-accent); transform:translateY(-50%); transition:transform .25s;
}
.faq-mark::after{ transform:translateY(-50%) rotate(90deg); }
.faq-item[open] .faq-mark::after{ transform:translateY(-50%) rotate(0); }
.faq-a{ padding:0 20px 19px; }
.faq-a p{ margin:0; color:var(--fa-muted); font-size:.93rem; line-height:1.68; max-width:72ch; }

/* --- CTA band ----------------------------------------------------------- */
.band{ padding-block:clamp(44px,6vw,80px); }
.band-inner{
	position:relative; overflow:hidden;
	display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
	padding:clamp(28px,4vw,52px);
	border-radius:var(--fa-r-xl);
	background:linear-gradient(135deg, rgba(var(--fa-accent-rgb),.14), rgba(var(--fa-signal-rgb),.09));
	border:1px solid var(--fa-line-2);
}
.band-glow{ position:absolute; width:520px; aspect-ratio:1; border-radius:50%; filter:blur(90px); opacity:.5; top:-60%; left:8%; background:radial-gradient(circle,rgba(var(--fa-accent-rgb),.5),transparent 65%); pointer-events:none; }
.band-copy{ position:relative; z-index:1; max-width:56ch; }
.band-copy h2{ font-size:clamp(1.45rem,2.6vw,2.1rem); margin:0 0 .4em; }
.band-copy p{ color:var(--fa-muted); margin:0; font-size:.98rem; }
.band-actions{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:12px; }

/* --- Recruit ------------------------------------------------------------ */
.recruit-inner{
	position:relative; overflow:hidden;
	display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
	gap:clamp(26px,3.6vw,52px);
	padding:clamp(28px,4vw,52px);
	border-radius:var(--fa-r-xl);
	background:linear-gradient(150deg, var(--fa-surface-2), var(--fa-ink-2));
	border:1px solid var(--fa-line-2);
}
@media (max-width:900px){ .recruit-inner{ grid-template-columns:1fr; } }
.recruit-glow{ position:absolute; width:560px; aspect-ratio:1; border-radius:50%; filter:blur(100px); opacity:.35; bottom:-70%; right:-10%; background:radial-gradient(circle,rgba(var(--fa-signal-rgb),.55),transparent 65%); pointer-events:none; }
.recruit-copy{ position:relative; z-index:1; }
.recruit-copy h2{ font-size:clamp(1.6rem,2.9vw,2.3rem); }
.recruit-copy p{ color:var(--fa-muted); font-size:.97rem; }
.recruit-points{ position:relative; z-index:1; list-style:none; margin:0; padding:0; display:grid; gap:16px; align-content:center; }
.recruit-points li{ display:flex; gap:13px; }
.recruit-ico{ display:grid; place-items:center; width:36px; height:36px; flex:none; border-radius:11px; background:rgba(var(--fa-accent-rgb),.14); color:var(--fa-accent-2); border:1px solid rgba(var(--fa-accent-rgb),.2); }
.recruit-points strong{ display:block; font-size:.93rem; margin-bottom:3px; }
.recruit-points p{ margin:0; font-size:.84rem; color:var(--fa-muted); line-height:1.5; }

/* --- Page heroes -------------------------------------------------------- */
.page-hero,.sol-hero,.thanks{ position:relative; overflow:hidden; padding-block:clamp(46px,6.5vw,92px); }
.page-hero{ padding-bottom:clamp(30px,3.5vw,52px); }
.page-hero + .section{ padding-top:clamp(38px,4.5vw,64px); }
.page-hero .wrap,.thanks-inner{ position:relative; z-index:1; text-align:center; }
.page-hero-sm{ padding-block:clamp(38px,5vw,70px); }
.page-hero-title{ font-size:clamp(1.9rem,4.4vw,3.2rem); margin:0 0 .4em; }
.page-hero-sub{ color:var(--fa-muted); font-size:1.03rem; margin:0 auto; max-width:64ch; }

.sol-hero-inner{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,4vw,58px); align-items:center; }
@media (max-width:940px){ .sol-hero-inner{ grid-template-columns:1fr; } }
.sol-title{ font-size:clamp(1.95rem,4.4vw,3.15rem); letter-spacing:-.032em; margin:0 0 .4em; }
.sol-sub{ color:var(--fa-muted); font-size:1.05rem; max-width:58ch; margin:0; }
.sol-metrics{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.sol-metrics li{ padding:18px 22px; border-radius:var(--fa-r-lg); background:linear-gradient(150deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); border:1px solid var(--fa-line); }
.sol-metric-v{ display:block; font-family:var(--fa-display); font-weight:700; font-size:1.6rem; letter-spacing:-.03em; background:var(--fa-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sol-metric-l{ display:block; font-size:.83rem; color:var(--fa-muted); margin-top:3px; }

.pain-grid{ gap:14px; }
.pain{ display:flex; gap:14px; padding:20px 22px; border-radius:var(--fa-r-lg); background:rgba(255,90,90,.055); border:1px solid rgba(255,90,90,.18); }
.pain-mark{ display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:8px; background:rgba(255,90,90,.18); color:#ff8f8f; font-weight:800; font-size:.85rem; }
.pain p{ margin:0; font-size:.93rem; color:var(--fa-muted); line-height:1.6; }

.vendor-box{ background:var(--fa-surface); border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); padding:26px 24px; }
.vendor-box-title{ font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--fa-dim); margin:0 0 18px; }
.vendor-group + .vendor-group{ margin-top:20px; }
.vendor-group-h{ font-size:.86rem; font-weight:700; color:var(--fa-accent-2); margin:0 0 10px; }
.vendor-box-foot{ margin:20px 0 0; padding-top:16px; border-top:1px solid var(--fa-line); font-size:.79rem; color:var(--fa-dim); }

/* --- Partner directory -------------------------------------------------- */
.filterbar{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:34px; padding-bottom:22px; border-bottom:1px solid var(--fa-line); }
.filter-search{ display:flex; align-items:center; gap:9px; flex:1; min-width:240px; padding:11px 16px; border-radius:100px; background:rgba(255,255,255,.045); border:1px solid var(--fa-line-2); }
.filter-search svg{ color:var(--fa-dim); }
.filter-search input{ flex:1; min-width:0; background:none; border:0; color:var(--fa-text); font-size:.92rem; font-family:inherit; }
.filter-search input:focus{ outline:none; }
.filter-cats{ display:flex; flex-wrap:wrap; gap:7px; }
.filter-cat{
	padding:8px 14px; border-radius:100px; cursor:pointer;
	background:rgba(255,255,255,.04); border:1px solid var(--fa-line);
	font-size:.82rem; color:var(--fa-muted); transition:all .2s;
}
.filter-cat:hover{ color:var(--fa-text); border-color:var(--fa-line-2); }
.filter-cat.is-active{ background:rgba(var(--fa-accent-rgb),.16); border-color:rgba(var(--fa-accent-rgb),.42); color:var(--fa-accent-2); font-weight:600; }
.filter-count{ width:100%; margin:0; font-size:.8rem; color:var(--fa-dim); }

.vendor-cats{ display:grid; gap:34px; }
.vendor-cat-h{ display:flex; align-items:center; gap:10px; font-size:1.05rem; margin:0 0 14px; }
.vendor-cat-n{ font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:100px; background:rgba(var(--fa-signal-rgb),.14); color:var(--fa-signal); }
.filter-empty{ text-align:center; color:var(--fa-muted); padding:40px 0; }

.note-box{ display:flex; gap:13px; margin-top:40px; padding:20px 22px; border-radius:var(--fa-r-lg); background:rgba(var(--fa-signal-rgb),.06); border:1px solid rgba(var(--fa-signal-rgb),.18); }
.note-box svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
.note-box p{ margin:0; font-size:.88rem; color:var(--fa-muted); line-height:1.6; }

/* --- Rates -------------------------------------------------------------- */
.rate-table{ margin:28px 0 14px; border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); overflow:hidden; background:var(--fa-surface); }
.rate-row{ display:grid; grid-template-columns:1.3fr 1fr; gap:16px; padding:14px 20px; border-bottom:1px solid var(--fa-line); font-size:.9rem; }
.rate-row:last-child{ border-bottom:0; }
.rate-head{ background:rgba(255,255,255,.04); font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--fa-dim); }
.rate-v{ color:var(--fa-accent-2); font-weight:600; }
.rate-note{ font-size:.82rem; color:var(--fa-dim); margin:0 0 34px; }
@media (max-width:560px){ .rate-row{ grid-template-columns:1fr; gap:3px; } .rate-head{ display:none; } }

/* --- Advisor math ------------------------------------------------------- */
.math-box{ background:var(--fa-surface); border:1px solid var(--fa-line); border-radius:var(--fa-r-lg); padding:26px 24px; }
.math-title{ font-size:1rem; font-weight:700; margin:0 0 4px; font-family:var(--fa-display); }
.math-sub{ font-size:.79rem; color:var(--fa-dim); margin:0 0 18px; }
.math-row{ display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; padding:11px 0; border-bottom:1px solid var(--fa-line); font-size:.9rem; }
.math-row:last-of-type{ border-bottom:0; }
.math-l{ color:var(--fa-muted); }
.math-m{ font-weight:600; }
.math-r{ font-family:var(--fa-display); font-weight:700; color:var(--fa-accent-2); }
.math-row.is-key .math-r{ font-size:1.1rem; }
.math-foot{ margin:16px 0 0; padding-top:14px; border-top:1px solid var(--fa-line); font-size:.8rem; color:var(--fa-dim); line-height:1.55; }

/* --- Contact ------------------------------------------------------------ */
.contact-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(22px,3vw,42px); align-items:start; }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-cards{ display:grid; gap:12px; }
.contact-card{
	display:block; padding:20px 22px; border-radius:var(--fa-r-lg);
	background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
	border:1px solid var(--fa-line); text-decoration:none;
	transition:transform .22s, border-color .22s;
}
a.contact-card:hover{ transform:translateY(-3px); border-color:rgba(var(--fa-accent-rgb),.4); }
.contact-card-primary{ background:linear-gradient(150deg,rgba(var(--fa-accent-rgb),.16),rgba(var(--fa-accent-rgb),.04)); border-color:rgba(var(--fa-accent-rgb),.3); }
.contact-ico{ display:grid; place-items:center; width:40px; height:40px; border-radius:12px; margin-bottom:13px; background:rgba(var(--fa-accent-rgb),.14); color:var(--fa-accent-2); }
.contact-label{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fa-dim); }
.contact-value{ display:block; font-family:var(--fa-display); font-weight:700; font-size:1.15rem; letter-spacing:-.02em; margin:3px 0; }
.contact-note{ display:block; font-size:.8rem; color:var(--fa-muted); }
.contact-form-title{ font-size:1.25rem; margin:0 0 20px; }
.contact-form-wrap .quote{ padding:clamp(20px,2.4vw,30px); }

/* --- Thank you ---------------------------------------------------------- */
.thanks-mark{ display:grid; place-items:center; width:68px; height:68px; margin:0 auto 24px; border-radius:50%; background:var(--fa-grad-sig); color:#04121a; box-shadow:0 0 0 10px rgba(var(--fa-signal-rgb),.12); }
.thanks-mark svg{ width:34px; height:34px; stroke-width:2.4; }
.thanks-title{ font-size:clamp(1.9rem,4vw,2.9rem); margin:0 0 .4em; }
.thanks-sub{ color:var(--fa-muted); font-size:1.03rem; max-width:56ch; margin:0 auto 38px; }
.thanks-steps{ list-style:none; margin:0 auto 38px; padding:0; display:grid; gap:14px; text-align:left; max-width:600px; }
.thanks-steps li{ display:flex; gap:14px; padding:18px 20px; border-radius:var(--fa-r-lg); background:rgba(255,255,255,.04); border:1px solid var(--fa-line); }
.thanks-n{ display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:rgba(var(--fa-accent-rgb),.18); color:var(--fa-accent-2); font-weight:700; font-size:.85rem; }
.thanks-steps strong{ display:block; font-size:.92rem; margin-bottom:3px; }
.thanks-steps p{ margin:0; font-size:.87rem; color:var(--fa-muted); }
.thanks-cta{ margin-bottom:38px; }
.thanks-cta p{ color:var(--fa-muted); font-size:.94rem; margin-bottom:14px; }
.thanks-links p{ font-size:.83rem; color:var(--fa-dim); margin-bottom:14px; }

/* --- Entry / prose ------------------------------------------------------ */
.entry,.prose{ font-size:1.02rem; line-height:1.75; color:var(--fa-muted); }
.entry-center{ text-align:center; }
.entry h2,.prose h2{ font-size:clamp(1.35rem,2.4vw,1.85rem); color:var(--fa-text); margin:2em 0 .55em; }
.entry h3,.prose h3{ font-size:1.2rem; color:var(--fa-text); margin:1.7em 0 .5em; }
.entry h2:first-child,.prose h2:first-child{ margin-top:0; }
.entry a,.prose a{ color:var(--fa-accent-2); text-underline-offset:3px; }
.entry ul,.entry ol,.prose ul,.prose ol{ padding-left:1.3em; margin-bottom:1.2em; }
.entry li,.prose li{ margin-bottom:.5em; }
.entry blockquote{ margin:1.6em 0; padding:4px 0 4px 22px; border-left:3px solid var(--fa-accent); color:var(--fa-text); font-size:1.08rem; }
.entry img{ border-radius:var(--fa-r-lg); margin:1.6em 0; }
.entry code{ background:rgba(255,255,255,.08); padding:.15em .45em; border-radius:5px; font-size:.9em; }
.entry pre{ background:var(--fa-surface); border:1px solid var(--fa-line); border-radius:var(--fa-r); padding:18px; overflow:auto; }
.entry table{ width:100%; border-collapse:collapse; margin:1.6em 0; font-size:.92rem; }
.entry th,.entry td{ padding:11px 14px; border:1px solid var(--fa-line); text-align:left; }
.entry th{ background:rgba(255,255,255,.04); color:var(--fa-text); }
.page-title{ font-size:clamp(1.8rem,3.6vw,2.6rem); color:var(--fa-text); }

.single-img img{ border-radius:var(--fa-r-xl); }
.post-nav{ display:flex; justify-content:space-between; gap:18px; padding:26px 0; border-top:1px solid var(--fa-line); font-size:.9rem; }
.post-nav a{ color:var(--fa-muted); text-decoration:none; }
.post-nav a:hover{ color:var(--fa-accent-2); }
.comments-wrap{ padding-bottom:40px; }

.result-list{ display:grid; gap:22px; }
.result{ padding-bottom:22px; border-bottom:1px solid var(--fa-line); }
.result-title{ font-size:1.2rem; margin:0 0 5px; }
.result-title a{ text-decoration:none; }
.result-title a:hover{ color:var(--fa-accent-2); }
.result-url{ font-size:.78rem; color:var(--fa-signal); margin:0 0 8px; }
.result-text{ font-size:.92rem; color:var(--fa-muted); margin:0; }

.empty{ text-align:center; padding:50px 0; color:var(--fa-muted); }
.empty p{ margin-bottom:22px; }

.pagination{ margin-top:44px; }
.pagination .nav-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.pagination a,.pagination .current{
	display:grid; place-items:center; min-width:40px; height:40px; padding:0 12px;
	border-radius:11px; border:1px solid var(--fa-line);
	background:rgba(255,255,255,.04); color:var(--fa-muted);
	text-decoration:none; font-size:.9rem; font-weight:600;
}
.pagination .current{ background:rgba(var(--fa-accent-rgb),.16); border-color:rgba(var(--fa-accent-rgb),.4); color:var(--fa-accent-2); }
.pagination a:hover{ color:var(--fa-text); border-color:var(--fa-line-2); }

.searchform{ display:flex; gap:9px; max-width:460px; margin:0 auto; }
.searchform-input{
	flex:1; min-width:0; padding:12px 18px; border-radius:100px;
	background:rgba(255,255,255,.05); border:1px solid var(--fa-line-2);
	color:var(--fa-text); font-family:inherit; font-size:.94rem;
}
.searchform-input:focus{ outline:none; border-color:rgba(var(--fa-accent-rgb),.55); }
.searchform-btn{ padding:12px 22px; border-radius:100px; border:0; background:var(--fa-grad); color:#170800; font-weight:600; cursor:pointer; }
.search-hero-form{ margin-top:24px; }
.search-404{ margin-top:38px; }

/* --- Footer ------------------------------------------------------------- */
.site-footer{ position:relative; overflow:hidden; padding-top:clamp(52px,6vw,84px); border-top:1px solid var(--fa-line); background:var(--fa-ink-2); }
.footer-glow{ position:absolute; width:760px; aspect-ratio:1; border-radius:50%; filter:blur(120px); opacity:.16; top:-60%; left:50%; transform:translateX(-50%); background:radial-gradient(circle,rgba(var(--fa-accent-rgb),.6),transparent 62%); pointer-events:none; }
.site-footer .wrap{ position:relative; z-index:1; }
.footer-top{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr); gap:clamp(28px,4vw,60px); padding-bottom:44px; }
@media (max-width:860px){ .footer-top{ grid-template-columns:1fr; } }
.footer-brand img,.footer-brand .custom-logo{ max-height:44px; margin-bottom:16px; }
.footer-name{ font-family:var(--fa-display); font-weight:700; font-size:1.2rem; margin:0 0 14px; }
.footer-blurb{ color:var(--fa-muted); font-size:.9rem; max-width:44ch; margin:0 0 20px; }
.footer-contact{ display:flex; flex-direction:column; gap:7px; margin-bottom:20px; }
.footer-phone{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--fa-display); font-weight:700; font-size:1.16rem; text-decoration:none; letter-spacing:-.02em; }
.footer-phone svg{ color:var(--fa-accent); }
.footer-phone:hover{ color:var(--fa-accent-2); }
.footer-email{ font-size:.9rem; color:var(--fa-muted); text-decoration:none; }
.footer-email:hover{ color:var(--fa-accent-2); }
.footer-social{ display:flex; gap:9px; list-style:none; margin:0; padding:0; }
.footer-social a{ display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.05); border:1px solid var(--fa-line); color:var(--fa-muted); transition:all .2s; }
.footer-social a:hover{ color:var(--fa-accent-2); border-color:rgba(var(--fa-accent-rgb),.4); background:rgba(var(--fa-accent-rgb),.1); }
.footer-social svg{ width:17px; height:17px; }

.footer-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:28px; }
.footer-h{ font-size:.74rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--fa-dim); margin:0 0 14px; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.footer-col a{ font-size:.88rem; color:var(--fa-muted); text-decoration:none; }
.footer-col a:hover{ color:var(--fa-accent-2); }

.footer-widgets{ padding-bottom:32px; }
.widget-title{ font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--fa-dim); }

.footer-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding:22px 0; border-top:1px solid var(--fa-line); }
.footer-legal{ margin:0; font-size:.8rem; color:var(--fa-dim); }
.footer-legal-menu{ display:flex; gap:18px; list-style:none; margin:0; padding:0; font-size:.8rem; }
.footer-legal-menu a{ color:var(--fa-dim); text-decoration:none; }
.footer-legal-menu a:hover{ color:var(--fa-accent-2); }

/* --- Mobile action bar -------------------------------------------------- */
.mobile-bar{
	position:fixed; left:0; right:0; bottom:0; z-index:70;
	display:none; gap:9px; padding:10px var(--fa-gut) calc(10px + env(safe-area-inset-bottom));
	background:rgba(6,9,17,.94); backdrop-filter:blur(18px);
	border-top:1px solid var(--fa-line);
	transform:translateY(110%); transition:transform .3s cubic-bezier(.2,.8,.3,1);
}
.mobile-bar.is-visible{ transform:none; }
.mobile-bar a{
	flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.45em;
	padding:13px 10px; border-radius:100px;
	font-size:.92rem; font-weight:700; text-decoration:none;
}
.mobile-bar-call{ background:var(--fa-grad); color:#170800; }
.mobile-bar-quote{ background:rgba(255,255,255,.07); border:1px solid var(--fa-line-2); color:var(--fa-text); }
@media (max-width:780px){
	.mobile-bar{ display:flex; }
	body{ padding-bottom:0; }
	.site-footer{ padding-bottom:78px; }
}

/* --- Reveal on scroll --------------------------------------------------- */
[data-fa-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .6s cubic-bezier(.2,.8,.3,1), transform .6s cubic-bezier(.2,.8,.3,1); }
[data-fa-reveal].is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ [data-fa-reveal]{ opacity:1; transform:none; transition:none; } }

/* --- Print -------------------------------------------------------------- */
@media print{
	.site-header,.utility,.mobile-bar,.band,.site-footer,.ai,.quote-sec{ display:none !important; }
	body{ background:#fff; color:#000; }
}

/* ==========================================================================
   Credentials wall, case studies, segments, advisory model
   ========================================================================== */

/* --- Credentials -------------------------------------------------------- */
.creds{ position:relative; padding-block:clamp(52px,6.5vw,90px); background:linear-gradient(180deg,var(--fa-ink-2),var(--fa-ink)); border-bottom:1px solid var(--fa-line); }
.creds-head{ max-width:720px; margin:0 auto clamp(30px,4vw,46px); text-align:center; }
.creds-head .eyebrow{ display:inline-flex; }
.creds-title{ font-size:clamp(1.6rem,3vw,2.5rem); margin:0 0 .45em; }
.creds-sub{ color:var(--fa-muted); font-size:1.02rem; margin:0; }

.creds-metrics{
	list-style:none; margin:0; padding:0;
	display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
	gap:clamp(12px,1.6vw,18px);
}
.creds-metrics li{
	text-align:center; padding:24px 18px;
	border-radius:var(--fa-r-lg);
	background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
	border:1px solid var(--fa-line);
	transition:transform .28s, border-color .28s;
}
.creds-metrics li:hover{ transform:translateY(-3px); border-color:var(--fa-line-2); }
.creds-v{
	display:block; font-family:var(--fa-display); font-weight:700;
	font-size:clamp(1.7rem,3.1vw,2.5rem); letter-spacing:-.035em; line-height:1.05;
	background:var(--fa-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.creds-l{ display:block; font-size:.83rem; color:var(--fa-muted); margin-top:7px; line-height:1.4; }

.creds.has-badges .creds-metrics{ margin-bottom:26px; }
.creds-badges{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; list-style:none; margin:0; padding:0; }
.creds-badges li{
	display:inline-flex; align-items:center; gap:.5em;
	padding:9px 16px; border-radius:100px;
	background:rgba(var(--fa-signal-rgb),.08); border:1px solid rgba(var(--fa-signal-rgb),.24);
	font-size:.84rem; font-weight:600; color:var(--fa-signal);
}

/* --- Case studies ------------------------------------------------------- */
.card-case{ gap:0; }
.case-seg{ font-size:.72rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--fa-accent-2); margin:0 0 10px; }
.case-scope{ display:flex; align-items:center; gap:.45em; font-size:.82rem; color:var(--fa-dim); margin:8px 0 0; }
.case-metric{ margin:18px 0 16px; padding:16px 0; border-block:1px solid var(--fa-line); }
.case-metric-v{
	display:block; font-family:var(--fa-display); font-weight:700;
	font-size:2rem; letter-spacing:-.035em; line-height:1;
	background:var(--fa-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.case-metric-l{ display:block; font-size:.82rem; color:var(--fa-muted); margin-top:5px; }
.case-line{ font-size:.88rem; color:var(--fa-muted); line-height:1.6; margin:0 0 12px; }
.case-line strong{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--fa-dim); margin-bottom:4px; }

/* --- Segments (honest fallback when no case studies exist) -------------- */
.segments{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:clamp(16px,2vw,24px); }
.segment{
	display:flex; gap:15px; padding:24px 22px;
	border-radius:var(--fa-r-lg);
	background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
	border:1px solid var(--fa-line);
	transition:transform .28s, border-color .28s;
}
.segment:hover{ transform:translateY(-3px); border-color:var(--fa-line-2); }
.segment-ico{
	display:grid; place-items:center; width:38px; height:38px; flex:none;
	border-radius:11px; background:rgba(var(--fa-accent-rgb),.13);
	color:var(--fa-accent-2); border:1px solid rgba(var(--fa-accent-rgb),.2);
}
.segment h3{ font-size:1rem; margin:0 0 6px; }
.segment p{ margin:0; font-size:.88rem; color:var(--fa-muted); line-height:1.6; }

/* --- Advisory model page ------------------------------------------------ */
.model-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:14px; margin-bottom:clamp(34px,4.5vw,54px); }
.model-card{
	padding:24px 22px; border-radius:var(--fa-r-lg);
	background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
	border:1px solid var(--fa-line);
}
.model-ico{
	display:grid; place-items:center; width:42px; height:42px; margin-bottom:14px;
	border-radius:12px; background:rgba(var(--fa-signal-rgb),.13);
	color:var(--fa-signal); border:1px solid rgba(var(--fa-signal-rgb),.2);
}
.model-card h2{ font-size:1.05rem; margin:0 0 8px; }
.model-card p{ margin:0; font-size:.88rem; color:var(--fa-muted); line-height:1.6; }

.neutral-list{ list-style:none; margin:0 0 clamp(34px,4.5vw,54px); padding:0; display:grid; gap:18px; }
.neutral-list li{
	display:flex; gap:14px; padding:22px 24px;
	border-radius:var(--fa-r-lg);
	background:rgba(var(--fa-signal-rgb),.05);
	border:1px solid rgba(var(--fa-signal-rgb),.16);
}
.neutral-list svg{ color:var(--fa-signal); margin-top:4px; flex:none; }
.neutral-list strong{ display:block; font-size:.98rem; color:var(--fa-text); margin-bottom:7px; line-height:1.45; }
.neutral-list p{ margin:0; font-size:.9rem; color:var(--fa-muted); line-height:1.65; }

.model-steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:16px; margin-bottom:clamp(30px,4vw,44px); }
.model-step{ display:flex; gap:13px; padding:20px 20px; border-radius:var(--fa-r); background:rgba(255,255,255,.035); border:1px solid var(--fa-line); }
.model-step-ico{ display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; background:rgba(var(--fa-accent-rgb),.13); color:var(--fa-accent-2); }
.model-step strong{ display:block; font-size:.93rem; margin-bottom:4px; }
.model-step p{ margin:0; font-size:.85rem; color:var(--fa-muted); line-height:1.55; }

/* ==========================================================================
   The wedge — copper retirement banner + free bill audit
   ========================================================================== */

.wedge{ padding-block:clamp(30px,4vw,54px); }
.wedge-inner{
	position:relative; overflow:hidden;
	display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
	gap:clamp(24px,3.4vw,48px);
	padding:clamp(26px,3.6vw,46px);
	border-radius:var(--fa-r-xl);
	background:linear-gradient(140deg, rgba(var(--fa-accent-rgb),.15), rgba(var(--fa-accent-rgb),.04) 55%, rgba(var(--fa-signal-rgb),.07));
	border:1px solid rgba(var(--fa-accent-rgb),.3);
}
@media (max-width:920px){ .wedge-inner{ grid-template-columns:1fr; } }
.wedge-glow{ position:absolute; width:600px; aspect-ratio:1; border-radius:50%; filter:blur(110px); opacity:.4; top:-70%; left:-6%; background:radial-gradient(circle,rgba(var(--fa-accent-rgb),.6),transparent 64%); pointer-events:none; }
.wedge-main,.wedge-card{ position:relative; z-index:1; }

.wedge-flag{
	display:inline-flex; align-items:center; gap:.55em;
	font-size:.74rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
	color:var(--fa-accent-2); margin:0 0 14px;
}
.wedge-pulse{
	width:8px; height:8px; border-radius:50%; background:var(--fa-accent);
	box-shadow:0 0 0 0 rgba(var(--fa-accent-rgb),.6);
	animation:faRipple 2s cubic-bezier(.2,.8,.3,1) infinite;
}
@keyframes faRipple{ 70%{ box-shadow:0 0 0 11px rgba(var(--fa-accent-rgb),0); } 100%{ box-shadow:0 0 0 0 rgba(var(--fa-accent-rgb),0); } }
@media (prefers-reduced-motion:reduce){ .wedge-pulse{ animation:none; } }

.wedge-title{ font-size:clamp(1.5rem,3vw,2.35rem); margin:0 0 .45em; }
.wedge-sub{ color:var(--fa-muted); font-size:.99rem; margin:0 0 20px; max-width:64ch; }

.wedge-list{ display:flex; flex-wrap:wrap; gap:8px 10px; list-style:none; margin:0 0 4px; padding:0; }
.wedge-list li{
	display:inline-flex; align-items:center; gap:.45em;
	padding:8px 14px; border-radius:100px;
	background:rgba(255,255,255,.05); border:1px solid var(--fa-line);
	font-size:.85rem; color:var(--fa-text);
}
.wedge-list svg{ color:var(--fa-accent-2); }
.wedge-cite{ margin:18px 0 0; font-size:.76rem; color:var(--fa-dim); line-height:1.55; max-width:62ch; }

.wedge-card{
	background:rgba(6,9,17,.55); border:1px solid var(--fa-line-2);
	border-radius:var(--fa-r-lg); padding:24px 22px;
	backdrop-filter:blur(14px); align-self:start;
}
.wedge-card-ico{ display:grid; place-items:center; width:44px; height:44px; margin-bottom:14px; border-radius:13px; background:rgba(var(--fa-signal-rgb),.14); color:var(--fa-signal); border:1px solid rgba(var(--fa-signal-rgb),.22); }
.wedge-card h3{ font-size:1.06rem; margin:0 0 9px; }
.wedge-card > p{ font-size:.88rem; color:var(--fa-muted); margin:0 0 16px; line-height:1.6; }
.wedge-card ul{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:9px; }
.wedge-card li{ display:flex; gap:9px; font-size:.85rem; color:var(--fa-muted); }
.wedge-card li svg{ color:var(--fa-signal); margin-top:3px; flex:none; }

/* --- Bill audit page ---------------------------------------------------- */
.audit-hero{ position:relative; overflow:hidden; padding-block:clamp(40px,5.5vw,78px); }
.audit-hero-inner{
	position:relative; z-index:1;
	display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
	gap:clamp(28px,4vw,58px); align-items:start;
}
@media (max-width:940px){ .audit-hero-inner{ grid-template-columns:1fr; } }
.audit-title{ font-size:clamp(1.9rem,4vw,3rem); letter-spacing:-.032em; margin:0 0 .42em; }
.audit-sub{ color:var(--fa-muted); font-size:1.03rem; margin:0 0 26px; max-width:58ch; }

.audit-finds{ list-style:none; margin:0 0 24px; padding:0; display:grid; gap:12px; }
.audit-finds li{ display:flex; gap:11px; font-size:.94rem; color:var(--fa-muted); line-height:1.55; }
.audit-finds svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
.audit-finds strong{ color:var(--fa-text); }

.audit-honest{
	display:flex; gap:12px; padding:18px 20px;
	border-radius:var(--fa-r-lg);
	background:rgba(var(--fa-signal-rgb),.06); border:1px solid rgba(var(--fa-signal-rgb),.2);
}
.audit-honest svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
.audit-honest p{ margin:0; font-size:.88rem; color:var(--fa-muted); line-height:1.6; }

.audit-panel{ position:relative; }
.audit-form{ padding:clamp(22px,2.6vw,32px); }
.audit-form-kicker{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--fa-accent-2); margin:0 0 7px; }
.audit-form-title{ font-size:1.35rem; margin:0 0 20px; }
.audit-submit{ width:100%; margin-top:6px; }
.audit-form-note{ display:flex; align-items:flex-start; gap:.5em; margin:14px 0 0; font-size:.79rem; color:var(--fa-dim); line-height:1.55; }
.audit-form-note svg{ color:var(--fa-signal); margin-top:3px; flex:none; }
