:root {
  --navy: #0d1928;
  --navy-2: #14263a;
  --ink: #101a27;
  --ivory: #f4f0e7;
  --paper: #fffdf8;
  --copper: #c66f3f;
  --copper-bright: #e29262;
  --muted: #adb8c5;
  --line: rgba(255,255,255,.16);
  --dark-line: rgba(16,26,39,.14);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--navy); color: var(--ivory); font: 17px/1.65 Arial, Helvetica, sans-serif; }
body.light-page { background: var(--paper); color: var(--ink); }
a { color: inherit; text-underline-offset: 5px; }
a:focus-visible { outline: 3px solid var(--copper-bright); outline-offset: 5px; }
img { max-width: 100%; height: auto; }
.skip { position: fixed; left: 16px; top: -80px; z-index: 50; padding: 10px 16px; background: var(--ivory); color: var(--navy); }
.skip:focus { top: 12px; }
.shell { width: min(var(--max), 88vw); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(13,25,40,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 13px; font-size: 14px; font-weight: 900; letter-spacing: .14em; text-decoration: none; white-space: nowrap; }
.brand img { width: 34px; height: 34px; object-fit: contain; }
.nav-links { display: flex; align-items: center; gap: clamp(14px,2.2vw,30px); font-size: 14px; }
.nav-links a { color: #dce2e8; text-decoration: none; }
.nav-links a:hover { color: var(--copper-bright); }
.nav-cta { padding: 9px 14px; border: 1px solid var(--copper); }
.eyebrow { margin: 0 0 18px; color: var(--copper-bright); font: 800 13px/1.2 Arial,sans-serif; letter-spacing: .17em; text-transform: uppercase; }
h1,h2,h3 { margin-top: 0; line-height: 1.02; letter-spacing: -.035em; }
h1 { font-size: clamp(3.5rem, 8vw, 7.7rem); max-width: 1050px; margin-bottom: 30px; }
h2 { font-size: clamp(2.25rem, 5vw, 4.6rem); max-width: 880px; }
h3 { font-size: 1.45rem; line-height: 1.15; letter-spacing: -.02em; }
p { margin: 0 0 20px; }
.lead { color: #d1d9e0; font-size: clamp(1.15rem,2vw,1.45rem); max-width: 760px; }
.light-page .lead { color: #465465; }
.hero { position: relative; min-height: 82vh; display: flex; align-items: center; padding: 100px 0 88px; overflow: hidden; }
.hero:before { content:""; position:absolute; width:720px; height:720px; right:-280px; top:-170px; border:1px solid rgba(198,111,63,.42); border-radius:50%; box-shadow: 0 0 0 70px rgba(198,111,63,.035), 0 0 0 150px rgba(198,111,63,.025); }
.trajectory { position:absolute; width:620px; height:2px; right:-80px; top:43%; background:linear-gradient(90deg,transparent,var(--copper)); transform:rotate(-24deg); transform-origin:right; box-shadow:0 0 22px rgba(226,146,98,.45); }
.trajectory:after { content:""; position:absolute; right:0; top:-5px; width:12px; height:12px; border-radius:50%; background:var(--copper-bright); }
.hero-copy { position:relative; z-index:2; }
.hero h1 span { color: var(--copper-bright); }
.actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 20px; border:1px solid rgba(255,255,255,.45); text-decoration:none; font-weight:800; font-size:15px; }
.button.primary { background:var(--copper); border-color:var(--copper); color:var(--navy); }
.button:hover { background:var(--ivory); border-color:var(--ivory); color:var(--navy); }
.button.dark { border-color:var(--navy); color:var(--navy); }
.button.dark:hover { background:var(--navy); color:var(--ivory); }
.proof-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof { min-height:140px; padding:28px 24px; border-right:1px solid var(--line); }
.proof:first-child { border-left:1px solid var(--line); }
.proof strong { display:block; color:var(--copper-bright); font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:8px; }
.proof span { color:#d6dde4; font-weight:700; }
.section { padding:100px 0; }
.section.light { background:var(--ivory); color:var(--ink); }
.section.paper { background:var(--paper); color:var(--ink); }
.section.copper { background:var(--copper); color:var(--navy); }
.section-head { display:grid; grid-template-columns:.7fr 1.3fr; gap:60px; align-items:start; margin-bottom:50px; }
.section-head .intro { max-width:700px; color:#4b5968; font-size:1.12rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.card { position:relative; padding:30px; border:1px solid var(--dark-line); background:rgba(255,255,255,.4); }
.dark-card { border-color:var(--line); background:rgba(255,255,255,.025); }
.card .number { color:var(--copper); font:800 13px/1 monospace; letter-spacing:.1em; margin-bottom:44px; }
.dark-card .number { color:var(--copper-bright); }
.card p { color:#556273; }
.dark-card p { color:#c2cbd4; }
.card-link { display:inline-block; margin-top:10px; font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; }
.card-link:hover { color:var(--copper); }
.statement { padding:110px 0; text-align:center; }
.statement blockquote { margin:0 auto; max-width:980px; font-size:clamp(2.1rem,5vw,4.8rem); line-height:1.05; font-weight:900; letter-spacing:-.04em; }
.statement p { margin-top:25px; font-size:14px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.process { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.step { min-height:260px; padding:28px 24px; border-right:1px solid var(--line); }
.step:first-child { border-left:1px solid var(--line); }
.step:before { counter-increment:step; content:"0" counter(step); display:block; color:var(--copper-bright); font:800 14px/1 monospace; margin-bottom:55px; }
.step p { color:#c3ccd4; font-size:15px; }
.media-list { border-top:1px solid var(--dark-line); }
.media-row { display:grid; grid-template-columns:170px 1fr auto; gap:28px; align-items:center; padding:28px 0; border-bottom:1px solid var(--dark-line); text-decoration:none; }
.media-row .type { color:#7d512f; font:800 12px/1.2 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.media-row h3 { margin:0 0 6px; }
.media-row p { margin:0; color:#596675; font-size:15px; }
.media-row .arrow { font-size:28px; color:var(--copper); }
.media-row:hover h3 { color:#9a4f29; }
.cta { padding:90px 0; border-top:1px solid var(--line); }
.cta-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:end; }
.cta h2 { margin-bottom:0; }
.cta .phone { display:block; font-size:clamp(1.7rem,3vw,2.7rem); font-weight:900; text-decoration:none; margin-bottom:12px; }
.cta .phone:hover { color:var(--copper-bright); }
.page-hero { padding:115px 0 85px; border-bottom:1px solid var(--line); }
.page-hero h1 { font-size:clamp(3.1rem,7vw,6.7rem); }
.page-hero .kicker-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:end; }
.page-hero .side-note { border-left:2px solid var(--copper); padding-left:24px; color:#c4cdd5; }
.article { max-width:820px; margin:0 auto; }
.article h2 { font-size:clamp(2rem,4vw,3.4rem); margin-top:70px; }
.article h3 { font-size:1.7rem; margin-top:45px; }
.article p,.article li { color:#344354; }
.article ul,.article ol { padding-left:24px; }
.article li { margin-bottom:12px; }
.article .callout { margin:45px 0; padding:28px; border-left:4px solid var(--copper); background:#eee8dc; font-size:1.15rem; font-weight:700; }
.article-meta { color:#6c7885; font-size:14px; margin-bottom:45px; }
.breadcrumbs { font-size:13px; text-transform:uppercase; letter-spacing:.11em; color:var(--muted); margin-bottom:28px; }
.breadcrumbs a { text-decoration:none; }
.checklist { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:36px 0; }
.check { padding:20px; border:1px solid var(--dark-line); background:#fff; }
.check strong { display:block; margin-bottom:7px; }
.bio-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }
.mark-panel { min-height:520px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:radial-gradient(circle at 60% 30%,rgba(198,111,63,.18),transparent 48%); }
.mark-panel img { width:min(70%,340px); }
.bio-copy p { color:#cbd3da; }
.pull { font-size:1.55rem; color:var(--ivory)!important; font-weight:800; border-left:3px solid var(--copper); padding-left:24px; margin:35px 0; }
.site-footer { border-top:1px solid var(--line); padding:45px 0 35px; }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; }
.footer-brand { font-weight:900; letter-spacing:.12em; }
.footer-small { color:#98a6b3; font-size:13px; max-width:760px; margin-top:12px; }
.footer-nav { display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end; font-size:13px; }
.footer-nav a { text-decoration:none; }
@media (max-width:900px) {
  .nav-links a:not(.nav-cta) { display:none; }
  .hero { min-height:auto; }
  .proof-grid,.process { grid-template-columns:repeat(2,1fr); }
  .proof:nth-child(3),.step:nth-child(3) { border-left:1px solid var(--line); }
  .section-head,.page-hero .kicker-grid,.cta-grid,.bio-grid { grid-template-columns:1fr; gap:30px; }
  .grid-3 { grid-template-columns:1fr 1fr; }
  .mark-panel { min-height:380px; }
}
@media (max-width:620px) {
  body { font-size:16px; }
  .shell { width:min(90vw,var(--max)); }
  .site-header { position:relative; }
  .nav-wrap { min-height:70px; }
  .brand { font-size:12px; letter-spacing:.1em; }
  .brand img { width:30px; height:30px; }
  .nav-cta { font-size:12px; padding:8px 10px; }
  .hero,.page-hero { padding:70px 0; }
  h1 { font-size:clamp(3rem,16vw,5rem); }
  .hero:before { width:430px; height:430px; right:-280px; }
  .proof-grid,.grid-3,.grid-2,.process,.checklist { grid-template-columns:1fr; }
  .proof,.proof:first-child,.proof:nth-child(3),.step,.step:first-child,.step:nth-child(3) { border-left:1px solid var(--line); }
  .section { padding:70px 0; }
  .media-row { grid-template-columns:1fr auto; gap:10px; }
  .media-row .type { grid-column:1/-1; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-nav { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
