
:root { --ink:#0b1f33; --copper:#b56f42; --cream:#fbfaf7; --mist:#eef2f3; --slate:#556573; --line:#d9dedf; --white:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color:transparent; }
.announcement { min-height:42px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; gap:28px; padding:8px 5%; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.announcement a { color:#e3b18e; border-bottom:1px solid currentColor; }
.site-header { max-width:1420px; margin:auto; height:102px; padding:0 4%; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:14px; min-width:220px; }
.monogram { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--copper); color:var(--copper); font:600 15px/1 Georgia,serif; letter-spacing:.08em; }
.brand strong { display:block; font:600 23px/1.1 Georgia,serif; }
.brand small { display:block; margin-top:4px; color:var(--slate); font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:38px; font-size:13px; font-weight:700; }
nav a { padding:12px 0; border-bottom:1px solid transparent; }
nav a:hover { border-color:var(--copper); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:0 26px; background:var(--copper); border:1px solid var(--copper); color:white; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transition:.2s ease; }
.button:hover { background:#925735; border-color:#925735; transform:translateY(-1px); }
.button-small { min-height:44px; padding:0 22px; }
.hero { max-width:1420px; margin:auto; padding:72px 4% 80px; display:grid; grid-template-columns:minmax(0,1.24fr) minmax(390px,.76fr); gap:8%; align-items:stretch; }
.hero-copy { padding:38px 0 0; }
.eyebrow { margin:0 0 22px; color:var(--copper); font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:500; letter-spacing:-.035em; line-height:1.03; }
h1 { max-width:760px; font-size:clamp(54px,6vw,88px); }
h1 em { color:var(--copper); font-weight:400; }
.hero-lede { max-width:650px; margin:30px 0 32px; color:var(--slate); font-size:18px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:32px; }
.text-link { font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding:12px 0 8px; }
.credentials { margin-top:52px; padding-top:24px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.credentials strong,.credentials span { display:block; }
.credentials strong { font:600 18px/1.2 Georgia,serif; }
.credentials span { color:var(--slate); font-size:11px; margin-top:5px; }
.hero-panel { min-height:590px; position:relative; overflow:hidden; padding:46px; background:var(--ink); color:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.orbit { position:absolute; border:1px solid rgba(181,111,66,.35); border-radius:50%; pointer-events:none; }
.orbit-one { width:430px; height:430px; top:-175px; right:-130px; }
.orbit-two { width:300px; height:300px; top:-110px; right:-65px; }
.panel-label { position:relative; margin:0; color:#d8e0e3; font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.price-card { position:relative; width:82%; margin:22px auto; padding:30px; background:white; color:var(--ink); box-shadow:18px 18px 0 var(--copper); }
.price-kicker { display:block; color:var(--slate); font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
.price { margin:6px 0 0; font:500 102px/.9 Georgia,serif; letter-spacing:-.08em; }
.price sup { font-size:36px; vertical-align:top; position:relative; top:13px; margin-right:6px; }
.price-card p { margin:18px 0 0; padding-top:18px; border-top:1px solid var(--line); color:var(--slate); font-size:13px; }
.panel-details { position:relative; border-top:1px solid rgba(255,255,255,.15); padding-top:14px; }
.panel-details p { margin:8px 0; color:#d6dfe4; font-size:12px; }
.panel-details span { color:#e3a67d; margin-right:9px; }
.panel-link { position:relative; display:flex; justify-content:space-between; padding-top:16px; border-top:1px solid rgba(255,255,255,.15); color:#fff; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.fit-section { padding:100px max(4%, calc((100vw - 1306px)/2)); background:var(--ink); color:#fff; display:grid; grid-template-columns:.72fr 1.28fr; gap:8%; align-items:start; }
.fit-intro { position:sticky; top:30px; padding-top:26px; }
.fit-intro h2 { max-width:500px; }
.fit-intro>p:last-child { max-width:480px; color:#b8c4ca; font-size:15px; line-height:1.8; }
.fit-shell { min-height:590px; background:var(--cream); color:var(--ink); box-shadow:22px 22px 0 var(--copper); padding:34px 42px 28px; display:flex; flex-direction:column; }
.fit-topline { display:flex; justify-content:space-between; gap:20px; color:var(--slate); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.fit-progress { height:3px; margin:15px 0 52px; background:#dce2e3; overflow:hidden; }
.fit-progress span { display:block; height:100%; background:var(--copper); transition:width .32s ease; }
.fit-question { animation:fit-in .24s ease both; }
.fit-question h3,.fit-result h3 { max-width:680px; margin:0; font:500 clamp(35px,3.2vw,51px)/1.08 Georgia,serif; letter-spacing:-.025em; }
.fit-description,.fit-result>p:not(.eyebrow) { max-width:650px; margin:18px 0 28px; color:var(--slate); font-size:14px; line-height:1.75; }
.fit-options { display:grid; gap:10px; }
.fit-options button { width:100%; min-height:64px; padding:14px 20px; border:1px solid var(--line); background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; text-align:left; font:600 15px/1.35 Arial,sans-serif; transition:.18s ease; }
.fit-options button:hover,.fit-options button:focus-visible { border-color:var(--copper); box-shadow:inset 4px 0 0 var(--copper); outline:none; transform:translateX(2px); }
.fit-options b { color:var(--copper); font-size:18px; }
.fit-result { padding:12px 0; animation:fit-in .24s ease both; }
.fit-result-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:34px; }
.fit-reset,.fit-footer button { border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--ink); padding:5px 0; cursor:pointer; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.fit-result-crisis { border-left:4px solid var(--copper); padding-left:28px; }
.fit-footer { margin-top:auto; padding-top:26px; display:flex; justify-content:space-between; align-items:center; gap:18px; color:#7b8b92; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.fit-footer button { color:var(--slate); }
@keyframes fit-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.section { max-width:1420px; margin:auto; padding:112px 4%; }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:10%; align-items:end; margin-bottom:58px; }
h2 { font-size:clamp(42px,4.5vw,64px); }
.section-heading>p { margin:0 0 5px; color:var(--slate); font-size:16px; line-height:1.8; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:330px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.service-card>span { color:var(--copper); font:500 13px Georgia,serif; }
.service-card h3 { margin:48px 0 16px; font:500 27px/1.15 Georgia,serif; }
.service-card p { margin:0; color:var(--slate); font-size:14px; }
.service-card a { margin-top:auto; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.concerns { background:var(--mist); padding:90px max(4%, calc((100vw - 1306px)/2)); display:grid; grid-template-columns:.8fr 1.2fr; gap:9%; }
.concerns h2 { font-size:52px; }
.concern-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #ccd4d6; }
.concern-list span { display:flex; align-items:center; gap:18px; padding:22px 8px; border-bottom:1px solid #ccd4d6; font:500 20px Georgia,serif; }
.concern-list span:nth-child(odd) { border-right:1px solid #ccd4d6; }
.concern-list b { color:var(--copper); font:700 10px Arial,sans-serif; letter-spacing:.12em; }
.section-heading.compact { grid-template-columns:1fr .62fr; }
.steps { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.steps li { min-height:200px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:55px 1fr; gap:24px; }
.steps li>span { color:var(--copper); font:500 13px Georgia,serif; }
.steps h3 { margin:0 0 12px; font:500 24px Georgia,serif; }
.steps p { margin:0; color:var(--slate); font-size:14px; }
.legacy { background:var(--ink); color:#fff; display:grid; grid-template-columns:.7fr 1.3fr; padding:110px max(4%, calc((100vw - 1306px)/2)); gap:10%; }
.legacy-mark { width:300px; height:300px; border:1px solid rgba(255,255,255,.22); display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; }
.legacy-mark:before,.legacy-mark:after { content:""; position:absolute; border:1px solid rgba(181,111,66,.5); border-radius:50%; }
.legacy-mark:before { width:215px;height:215px; }.legacy-mark:after { width:150px;height:150px; }
.legacy-mark span,.legacy-mark small { position:relative; z-index:1; }
.legacy-mark span { font:500 72px/.9 Georgia,serif; }.legacy-mark small { margin-top:14px; color:#b7c2c7; text-align:center; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow.light { color:#dfa178; }
.legacy-copy>p:not(.eyebrow) { max-width:720px; color:#c4cdd1; font-size:16px; line-height:1.85; }
.legacy-facts { margin-top:38px; display:flex; gap:12px; flex-wrap:wrap; }
.legacy-facts span { border:1px solid rgba(255,255,255,.2); padding:10px 16px; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:10%; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); padding:24px 4px; }
summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font:500 21px Georgia,serif; }
summary::-webkit-details-marker { display:none; }
summary:after { content:"+"; color:var(--copper); font:400 24px Arial,sans-serif; }
details[open] summary:after { content:"−"; }
details p { max-width:680px; color:var(--slate); font-size:14px; }
.get-started { padding:94px max(4%, calc((100vw - 1306px)/2)); background:var(--copper); color:#fff; display:grid; grid-template-columns:1fr .8fr; gap:9%; align-items:center; }
.get-started h2 { max-width:720px; }.get-started>div>p:not(.eyebrow) { max-width:680px; color:#f7e8de; }
.contact-card { background:#fff; color:var(--ink); padding:34px; }
.contact-card p { margin:0 0 18px; color:var(--slate); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.contact-card a { display:flex; justify-content:space-between; gap:18px; font:500 clamp(19px,2vw,27px) Georgia,serif; padding-bottom:20px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.contact-card small { display:block; margin-top:18px; color:var(--slate); }
footer { background:#071522; color:#fff; padding:72px max(4%, calc((100vw - 1306px)/2)) 30px; }
.footer-main { display:grid; grid-template-columns:1fr .7fr .7fr; gap:8%; align-items:start; padding-bottom:54px; }
.brand-light strong { color:white; }.brand-light small, .footer-main p, address { color:#9dacb4; }
.footer-main p { margin:0; font:500 24px/1.35 Georgia,serif; } address { font-style:normal; font-size:12px; }
.footer-bottom { padding:22px 0; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; color:#7f919a; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.footer-bottom span:last-child { display:flex; gap:24px; }.crisis { margin:0; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); color:#91a1a9; font-size:11px; text-align:center; }
.legal-header { height:92px; }
.legal-page { max-width:1120px; margin:auto; padding:82px 4% 110px; }
.legal-title { max-width:850px; padding-bottom:52px; border-bottom:1px solid var(--line); }
.legal-title h1 { font-size:clamp(50px,7vw,82px); }
.legal-title>p:not(.eyebrow) { max-width:720px; margin:24px 0 18px; color:var(--slate); font-size:18px; }
.legal-title small { color:var(--slate); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.legal-content { max-width:850px; padding-top:22px; }
.legal-content section { padding:36px 0; border-bottom:1px solid var(--line); }
.legal-content h2 { margin:0 0 18px; font:500 29px/1.2 Georgia,serif; letter-spacing:-.02em; }
.legal-content p,.legal-content li { color:var(--slate); font-size:15px; line-height:1.85; }
.legal-content p { margin:12px 0; }
.legal-content ul { margin:12px 0 0; padding-left:22px; }
.legal-content li { padding:4px 0; }
.legal-note { max-width:850px; margin-top:48px; padding:30px; background:var(--mist); border-left:4px solid var(--copper); }
.legal-note strong { font:500 24px Georgia,serif; }
.legal-note p { margin:8px 0 0; color:var(--slate); }
.legal-note a { border-bottom:1px solid var(--copper); }

@media (max-width:900px) {
  .announcement { justify-content:center; text-align:center; }.announcement span { display:none; }
  .site-header { height:auto; min-height:84px; padding:18px 5%; flex-wrap:wrap; gap:14px; }.site-header nav { order:3; width:100%; gap:0; justify-content:space-between; border-top:1px solid var(--line); padding-top:10px; }.button-small { display:none; }
  .hero { grid-template-columns:1fr; padding:34px 5% 58px; gap:50px; }.hero-copy { padding-top:15px; }.hero-panel { min-height:560px; max-width:560px; width:100%; margin:auto; }
  .section { padding:80px 5%; }.section-heading,.section-heading.compact,.concerns,.legacy,.faq,.get-started,.fit-section { grid-template-columns:1fr; }
  .fit-section { padding:80px 5%; }.fit-intro { position:static; padding:0 0 30px; }.fit-shell { min-height:570px; }
  .service-grid { grid-template-columns:1fr; }.service-card { min-height:270px; }.concerns { padding:75px 5%; }.concern-list { margin-top:30px; }
  .legacy { padding:80px 5%; }.legacy-mark { width:260px; height:260px; }.faq { padding:80px 5%; }.get-started { padding:75px 5%; }.contact-card { margin-top:20px; }.footer-main { grid-template-columns:1fr; gap:34px; }
}
@media (max-width:560px) {
  .brand { min-width:0; }.brand strong { font-size:19px; }.monogram { width:38px;height:38px; }.site-header nav { overflow-x:auto; gap:24px; justify-content:flex-start; }.site-header nav a { white-space:nowrap; font-size:11px; }
  h1 { font-size:48px; }.hero-lede { font-size:16px; }.hero-actions { align-items:stretch; flex-direction:column; gap:12px; }.text-link { text-align:center; }
  .credentials { grid-template-columns:1fr; gap:14px; }.credentials div { display:grid; grid-template-columns:120px 1fr; align-items:center; }
  .hero-panel { min-height:520px; padding:30px 24px; }.price-card { width:88%; }.price { font-size:86px; }
  .fit-shell { min-height:600px; padding:25px 20px 22px; box-shadow:10px 10px 0 var(--copper); }.fit-progress { margin-bottom:38px; }.fit-question h3,.fit-result h3 { font-size:35px; }.fit-options button { min-height:62px; }.fit-footer { align-items:flex-end; }.fit-footer>span:last-child { text-align:right; }
  .section-heading { gap:22px; }.section-heading h2,.concerns h2 { font-size:40px; }.concern-list,.steps { grid-template-columns:1fr; }.concern-list span:nth-child(odd) { border-right:0; }.steps li { grid-template-columns:38px 1fr; }
  .legacy-mark { width:220px;height:220px; }.legacy-facts { flex-direction:column; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:16px; }
  .legal-header .text-link { display:none; }.legal-page { padding:58px 5% 80px; }.legal-title h1 { font-size:48px; }.legal-content h2 { font-size:26px; }
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.button,.fit-progress span,.fit-options button{transition:none}.fit-question,.fit-result{animation:none} }
