/* EigenPoint Capital v032 — sitewide reconstruction.
   Design-only: IDs, feature JS and data integrations remain unchanged.
   Visual contract: roomy but disciplined widescreen gutters; paired editorial sections;
   compact, information-rich panels; responsive wrapping rather than clipped content. */
:root{
 --ep31-max:1840px;
 --ep31-pad:clamp(18px,2.7vw,64px);
 --ep32-max:1840px;
 --ep32-gutter:clamp(18px,2.7vw,64px);
 --ep32-space:clamp(24px,3vw,54px);
 --ep32-line:rgba(199,162,92,.22);
 --ep32-ink:#12352f;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:112px}
body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
/* One consistent measure for all main sections and shared site furniture. */
:is(.nav-shell,.hero-slide-content,.section-inner,.market-pulse-shell,.metric-row,.footer-shell,.footer-bottom,.ep30-content-width,.ep30-market .intelligence-home-frame,.cta-copy){
 width:min(calc(100% - 2 * var(--ep32-gutter)),var(--ep32-max))!important;
 max-width:var(--ep32-max)!important;margin-inline:auto!important;
}
/* Main sections fill the viewport with full-bleed backgrounds but align content on one grid. */
.section{padding:clamp(34px,3.25vw,54px) var(--ep32-gutter)!important}
.section-inner{padding:0!important}
.section-head{display:flex;align-items:end;gap:clamp(14px,2vw,36px);margin-bottom:22px}
.section-head>div{min-width:0;flex:1 1 55%}
.section-head>.lead{min-width:0;flex:0 1 39%;font-size:clamp(13px,1.02vw,16px);line-height:1.58;max-width:620px}
.section h2,.section-head h2{font-size:clamp(30px,2.7vw,46px);line-height:1.11;max-width:900px;text-wrap:balance}
:is(.section p,.ep30-tool-card p,.ep30-start-copy p){overflow-wrap:break-word}
/* Hero: premium typography and strong art, without an oversized opening fold. */
body[data-page=home] .hero-slider{height:clamp(530px,63vh,680px);min-height:530px}
body[data-page=home] .hero-slide-content{padding:116px 0 70px;align-items:flex-start;justify-content:center}
body[data-page=home] .hero-slide-content h1{max-width:min(910px,72vw);font-size:clamp(47px,4.15vw,78px);line-height:1.035;letter-spacing:-.043em;margin-bottom:14px}
body[data-page=home] .hero-slide-content p{max-width:670px;font-size:clamp(15px,1.08vw,18px);line-height:1.55;margin-bottom:20px}
body[data-page=home] .hero-proof{margin-top:19px;max-width:810px}
body[data-page=home] .hero-proof span{padding:10px 13px}
/* Market pulse: content-led cards; upper page does not become a stack of empty frames. */
body[data-page=home] .market-pulse{padding:31px var(--ep32-gutter) 34px}
body[data-page=home] .market-pulse-head{margin-bottom:18px;align-items:end}
body[data-page=home] .market-pulse-head>div:first-child{min-width:0;max-width:1120px}
body[data-page=home] .market-pulse h2{font-size:clamp(30px,2.7vw,47px);max-width:none}
body[data-page=home] .market-pulse-head p{max-width:950px;font-size:clamp(13px,.85vw,15px)}
body[data-page=home] .pulse-grid{gap:14px}
body[data-page=home] .pulse-card{padding:17px 19px;min-height:0;border-radius:13px}
body[data-page=home] .pulse-company strong{font-size:clamp(25px,1.8vw,34px)}
body[data-page=home] .pulse-spark{height:55px;margin-block:7px}
body[data-page=home] .pulse-reason{padding-top:10px}
body[data-page=home] .pulse-footer{margin-top:12px}
/* Radar: retain the actual interactive canvas and sourced news, but use its width. */
body[data-page=home] .ep30-market{padding:30px 0 32px}
body[data-page=home] .ep30-market .intelligence-home-frame{padding:0!important}
body[data-page=home] .ep30-section-heading{margin-bottom:15px;gap:18px}
body[data-page=home] .ep30-section-heading h2{font-size:clamp(30px,2.6vw,44px)}
body[data-page=home] .ep30-section-heading p{max-width:860px}
body[data-page=home] .ep30-market .intelligence-radar-card{padding:17px;border-radius:16px;min-width:0}
body[data-page=home] .ep30-market .radar-home-stage{grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:335px;height:335px}
body[data-page=home] .ep30-market .radar-home-news-item{grid-template-columns:clamp(78px,5.6vw,106px) minmax(0,1fr);gap:11px}
body[data-page=home] .ep30-market .radar-home-news-thumb{width:100%;height:clamp(54px,4.2vw,72px)}
body[data-page=home] .ep30-market .radar-home-news-item strong{font-size:clamp(12px,.86vw,15px);line-height:1.29}
/* Five tools: full-width, balanced 3+2 editorial grid rather than undersized boxes. */
body[data-page=home] .ep30-tools{padding:34px 0 38px}
body[data-page=home] .ep30-tool-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
body[data-page=home] .ep30-tool-card{grid-column:span 2;min-height:172px;padding:19px 21px;display:flex;flex-direction:column;align-items:stretch;border-radius:15px}
body[data-page=home] .ep30-tool-card:nth-child(n+4){grid-column:span 3;min-height:159px}
body[data-page=home] .ep30-tool-card h3{font-size:clamp(18px,1.32vw,25px);margin:11px 0 6px}
body[data-page=home] .ep30-tool-card p{font-size:clamp(12px,.77vw,14px);line-height:1.45;max-width:53ch;margin-bottom:12px}
body[data-page=home] .ep30-tool-bottom{margin-top:auto;padding-top:10px}
body[data-page=home] .ep30-tools-note{font-size:11px;line-height:1.4;margin:12px 0 0}
/* Pair related company sections side by side. Both retain their content and links. */
.ep32-pair-band{background:linear-gradient(122deg,#082d29 0%,#0d3a2e 49%,#f7f3eb 49%,#f7f3eb 100%);padding:30px var(--ep32-gutter) 36px}
.ep32-pair-grid{width:min(100%,var(--ep32-max));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:stretch;gap:19px}
.ep32-pair-grid>.section{min-width:0;padding:26px clamp(16px,2vw,34px)!important;border-radius:17px;box-shadow:0 15px 45px rgba(0,0,0,.08);overflow:hidden}
.ep32-pair-grid>.audience-clean{background:linear-gradient(155deg,#0a3a30,#072922);color:#f7f2e7}
.ep32-pair-grid>.section:not(.audience-clean){background:#fffdf7;color:var(--ep32-ink);border:1px solid rgba(158,122,65,.20)}
.ep32-pair-grid .section-inner{width:100%!important;max-width:none!important;margin:0!important}
.ep32-pair-grid .section-head{display:block;margin-bottom:15px}
.ep32-pair-grid .section-head h2{font-size:clamp(26px,2vw,34px);line-height:1.12;margin:7px 0}
.ep32-pair-grid .section-head .lead{max-width:75ch;margin-top:11px;font-size:13px;line-height:1.53}
.ep32-pair-grid .audience-simple-grid,.ep32-pair-grid .cards-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;background:transparent;border:0}
.ep32-pair-grid .audience-simple-card{min-height:116px;height:auto;padding:13px 12px;align-items:center;gap:12px;border-radius:11px;border:1px solid rgba(220,196,133,.25);background:rgba(255,255,255,.035)}
.ep32-pair-grid .audience-simple-card img{height:48px;width:48px;min-width:48px;object-fit:contain}
.ep32-pair-grid .audience-simple-card span{font-size:clamp(12px,.78vw,15px);line-height:1.22}
.ep32-pair-grid .audience-simple-card small{font-size:11px;line-height:1.45;margin-top:6px;display:block;color:#c9d8ce}
.ep32-pair-grid .icon-card{min-height:116px;padding:13px 12px;display:grid;grid-template-columns:41px minmax(0,1fr);column-gap:10px;align-content:center;align-items:start;text-align:left;background:linear-gradient(145deg,#fff,#f7f0e4);border:1px solid rgba(164,131,74,.19);border-radius:11px;box-shadow:none}
.ep32-pair-grid .icon-card img{width:40px;height:40px;object-fit:contain;grid-row:1 / span 2;margin:0}
.ep32-pair-grid .icon-card h3{font-size:clamp(13px,.88vw,16px);line-height:1.24;margin:0 0 5px}
.ep32-pair-grid .icon-card p{font-size:11px;line-height:1.43;margin:0;color:#42554d}
/* The proof points and approach read as two concise follow-on layers. */
body[data-page=home] .dark-band{padding:7px var(--ep32-gutter)}
body[data-page=home] .metric-row{grid-template-columns:minmax(110px,.55fr) repeat(3,minmax(0,1fr));min-height:130px}
body[data-page=home] .metric-art{height:122px}
body[data-page=home] .metric-art img{max-height:115px;width:auto}
body[data-page=home] .metric{padding:16px 14px}
body[data-page=home] .metric strong{font-size:clamp(28px,2.1vw,40px);line-height:1.08}
body[data-page=home] .metric small{font-size:11px;line-height:1.45}
body[data-page=home] .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(21px,3vw,52px)}
body[data-page=home] .section .split h2{font-size:clamp(27px,2.45vw,42px)}
body[data-page=home] .process{gap:9px;margin-top:18px}
body[data-page=home] .process-icon{width:58px;height:58px;margin-bottom:7px}
body[data-page=home] .process-icon img{width:37px;height:37px}
body[data-page=home] .process-item b{font-size:clamp(12px,.8vw,15px)}
body[data-page=home] .process-item span{font-size:10px;line-height:1.35}
body[data-page=home] .chart-frame,body[data-page=home] .tv-slot{min-height:300px;height:300px;max-height:310px}
body[data-page=home] .chart-frame .tradingview-widget-container,body[data-page=home] .chart-frame .tradingview-widget-container__widget,body[data-page=home] .tv-slot .tradingview-widget-container,body[data-page=home] .tv-slot .tradingview-widget-container__widget{min-height:300px;height:300px}
/* Replace the separate duplicate CTA with one richer, shorter onboarding destination. */
body[data-page=home] .ep30-start-section{padding:29px var(--ep32-gutter) 37px;background:linear-gradient(100deg,rgba(5,33,31,.96),rgba(6,50,43,.90)),url('../assets/photos/brighter-tomorrow-hd.jpg') center/cover;color:#f5efdd}
body[data-page=home] .ep30-start-layout{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(17px,3vw,48px);align-items:center}
body[data-page=home] .ep30-start-copy{min-width:0}
body[data-page=home] .ep30-start-copy h2{font-size:clamp(34px,3.05vw,54px);max-width:580px;line-height:1.06;margin:10px 0 14px}
body[data-page=home] .ep30-start-copy p{font-size:clamp(13px,.89vw,16px);line-height:1.57;max-width:580px}
body[data-page=home] .ep30-start-link{display:inline-flex;align-items:center;justify-content:center;margin-top:21px;padding:12px 18px;border:1px solid #dec085;border-radius:99px;background:#e4c88f;color:#122b28;font-weight:700}
.ep32-start-note{display:block;margin-top:13px;font-size:11px;color:#d8d0b8;letter-spacing:.06em}
body[data-page=home] .ep30-start-section .intelligence-start{padding:19px 22px;gap:13px;border-radius:16px}
body[data-page=home] .ep30-start-section .intelligence-start-intro h2{font-size:clamp(30px,2.15vw,42px);margin:4px 0 7px}
body[data-page=home] .ep30-start-section .intelligence-start-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(88px,auto);gap:10px}
body[data-page=home] .ep30-start-section .intelligence-step{min-height:88px;padding:10px 13px}
body[data-page=home] .ep30-start-section .intelligence-step-top em{font-size:29px}
/* Common width and proportional grids across all five intelligence pages. */
:is(.radar-page,.weather-page,.personal-page,.explain-page,.lab-page){padding:clamp(112px,7.6vw,132px) var(--ep32-gutter) 36px!important;min-height:0}
:is(.radar-page,.weather-page,.personal-page,.explain-page,.lab-page)>*{width:min(100%,var(--ep32-max))!important;max-width:var(--ep32-max)!important;margin-inline:auto!important}
:is(.radar-heading-row,.weather-hero-content,.personal-heading,.explain-hero-row,.lab-headline){gap:22px;margin:12px 0 20px;align-items:end}
:is(.radar-heading-row h1,.weather-hero h1,.personal-heading h1,.explain-hero h1,.lab-headline h1){font-size:clamp(36px,3vw,54px)!important;line-height:1.08}
:is(.radar-frame,.weather-workspace,.personal-workspace,.explain-workspace,.lab-shell){width:100%;min-width:0;border-radius:16px}
.radar-columns{grid-template-columns:minmax(290px,26%) minmax(420px,46%) minmax(295px,28%)}
.radar-globe-wrap{min-height:455px}
.radar-news-list{max-height:470px}
.radar-detail-photo{max-height:190px}
.weather-lower{grid-template-columns:minmax(0,1.6fr) minmax(310px,.7fr)}
.weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.personal-content{grid-template-columns:minmax(0,1.68fr) minmax(320px,.72fr)}
.explain-layout{grid-template-columns:minmax(275px,23%) minmax(400px,52%) minmax(290px,25%)}
.explain-feature-image{height:clamp(160px,11vw,220px);object-fit:cover}
.lab-grid{grid-template-columns:minmax(330px,34%) minmax(0,66%)}
/* Institutional pages: matched full-width sections, no narrow floating middle island. */
body:not([data-page=home]) :is(.hero-grid,.section-inner,.footer-shell,.footer-bottom,.metric-row,.cta-copy){max-width:var(--ep32-max)!important}
body:not([data-page=home]) .hero.compact,body:not([data-page=home]) .hero.compact .hero-grid{min-height:clamp(420px,52vh,560px);height:auto}
body:not([data-page=home]) .hero.compact .hero-grid{width:min(calc(100% - 2 * var(--ep32-gutter)),var(--ep32-max))!important;margin-inline:auto!important;padding:105px 0 35px!important;align-items:center}
body:not([data-page=home]) .hero.compact h1{font-size:clamp(39px,3.3vw,62px);max-width:780px;line-height:1.08}
body:not([data-page=home]) .hero.compact .hero-copy p{max-width:660px;font-size:clamp(14px,1vw,17px);line-height:1.55}
body:not([data-page=home]) .hero.compact .hero-art{min-width:0}
body:not([data-page=home]) .section{padding-block:clamp(33px,3vw,53px)!important}
body:not([data-page=home]) :is(.mini-grid,.cards-4){gap:14px}
body:not([data-page=home]) .mini-card{min-height:0;padding:20px 19px}
body:not([data-page=home]) .mini-card img{height:60px;width:60px;object-fit:contain}
body:not([data-page=home]) .mini-card h3{font-size:clamp(17px,1.25vw,22px);line-height:1.18}
body:not([data-page=home]) .mini-card p{font-size:13px;line-height:1.5}
body:not([data-page=home]) .icon-card{min-height:0;padding:20px 19px}
body:not([data-page=home]) .icon-card img{height:55px;width:55px;object-fit:contain}
body:not([data-page=home]) .chart-frame,body:not([data-page=home]) .tv-slot{min-height:320px;height:320px}
/* Prevent the original legacy very-wide padding rules from creating double gutters. */
@media(min-width:1500px){
 .section,.feature-strip,.site-footer{padding-inline:var(--ep32-gutter)!important}
 .hero-slide-content{padding-inline:0!important}
}
@media(max-width:1280px){
 .ep32-pair-grid{grid-template-columns:1fr}
 .ep32-pair-band{background:#0b2b27}
 .ep32-pair-grid>.section{padding:23px!important}
 .radar-columns{grid-template-columns:minmax(235px,27%) minmax(330px,45%) minmax(240px,28%)}
 .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .explain-layout{grid-template-columns:minmax(0,28%) minmax(0,44%) minmax(0,28%)}
 .lab-grid{grid-template-columns:minmax(0,38%) minmax(0,62%)}
}
@media(max-width:1040px){
 body[data-page=home] .ep30-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-page=home] .ep30-tool-card,body[data-page=home] .ep30-tool-card:nth-child(n+4){grid-column:auto;min-height:160px}
 body[data-page=home] .ep30-tool-card:last-child{grid-column:1/-1;min-height:148px}
 body[data-page=home] .ep30-market .radar-home-stage{grid-template-columns:minmax(0,49%) minmax(0,51%)}
 body[data-page=home] .ep30-start-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .weather-lower,.personal-content{grid-template-columns:1fr}
 .radar-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .radar-explainer{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid var(--ep32-line)}
 .explain-layout{grid-template-columns:minmax(0,38%) minmax(0,62%)}
 .explain-sources{grid-column:1/-1;display:block}
}
@media(max-width:760px){
 :root{--ep32-gutter:16px;--ep31-pad:16px}
 :is(.nav-shell,.hero-slide-content,.section-inner,.market-pulse-shell,.metric-row,.footer-shell,.footer-bottom,.ep30-content-width,.ep30-market .intelligence-home-frame,.cta-copy){width:calc(100% - 32px)!important;max-width:none!important}
 body[data-page=home] .hero-slider{height:clamp(510px,74svh,660px);min-height:510px}
 body[data-page=home] .hero-slide-content{padding:103px 0 61px}
 body[data-page=home] .hero-slide-content h1{font-size:clamp(36px,9vw,55px);max-width:100%}
 body[data-page=home] .hero-slide-content p{font-size:14px;line-height:1.55}
 body[data-page=home] .hero-proof{display:none}
 body[data-page=home] .market-pulse-head{display:block}
 body[data-page=home] .market-pulse-tools{margin-top:15px}
 body[data-page=home] .pulse-grid{grid-template-columns:1fr;gap:10px}
 body[data-page=home] .pulse-card{padding:15px}
 body[data-page=home] .ep30-section-heading{display:block}
 body[data-page=home] .ep30-heading-link{display:inline-flex;margin-top:10px}
 body[data-page=home] .ep30-market .radar-home-stage{display:flex;flex-direction:column;min-height:0;height:auto}
 body[data-page=home] .ep30-market .radar-home-globe-wrap{height:240px;min-height:240px;flex-basis:240px}
 body[data-page=home] .ep30-tool-grid{grid-template-columns:1fr}
 body[data-page=home] .ep30-tool-card,body[data-page=home] .ep30-tool-card:nth-child(n+4),body[data-page=home] .ep30-tool-card:last-child{grid-column:auto;min-height:146px}
 .ep32-pair-band{padding:17px 16px 23px}
 .ep32-pair-grid{gap:12px}
 .ep32-pair-grid>.section{padding:18px 15px!important}
 .ep32-pair-grid .audience-simple-grid,.ep32-pair-grid .cards-4{grid-template-columns:1fr}
 .ep32-pair-grid .audience-simple-card,.ep32-pair-grid .icon-card{min-height:78px}
 body[data-page=home] .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-page=home] .metric-art{display:none}
 body[data-page=home] .metric{padding:12px 8px}
 body[data-page=home] .split{grid-template-columns:1fr}
 body[data-page=home] .chart-frame,body[data-page=home] .tv-slot{height:275px;min-height:275px}
 body[data-page=home] .ep30-start-layout{grid-template-columns:1fr}
 body[data-page=home] .ep30-start-section{padding:27px 16px 30px}
 body[data-page=home] .ep30-start-section .intelligence-start{padding:15px}
 body[data-page=home] .ep30-start-section .intelligence-start-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 :is(.radar-page,.weather-page,.personal-page,.explain-page,.lab-page){padding:105px 14px 28px!important}
 .radar-columns,.explain-layout,.lab-grid{display:flex;flex-direction:column}
 .radar-story,.radar-globe-column,.radar-explainer{grid-column:auto;grid-row:auto;width:100%}
 .radar-globe-wrap{min-height:325px}
 .weather-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .weather-grid{grid-template-columns:1fr}
 .radar-story,.radar-explainer,.explain-feed,.explain-center,.explain-sources,.lab-controls,.lab-results{width:100%;min-width:0}
 body:not([data-page=home]) .hero.compact .hero-grid{width:calc(100% - 32px)!important;padding:105px 0 30px!important}
 body:not([data-page=home]) .hero.compact .hero-art{opacity:.52}
 body:not([data-page=home]) .hero.compact h1{font-size:clamp(35px,8vw,48px)}
}
@media(max-width:430px){
 body[data-page=home] .ep30-start-section .intelligence-start-grid{grid-template-columns:1fr 1fr}
 body[data-page=home] .ep30-start-section .intelligence-step{min-height:98px;padding:10px}
 body[data-page=home] .ep30-start-section .intelligence-step-detail{font-size:10px}
 .ep32-pair-grid .section-head h2{font-size:27px}
}
/* Inner shells already sit inside padded full-bleed sections: do not double-subtract gutters. */
.section>.section-inner,.section .section-inner,.market-pulse>.market-pulse-shell,.feature-strip>.section-inner,.site-footer>.footer-shell,.site-footer>.footer-bottom,.dark-band>.metric-row{width:100%!important;max-width:var(--ep32-max)!important}
/* Site header spans the screen; logo and navigation line up with the content measure. */
.site-header .nav-shell,.top-stack .nav-shell{width:min(calc(100% - 2 * var(--ep32-gutter)),var(--ep32-max))!important;max-width:var(--ep32-max)!important;padding-inline:0!important}
@media(max-width:760px){.site-header .nav-shell,.top-stack .nav-shell{width:calc(100% - 32px)!important}}
