/* =====================================================================
   Texas Market Value — unified public stylesheet.
   Single source of truth for ALL public pages (landing + CMS content
   pages). Loaded once in <head>, so styles survive no-reload (PJAX)
   navigation between pages.
   Sections: 1) base/header/footer  2) landing  3) CMS content pages
   ===================================================================== */
:root{
    --red:#c20a16; --red2:#c20a16; --navy:#0f2747; --ink:#1f2430;
    --muted:#6b7280; --bg:#f6f7f9; --card:#fff; --line:#e6e8ee;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--ink); line-height:1.65;
    font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    /* Sticky footer: fill the viewport and push the footer to the bottom on short pages. */
    min-height:100vh; display:flex; flex-direction:column;}
a{color:var(--red); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1100px; margin:0 auto; padding:0 22px;}

/* Header */
.site-head{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10;}
.site-head .in{max-width:1100px; margin:0 auto; padding:10px 22px; display:flex; align-items:center; gap:18px;}
.site-head img.logo{height:58px; width:auto; display:block;}
.site-nav{margin-left:auto; display:flex; gap:4px; align-items:center; flex-wrap:wrap;}
.site-nav a{color:#374151; font-size:14px; font-weight:600; padding:8px 12px; border-radius:8px;}
.site-nav a:hover{background:#f1f3f8; text-decoration:none;}
.site-nav a.active{background:#fdecee; color:var(--red);}
.site-nav a.cta{background:var(--red); color:#fff;}
.site-nav a.cta:hover{background:#9e0810;}

/* Logged-in "My Account" dropdown in the public navbar */
.site-user{position:relative; margin-left:4px;}
.site-user-btn{display:flex; align-items:center; gap:8px; background:#f1f3f8; border:1px solid #e3e7ef;
    border-radius:30px; padding:5px 13px 5px 6px; cursor:pointer; font-size:13.5px; font-weight:700;
    color:var(--navy); font-family:inherit;}
.site-user-btn:hover{background:#e8ebf2;}
.site-user-btn .av{width:28px; height:28px; border-radius:50%; background:var(--red); color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px;}
.site-user-drop{position:absolute; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--line);
    border-radius:12px; box-shadow:0 12px 30px rgba(16,32,71,.16); min-width:200px; padding:6px; display:none; z-index:60;}
.site-user.open .site-user-drop{display:block;}
.site-user-drop a{display:block; padding:9px 12px; border-radius:8px; font-size:13.5px; color:#33415c;
    font-weight:600; text-decoration:none;}
.site-user-drop a:hover{background:#f1f3f8; color:var(--navy); text-decoration:none;}
.site-user-drop .div{height:1px; background:var(--line); margin:4px 6px;}
.site-user-drop a.danger{color:#c12f3d;}
.site-user-drop a.danger:hover{background:#fdecee; color:#c12f3d;}

/* Footer */
.site-foot{background:#11151c; color:#aeb4bf; margin-top:auto;}
.site-foot .in{max-width:1100px; margin:0 auto; padding:24px 22px; font-size:13px;
    display:flex; gap:18px; justify-content:space-between; flex-wrap:wrap;}
.site-foot a{color:#dfe3ea;}

/* =====================================================================
   2) Landing page
   ===================================================================== */
.hero{background:radial-gradient(1200px 400px at 80% -10%, #fff 0, #f6f7f9 60%);}
.hero .in{max-width:780px; margin:0 auto; padding:58px 22px 48px; text-align:center;}
.hero .eyebrow{display:inline-block; background:#fdecee; color:var(--red); font-weight:700;
    font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:6px 12px; border-radius:20px;}
.hero h1{margin:16px 0 0; font-size:44px; line-height:1.1; font-weight:800; color:var(--navy);}
.hero h1 .accent{color:var(--red);}
.hero p.lead{margin:18px auto 0; font-size:17px; color:#475467; max-width:580px;}
.hero .actions{margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center;}
.btn{display:inline-flex; align-items:center; gap:8px; border-radius:10px; font-weight:700;
    font-size:15px; padding:13px 22px; cursor:pointer; border:0;}
.btn-red{background:var(--red2); color:#fff;} .btn-red:hover{background:#9e0810; text-decoration:none;}
.btn-ghost{background:#fff; color:var(--navy); border:1px solid var(--line);}
.btn-ghost:hover{background:#f1f3f8; text-decoration:none;}

.stats{background:var(--navy); color:#fff;}
.stats .in{max-width:1100px; margin:0 auto; padding:26px 22px; display:grid;
    grid-template-columns:repeat(4,1fr); gap:18px; text-align:center;}
.stats .n{font-size:26px; font-weight:800;} .stats .l{font-size:12.5px; color:#aebfdd; margin-top:2px;}

.section{padding:48px 0;}
.section h2{text-align:center; font-size:28px; color:var(--navy); margin:0 0 6px; font-weight:800;}
.section .sub{text-align:center; color:var(--muted); margin:0 0 30px; font-size:15px;}

.grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;}
.card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px;
    box-shadow:0 1px 3px rgba(16,32,71,.05);}
.card .ic{width:50px; height:50px; border-radius:13px; background:#fdecee; color:var(--red);
    display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.card .ic svg{width:26px; height:26px;}
.card h3{margin:0 0 6px; font-size:17px; color:var(--ink);} .card p{margin:0; font-size:14px; color:var(--muted);}

.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px;}
.step{position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px;}
.step .num{width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:12px;}
.step h4{margin:0 0 5px; font-size:15.5px;} .step p{margin:0; font-size:13.5px; color:var(--muted);}

.price-band{background:linear-gradient(135deg,#1c3c6b,#0f2747); color:#fff; position:relative; overflow:hidden;}
.price-band::before{content:""; position:absolute; top:-60px; right:8%; width:240px; height:240px;
    background:radial-gradient(circle, rgba(194,10,22,.28), transparent 70%); pointer-events:none;}
.price-band .in{max-width:680px; margin:0 auto; padding:54px 22px; text-align:center; position:relative;}
.price-band .price{font-size:50px; font-weight:800; line-height:1;}
.price-band .price small{font-size:17px; font-weight:600; color:#aebfdd;}
.price-band p{margin:12px 0 22px; color:#c9d6ee;}
.price-band a{background:#c20a16; color:#fff; font-weight:800; padding:14px 28px; border-radius:10px;
    display:inline-block; box-shadow:0 6px 16px rgba(194,10,22,.35);}
.price-band a:hover{text-decoration:none; background:#9e0810;}

@media (max-width:820px){
    .hero h1{font-size:32px;}
    .stats .in{grid-template-columns:repeat(2,1fr); gap:22px 12px;}
}

/* =====================================================================
   3) CMS content pages (About / Products / Agreement)
   Uses .cms-hero (distinct from the landing .hero above).
   ===================================================================== */
.cms-hero{background:linear-gradient(135deg,#1c3c6b 0%,#0f2747 100%); color:#fff;}
.cms-hero .in{max-width:1080px; margin:0 auto; padding:40px 22px; position:relative;}
.cms-hero h1{margin:0; font-size:30px; font-weight:800; letter-spacing:.2px;}
.cms-hero h1::after{content:""; display:block; width:54px; height:4px; border-radius:3px;
    background:#c20a16; margin-top:12px;}
.cms-hero p{margin:14px 0 0; font-size:15px; color:#c9d6ee; max-width:680px;}

.cms-wrap{max-width:1080px; margin:0 auto; padding:28px 22px 10px;}
.content-card{background:var(--card); border:1px solid var(--line); border-radius:14px;
    box-shadow:0 1px 3px rgba(16,32,71,.06); padding:30px 34px;}
.content-card h2,.content-card h3{color:var(--red); margin-top:1.4em;}
.content-card h3{font-size:18px;} .content-card p{font-size:15.5px;}
.content-card ul{font-size:15.5px; padding-left:20px;} .content-card li{margin:6px 0;}

.blocks{max-width:1080px; margin:26px auto; padding:0 22px;
    display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px;}
.blk{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px;
    box-shadow:0 1px 3px rgba(16,32,71,.05);}
.blk .ic{width:46px; height:46px; border-radius:12px; background:#fdecee; color:var(--red);
    display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.blk .ic svg{width:24px; height:24px;}
.blk h4{margin:0 0 6px; font-size:16px; color:var(--ink);}
.blk p{margin:0; font-size:13.5px; color:var(--muted);}

.cta-band{max-width:1080px; margin:10px auto 30px; padding:0 22px;}
.cta-band .in{background:#0f2747; color:#fff; border-radius:16px; padding:26px 30px;
    display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.cta-band b{font-size:19px;} .cta-band span{color:#aebfdd; font-size:14px;}
.cta-band a{margin-left:auto; background:var(--red2); color:#fff; padding:12px 20px;
    border-radius:10px; font-weight:700;}
.cta-band a:hover{background:#9e0810; text-decoration:none;}
