/* AqlVest V2 true presentation boundary. Legacy controller styles remain below this scoped layer during migration. */
.v2-app { --v2-ink:#102820; --v2-green:#0f5b4b; --v2-green-dark:#0b3f35; --v2-paper:#fffdf8; --v2-canvas:#f5f3eb; --v2-line:#d9ddd4; --v2-muted:#5c6964; --v2-focus:#d78c18; background:var(--v2-canvas); color:var(--v2-ink); }
.v2-app .sidebar,.v2-app .topbar,.v2-app .bottom-nav { display:none !important; }
.v2-app .app-shell,.v2-app .app-main { min-width:0; width:100%; }
.v2-app .app-main { display:flex; min-height:100vh; flex-direction:column; }
.v2-app #main-content { flex:1; width:100%; }
.v2-testing-banner { background:var(--v2-green-dark); color:#fff; font-size:.875rem; }
.v2-testing-banner>div { align-items:center; display:flex; gap:24px; justify-content:space-between; margin:auto; max-width:1440px; padding:8px 28px; }
.v2-testing-banner p { margin:0; }
.v2-testing-banner a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
.v2-testing-banner button { background:transparent; border:0; color:#fff; cursor:pointer; font:inherit; text-decoration:underline; }
.v2-site-header { background:rgba(255,253,248,.97); border-bottom:1px solid var(--v2-line); position:sticky; top:0; z-index:50; }
.v2-site-header__inner { align-items:center; display:grid; gap:20px; grid-template-columns:150px minmax(0,1fr) auto; margin:auto; max-width:1440px; min-height:72px; padding:0 28px; }
.v2-brand { align-items:center; display:flex; }
.v2-brand img { display:block; height:auto; max-width:140px; }
.v2-desktop-nav { align-items:center; display:flex; gap:3px; justify-content:center; min-width:0; }
.v2-desktop-nav a { border-radius:8px; color:var(--v2-ink); font-size:.84rem; font-weight:650; padding:9px 8px; text-decoration:none; white-space:nowrap; }
.v2-desktop-nav a:hover,.v2-desktop-nav a.active { background:#e8f1ed; color:var(--v2-green-dark); }
.v2-menu-toggle { display:none; }
.site-footer.v2-site-footer { display:block; background:#0b2f28; color:#e7f0ec; margin-top:72px; }
.v2-site-footer__inner { margin:auto; max-width:1320px; padding:56px 28px 28px; }
.v2-footer-brand { align-items:flex-start; display:flex; flex-direction:column; gap:4px; }
.v2-footer-brand img { height:auto; max-width:260px; width:260px; }
.v2-footer-brand p { font-family:"Cormorant Garamond",serif; font-size:1.25rem; margin:0; }
.v2-footer-links { display:grid; gap:32px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:32px 0; }
.v2-footer-links h2 { color:#fff; font-family:Inter,sans-serif; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.v2-footer-links a { color:#dceae5; display:block; font-size:.9rem; margin:9px 0; text-decoration:none; }
.v2-footer-links a:hover { color:#fff; text-decoration:underline; }
.v2-footer-disclaimer { border-top:1px solid rgba(255,255,255,.16); color:#bfd0ca; font-size:.82rem; margin:0; padding-top:20px; }
.v2-page { min-height:60vh; }
.v2-page-intro { max-width:850px; padding:8px 0 28px; }
.v2-page-intro h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(2.5rem,5vw,4.4rem); line-height:.98; margin:8px 0 16px; }
.v2-page-intro>p:last-of-type { color:var(--v2-muted); font-size:1.08rem; line-height:1.7; max-width:760px; }
.v2-page-actions,.v2-portfolio-actions { display:flex; flex-wrap:wrap; gap:10px; }
.v2-feedback { align-items:center; background:#edf4f0; border:1px solid #cbded6; border-radius:16px; display:flex; gap:24px; justify-content:space-between; margin-top:40px; padding:20px; }
.v2-feedback p { margin:5px 0 0; }
.v2-data-state { background:var(--v2-paper); border:1px dashed #bcc8c2; border-radius:16px; padding:42px 24px; text-align:center; }
.v2-data-state h2 { margin:10px 0 6px; }
.v2-spinner { animation:v2-spin 1s linear infinite; border:3px solid #d7e4df; border-top-color:var(--v2-green); border-radius:50%; display:inline-block; height:28px; width:28px; }
@keyframes v2-spin { to { transform:rotate(360deg); } }
.v2-status { align-items:center; border:1px solid transparent; border-radius:999px; display:inline-flex; font-size:.76rem; font-weight:700; gap:5px; line-height:1.25; max-width:280px; padding:5px 8px; }
.v2-status--success { background:#e5f4ec; border-color:#b7d9c7; color:#155a3d; }
.v2-status--warning { background:#fff3d8; border-color:#e7c677; color:#734f00; }
.v2-status--danger { background:#fae9e6; border-color:#e7b8b0; color:#862c20; }
.v2-status--neutral { background:#f0f2ef; border-color:#d5dad6; color:#4e5d57; }
.v2-local-notice { align-items:center; background:#edf4f0; border-left:4px solid var(--v2-green); display:flex; gap:12px; margin-bottom:24px; padding:14px 18px; }
.v2-portfolio-builder { background:var(--v2-paper); border:1px solid var(--v2-line); border-radius:18px; box-shadow:0 10px 30px rgba(18,45,37,.06); display:grid; gap:22px; padding:24px; }
.v2-portfolio-builder h2 { margin:4px 0 8px; }
.v2-portfolio-builder p { margin:0; }
.v2-portfolio-fields { display:grid; gap:18px; grid-template-columns:minmax(0,2fr) minmax(220px,1fr); }
.v2-portfolio-fields label { color:var(--v2-ink); display:grid; font-weight:700; gap:7px; }
.v2-portfolio-fields label span { color:var(--v2-muted); font-size:.78rem; font-weight:500; }
.v2-portfolio-fields textarea,.v2-portfolio-fields select,.v2-weight-input { background:#fff; border:1px solid #aab8b1; border-radius:9px; color:var(--v2-ink); font:inherit; padding:11px 12px; width:100%; }
.v2-portfolio-summary { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0; }
.v2-portfolio-summary article { background:var(--v2-paper); border:1px solid var(--v2-line); border-radius:13px; padding:16px; }
.v2-portfolio-summary span { color:var(--v2-muted); display:block; font-size:.78rem; }
.v2-portfolio-summary strong { display:block; font-size:1.3rem; margin-top:6px; }
.v2-portfolio-table caption { color:var(--v2-muted); padding:0 0 10px; text-align:left; }
.v2-portfolio-table th a { color:var(--v2-ink); display:grid; text-decoration:none; }
.v2-portfolio-table th a span { color:var(--v2-muted); font-size:.75rem; }
.v2-weight-input { min-width:110px; }
.v2-app :focus-visible { outline:3px solid var(--v2-focus); outline-offset:3px; }
.v2-menu-open { overflow:hidden; }
@media (max-width:1120px) {
  .v2-site-header__inner { grid-template-columns:140px 1fr auto auto; }
  .v2-desktop-nav a { font-size:.78rem; padding-inline:5px; }
}
@media (max-width:980px) {
  .v2-desktop-nav,.v2-header-search { display:none; }
  .v2-site-header__inner { grid-template-columns:1fr auto; min-height:64px; }
  .v2-menu-toggle { align-items:center; background:transparent; border:1px solid var(--v2-line); border-radius:9px; color:var(--v2-ink); display:flex; font-size:1.2rem; height:44px; justify-content:center; width:44px; }
  .v2-mobile-menu { inset:0; position:fixed; z-index:100; }
  .v2-menu-backdrop { background:rgba(4,23,18,.56); border:0; inset:0; position:absolute; width:100%; }
  .v2-mobile-menu__panel { background:var(--v2-paper); display:flex; flex-direction:column; gap:18px; height:100%; margin-left:auto; max-width:390px; overflow:auto; padding:22px; position:relative; width:min(88vw,390px); }
  .v2-mobile-menu__head { align-items:center; display:flex; justify-content:space-between; }
  .v2-mobile-menu__head button { background:transparent; border:0; font-size:2rem; height:44px; width:44px; }
  .v2-mobile-menu nav { display:grid; }
  .v2-mobile-menu nav a { border-bottom:1px solid var(--v2-line); color:var(--v2-ink); font-weight:650; padding:13px 4px; text-decoration:none; }
  .v2-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-portfolio-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .v2-testing-banner>div,.v2-site-header__inner,.v2-site-footer__inner { padding-left:18px; padding-right:18px; }
  .v2-testing-banner>div { align-items:flex-start; gap:10px; }
  .v2-page-intro { padding-top:0; }
  .v2-page-intro h1 { font-size:2.7rem; }
  .v2-feedback,.v2-local-notice { align-items:flex-start; flex-direction:column; }
  .v2-footer-links,.v2-portfolio-fields,.v2-portfolio-summary { grid-template-columns:1fr; }
  .v2-portfolio-builder { padding:18px; }
  .v2-portfolio-actions .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .v2-app * { scroll-behavior:auto !important; transition-duration:.01ms !important; } .v2-spinner { animation:none; } }

/* Founder completion sprint: one calm, concise product language. */
.v2-app .page-container { width:min(1240px,calc(100% - 64px)); margin-inline:auto; padding-inline:0; }
.v2-app .hero-concept,.v2-app .trust-row,.v2-app .home-panels,.v2-app .v2-section,.v2-app .coverage-roadmap--compact { width:min(1240px,calc(100% - 64px)); margin-left:auto; margin-right:auto; }
.v2-app .hero-concept { padding-top:54px; }
.v2-app .hero-concept-content .eyebrow { margin-bottom:12px; }
.v2-app .hero-concept-title { letter-spacing:-.025em; }
.v2-app .trust-row { border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding-top:24px; padding-bottom:24px; }
.v2-app .home-panel,.v2-app .v2-feature-card { border-color:rgba(16,40,32,.1); box-shadow:none; }
.v2-app .v2-feature-card:hover { border-color:rgba(15,91,75,.32); box-shadow:0 14px 34px rgba(18,45,37,.07); transform:translateY(-2px); }
.coverage-roadmap--compact { border-top:1px solid var(--v2-line); margin-top:44px; padding:22px 0; color:var(--v2-muted); }
.coverage-roadmap--compact summary { color:var(--v2-ink); cursor:pointer; font-weight:750; }
.coverage-roadmap--compact p { max-width:920px; line-height:1.65; }

.research-hero--focused { margin:0 auto; max-width:1000px; padding:72px 0 36px; text-align:center; }
.research-hero--focused .hero-concept-title { margin:8px auto 14px; max-width:820px; }
.research-hero--focused .hero-concept-lead { margin-left:auto; margin-right:auto; max-width:700px; }
.research-search-stage { margin:30px auto 0; max-width:900px; position:relative; text-align:left; }
.research-search-stage .hero-search-bar { min-height:68px; }
.research-search-stage .hero-search-input { font-size:1.05rem; }
.research-search-message { margin-top:12px !important; }
.research-popular { justify-content:center; margin-top:20px !important; }
.v2-app .research-grid { margin:0 auto; max-width:1000px; padding:0 0 48px; }

.premium-tool-page>.page-header { max-width:760px; margin-bottom:26px; }
.premium-tool-page>.page-header .hero-concept-title { margin-bottom:10px; }
.premium-filter-panel { border-color:rgba(16,40,32,.1) !important; border-radius:18px !important; box-shadow:0 14px 38px rgba(18,45,37,.055) !important; }
.premium-filter-panel--discover { padding:20px !important; background:var(--v2-paper) !important; }
.premium-quick-views { margin-bottom:20px !important; }
.premium-quick-views>span { flex-basis:100%; font-size:.7rem !important; letter-spacing:.08em; text-transform:uppercase; }
.premium-quick-views button { min-height:42px !important; padding:8px 14px !important; }
.premium-toolbar--discover { grid-template-columns:minmax(320px,1.5fr) minmax(250px,.7fr) !important; gap:16px !important; }
.premium-filter-panel .ds-input { min-height:48px; border-color:#aebbb5; border-radius:10px; }
.premium-advanced-filters { border-top:1px solid var(--v2-line); margin-top:18px; padding-top:14px; }
.premium-advanced-filters summary { cursor:pointer; color:var(--v2-green-dark); font-size:.86rem; font-weight:750; }
.premium-active-filter-bar { align-items:center; background:#f3f6f3; border-radius:10px; color:var(--v2-muted); display:flex; font-size:.78rem; gap:16px; justify-content:space-between; margin-top:16px; padding:10px 12px; }
.premium-active-filter-bar.is-empty { display:none; }
.premium-methodology-note { border:0 !important; border-left:3px solid #c49a43 !important; background:transparent !important; padding:8px 0 8px 14px !important; }
.premium-result-count { color:var(--v2-ink) !important; font-size:.9rem !important; font-weight:750 !important; }
.premium-summary-grid--discover { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.premium-summary-grid--discover article { border:0 !important; border-radius:0 !important; border-left:1px solid var(--v2-line) !important; padding:10px 18px !important; }
.premium-summary-grid--discover article:first-child { border-left:0 !important; padding-left:0 !important; }
.premium-company-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.premium-company-card--browse { min-height:250px !important; padding:18px !important; border-color:rgba(16,40,32,.1) !important; box-shadow:none !important; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.premium-company-card--browse:hover { border-color:rgba(15,91,75,.34) !important; box-shadow:0 16px 34px rgba(18,45,37,.08) !important; transform:translateY(-2px); }
.premium-company-card--browse>header { align-items:flex-start !important; border-bottom:0 !important; padding-bottom:14px !important; }
.premium-company-card--browse>header .status-pill { max-width:122px; text-align:right; }
.premium-card-facts { background:#f5f7f4; border-radius:10px; display:grid; gap:10px; grid-template-columns:1fr 1fr; margin:4px 0 16px; padding:12px; }
.premium-card-facts span { min-width:0; }
.premium-card-facts small { color:var(--v2-muted); display:block; font-size:.66rem; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.premium-card-facts strong { display:block; font-size:.78rem; line-height:1.35; margin-top:4px; }
.premium-company-card--browse footer { align-items:flex-end !important; border-top:1px solid var(--v2-line); gap:12px; justify-content:space-between; padding-top:14px; }
.premium-company-card--browse footer>span { line-height:1.4; max-width:170px; }
.premium-card-unavailable { color:var(--v2-muted); font-style:italic; }
.premium-pagination--after-results { margin-top:24px !important; }

.etf-catalog-intro--search-first { align-items:start !important; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr) !important; }
.etf-catalog-intro--search-first label { background:#f2f6f3; border-radius:14px; color:var(--v2-ink) !important; font-size:.82rem !important; padding:18px; }
.etf-catalog-intro--search-first input { background:#fff; font-size:1rem; min-height:54px; }
.etf-catalog-grid { gap:16px !important; }
.etf-catalog-card { border-color:rgba(16,40,32,.1) !important; border-radius:16px !important; box-shadow:none !important; }
.etf-catalog-card:hover { border-color:rgba(15,91,75,.34) !important; }
.etf-snapshot-section { border-top:1px solid var(--v2-line); margin-top:52px; padding-top:44px; }

#company.app-view.active-view.is-loaded { max-width:1240px !important; padding-top:28px !important; }
#company .report-cover { border:0 !important; border-radius:0 !important; margin-bottom:4px !important; }
#company .report-cover-brand { margin-bottom:18px; }
#company .report-cover-meta--inline { border-top:1px solid var(--v2-line); border-bottom:1px solid var(--v2-line); padding:18px 0; }
.report-methodology-control { border:0 !important; border-radius:0 !important; border-top:1px solid var(--v2-line) !important; border-bottom:1px solid var(--v2-line) !important; display:block !important; margin-top:26px !important; padding:22px 0 !important; background:transparent !important; }
.report-methodology-control>div:first-child { max-width:760px; }
.report-methodology-select-compat { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.report-methodology-choices { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px !important; margin-top:18px; }
.report-methodology-choice { align-items:flex-start; border-radius:12px !important; display:flex; flex-direction:column; gap:5px; justify-content:center; min-height:72px !important; padding:12px !important; text-align:left; }
.report-methodology-choice strong { font-size:.86rem; }
.report-methodology-choice small { color:var(--v2-muted); font-size:.68rem; line-height:1.3; }
.report-methodology-choice.active small { color:rgba(255,255,255,.78); }
.report-use-guide { border:0 !important; border-bottom:1px solid var(--v2-line) !important; border-radius:0 !important; padding:14px 0 !important; }
#company .report-cover-actions { margin-top:18px; }
#company .executive-summary { border:0 !important; border-radius:0 !important; box-shadow:none !important; padding-left:0 !important; padding-right:0 !important; }
#company .report-assessment-grid>article { border-color:rgba(16,40,32,.1) !important; box-shadow:none !important; }

.methodology-page { max-width:1120px !important; }
.methodology-page>.section-heading { max-width:780px; }
.methodology-readiness-dashboard article { border-left:1px solid var(--v2-line) !important; border-top:0 !important; padding:18px !important; }
.methodology-readiness-dashboard article:first-child { border-left:0 !important; }
.methodology-studio-grid .education-card { box-shadow:none !important; }

.v2-portfolio-builder { border-color:rgba(16,40,32,.1); box-shadow:0 14px 38px rgba(18,45,37,.055); }

@media (max-width:1024px) {
  .premium-company-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .report-methodology-choices { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:768px) {
  .v2-app .page-container,.v2-app .hero-concept,.v2-app .trust-row,.v2-app .home-panels,.v2-app .v2-section,.v2-app .coverage-roadmap--compact { width:min(100% - 36px,1240px); }
  .v2-app .hero-concept { padding-top:28px; }
  .research-hero--focused { padding:42px 18px 28px; }
  .v2-app .research-grid { padding-left:18px; padding-right:18px; }
  .premium-toolbar--discover,.etf-catalog-intro--search-first { grid-template-columns:1fr !important; }
  .premium-company-card-grid { grid-template-columns:1fr !important; }
  .premium-summary-grid--discover { grid-template-columns:1fr !important; }
  .premium-summary-grid--discover article,.premium-summary-grid--discover article:first-child { border-left:0 !important; border-top:1px solid var(--v2-line) !important; padding:12px 0 !important; }
  .report-methodology-choices { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .premium-active-filter-bar { align-items:flex-start; flex-direction:column; }
  .premium-quick-views { flex-wrap:nowrap !important; margin-left:-2px; overflow-x:auto; padding:0 2px 8px; scrollbar-width:thin; }
  .premium-quick-views>span { display:none; }
  .premium-quick-views button { flex:0 0 auto; white-space:nowrap; }
  #company .report-cover-title { font-size:clamp(2.25rem,11vw,3.2rem) !important; line-height:1 !important; }
  .v2-testing-banner>div { align-items:center; min-height:54px; padding-top:7px; padding-bottom:7px; }
  .v2-testing-banner p { font-size:.75rem; line-height:1.35; }
  .v2-testing-banner button { flex:0 0 auto; font-size:.72rem; }
}
/* Founder completion: card-first company methodology overview. */
.primary-methodology-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}
.primary-methodology-card {
  display: grid;
  gap: .8rem;
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid var(--v2-border, #d9e2de);
  border-radius: 16px;
  background: #fff;
}
.primary-methodology-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
  margin: 0;
}
.primary-methodology-card dl div { display: grid; gap: .2rem; }
.primary-methodology-card dt,
.methodology-variant-note { color: var(--muted, #5d6d66); font-size: .78rem; }
.primary-methodology-card dd { margin: 0; font-weight: 650; }
.methodology-card-first,
.overview-business { margin-block: 1.5rem; }
@media (max-width: 640px) {
  .primary-methodology-grid { grid-template-columns: 1fr; }
  .primary-methodology-card { padding: .95rem; }
}
