:root{--blue:#032d70;--dark:#001f4f;--red:#e30613;--ink:#07142f;--muted:#48546a;--line:#d8dde6;--white:#fff;--soft:#f6f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);line-height:1.45;background:#fff}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(1180px,calc(100% - 42px));margin:auto}.skip-link{position:fixed;top:-100px;left:10px;background:#fff;padding:10px;z-index:99}.skip-link:focus{top:10px}.site-header{height:76px;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #dfe3e9}.nav-wrap{height:100%;display:flex;align-items:center;gap:34px}.brand{width:170px;align-self:center;z-index:2;opacity:0;pointer-events:none;transition:.25s opacity}.brand.visible{opacity:1;pointer-events:auto}.brand img{height:58px;width:100%;object-fit:contain}.site-header nav{display:flex;gap:34px;margin-left:auto}.site-header nav a{text-decoration:none;text-transform:uppercase;font-weight:800;color:var(--dark);font-size:.78rem;padding:27px 0 20px;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav .active{color:var(--red);border-color:var(--red)}.button{min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.78rem;border:1px solid transparent;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px)}.call-button,.primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(227,6,19,.2)}.call-button:hover,.primary:hover{background:#c9000c}.call-button span{font-size:1.15rem}.menu-toggle{display:none}
.hero{position:relative;min-height:545px;background-image:linear-gradient(90deg,rgba(0,31,79,.96) 0%,rgba(0,45,112,.82) 38%,rgba(0,32,78,.18) 70%),url("assets/hero-home.png");background-size:cover;background-position:center;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;left:-2%;right:-2%;bottom:-34px;height:60px;background:#fff;border-top:7px solid var(--red);transform:rotate(-3deg);transform-origin:center}.hero-inner{position:relative;padding:54px 0 63px}.hero-logo{width:380px;margin-left:10px;margin-bottom:18px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}.hero h1{font-size:2rem;line-height:1.08;text-transform:uppercase;margin:0;letter-spacing:-.02em}.hero>p{}.hero-inner>p{font-size:1rem;max-width:620px;margin:10px 0 16px}.trust-row{display:flex;width:520px;margin:14px 0 18px}.trust-row div{flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.65);padding:0 12px}.trust-row div:first-child{padding-left:0}.trust-row div:last-child{border:0}.trust-row i{display:block;font-style:normal;font-size:1.8rem;line-height:1}.trust-row b{display:block;font-size:.61rem;line-height:1.25;text-transform:uppercase;margin-top:6px}.hero-actions{display:flex;gap:18px}.outline{border-color:#fff;color:#fff;background:rgba(0,27,68,.45)}.outline:hover{background:#fff;color:var(--blue)}
.section{padding:44px 0}.title-row{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:28px}.title-row span{width:130px;height:2px;background:linear-gradient(90deg,var(--blue),var(--red))}.title-row span:last-child{background:linear-gradient(90deg,var(--red),var(--blue))}.title-row h2{margin:0;color:var(--blue);text-transform:uppercase;font-size:1.4rem;line-height:1}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.service-card{border:1px solid var(--line);border-radius:8px;padding:18px 12px;text-align:center;background:#fff;box-shadow:0 3px 12px rgba(0,20,60,.04);transition:.2s transform,.2s box-shadow}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,30,78,.12)}.service-card i,.why-grid article i{display:grid;place-items:center;margin:0 auto;width:64px;height:64px;border:3px solid currentColor;border-radius:50%;font-size:2rem;color:var(--blue);font-style:normal}.service-card:nth-child(3n+1) i,.service-card:nth-child(3n+2) i{color:var(--red)}.service-card h3,.why-grid h3{font-size:.75rem;line-height:1.18;color:var(--blue);text-transform:uppercase;margin:14px 0 7px}.service-card p{font-size:.7rem;color:#303a4d;min-height:100px;margin:0}.service-card a{display:block;color:var(--red);font-weight:900;text-transform:uppercase;text-decoration:none;font-size:.65rem;margin-top:8px}
.plans{padding-top:0}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr) 1.18fr;gap:16px}.plan-card{position:relative;border:1px solid var(--line);border-top:18px solid var(--blue);border-radius:5px;overflow:visible;padding:24px 20px 42px;background:#fff}.plan-card.red{border-top-color:var(--red)}.plan-icon{position:absolute;top:-34px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:52px;height:52px;background:var(--blue);border:3px solid #fff;border-radius:50%;color:#fff;font-size:1.4rem}.red .plan-icon{background:var(--red)}.plan-card h3{text-align:center;color:var(--blue);text-transform:uppercase;font-size:.8rem;margin:8px 0}.plan-card>p{text-align:center;font-size:.75rem;min-height:62px}.plan-card ul{list-style:none;padding:0;margin:10px 0;font-size:.72rem}.plan-card li{margin:5px 0}.plan-card li:before{content:"●";color:var(--blue);margin-right:7px;font-size:.6rem}.plan-card strong{position:absolute;left:0;right:0;bottom:0;text-align:center;background:var(--blue);color:#fff;text-transform:uppercase;font-size:.66rem;padding:8px}.plan-card.red strong{background:var(--red)}.compare-card{border-radius:6px;background:linear-gradient(135deg,#08367a,#001f4f);color:#fff;text-align:center;padding:18px 28px}.compare-card h3{text-transform:uppercase;font-size:1.5rem;margin:0}.compare-card p{margin:3px 0 10px}.compare-card i{font-style:normal;font-size:4.5rem;display:block}.compare-card .button{width:100%}
.why{padding-top:8px}.why-grid{display:grid;grid-template-columns:repeat(4,.78fr) 2fr;gap:15px}.why-grid article{text-align:center;padding:4px 14px;border-right:1px solid var(--line)}.why-grid article i{border:0;height:54px}.why-grid article p{font-size:.7rem;margin:0}.why-grid blockquote{margin:0;border:1px solid var(--line);border-radius:8px;padding:16px 25px;text-align:center;position:relative}.why-grid blockquote:before{content:"“";position:absolute;left:10px;top:0;color:var(--red);font-size:3rem;font-weight:900}.stars{color:#ff9d00;letter-spacing:3px}.why-grid blockquote p{font-size:.74rem}.why-grid blockquote b,.why-grid blockquote span{display:block;font-size:.75rem}.why-grid blockquote span{color:var(--muted)}
.process{background:linear-gradient(110deg,#052c68,#001e4d);color:#fff;padding:16px 0 28px}.title-row.light{margin-bottom:14px}.title-row.light h2{color:#fff}.title-row.light span{background:linear-gradient(90deg,transparent,#fff)}.title-row.light span:last-child{background:linear-gradient(90deg,#fff,transparent)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:0;margin:0;list-style:none}.process-grid li{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:start;position:relative}.process-grid li:not(:last-child):after{content:"→";position:absolute;right:-31px;top:17px;font-size:2.2rem}.process-grid i{display:grid;place-items:center;width:58px;height:58px;background:#fff;color:var(--blue);border-radius:50%;font-style:normal;font-size:1.8rem}.process-grid div{position:relative}.process-icon{position:relative}.process-grid b{position:absolute;left:-18px;top:-6px;width:22px;height:22px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:50%;font-size:.7rem;z-index:1;box-shadow:0 0 0 3px #052c68}.process-grid h3{font-size:.72rem;text-transform:uppercase;margin:2px 0}.process-grid p{font-size:.64rem;margin:0;color:#dbe8fa}
.contact-band{background:var(--soft);padding:0}.contact-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:0}.service-area{padding:30px 28px 28px 0;display:grid;grid-template-columns:1fr 1.35fr;column-gap:24px}.service-area h3{grid-column:1;text-transform:uppercase;color:var(--blue);font-size:1rem;margin:0}.service-area p{grid-column:1;font-size:.72rem;margin:7px 0}.map-card{grid-column:2;grid-row:1/4;min-height:150px;display:grid;place-content:center;text-align:center;border-left:1px solid var(--line);background:radial-gradient(circle at 50% 45%,rgba(227,6,19,.2) 0 17%,transparent 18%),linear-gradient(38deg,transparent 47%,#c8d2df 48% 49%,transparent 50%),linear-gradient(-33deg,transparent 47%,#d2d9e3 48% 49%,transparent 50%),#e7ebef;color:var(--blue)}.map-card b{font-size:1.25rem}.map-card span{font-size:.65rem}.cta{text-align:center;padding:28px}.cta h2{margin:0;color:var(--blue);font-size:1.45rem;line-height:1.05;text-transform:uppercase}.cta>p{font-size:.78rem}.cta .button{font-size:.88rem}.contact-line{display:flex;justify-content:center;gap:28px;margin-top:16px;align-items:center}.contact-line a,.contact-line span{font-size:.67rem;text-decoration:none;color:var(--blue);font-weight:700}
footer{background:linear-gradient(110deg,#062e69,#001d49);color:#fff;padding:28px 0 10px}.footer-grid{display:grid;grid-template-columns:180px 1.1fr .8fr 1.1fr .8fr;gap:34px;align-items:start}.footer-grid img{background:#fff;border-radius:4px;padding:4px}.footer-grid h3{text-transform:uppercase;font-size:.72rem;margin:0 0 8px}.footer-grid p,.footer-grid a,.footer-grid span{display:block;font-size:.62rem;text-decoration:none;color:#e0e9f7;margin:3px 0}.footer-grid b{font-size:.6rem;text-transform:uppercase}.socials{display:flex;gap:8px;margin-bottom:8px}.socials a{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:.75rem}.copyright{text-align:center;font-size:.58rem;color:#bdd0e8;margin:18px 0 0}.copyright a{color:#bdd0e8;text-decoration:underline}.copyright a:hover{color:#fff}.reveal{opacity:0;transform:translateY(14px);transition:.55s opacity,.55s transform}.reveal.visible{opacity:1;transform:none}

/* Restored Tulsa service-area map from the approved homepage mockup. */
.service-area .map-card{grid-column:2;grid-row:1/4;width:260px;height:150px;min-height:0;justify-self:end;display:block;overflow:hidden;border-left:1px solid var(--line);background-color:#e7ebef;background-image:url("assets/mockup-reference.png");background-repeat:no-repeat;background-size:1024px 1536px;background-position:-225px -1275px;position:relative}
.map-card .map-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Original icon artwork sampled directly from the approved homepage mockup. */
.mock-icon{display:block;background-image:url("assets/mockup-reference.png");background-repeat:no-repeat;background-size:1024px 1536px;color:transparent!important;font-size:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important}
/* .trust-1..4 are a fixed-coordinate crop from assets/mockup-reference.png (1024x1536).
   If that image is ever replaced or resized, these four background-position values
   must be recalculated or the trust-row icons (People, Shield, Home, Calendar) will
   silently misalign with no error. Current coords: trust-1 -56px -397px,
   trust-2 -141px -397px, trust-3 -226px -397px, trust-4 -318px -397px. */
.trust-row .mock-icon{width:42px;height:36px;margin:0 auto}.trust-1{background-position:-56px -397px}.trust-2{background-position:-141px -397px}.trust-3{background-position:-226px -397px}.trust-4{background-position:-318px -397px}
.service-card .mock-icon{width:70px;height:70px;margin:0 auto}

/* Icon artwork supplied directly as individual image files (assets/icons/). */
.icon-img{object-fit:contain}
.service-card .icon-img{width:70px;height:70px;margin:0 auto}
.plan-icon{overflow:hidden}.plan-icon .icon-img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.compare-card .icon-img{width:84px;height:84px;margin:8px auto}
.why-grid article .icon-img{width:64px;height:64px;margin:0 auto}
.process-grid .icon-img{width:58px;height:58px;border-radius:50%}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:980px){.call-button{display:none}.site-header nav{margin-left:auto}.service-grid{grid-template-columns:repeat(3,1fr)}.plan-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}.why-grid blockquote{grid-column:1/-1}.process-grid{grid-template-columns:1fr 1fr}.process-grid li:nth-child(2):after{display:none}.contact-grid{grid-template-columns:1fr}.service-area{padding-right:0}.footer-grid{grid-template-columns:180px repeat(2,1fr)}}
.quote-form{max-width:480px;margin:18px auto 0;text-align:left;display:flex;flex-direction:column;gap:10px}
.quote-form .form-row{display:flex;gap:10px}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.78rem;color:var(--ink);background:#fff}
.quote-form textarea{resize:vertical}
.quote-form button{align-self:center;margin-top:4px}
.quote-form .botcheck{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.form-status{text-align:center;font-size:.72rem;color:var(--blue);min-height:1em;margin:8px 0 0}
.form-status.error{color:var(--red)}
@media(max-width:720px){.quote-form .form-row{flex-direction:column}}
@media(max-width:720px){.shell{width:min(100% - 28px,1180px)}.site-header{height:68px}.brand{width:140px}.brand img{height:50px}.menu-toggle{display:grid;margin-left:auto;border:0;background:transparent;gap:5px}.menu-toggle span{display:block;width:27px;height:2px;background:var(--blue)}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden}.site-header nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:22px;flex-direction:column;gap:5px;box-shadow:0 12px 25px rgba(0,20,60,.14)}.site-header nav.open{display:flex}.site-header nav a{padding:10px}.hero{background-position:62% center}.hero:before{content:"";position:absolute;inset:0;background:rgba(0,31,79,.32)}.hero-inner{padding-top:72px}.hero-logo{width:290px;margin-left:0}.hero h1{font-size:1.65rem}.hero-inner>p br{display:none}.trust-row{width:100%;display:grid;grid-template-columns:1fr 1fr}.trust-row div{border-bottom:1px solid rgba(255,255,255,.35);padding:10px}.trust-row div:nth-child(2){border-right:0}.hero-actions{flex-direction:column}.service-grid,.plan-grid,.why-grid,.process-grid,.footer-grid{grid-template-columns:1fr}.service-card p{min-height:0}.plan-card{margin-top:18px}.process-grid{gap:25px}.process-grid li:after{display:none}.contact-line{flex-direction:column;gap:7px}.service-area{grid-template-columns:1fr}.service-area h3,.service-area p,.map-card{grid-column:1}.map-card{grid-row:auto;margin-top:14px;border:0}.footer-grid{gap:20px}.footer-grid img{max-width:180px}.title-row{gap:10px}.title-row span{width:35px}.title-row h2{text-align:center;font-size:1.1rem}}
@media(max-width:720px){.service-area .map-card{grid-column:1;grid-row:auto;justify-self:center;margin-top:14px;border:0}}

/* Privacy policy page */
.policy{padding-top:56px}
.policy-content{max-width:820px;font-size:.85rem;color:#303a4d}
.policy-content h1{color:var(--blue);text-transform:uppercase;font-size:1.7rem;margin:0 0 6px}
.policy-content .policy-updated{color:var(--muted);font-size:.78rem;margin:0 0 28px}
.policy-content h2{color:var(--blue);font-size:1.05rem;margin:34px 0 12px;border-top:1px solid var(--line);padding-top:24px}
.policy-content h2:first-of-type{border-top:0;padding-top:0}
.policy-content h3{color:var(--blue);font-size:.88rem;margin:20px 0 8px}
.policy-content p,.policy-content li{line-height:1.6;margin:0 0 10px}
.policy-content ul,.policy-content ol{padding-left:22px;margin:0 0 14px}
.policy-content a{color:var(--red);text-decoration:underline}
.policy-content a:hover{color:#c9000c}
.policy-table-wrap{overflow-x:auto;margin:0 0 18px}
.policy-content table{width:100%;border-collapse:collapse;font-size:.72rem;min-width:640px}
.policy-content th,.policy-content td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.policy-content th{background:var(--soft);color:var(--blue);text-transform:uppercase;font-size:.68rem}
