
:root{
  --navy:#031427;
  --navy2:#071d36;
  --navy3:#0d2847;
  --paper:#fbfcfe;
  --white:#fff;
  --ink:#122037;
  --muted:#657287;
  --muted2:#8896a8;
  --line:#dbe2ea;
  --line-dark:rgba(255,255,255,.13);
  --silver:#d9e1ea;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --shadow:0 24px 70px rgba(3,20,39,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{width:min(1180px,92vw);margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(3,20,39,.97);
  border-bottom:1px solid var(--line-dark);
  backdrop-filter:blur(14px);
}
.nav-shell{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center}
.brand img{width:292px;height:56px;object-fit:contain;object-position:left center}
.nav-links{display:flex;align-items:center;gap:30px;color:#e8edf4;font-family:var(--serif);font-size:14px;letter-spacing:.015em}
.nav-links a{opacity:.84;transition:.2s ease}
.nav-links a:hover{opacity:1}
.portal-nav{border:1px solid rgba(255,255,255,.48);padding:11px 14px;opacity:1!important}
.menu-button{display:none;background:none;border:0;color:#fff;font:13px var(--sans);letter-spacing:.12em;text-transform:uppercase}

/* HOME */
.home-hero{
  min-height:760px;
  color:#fff;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 35%, rgba(34,76,116,.42), transparent 36%),
    linear-gradient(180deg,#04172c 0%,#031427 78%);
}
.home-hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(177,195,215,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(177,195,215,.025) 1px,transparent 1px);
  background-size:160px 160px;
  background-position:center center;
  mask-image:radial-gradient(ellipse at center,#000 0%,transparent 72%);
  pointer-events:none;
}
.hero-center{position:relative;text-align:center;padding:88px 0 82px}
.hero-logo{width:min(790px,78vw);margin:0 auto;filter:drop-shadow(0 10px 28px rgba(0,0,0,.12))}
.hero-rule{width:92px;height:1px;background:#9fb0c1;margin:42px auto 22px}
.hero-tag{font-family:var(--serif);font-size:13px;letter-spacing:.23em;text-transform:uppercase;color:#c6d0dc}
.home-statement{background:#fff;padding:92px 0}
.statement-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}
.kicker{font-size:10px;font-weight:700;letter-spacing:.21em;text-transform:uppercase;color:#73869b}
.display{font:400 clamp(38px,5vw,63px)/1.08 var(--serif);letter-spacing:-.03em;color:var(--navy);margin:13px 0 0}
.statement-copy{font:18px/1.8 var(--serif);color:#3e5065;padding-top:15px}
.statement-copy p{margin:0 0 18px}
.inline-link{display:inline-flex;align-items:center;gap:8px;font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-top:10px}
.inline-link:after{content:"→";font-size:15px}

/* COMMON HERO */
.page-hero{background:var(--navy);color:#fff;padding:90px 0 76px;border-bottom:1px solid var(--line-dark)}
.page-hero h1{font:400 clamp(46px,6vw,74px)/1.05 var(--serif);letter-spacing:-.035em;margin:12px 0 14px}
.page-hero p{font:20px/1.55 var(--serif);color:#bdc9d6;max-width:760px;margin:0}
.section{padding:88px 0}
.section.white{background:#fff}
.section.soft{background:#f3f6f9}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.section-head h2{font:400 34px/1.1 var(--serif);color:var(--navy);margin:0}
.section-head p{font-size:13px;color:#758398;max-width:420px;margin:0;line-height:1.6}

/* ABOUT */
.firm-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:96px;align-items:start}
.firm-copy{font:18px/1.85 var(--serif);color:#34475e}
.firm-copy p:first-child{font-size:23px;line-height:1.65;color:#1b3049;margin-top:0}
.firm-copy p{margin:0 0 21px}
.profile-block{border-left:1px solid #bbc6d2;padding-left:34px}
.profile-label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#8391a3;margin-bottom:28px}
.profile-item{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line)}
.profile-item:last-child{border-bottom:0}
.profile-item small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8491a2;margin-bottom:7px}
.profile-item strong{font:400 23px var(--serif);color:var(--navy)}
.philosophy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.philosophy-card{background:#fff;border:1px solid var(--line);padding:32px;min-height:240px;box-shadow:0 12px 40px rgba(3,20,39,.035)}
.philosophy-card .num{font:12px var(--serif);letter-spacing:.16em;color:#7f8da0}
.philosophy-card h3{font:400 26px var(--serif);color:var(--navy);margin:30px 0 10px}
.philosophy-card p{font-size:14px;line-height:1.7;color:#617084;margin:0}

/* RESEARCH */
.research-hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.weekly-badge{border:1px solid rgba(255,255,255,.25);padding:18px 20px;min-width:225px}
.weekly-badge small{display:block;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#91a6bc;margin-bottom:7px}
.weekly-badge strong{font:400 20px var(--serif)}
.featured{display:grid;grid-template-columns:.72fr 1.28fr;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.featured-cover{background:#e6ebf1;max-height:610px;overflow:hidden}
.featured-cover img{width:100%;height:100%;object-fit:cover;object-position:top}
.featured-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}
.issue{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7e8ca0;font-weight:700}
.featured-copy h2{font:400 43px/1.08 var(--serif);color:var(--navy);margin:13px 0 14px}
.featured-copy .dek{font:19px/1.55 var(--serif);color:#516177;margin:0 0 26px}
.action-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 17px;border:1px solid var(--navy);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease}
.btn.primary{background:var(--navy);color:#fff}
.btn.secondary{background:#fff;color:var(--navy)}
.btn:hover{transform:translateY(-1px)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article-card{background:#fff;border:1px solid var(--line);min-height:100%;display:flex;flex-direction:column;box-shadow:0 14px 44px rgba(3,20,39,.04)}
.card-cover{height:280px;overflow:hidden;background:#e9eef3;border-bottom:1px solid var(--line)}
.card-cover img{width:100%;height:100%;object-fit:cover;object-position:top}
.card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.card-body h3{font:400 24px/1.17 var(--serif);color:var(--navy);margin:9px 0 9px}
.card-body p{font-size:13px;line-height:1.65;color:#68778a;margin:0 0 20px}
.card-links{display:flex;gap:18px;margin-top:auto}
.card-links a{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#233c58}

/* ARTICLE */
.article-shell{width:min(900px,92vw);margin:0 auto}
.article-header{padding:76px 0 48px}
.article-header .ticker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#718197;font-weight:700}
.article-header h1{font:400 clamp(42px,6vw,66px)/1.06 var(--serif);letter-spacing:-.035em;color:var(--navy);margin:13px 0}
.article-header .subtitle{font:21px/1.55 var(--serif);color:#596a80;max-width:760px}
.article-meta{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-top:28px;color:#7b899b;font-size:11px}
.article-content{padding:10px 0 90px}
.article-content h2{font:400 28px var(--serif);color:var(--navy);margin:44px 0 12px}
.article-content p{font:17px/1.85 var(--serif);color:#34465c;margin:0 0 19px}
.article-content ul{font:16px/1.8 var(--serif);color:#34465c;padding-left:21px}
.article-pull{margin:42px 0;border-left:2px solid var(--navy);padding:8px 0 8px 24px;font:italic 23px/1.55 var(--serif);color:#2a425e}
.report-preview{margin:44px 0 20px;border:1px solid var(--line);box-shadow:var(--shadow)}
.report-preview img{width:100%;height:auto}
.article-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f2f5f8;padding:24px;margin-top:34px}

/* PORTAL */
.portal-main{min-height:760px;background:
 radial-gradient(circle at 20% 10%,rgba(38,80,123,.32),transparent 35%),
 linear-gradient(135deg,#031427,#071d36);
 color:#fff;display:grid;place-items:center;padding:72px 20px}
.login-panel{width:min(760px,100%);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.035);padding:58px;box-shadow:0 34px 100px rgba(0,0,0,.18)}
.login-logo{width:310px;margin-bottom:44px}
.login-panel h1{font:400 45px var(--serif);margin:0 0 10px}
.login-panel>p{font:16px/1.7 var(--serif);color:#b8c6d7;max-width:580px}
.login-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;margin-top:32px;padding-top:30px;border-top:1px solid rgba(255,255,255,.13)}
.login-copy small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#89a0b8}
.login-copy strong{display:block;font:400 20px var(--serif);margin-top:6px}
.login-button{background:#fff;color:var(--navy);padding:14px 19px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:0;cursor:pointer}
.secure-note{font-size:10px;color:#8297ad;margin-top:18px;line-height:1.55}

/* INVESTOR PLACEHOLDER */
.private-banner{background:var(--navy);color:#fff;padding:62px 0}
.private-banner h1{font:400 44px var(--serif);margin:8px 0}
.private-banner p{color:#aebdcd}
.investor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.investor-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:210px}
.investor-card small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#7d8c9f}
.investor-card h3{font:400 24px var(--serif);color:var(--navy);margin:10px 0}
.investor-card p{font-size:13px;line-height:1.6;color:#657489}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-grid h2{font:400 38px var(--serif);color:var(--navy);margin-top:0}
.contact-grid p{font:17px/1.75 var(--serif);color:#56677c}
.contact-list{margin-top:34px;border-top:1px solid var(--line)}
.contact-item{padding:18px 0;border-bottom:1px solid var(--line)}
.contact-item small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#8995a5;margin-bottom:5px}
.contact-item span{font-family:var(--serif);font-size:18px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-form .full{grid-column:1/-1}
label{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#78879a;margin-bottom:7px;font-weight:700}
input,textarea{width:100%;border:1px solid #ccd5df;background:#fff;padding:14px 15px;font:14px var(--sans);color:var(--ink);outline:none}
input:focus,textarea:focus{border-color:#71859a}
textarea{min-height:155px;resize:vertical}

/* FOOTER */
.site-footer{background:#02101f;color:#aebccb;padding:50px 0 28px;border-top:1px solid var(--line-dark);position:relative;clear:both}
.footer-shell{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.footer-brand img{width:255px;max-height:58px;object-fit:contain;object-position:left}
.footer-brand p{font:12px var(--serif);letter-spacing:.06em;color:#8395a9;margin:12px 0 0}
.footer-links{display:flex;gap:24px;font:13px var(--serif);padding-top:11px}
.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.legal p{font-size:10px;line-height:1.65;color:#70839a;max-width:900px;margin:0}
.legal span{font-size:10px;color:#6f8298;white-space:nowrap}

/* RESPONSIVE */
@media(max-width:940px){
  .brand img{width:235px}
  .menu-button{display:block}
  .nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#031427;padding:22px 4vw 28px;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line-dark)}
  .nav-links.open{display:flex}
  .statement-grid,.firm-intro,.featured,.contact-grid{grid-template-columns:1fr;gap:40px}
  .profile-block{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .article-grid{grid-template-columns:repeat(2,1fr)}
  .featured-cover{max-height:520px}
  .featured-copy{padding:36px}
  .research-hero-grid{grid-template-columns:1fr}
  .weekly-badge{width:max-content}
  .investor-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .nav-shell{min-height:70px}
  .brand img{width:205px;height:50px}
  .nav-links{top:70px}
  .home-hero{min-height:620px}
  .hero-logo{width:92vw}
  .home-statement,.section{padding:64px 0}
  .page-hero{padding:66px 0 56px}
  .philosophy-grid,.article-grid{grid-template-columns:1fr}
  .login-panel{padding:38px 25px}
  .login-grid{grid-template-columns:1fr}
  .login-button{width:100%}
  .contact-form{grid-template-columns:1fr}
  .footer-shell,.legal{flex-direction:column;align-items:flex-start}
  .footer-links{flex-wrap:wrap}
}

/* Editorial refinement: existing brand, readable writing. */
.editorial-copy{max-width:800px}.editorial-copy h2{font:40px/1.15 var(--serif);margin:16px 0 30px}.editorial-copy p{font-size:17px;line-height:1.85;margin:0 0 24px}.editorial-copy .kicker{color:var(--muted)}
.founder-quote{margin:48px 0 0;padding:30px 0 0;border-top:1px solid var(--line);font:27px/1.55 var(--serif)}blockquote cite{display:block;font:13px/1.6 var(--sans);font-style:normal;margin-top:22px;color:var(--muted)}
.quote-pair{display:grid;grid-template-columns:1fr 1fr;gap:70px}.quote-pair blockquote{margin:0;font:23px/1.6 var(--serif)}.quote-pair cite span{display:block;font-size:11px}
.contact-email{display:inline-block;font:30px var(--serif);border-bottom:1px solid var(--line);padding-bottom:12px;margin:5px 0 35px;overflow-wrap:anywhere}
.editorial-topline{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:28px}.editorial-topline a{font:14px var(--sans)}
.editorial-list{max-width:920px}.editorial-row{padding:32px 0;border-bottom:1px solid var(--line)}.editorial-row h2{font:30px/1.25 var(--serif);margin:12px 0}.editorial-row p{font-size:16px;line-height:1.7;color:var(--muted);max-width:750px}.editorial-meta{font:12px/1.7 var(--sans);color:var(--muted);letter-spacing:.03em}.editorial-row .btn{margin:10px 12px 0 0}.research-note{border-top:1px solid var(--line);margin-top:45px;padding-top:28px;font-size:14px;line-height:1.8;color:var(--muted)}
.article-content{font-size:17px;line-height:1.85}.article-content p{font-size:17px;line-height:1.85}.article-header h1{max-width:900px}.article-content h2{margin-top:36px}.draft-banner{padding:15px;background:#fff1d8;color:#533c12}.article-back{display:inline-block;margin-top:30px;border-bottom:1px solid var(--line)}
@media(max-width:900px){.nav-links{gap:17px;font-size:13px}.brand img{width:240px}.quote-pair{gap:35px}}
@media(max-width:700px){.editorial-copy h2{font-size:32px}.quote-pair{grid-template-columns:1fr;gap:45px}.founder-quote{font-size:23px}.contact-email{font-size:25px}.editorial-row h2{font-size:26px}}

/* October editorial layout: measured type and source-faithful web tables. */
.quote-carousel{max-width:850px}.quote-slide{margin:28px 0;font:30px/1.5 var(--serif);min-height:190px}.quote-slide[hidden]{display:none}.quote-controls{display:flex;align-items:center;gap:20px;margin-top:25px}.quote-controls[hidden]{display:none}.quote-controls button{background:transparent;border:1px solid var(--line);padding:10px 16px;color:var(--navy);cursor:pointer}.quote-controls span{font-size:12px;color:var(--muted)}
.article-shell{max-width:1100px}.article-header{max-width:900px;margin:0 auto 40px}.article-header .subtitle{max-width:760px;font:21px/1.6 var(--serif)}.article-visual{margin:0 0 48px}.article-visual img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}.article-visual figcaption{font:11px/1.6 var(--sans);color:var(--muted);margin-top:12px}.article-layout{display:grid;grid-template-columns:190px minmax(0,700px);gap:65px;justify-content:center}.article-content{max-width:700px}.article-content>p:first-child{font-size:21px;line-height:1.7;color:var(--navy)}.article-content h2{scroll-margin-top:110px;font-size:31px;border-top:1px solid var(--line);padding-top:28px;margin-top:45px}.article-outline{font:12px/1.6 var(--sans);padding-top:8px}.article-outline strong{display:block;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}.article-outline a{display:block;color:var(--muted);margin-bottom:14px}.article-outline .reading-time{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.article-content blockquote{margin:35px 0;padding:20px 25px;border-left:2px solid var(--navy);background:var(--soft);font:italic 25px/1.5 var(--serif)}.thesis-snapshot{padding:26px;background:#f2f5f8;margin:30px 0}.thesis-snapshot h2{margin:0;padding:0;border:0;font-size:24px}.thesis-snapshot ul{margin-bottom:0}.source-table{margin:35px 0;overflow-x:auto}.source-table table{width:100%;border-collapse:collapse;font:14px/1.6 var(--sans);min-width:480px}.source-table th{background:var(--navy);color:white;text-align:left;padding:12px}.source-table td{border-bottom:1px solid var(--line);padding:12px}.source-table caption{text-align:left;font:24px var(--serif);margin-bottom:15px}.source-table figcaption{font:12px/1.6 var(--sans);color:var(--muted);margin-top:12px}.article-cta{flex-wrap:wrap}.article-related{padding-top:25px;margin-top:35px;border-top:1px solid var(--line)}.research-label{display:inline-block;font:11px var(--sans);letter-spacing:.08em;padding:6px 9px;background:#f0f3f6;color:var(--navy);margin-bottom:10px}
@media(max-width:800px){.article-layout{display:block}.article-outline{border-bottom:1px solid var(--line);margin-bottom:30px;padding-bottom:15px}.article-outline a{display:inline-block;margin:0 20px 10px 0}.article-outline .reading-time{border:0;padding:0;margin-top:10px}.quote-slide{font-size:25px;min-height:230px}.article-visual{margin-bottom:30px}}
.article-shell{width:min(1100px,92vw)}.article-header{padding:60px 0 32px;margin-bottom:0}.article-related .inline-link{letter-spacing:.06em}.source-table tbody th{background:#eef2f6;color:var(--navy);border-bottom:1px solid var(--line)}
@media(max-width:620px){.article-header{padding:40px 0 25px}.article-header h1{font-size:38px}.article-header .subtitle{font-size:19px}.source-table{margin-left:0;margin-right:0}.thesis-snapshot{padding:22px}.article-content h2{font-size:28px}}

/* Approved imagery release: retain existing brand, content and navigation behavior. */
.media-home{min-height:560px;height:calc(100svh - 92px);max-height:1000px;background:#031427 url('/assets/media/dallas-20261005.jpg') center 55%/cover}
.media-home:before{display:none}.ambient-video,.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.media-shade{position:absolute;inset:0;background:linear-gradient(180deg,#03142742,#03142770 55%,#031427cc);pointer-events:none}.media-home .hero-center{z-index:1}.media-home .hero-logo{width:min(730px,78vw);filter:drop-shadow(0 4px 20px #0005)}.motion-toggle{position:absolute;bottom:22px;right:25px;z-index:2;border:1px solid #adbac9;background:#031427a8;color:#fff;font:11px var(--sans);padding:10px 13px;cursor:pointer}.media-banner{position:relative;overflow:hidden;min-height:340px;padding:0;display:flex;align-items:flex-end;background:#031427 url('/assets/media/mountains-20261005.jpg') center/cover}.media-banner .media-shade{background:linear-gradient(90deg,#031427a8,#03142735),linear-gradient(0deg,#031427b8,transparent)}.media-title{position:relative;z-index:1;padding-top:65px;padding-bottom:45px}.media-title h1{font-size:clamp(36px,4.5vw,58px);max-width:1000px}.media-title .kicker{color:#d1dce7}.contact-banner{min-height:390px}.contact-banner .banner-image{object-position:center 45%}.contact-grid,.performance-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:75px}.contact-grid p,.performance-grid p{font:18px/1.8 var(--serif);color:#526376}.contact-detail{padding:28px 0;border-top:1px solid #dce3e9}.contact-detail .kicker{margin-bottom:20px}.contact-detail h3{font:400 26px var(--serif);margin:0 0 15px}.contact-grid .contact-email{font:400 clamp(24px,3vw,36px) var(--serif);letter-spacing:0}.compound-table{width:100%;border-collapse:collapse;font:14px var(--sans)}.compound-table caption{text-align:left;font:20px var(--serif);padding-bottom:20px}.compound-table td,.compound-table th{padding:17px 10px;text-align:right;border-bottom:1px solid #dce3e9}.compound-table th:first-child{text-align:left}.table-scroll{overflow-x:auto}.performance-grid .research-note{font:12px/1.8 var(--sans)}.company-mark{display:inline-grid;place-items:center;background:#031427;width:80px;height:80px;padding:12px;margin-bottom:18px}.company-mark img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:760px){.contact-grid,.performance-grid{grid-template-columns:1fr;gap:30px}.media-home{height:70svh;min-height:470px}.media-home .hero-logo{width:88vw}.media-banner{min-height:300px}.media-title{padding-bottom:55px}.media-banner .motion-toggle{bottom:12px;right:20px}.contact-banner{min-height:320px}.compound-table{font-size:12px}.compound-table td,.compound-table th{padding:14px 5px}.company-mark{width:65px;height:65px}}
