:root { --gold:#dfb659; --gold-soft:#f1d58f; --paper:#f5f7f8; --cream:#edf1f3; --radius:12px; }
body { font-weight:400; }
html { scroll-padding-top:24px; }
a:focus-visible,button:focus-visible { outline:3px solid #c59530; outline-offset:6px; }
.skip-link { position:fixed; left:20px; top:-100px; z-index:200; padding:16px; background:white; color:#071d31; }
.skip-link:focus { top:12px; }
.wrap { width:min(1240px,calc(100% - 80px)); }
.hero { min-height:auto; padding:28px 0 72px; background:#071d31; }
.hero::after { display:none; }
.nav { position:relative; gap:28px; }
.logo { width:136px; }
.navlinks { gap:24px; font-size:.875rem; }
.navlinks a { padding:12px 0; }
.navlinks a:hover { color:var(--gold-soft); }
.navcall { font-size:.875rem; white-space:nowrap; border-radius:4px; }
.menu-toggle { display:none; }
.hero-grid { grid-template-columns:1.05fr 1fr; gap:64px; padding-top:64px; }
h1 { font-size:clamp(3.4rem,5.6vw,5.6rem); line-height:1.04; letter-spacing:-.055em; font-weight:650; }
h1 .serif { display:block; color:var(--gold-soft); }
h2 { font-size:clamp(2.5rem,4.2vw,4rem); line-height:1.09; font-weight:600; letter-spacing:-.045em; }
h3 { line-height:1.2; font-weight:600; }
p { font-weight:400; font-size:1.125rem; line-height:1.65; }
.eyebrow { font-size:.875rem; font-weight:650; letter-spacing:.12em; }
.section:not(.exchange) .eyebrow { color:#87671e; }
.hero-copy>p { max-width:540px; }
.hero-card { min-height:590px; border-radius:8px; box-shadow:none; }
.hero-card-copy h3 { font-family:Georgia,serif; font-weight:400; }
.float-map,.chip { display:none; }
.button { min-height:54px; padding:14px 22px; border-radius:4px; font-weight:650; box-shadow:none; font-size:1rem; line-height:1.4; }
.button:hover { transform:translateY(-2px); box-shadow:none; background:var(--gold-soft); }
.button.ghost:hover { background:rgba(255,255,255,.08); }
.hero-actions { margin:28px 0 36px; }
.metric strong { font-size:2.25rem; }
.metric span { font-size:.75rem; line-height:1.5; font-weight:500; letter-spacing:.08em; }
.section,.record { padding:96px 0; }
.section-head { max-width:860px; margin-bottom:42px; }
.paths { gap:0; border:1px solid #d5dce1; border-radius:8px; overflow:hidden; background:white; }
.path { min-height:410px; border:0; border-right:1px solid #d5dce1; border-radius:0; padding:32px 32px 76px; }
.path:last-child { border-right:0; }
.path:hover { transform:none; background:#edf1f3; box-shadow:none; }
.path .num { font-size:2.8rem; color:#9b772d; }
.path .who { font-size:.75rem; line-height:1.6; font-weight:600; }
.path h3 { margin:26px 0 14px; }
.path p { font-size:1rem; font-weight:400; }
.path .arrow { left:32px; font-size:.875rem; }
.record { background:#0a253b; }
.big-stat { border-radius:4px; background:transparent; }
.big-stat span { font-size:.75rem; line-height:1.5; font-weight:500; }
.housing-type { background:transparent; color:#f1d58f; border:1px solid #405261; border-radius:4px; font-weight:500; }
.project { min-height:410px; border-radius:6px; }
.project-copy p { font-size:1rem; font-weight:400; }
.process-grid { gap:0; border-top:1px solid #d5dce1; border-left:1px solid #d5dce1; }
.process-step { border-radius:0; background:white; color:var(--navy); border-right:1px solid #d5dce1; border-bottom:1px solid #d5dce1; padding:30px; }
.process-step:hover { transform:none; background:#f5f7f8; }
.process-step strong { color:#967127; }
.process-step p { color:#56636f; font-size:1rem; font-weight:400; }
.tag { padding:12px 16px; font-weight:500; }
.person { min-height:390px; border-radius:6px; box-shadow:none; }
.person-copy { padding:28px; }
.person-copy p { font-size:1rem; font-weight:400; }
.person-copy small { line-height:1.6; }
.market-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.market-card { border-radius:4px; box-shadow:none; }
.market-card:hover { transform:none; box-shadow:none; border-color:#ac8635; }
.market-card p { font-weight:400; }
.exchange { background:#071d31; }
.clock,.option-card { border-radius:6px; }
.clock span,.option-card p { font-weight:400; }
.affiliate-card { border-radius:8px; gap:40px; padding:36px; }
.affiliate-brand { border-radius:4px; }
.affiliate-brand h3 { margin-top:28px; }
.affiliate-copy h2 { font-size:clamp(2.3rem,3.2vw,3.2rem); }
.benefit-grid { grid-template-columns:1fr 1fr; margin-bottom:24px; }
.benefit { border-radius:4px; font-weight:500; }
.contact { padding:96px 0 48px; }
.contact-link { border-radius:4px; }
.contact-link small { font-size:.75rem; }
.footer { font-size:.75rem; font-weight:400; gap:64px; }
.footer>span:first-child { flex:0 0 220px; }
.reveal { opacity:1; transform:none; }
.will-reveal { opacity:0; transform:translateY(18px); }
.will-reveal.show { opacity:1; transform:none; }
@media(max-width:1100px) {
 .navlinks { gap:16px; } .navcall { display:none; } .hero-grid { gap:32px; }
 .person { grid-template-columns:40% 60%; } .person-copy { padding:24px; }
 .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:860px) {
 .wrap { width:calc(100% - 40px); } .hero-grid { grid-template-columns:1fr; padding-top:44px; }
 .hero-copy { max-width:660px; } h1 { font-size:clamp(3rem,8vw,4.6rem); }
 .hero-card { min-height:430px; } .hero { padding-bottom:40px; }
 .menu-toggle { display:flex; gap:20px; border:1px solid #70818f; padding:12px 16px; background:transparent; color:white; font:inherit; border-radius:4px; }
 .navlinks.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; position:absolute; right:0; top:calc(100% - 12px); min-width:240px; z-index:30; padding:20px; background:#0c2a45; border:1px solid #70818f; border-radius:4px; }
 .paths { grid-template-columns:1fr; } .path { min-height:0; border-right:0; border-bottom:1px solid #d5dce1; } .path:last-child { border-bottom:0; }
 .section,.record { padding:64px 0; } .person { min-height:360px; }
 .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mobile-cta { border-radius:5px; animation:none; font-size:.875rem; bottom:max(10px,env(safe-area-inset-bottom)); }
 .footer>span { display:block; margin-bottom:16px; } .contact { padding:64px 0 36px; }
}
@media(max-width:480px) {
 .hero-grid { gap:28px; } h1 { font-size:2.95rem; } h2 { font-size:2.4rem; } p { font-size:1rem; }
 .eyebrow { font-size:.75rem; line-height:1.6; } .eyebrow::before { flex:0 0 20px; }
 .hero-actions { grid-template-columns:1fr; } .button { font-size:.875rem; }
 .hero-card { min-height:330px; animation:none; } .hero-card-copy h3 { font-size:2rem; }
 .metrics { gap:12px; } .metric strong { font-size:1.8rem; } .metric span { font-size:.75rem; letter-spacing:0; }
 .paths,.featured,.process-grid,.team-grid,.market-grid { display:grid; grid-template-columns:1fr; margin-right:0; padding:0; overflow:visible; }
 .paths,.process-grid { gap:0; } .path { padding:24px 24px 64px; border-radius:0; box-shadow:none; }
 .path .arrow { left:24px; } .path p,.process-step p,.person-copy p,.market-card p { font-size:1rem; }
 .big-stats { grid-template-columns:1fr; gap:12px; } .big-stat { padding:24px; text-align:left; } .big-stat span { font-size:.75rem; }
 .housing-types { display:grid; grid-template-columns:1fr 1fr; margin:0 0 28px; overflow:visible; } .housing-type { font-size:.875rem; padding:12px; }
 .project { min-height:360px; } .project-copy h3 { font-size:1.75rem; }
 .process-step { padding:24px; min-height:0; } .tags { flex-wrap:wrap; margin-right:0!important; padding-right:0; }
 .person { display:grid; grid-template-columns:1fr; } .person img { height:330px; object-position:center 20%; } .person-copy { padding:24px; } .person-copy h3 { font-size:1.8rem; }
 .market-card { padding:24px; } .market-card small { font-size:.75rem; }
 .clock-grid { grid-template-columns:1fr 1fr; gap:12px; } .clock:last-child { grid-column:1 / -1; } .clock { padding:22px; } .clock span { font-size:.875rem; }
 .option-grid { grid-template-columns:1fr; } .option-card p { font-size:1rem; }
 .affiliate-card { width:calc(100% - 40px); margin:0 auto; padding:16px; } .affiliate-copy { padding:8px; }
 .contact-actions { grid-template-columns:1fr; } .contact-link { padding:22px; } .contact-link small { font-size:.75rem; } .contact-link strong { font-size:1rem; }
 .footer { font-size:.75rem; } .section-actions { display:flex; }
}
@media(prefers-reduced-motion:reduce) { .will-reveal { opacity:1; transform:none; } * { animation:none!important; scroll-behavior:auto!important; } }
