/* factory-layout-fingerprint:4f9f61b80c4175087c7e */
:root{
  --unit-791:#001137;
  --gutter-91e:#005dbe;
  --downspout-1e9:#eef1f2;
  --roofline-e94:#6a98c7;
  --runoff-94e:#ffffff;
  --joint-4ec:#4a5a6a;
  --coil-ec4:rgba(0,17,55,.14);
  --pitch-c49:0 24px 70px rgba(0,17,55,.12);
  --radius:22px;
  --max:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--runoff-94e);color:var(--unit-791);font:16px/1.65 "Work Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--gutter-91e);outline-offset:2px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:"Oswald",sans-serif;font-weight:600;line-height:1.05;letter-spacing:-.025em;margin:0 0 .65em}
h1{font-size:clamp(2.8rem,7vw,6.5rem)}
h2{font-size:clamp(2rem,4vw,3.6rem)}
h3{font-size:1.35rem}
p{margin:0 0 1.15em}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gutter-91e)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-weight:600;transition:.2s ease}
.btn-primary{background:var(--roofline-e94);color:var(--unit-791)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(.96)}
.btn-ghost{border-color:currentColor;background:transparent}
.topbar{background:var(--unit-791);color:white;font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
.topbar strong{color:var(--roofline-e94)}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--coil-ec4)}
.nav-shell{display:flex;align-items:center;gap:30px;min-height:80px}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}
.brand-mark{width:46px;height:46px;flex:0 0 auto}
.brand-name{display:block;font-family:"Oswald",sans-serif;font-weight:600;line-height:1.05;max-width:220px}
.nav-links{display:flex;gap:24px;margin-left:auto;font-weight:600;font-size:.93rem}
.nav-actions{display:flex;gap:10px}
.menu-toggle{display:none;border:0;background:var(--downspout-1e9);width:46px;height:46px;border-radius:50%}
.hero{overflow:hidden;background:linear-gradient(120deg,var(--downspout-1e9),#fff 58%);border-bottom:1px solid var(--coil-ec4)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px}
.hero-copy{padding:90px 6vw 80px max(20px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}
.hero-copy h1 em{color:var(--gutter-91e);font-style:normal}
.hero-copy .lede{font-size:1.19rem;max-width:700px;color:#3f4e58}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.trust-row span{border-top:2px solid var(--gutter-91e);padding-top:9px;font-weight:600;font-size:.88rem}
.hero-media{position:relative;min-height:580px}
.hero-media img{height:100%;object-fit:cover}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--downspout-1e9),transparent 24%)}
.hero-note{position:absolute;z-index:2;right:28px;bottom:28px;background:rgba(0,17,55,.92);color:white;padding:20px;max-width:300px;border-radius:18px}
.hero-note strong{display:block;font:600 1.2rem "Oswald",sans-serif;margin-bottom:4px}
.quickbar{background:var(--gutter-91e);color:white}
.quickbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.quickbar div{padding:22px;border-right:1px solid rgba(255,255,255,.22)}
.quickbar small{display:block;text-transform:uppercase;letter-spacing:.12em;opacity:.8}
.quickbar strong{font-size:1.05rem}
.section{padding:100px 0}
.section-tint{background:var(--downspout-1e9)}
.intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:start}
.section-lede{font-size:1.18rem;color:#40505b}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.card{background:white;border:1px solid var(--coil-ec4);border-radius:var(--radius);padding:28px;box-shadow:0 10px 34px rgba(0,17,55,.05)}
.card-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gutter-91e);color:#fff;font-weight:700;margin-bottom:28px}
.card a{font-weight:600;color:var(--gutter-91e)}
.photo-band{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;background:var(--unit-791);color:white}
.photo-band-media img{height:100%;object-fit:cover}
.photo-band-copy{padding:80px 7vw;align-self:center}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--coil-ec4);border:1px solid var(--coil-ec4);margin-top:40px}
.step{background:var(--runoff-94e);padding:26px}
.step b{display:block;color:var(--gutter-91e);font-size:.8rem;letter-spacing:.16em;margin-bottom:36px}
.price-table{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--coil-ec4);margin-top:34px}
.price{padding:28px;border-right:1px solid var(--coil-ec4)}
.price:last-child{border:0}
.price strong{display:block;font:600 2.2rem "Oswald",sans-serif;color:var(--gutter-91e)}
.minimums{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.minimum{background:var(--unit-791);color:#fff;padding:28px;border-radius:18px}
.minimum strong{font:600 2.2rem "Oswald",sans-serif;color:var(--roofline-e94)}
.quote-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;background:var(--unit-791);color:white;padding:clamp(30px,5vw,72px);border-radius:32px}
.quote-copy{align-self:start;position:sticky;top:120px}
.quote-copy li{margin-bottom:10px}
.quote-form{background:#fff;color:var(--unit-791);padding:30px;border-radius:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:.82rem;font-weight:600}
.field input,.field select,.field textarea{width:100%;border:1px solid #bbc4ca;border-radius:10px;padding:13px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gutter-91e);outline-offset:2px;border-color:var(--gutter-91e)}
.field textarea{min-height:130px;resize:vertical}
.check{display:flex;align-items:flex-start;gap:10px;font-size:.9rem}
.check input{margin-top:5px}
.calculator{display:none;margin-top:24px;border-top:1px solid var(--coil-ec4);padding-top:24px}
.calculator.is-open{display:block}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.calc-result{margin-top:16px;background:var(--downspout-1e9);padding:20px;border-radius:14px}
.form-status{min-height:24px;margin-top:12px;font-weight:600}
.content-hero{padding:90px 0 70px;background:linear-gradient(135deg,var(--downspout-1e9),#fff)}
.content-hero .wrap{max-width:920px;margin-left:max(20px,calc((100vw - var(--max))/2))}
.breadcrumbs{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gutter-91e);margin-bottom:24px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;padding:70px 0 100px}
.prose{max-width:800px}
.prose h2{margin-top:1.35em}
.prose h3{margin-top:1.5em}
.prose ul{padding-left:20px}
.prose li{margin-bottom:10px}
.aside{align-self:start;position:sticky;top:120px}
.aside-card{background:var(--downspout-1e9);padding:26px;border-radius:18px;margin-bottom:16px}
.area-list,.link-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.area-list a,.link-list a{background:#fff;border:1px solid var(--coil-ec4);padding:18px;border-radius:14px;font-weight:600}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px}
.gallery-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:14px}
.gallery-grid img{height:100%;object-fit:cover;transition:.3s}
.gallery-grid figure:hover img{transform:scale(1.03)}
.faq details{border-top:1px solid var(--coil-ec4);padding:18px 0}
.faq summary{font-weight:600;cursor:pointer}
.cta-band{background:var(--gutter-91e);color:white;padding:48px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px}
.cta-band h2{max-width:700px;margin:0}
.site-footer{background:#001137;color:#dbe5ea;padding:70px 0 100px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:48px}
.footer-grid h3{color:white}
.footer-grid a{display:block;margin:8px 0}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;margin-top:50px;font-size:.83rem}
.mobile-actions{display:none}
.brand-mark,.footer-mark{object-fit:contain;background:#fff;border-radius:10px}
.footer-mark{width:72px;height:72px;margin-bottom:18px}
.content-visual{margin:0 0 42px;border-radius:22px;overflow:hidden;background:var(--downspout-1e9);border:1px solid var(--coil-ec4)}
.content-visual img{aspect-ratio:16/9;object-fit:cover}
.content-visual figcaption{padding:13px 18px;color:var(--joint-4ec);font-size:.78rem}
.process-showcase{padding:90px 0;background:var(--unit-791);color:#fff}
.process-showcase-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(34px,7vw,90px);align-items:center}
.process-video-card{position:relative;width:min(100%,430px);justify-self:center;border:1px solid rgba(255,255,255,.25);border-radius:28px;overflow:hidden;background:#0a1117;box-shadow:0 28px 70px rgba(0,0,0,.3)}
.process-video-card video{display:block;width:100%;aspect-ratio:9/16;max-height:680px;object-fit:cover}
.process-video-card span{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:rgba(10,17,23,.82);font-size:.78rem;font-weight:600;text-align:center;backdrop-filter:blur(10px)}
.process-explainer .eyebrow{color:var(--roofline-e94)}
.process-explainer p,.process-explainer li{color:#dbe5ea}
.process-explainer ol{padding-left:22px;margin:25px 0 34px}
.process-explainer li{padding:6px 0}
.map-section{background:linear-gradient(135deg,var(--downspout-1e9),#fff)}
.map-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.map-heading>div{max-width:820px}
.map-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px}
.map-frame{width:100%;min-height:520px;border:0;border-radius:24px;box-shadow:var(--pitch-c49)}
.location-cards{display:grid;gap:12px;align-content:start}
.location-cards article{background:#fff;border:1px solid var(--coil-ec4);border-radius:18px;padding:22px}
.location-cards article>span{display:block;color:var(--gutter-91e);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.location-cards h3{margin:8px 0}
.location-actions{display:flex;flex-wrap:wrap;gap:8px 16px}
.location-actions a{color:var(--gutter-91e);font-weight:600;font-size:.88rem}
.list-thumb,.link-thumb,.card-thumb{display:block;margin:0 0 14px;overflow:hidden;aspect-ratio:4/3;border-radius:12px;background:var(--downspout-1e9)}
.list-thumb img,.link-thumb img,.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 280ms ease}
.link-list a:hover .list-thumb img,.link-list a:hover .link-thumb img,.link-list a:hover .card-thumb img{transform:scale(1.035)}
.media-grid figure{min-width:0;margin:0;overflow:hidden;border-radius:14px}
.media-grid img{width:100%;height:100%;object-fit:cover}
.page-photo-ribbon{display:grid;grid-template-columns:1.2fr repeat(2,minmax(0,.9fr));gap:12px;margin:clamp(42px,6vw,68px) 0 0}
.page-photo-ribbon figure{position:relative;min-width:0;min-height:250px;margin:0;overflow:hidden;border-radius:18px;background:var(--unit-791);box-shadow:var(--pitch-c49)}
.page-photo-ribbon img{width:100%;height:100%;object-fit:cover;transition:transform 360ms ease}
.page-photo-ribbon figure:hover img{transform:scale(1.025)}
.page-photo-ribbon figcaption{position:absolute;right:12px;bottom:12px;left:12px;padding:9px 12px;border-radius:999px;background:rgba(10,24,34,.82);color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px)}
@media(max-width:980px){
  .nav-links{display:none;position:absolute;top:80px;left:0;right:0;background:var(--runoff-94e);padding:20px;box-shadow:var(--pitch-c49)}
  .nav-links.is-open{display:grid}
  .nav-actions .btn-ghost{display:none}
  .menu-toggle{display:block;margin-left:auto}
  .brand{min-width:0}
  .hero-grid,.photo-band,.intro-grid,.quote-shell,.content-layout{grid-template-columns:1fr}
  .hero-grid{min-height:0}
  .hero-copy{padding:70px 20px}
  .hero-media{min-height:420px}
  .hero-media:after{background:linear-gradient(0deg,rgba(0,0,0,.25),transparent)}
  .quickbar .wrap{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .price-table{grid-template-columns:1fr 1fr}
  .quote-copy,.aside{position:static}
  .card-grid{grid-template-columns:1fr 1fr}
  .area-list,.link-list,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .process-showcase-grid,.map-layout{grid-template-columns:1fr}
  .process-video-card{width:min(100%,390px)}
  .map-heading{align-items:start}
  .map-frame{min-height:420px}
}
@media(max-width:640px){
  body{padding-bottom:66px}
  .topbar .wrap{justify-content:center}
  .topbar span:last-child{display:none}
  .nav-shell{min-height:70px}
  .brand-name{font-size:.86rem}
  .brand-mark{width:40px;height:40px}
  .nav-actions{display:none}
  .hero-copy{padding:56px 20px}
  .hero-copy h1{font-size:clamp(2.55rem,14vw,4.3rem)}
  .hero-media{min-height:320px}
  .quickbar .wrap,.card-grid,.steps,.price-table,.minimums,.form-grid,.calc-grid,.area-list,.link-list,.gallery-grid,.footer-grid{grid-template-columns:1fr}
  .quickbar div{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .section{padding:70px 0}
  .photo-band-copy{padding:60px 20px}
  .quote-shell{padding:22px;border-radius:20px}
  .quote-form{padding:20px}
  .content-hero{padding:60px 0 48px}
  .content-layout{padding:50px 0 80px}
  .cta-band{padding:28px;display:block}
  .cta-band .btn{margin-top:20px}
  .footer-bottom{display:block}
  .mobile-actions{position:fixed;z-index:50;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 -8px 28px rgba(0,0,0,.13)}
  .mobile-actions a{padding:18px;text-align:center;font-weight:700}
  .mobile-actions a:last-child{background:var(--roofline-e94);color:var(--unit-791)}
  .page-photo-ribbon{grid-template-columns:1fr}
  .page-photo-ribbon figure{min-height:240px}
  .process-showcase{padding:64px 0}
  .process-video-card{width:min(88vw,340px);border-radius:20px}
  .map-heading{display:block}
  .map-heading .btn{margin-top:14px}
  .map-frame{min-height:360px;border-radius:16px}
  .content-visual{border-radius:16px;margin-bottom:30px}
  .prose p>.btn{display:flex;width:100%;margin:0 0 12px}
  .prose p>.btn+a{display:block;width:100%;margin-top:12px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* factory-premium-semantic-dom-recovery-v2 */
:root { --max:1160px; }
.wrap { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.factory-hero { position:relative; isolation:isolate; min-height:clamp(620px,76vh,820px); display:grid; align-items:end; overflow:hidden; background:var(--ink); color:#fff; }
.factory-hero .hero-video-wrap { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.factory-hero .hero-video-wrap video { display:block; width:100%; height:100%; object-fit:cover; }
.factory-hero .hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 96%,transparent) 0%,color-mix(in srgb,var(--ink) 82%,transparent) 48%,rgba(16,28,38,.28) 100%); }
.factory-hero .hero-content { position:relative; padding-block:clamp(84px,11vw,150px); }
.factory-hero h1 { max-width:11ch; color:#fff; }
.factory-hero .section-lede { max-width:640px; color:#fff; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.home-identity { padding:clamp(76px,9vw,118px) 0; }
.home-identity__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(38px,7vw,92px); align-items:start; }
.home-identity__copy { position:sticky; top:120px; }
.home-identity__media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.home-identity__media figure:first-child { grid-column:1/-1; aspect-ratio:16/9; }
.home-identity__media figure { margin:0; min-width:0; aspect-ratio:4/3; overflow:hidden; border-radius:20px; background:var(--surface); box-shadow:var(--shadow); }
.home-identity__media img { width:100%; height:100%; object-fit:cover; }
.home-identity__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px; }
.home-identity__feature { padding:18px; border-top:2px solid var(--accent); background:var(--surface); }
.brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.brand-grid figure, .content-visual { margin:0; min-width:0; aspect-ratio:4/3; overflow:hidden; border-radius:20px; background:var(--surface); box-shadow:var(--shadow); }
.brand-grid img, .content-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.content-visual figcaption, .brand-grid figcaption { padding:11px 14px; background:var(--ink); color:#fff; }
.quote-shell { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:34px; padding:clamp(28px,5vw,58px); background:var(--ink); color:#fff; border-radius:26px; }
.quote-form { background:#fff; color:var(--ink); padding:28px; border-radius:20px; }
.site-footer { padding:72px 0 86px; background:var(--ink); color:#fff; }
.site-footer h2, .site-footer h3, .site-footer p, .site-footer a { color:#fff !important; }
.site-footer a { text-decoration:none; }
body[class*="family-"] main .eyebrow { color:#574700 !important; }
body[class*="family-"] .process-showcase .eyebrow,
body[class*="family-"] .quote-shell .eyebrow { color:#f2d266 !important; }
body[class*="family-"] main .factory-hero .eyebrow,
body[class*="family-"] main .content-hero .eyebrow { color:#f2d266 !important; }
body[class*="family-"] main .quote-shell .quote-form .eyebrow { color:#574700 !important; }
.process-showcase h2, .process-showcase p, .quote-shell h2, .quote-shell p { color:#fff; }
.content-hero a { color:#fff !important; }
.mobile-actions a, .site-header .brand { color:var(--ink) !important; }
main a:not(.btn) { color:var(--ink); text-decoration-thickness:1px; text-underline-offset:3px; }
main strong { color:inherit; }
.cta-band, .cta-band h2, .cta-band p { color:var(--ink); }
.prose { max-width:760px; }
@media (max-width:760px) {
  .wrap { width:min(var(--max),calc(100% - 32px)); }
  .factory-hero { min-height:690px; }
  .factory-hero .hero-content { padding-block:88px 104px; }
  .home-identity__grid, .quote-shell { grid-template-columns:1fr; }
  .home-identity__copy { position:static; }
  .home-identity__media, .home-identity__facts, .brand-grid { grid-template-columns:1fr; }
  .home-identity__media figure:first-child { grid-column:auto; }
  .brand-grid figure, .content-visual, .home-identity__media figure { aspect-ratio:4/3; }
}

/* league-city-storm-readiness-distinctive-layer-v1 */
:root{
  --storm-board:#071a2f;
  --storm-panel:#0d2942;
  --storm-blue:#0d6fb8;
  --storm-cyan:#68c7dc;
  --storm-mist:#edf6f8;
  --storm-rule:rgba(104,199,220,.38);
  --storm-grid:linear-gradient(rgba(104,199,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(104,199,220,.07) 1px,transparent 1px);
  --storm-cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
.topbar{background:var(--storm-blue);border-bottom:1px solid rgba(255,255,255,.22)}
.site-header{background:rgba(247,251,252,.97);border-bottom:3px solid var(--storm-cyan);box-shadow:none}
.nav-shell{min-height:88px}
.brand-name{text-transform:uppercase;letter-spacing:.025em}
.nav-links a{position:relative;padding:10px 0}
.nav-links a::after{content:"";position:absolute;right:0;bottom:2px;left:0;height:2px;background:var(--storm-blue);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.btn{border-radius:7px;text-transform:uppercase;letter-spacing:.055em;box-shadow:4px 4px 0 rgba(7,26,47,.14)}
.btn-primary{background:var(--storm-blue);color:#fff}
.btn-primary:hover{filter:brightness(1.08);box-shadow:7px 7px 0 rgba(7,26,47,.18)}
.factory-hero{min-height:clamp(650px,82vh,900px);align-items:center;border-bottom:8px solid var(--storm-cyan)}
.factory-hero .hero-overlay{background:linear-gradient(92deg,rgba(7,26,47,.97) 0%,rgba(7,26,47,.88) 42%,rgba(7,26,47,.3) 76%,rgba(7,26,47,.12) 100%)}
.factory-hero .hero-content{padding-block:clamp(96px,13vw,180px)}
.factory-hero h1{max-width:9.5ch;text-transform:uppercase;letter-spacing:-.045em;text-wrap:balance}
.factory-hero .section-lede{padding-left:20px;border-left:4px solid var(--storm-cyan);max-width:620px}
.hero-ctas{gap:16px}
.quickbar{position:relative;background:var(--storm-board)}
.quickbar::before{content:"STORM READINESS / LEAGUE CITY";position:absolute;right:24px;bottom:100%;padding:7px 13px;background:var(--storm-cyan);color:var(--storm-board);font:700 .68rem/1 "Work Sans",sans-serif;letter-spacing:.14em}
.quickbar .wrap{grid-template-columns:1.2fr .8fr 1.2fr .8fr}
.quickbar div{position:relative;padding:28px 24px;border-right:0;border-left:1px solid var(--storm-rule)}
.quickbar div:first-child{border-left:0}
.quickbar small{color:var(--storm-cyan);font-weight:700}
.section{padding:clamp(80px,9vw,126px) 0}
.section-tint{background-color:var(--storm-mist);background-image:var(--storm-grid);background-size:30px 30px}
.intro-grid{grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr);gap:clamp(48px,9vw,128px)}
.intro-grid>div:first-child{position:sticky;top:126px;padding-top:18px;border-top:5px solid var(--storm-blue)}
.card-grid{grid-template-columns:repeat(12,1fr);gap:16px}
.card{grid-column:span 4;border:0;border-top:5px solid var(--storm-blue);border-radius:4px;padding:30px;background:#fff;box-shadow:0 18px 46px rgba(7,26,47,.09);clip-path:var(--storm-cut)}
.card:nth-child(3n+2){transform:translateY(22px);border-top-color:var(--storm-cyan)}
.card-number{border-radius:5px;background:var(--storm-board);color:var(--storm-cyan)}
.photo-band{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);min-height:680px;background:var(--storm-board)}
.photo-band-media{clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%)}
.photo-band-copy{padding:84px 7vw 84px 5vw}
.steps{position:relative;grid-template-columns:1fr;margin-top:46px;background:transparent;border:0;counter-reset:storm-step}
.step{counter-increment:storm-step;position:relative;margin-left:72px;padding:24px 28px 26px;border-left:3px solid var(--storm-cyan);background:#fff;box-shadow:0 10px 30px rgba(7,26,47,.07)}
.step::before{content:counter(storm-step,decimal-leading-zero);position:absolute;right:calc(100% + 18px);top:18px;color:var(--storm-blue);font:700 1.45rem/1 "Oswald",sans-serif}
.step b{margin-bottom:8px;color:var(--storm-blue)}
.price-table{grid-template-columns:1.25fr .75fr 1.25fr .75fr;border:0;gap:2px;background:var(--storm-cyan)}
.price{border:0;background:#fff;padding:32px 26px}
.minimum{border-radius:4px;background:var(--storm-board);clip-path:var(--storm-cut)}
.content-hero{position:relative;overflow:hidden;padding:116px 0 82px;background-color:var(--storm-board);background-image:var(--storm-grid);background-size:34px 34px;color:#fff}
.content-hero::after{content:"";position:absolute;right:-8vw;bottom:-110px;width:38vw;aspect-ratio:1;border:2px solid var(--storm-rule);border-radius:50%;box-shadow:0 0 0 44px rgba(104,199,220,.045),0 0 0 88px rgba(104,199,220,.035)}
.content-hero .wrap{position:relative;z-index:1;max-width:980px}
.content-hero h1{max-width:14ch;text-transform:uppercase;color:#fff}
.content-hero .section-lede{max-width:720px;color:#d9edf2}
.breadcrumbs{color:var(--storm-cyan)}
.content-layout{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(48px,7vw,92px);padding:90px 0 120px}
.prose>h2{padding:18px 0 12px;border-top:4px solid var(--storm-blue);max-width:20ch;text-transform:uppercase}
.aside{top:132px}
.aside-card{border-radius:4px;border-left:5px solid var(--storm-cyan);background:var(--storm-mist);clip-path:var(--storm-cut)}
.area-list,.link-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.area-list a,.link-list a{position:relative;min-height:118px;border:0;border-left:5px solid var(--storm-blue);border-radius:3px;padding:22px;background:#fff;box-shadow:0 12px 34px rgba(7,26,47,.08)}
.gallery-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:126px;gap:12px}
.gallery-grid figure{grid-column:span 4;grid-row:span 2;border-radius:4px;clip-path:var(--storm-cut)}
.gallery-grid figure:nth-child(5n+1){grid-column:span 8;grid-row:span 3}
.gallery-grid figure:nth-child(5n+2){grid-row:span 3}
.content-visual{border-radius:4px;border:0;border-bottom:5px solid var(--storm-cyan);box-shadow:0 20px 48px rgba(7,26,47,.12);clip-path:var(--storm-cut)}
.content-visual figcaption{background:var(--storm-board);color:#d9edf2}
.process-showcase{position:relative;background-color:var(--storm-board);background-image:var(--storm-grid);background-size:36px 36px;border-block:8px solid var(--storm-cyan)}
.process-video-card{border-radius:5px;border:1px solid var(--storm-cyan);box-shadow:18px 18px 0 rgba(104,199,220,.16)}
.map-section{background:#fff}
.map-layout{grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr)}
.map-frame{border-radius:4px;clip-path:var(--storm-cut)}
.location-cards article{border-radius:3px;border:0;border-left:5px solid var(--storm-blue);background:var(--storm-mist)}
.quote-shell{grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr);border-radius:5px;background-color:var(--storm-board);background-image:var(--storm-grid);background-size:32px 32px;clip-path:var(--storm-cut)}
.quote-form{border-radius:4px;border-top:6px solid var(--storm-cyan)}
.field input,.field select,.field textarea{border-radius:3px;border-color:#90a8b8}
.cta-band{border-radius:4px;background:var(--storm-blue);clip-path:var(--storm-cut)}
.site-footer{background:var(--storm-board);border-top:8px solid var(--storm-cyan)}
.footer-grid{grid-template-columns:1.5fr repeat(3,1fr)}
.mobile-actions{background:var(--storm-board)}
@media(max-width:980px){
  .quickbar .wrap{grid-template-columns:1fr 1fr}
  .card{grid-column:span 6}.card:nth-child(3n+2){transform:none}
  .photo-band{grid-template-columns:1fr}.photo-band-media{clip-path:none;min-height:440px}
  .content-layout{grid-template-columns:1fr}.area-list,.link-list{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .nav-shell{min-height:74px}.factory-hero{min-height:640px}.factory-hero .hero-content{padding-block:76px 100px}
  .quickbar::before{right:12px;font-size:.58rem}.quickbar .wrap{grid-template-columns:1fr}
  .quickbar div{border-left:0;border-bottom:1px solid var(--storm-rule)}
  .intro-grid{grid-template-columns:1fr}.intro-grid>div:first-child{position:static}
  .card-grid{display:grid;grid-template-columns:1fr}.card{grid-column:auto}
  .area-list,.link-list{grid-template-columns:1fr}.gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}
  .gallery-grid figure,.gallery-grid figure:nth-child(5n+1),.gallery-grid figure:nth-child(5n+2){grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .content-hero{padding:92px 0 62px}.content-hero::after{width:80vw;right:-34vw}
  .step{margin-left:54px;padding:20px}.photo-band-media{min-height:320px}
  .mobile-actions a{min-height:66px;color:#fff}.mobile-actions a:last-child{background:var(--storm-blue);color:#fff}
}
@media(prefers-reduced-motion:reduce){.nav-links a::after{transition:none}.card:nth-child(3n+2){transform:none}}

/* factory-asset-delivery-layout-v1 */
.brand-figure img {
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  background: var(--ink, #020202);
}


/* factory-responsive-asset-delivery-v2 */
.prose { max-width:min(100%,760px); }

/* factory-mobile-ui-evidence-repair-v5 */
:root { --max: var(--max-content, 1280px); }
.wrap { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:8px; }
.site-header .nav-shell { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.site-header .brand { display:inline-flex; align-items:center; min-width:0; }
.menu-toggle { display:none; }
.nav-links, .nav-actions { display:flex; align-items:center; gap:14px; }
.nav-links a, .nav-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
.nav-links a { color:var(--ink) !important; text-decoration:none; }
.section { padding:clamp(72px,8vw,104px) 0; }
.section-tint, .section-alt { background:var(--surface); }
.section > .wrap > .eyebrow { color:#574700 !important; }
.brand-showcase > .wrap > .eyebrow { color:#f2d266 !important; }
.intro-grid { display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr); gap:clamp(36px,7vw,92px); align-items:start; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }
.card { min-width:0; padding:28px; }
.content-hero .wrap { max-width:920px; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(36px,5vw,64px); padding:72px 0 104px; }
.prose { max-width:800px; }
.content-visual { width:min(100%,760px); }
.prose h2 { margin-top:1.35em; }
.aside { align-self:start; position:sticky; top:120px; }
.aside-card { margin-bottom:18px; }
.area-list, .link-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:30px; }
.area-list a, .link-list a { min-width:0; padding:18px; overflow-wrap:anywhere; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:34px; }
.gallery-grid figure { margin:0; aspect-ratio:4/3; overflow:hidden; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; }
.faq details { border-top:1px solid var(--line); padding:18px 0; }
.faq summary { cursor:pointer; font-weight:800; }
.cta-band { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:50px; padding:40px; background:var(--accent); color:var(--ink); }
.quote-shell { display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr); gap:34px; }
.quote-copy { align-self:start; position:sticky; top:120px; }
.quote-form { background:#ffffff; color:var(--ink); padding:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; min-width:0; }
.field.full { grid-column:1/-1; }
.field textarea { min-height:130px; resize:vertical; }
#lead-form-section { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(28px,5vw,58px); }
#lead-form-section > h2 { margin:0; color:var(--ink); }
#lead-form-section .lead-form { width:100%; min-width:0; padding:clamp(24px,3vw,36px); background:#ffffff; color:var(--ink); border-radius:20px; box-shadow:0 18px 50px rgba(15,31,42,.16); }
#lead-form-section .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#lead-form-section .form-field { display:grid; gap:7px; min-width:0; margin-bottom:14px; }
#lead-form-section .form-field > label { font-size:.88rem; font-weight:700; }
#lead-form-section .form-field > input:not([type="checkbox"]):not([type="radio"]), #lead-form-section .form-field > select, #lead-form-section .form-field > textarea { display:block; width:100%; min-width:0; border:1px solid #aeb9c0; border-radius:10px; padding:12px 14px; background:#ffffff; color:var(--ink); }
#lead-form-section .form-field > textarea { min-height:132px; resize:vertical; }
#lead-form-section .form-field > label:has(input[type="checkbox"],input[type="radio"]) { display:flex; align-items:flex-start; gap:10px; font-weight:500; line-height:1.45; }
.check { display:flex !important; align-items:flex-start; gap:10px; }
.calculator { display:none; margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.calculator.is-open { display:block; }
.calc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.calc-result { margin-top:16px; padding:18px; background:var(--surface); color:var(--ink); }
.process-showcase-grid { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:clamp(34px,7vw,90px); align-items:center; }
.process-video-card { position:relative; width:min(100%,430px); justify-self:center; overflow:hidden; }
.process-video-card video { width:100%; aspect-ratio:9/16; max-height:680px; object-fit:cover; }
.site-footer .footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,minmax(0,1fr)); gap:32px; }
.site-footer a { display:flex; align-items:center; width:fit-content; min-width:44px; min-height:44px; padding-block:9px; color:#ffffff !important; }
.footer-mark { width:96px; height:64px; object-fit:contain; background:#ffffff; margin-bottom:18px; }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); }
.quote-shell { color:#ffffff !important; }
.mobile-actions { display:none; }
.process-video-card > span { display:block; position:relative; padding:12px 16px; background:#020202 !important; color:#ffffff !important; font-weight:700; }

@media (max-width: 980px) {
  .intro-grid, .quote-shell, .content-layout, .process-showcase-grid, #lead-form-section { grid-template-columns:1fr; }
  .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .area-list, .link-list, .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quote-copy, .aside { position:static; }
}

@media (max-width: 694px) {
  html, body, main, .site-header, .site-header .wrap, .nav-shell, .content-layout, .content-layout > *, .process-video-card, .process-video-card video, .footer-grid, .quote-shell, .quote-form, .form-grid, .field { min-width:0 !important; max-width:100% !important; }
  body { padding-bottom:52px; }
  .wrap { width:min(var(--max),calc(100% - 32px)); }
  html, body, .site-header { width:100% !important; }
  .topbar .wrap { display:grid !important; grid-template-columns:1fr; gap:4px; padding-inline:16px; }
  .site-header .nav-shell { position:relative; display:grid !important; grid-template-columns:minmax(0,1fr) 44px; gap:12px; width:100%; padding-inline:16px; }
  .menu-toggle { display:inline-flex !important; align-items:center; justify-content:center; width:44px !important; height:44px !important; min-width:44px !important; min-height:44px !important; border:2px solid currentColor; }
  .nav-links { display:none !important; position:absolute; top:100%; left:16px; right:16px; z-index:120; grid-template-columns:1fr; gap:0; padding:10px; background:#020202; border:2px solid var(--accent); box-shadow:0 16px 36px rgba(0,0,0,.35); }
  .nav-links.is-open { display:grid !important; }
  .nav-links a { display:flex !important; width:100%; min-height:48px !important; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.16); color:#ffffff !important; }
  .nav-actions { display:none !important; }
  .section { padding:64px 0; }
  .card-grid, .area-list, .link-list, .gallery-grid, .form-grid, .calc-grid, #lead-form-section .form-row { grid-template-columns:1fr !important; }
  .content-layout { padding:50px 0 80px; }
  .quote-shell { padding:22px !important; }
  .quote-form { padding:20px; }
  .cta-band { display:block; padding:28px; }
  .cta-band .btn { margin-top:20px; }
  a[href], button, input:not([type="hidden"]), select, textarea, summary { min-height:44px !important; }
  a[href], summary { display:inline-flex !important; align-items:center; padding-block:10px !important; }
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea { min-height:44px !important; padding-block:10px !important; font-size:16px !important; }
  .breadcrumbs a { min-width:44px !important; flex:0 0 44px !important; justify-content:center; }
  .link-list a, .area-list a, .aside-card a { display:flex !important; }
  input[type="checkbox"], input[type="radio"] { width:44px !important; height:44px !important; min-width:44px !important; min-height:44px !important; }
  .site-footer .footer-grid { grid-template-columns:1fr !important; gap:18px; }
  .site-footer a { min-height:44px !important; padding-block:10px !important; }
  .footer-bottom { display:block; }
  .mobile-actions { position:fixed; left:0; right:0; bottom:0; z-index:140; display:grid !important; grid-template-columns:1fr 1fr; width:100%; background:#ffffff; border-top:2px solid var(--accent); box-shadow:0 -10px 30px rgba(0,0,0,.18); }
  .mobile-actions a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:50px !important; padding:12px; color:var(--ink) !important; font-weight:800; text-decoration:none; }
  .mobile-actions a:last-child { background:var(--accent); }
  .process-video-card video { display:block; width:100% !important; height:auto; }
  .cf-turnstile { max-width:100%; overflow:hidden; }
}

/* league-city-qa-evidence-guard-v1 */
:root{
  --ink:#071a2f;
  --surface:#edf6f8;
  --accent:#68c7dc;
  --line:rgba(7,26,47,.18);
  --max-content:1160px;
}
.topbar strong{color:#fff!important}
.brand-mark{width:72px!important;height:48px!important;object-fit:contain}
.footer-mark{width:112px!important;height:74px!important;object-fit:contain}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.media-grid figure{aspect-ratio:4/3;background:#edf6f8}
.media-grid img{display:block;width:100%;height:100%;object-fit:cover}
.content-hero{background:#071a2f!important;color:#fff!important}
.content-hero h1,.content-hero .section-lede,.content-hero .eyebrow{color:#fff!important}
.content-hero .breadcrumbs,.content-hero .breadcrumbs a{color:#bdebf4!important}
.aside-card{background:#edf6f8!important;color:#071a2f!important}
.aside-card h2,.aside-card h3,.aside-card p,.aside-card strong{color:#071a2f!important}
.quote-form,.quote-form h2,.quote-form h3,.quote-form p,.quote-form label,.quote-form span{color:#071a2f!important}
.quote-shell>*,.quote-form>*,.form-grid>*,.calc-grid>*,.field{min-width:0!important;max-width:100%!important}
.field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea{display:block;min-width:0!important;max-width:100%!important;color:#071a2f!important}
.cta-band{background:#68c7dc!important;color:#071a2f!important}
.cta-band h2,.cta-band p{color:#071a2f!important}
.mobile-actions a{color:#fff!important;background:#071a2f!important}
.mobile-actions a:last-child{color:#071a2f!important;background:#68c7dc!important}
@media(max-width:694px){
  .brand{min-height:48px!important}
  .menu-toggle{width:44px!important;height:44px!important}
  .media-grid{grid-template-columns:1fr}
  .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
  .faq summary{width:100%;min-height:48px!important}
}
@media(prefers-reduced-motion:reduce){
  .media-grid img{transition:none!important;transform:none!important}
}

/* league-city-final-qa-repair-v2 */
.cta-band .btn-ghost,.cta-band .btn-secondary{
  background:#071a2f!important;
  border-color:#071a2f!important;
  color:#fff!important;
}
@media(max-width:694px){
  .price-table,.minimums,.steps{grid-template-columns:1fr!important}
  .price-table,.price-table>*,.minimums>*,.steps>*{min-width:0!important;max-width:100%!important}
}

/* AGENTIC_OS_SOL_VISUAL_DESIGN_REPAIR_V4 */

/* AGENTIC_OS_SOL_VISUAL_DESIGN_REPAIR_V4:hero */

.factory-hero { position:relative; isolation:isolate; display:grid; align-items:end; min-height:clamp(620px,78vh,840px); overflow:hidden; background:var(--ink); }
.factory-hero .hero-video-wrap { position:absolute; inset:0; z-index:-3; }
.factory-hero .hero-video-wrap video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.factory-hero .hero-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(16,28,38,.92) 0%,rgba(56,10,67,.76) 48%,rgba(16,28,38,.25) 100%); }
.factory-hero .hero-content { position:relative; z-index:1; width:min(760px,100%); margin:0; padding-block:clamp(82px,12vw,150px); color:#fff; }
.factory-hero h1 { max-width:12ch; color:#fff; text-shadow:0 3px 24px rgba(0,0,0,.55); }
.factory-hero .section-lede { max-width:700px; color:rgba(255,255,255,.94); text-shadow:0 2px 16px rgba(0,0,0,.6); }
.factory-hero .hero-ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.factory-hero .btn-ghost { color:#fff; background:rgba(16,28,38,.36); }

/* The video-background family uses a separate DOM contract. */
.hero-video { position:relative; isolation:isolate; display:grid; align-items:center; min-height:clamp(620px,78vh,820px); overflow:hidden; background:var(--ink); }
.hero-video .hero-video-bg { position:absolute; inset:0; z-index:-2; width:100%; height:100%; }
.hero-video .hero-video-bg video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-video .hero-overlay { position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(0,18,59,.96) 0%,rgba(0,18,59,.8) 52%,rgba(0,18,59,.38) 100%); }
.hero-video .hero-content { position:relative; z-index:2; width:min(var(--max),calc(100% - 40px)); max-width:none; margin-inline:auto; padding-block:clamp(86px,11vw,140px); text-align:left; color:#fff; }
.hero-video .hero-content h1 { max-width:14ch; color:#fff; text-shadow:0 3px 24px rgba(0,0,0,.68); }
.hero-video .hero-content .section-lede { max-width:720px; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.72); }
.hero-video .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-video .hero-actions .btn { min-width:190px; box-shadow:0 12px 30px rgba(0,0,0,.26); }

/* The image-hero-with-process-video-lower family uses a different DOM contract. */
.hero-image-process { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.92fr); min-height:clamp(620px,76vh,780px); overflow:hidden; background:var(--ink); color:#fff; }
.hero-image-process .hero-media { grid-column:2; grid-row:1; position:relative; min-height:100%; overflow:hidden; background:var(--ink); }
.hero-image-process .hero-media img { width:100%; height:100%; min-height:620px; object-fit:cover; object-position:center top; transform:scale(1.03); transform-origin:center top; }
.hero-image-process .hero-media::after { background:linear-gradient(90deg,var(--ink) 0%,rgba(66,5,14,.42) 16%,transparent 42%); }
.hero-image-process .hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(16,28,38,.24)); }
.hero-image-process .hero-content { grid-column:1; grid-row:1; align-self:center; width:min(720px,100%); margin-left:max(20px,calc((100vw - var(--max))/2)); padding:clamp(72px,9vw,124px) clamp(34px,5vw,76px) clamp(72px,9vw,124px) 0; color:#fff; }
.hero-image-process .hero-content h1 { max-width:12ch; color:#fff; font-size:clamp(3rem,5.6vw,5.8rem); text-wrap:balance; }
.hero-image-process .hero-lede { max-width:680px; color:rgba(255,255,255,.92); font-size:clamp(1rem,1.35vw,1.18rem); }
.hero-image-process .eyebrow { color:rgba(255,255,255,.82); }
.hero-image-process .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 22px; }
.hero-image-process .btn-ghost { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.78); }
.hero-image-process .hero-content::after { content:"Free on-site quotes  •  Address-confirmed Houston-area service"; display:block; width:fit-content; max-width:100%; padding-top:14px; border-top:1px solid rgba(255,255,255,.38); color:rgba(255,255,255,.9); font:700 .78rem/1.45 Outfit,ui-sans-serif,system-ui,sans-serif; letter-spacing:.035em; }

/* AGENTIC_OS_SOL_VISUAL_DESIGN_REPAIR_V4:desktop-content */

@media (min-width:981px) {
  .content-hero .wrap { width:min(var(--max),calc(100% - 40px)); max-width:none; margin-inline:auto; }
  .content-layout { grid-template-columns:minmax(0,1fr) minmax(280px,320px); gap:clamp(34px,4vw,56px); align-items:start; }
  .content-layout .prose { width:100%; max-width:none; min-width:0; }
  .content-layout .content-visual { width:100%; }
  .content-layout > .prose:only-child { grid-column:1/-1; max-width:1040px; }
}

/* AGENTIC_OS_SOL_VISUAL_DESIGN_REPAIR_V4:mobile-footer-navigation */

@media (max-width:640px) {
  .site-footer .footer-grid > div { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; justify-items:start; }
  .site-footer a { display:flex !important; width:fit-content; max-width:100%; min-height:44px; padding:10px 0 !important; overflow-wrap:normal; word-break:normal; }
  .site-footer .footer-bottom span { display:block; margin-bottom:10px; }
  .factory-hero { min-height:680px; align-items:end; }
  .factory-hero .hero-content { width:100%; padding-block:76px 92px; }
  .factory-hero .hero-overlay { background:linear-gradient(0deg,rgba(16,28,38,.96) 0%,rgba(56,10,67,.72) 66%,rgba(16,28,38,.32) 100%); }
  .factory-hero .hero-ctas { display:grid; }
  .factory-hero .hero-ctas .btn { width:100%; }
  .hero-video { min-height:680px; align-items:end; }
  .hero-video .hero-overlay { background:linear-gradient(0deg,rgba(0,18,59,.98) 0%,rgba(0,18,59,.9) 62%,rgba(0,18,59,.54) 100%); }
  .hero-video .hero-content { width:calc(100% - 32px); padding-block:78px 92px; }
  .hero-video .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-video .hero-actions .btn { width:100%; background:#fff; color:var(--ink); border-color:#fff; }
  .hero-image-process { grid-template-columns:1fr; min-height:0; }
  .hero-image-process .hero-content { grid-column:1; grid-row:1; width:100%; margin:0; padding:58px 20px 52px; }
  .hero-image-process .hero-content h1 { font-size:clamp(2.55rem,12vw,4rem); }
  .hero-image-process .hero-actions { display:grid; }
  .hero-image-process .hero-actions .btn { width:100%; }
  .hero-image-process .hero-media { grid-column:1; grid-row:2; min-height:360px; }
  .hero-image-process .hero-media img { min-height:360px; object-position:center top; transform:none; }
  .hero-image-process .hero-media::after { background:linear-gradient(0deg,rgba(16,28,38,.28),transparent 55%); }
}


/* league-city-sol-visual-repair-v3 */
.hero-split{grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);min-height:680px}
.hero-split>.hero-split-image{min-height:680px;background:#071a2f}
.hero-split>.hero-split-image video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-split>.hero-split-image video[data-factory-video-viewport="mobile"]{display:none}
.hero-split>.hero-split-image::after{z-index:1;background:linear-gradient(135deg,rgba(7,26,47,.34),rgba(7,26,47,.05))}
.hero-split>.hero-split-content{padding-inline:clamp(42px,6vw,92px);background:linear-gradient(145deg,#fff 0%,#edf6f8 100%)}
.hero-split>.hero-split-content h1{font-size:clamp(3.25rem,5.2vw,5.4rem);max-width:10ch}

@media(min-width:981px){
  .home-editorial-layout{grid-template-columns:minmax(0,1fr) 270px;gap:48px}
  .home-editorial-layout>.prose,.services-hub-layout>.prose{max-width:none}
  .editorial-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr);gap:32px;align-items:center;margin:0 0 58px;padding:0 0 58px;border-bottom:1px solid rgba(7,26,47,.14)}
  .editorial-feature .content-visual{grid-column:1;grid-row:1;margin:0;width:100%;height:100%;min-height:330px}
  .editorial-feature .content-visual img{height:100%;min-height:330px;object-fit:cover}
  .editorial-feature .editorial-copy{grid-column:2;grid-row:1;padding:28px 0}
  .editorial-feature-reverse .content-visual{grid-column:2}
  .editorial-feature-reverse .editorial-copy{grid-column:1}
  .editorial-feature h2{margin:0 0 16px;padding-top:14px;border-top:5px solid var(--storm-cyan);max-width:14ch}

  .services-hub-layout{grid-template-columns:minmax(0,1fr) 270px;gap:48px}
  .service-feature{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:30px;align-items:center;margin:44px 0;padding:28px;background:#fff;box-shadow:0 18px 50px rgba(7,26,47,.09);border-top:5px solid var(--storm-blue)}
  .service-feature .content-visual{grid-column:1;grid-row:1;margin:0;width:100%;height:100%;min-height:270px}
  .service-feature .content-visual img{height:100%;min-height:270px;object-fit:cover}
  .service-feature .service-feature-copy{grid-column:2;grid-row:1;padding:12px 4px}
  .service-feature-reverse .content-visual{grid-column:2}
  .service-feature-reverse .service-feature-copy{grid-column:1}
  .service-feature h3{margin:0 0 12px;font-size:clamp(1.55rem,2.2vw,2.15rem);color:var(--storm-blue)}
  .service-feature:nth-of-type(3n+2){background:var(--storm-mist);border-top-color:var(--storm-cyan)}

  .guide-photo-mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,230px);gap:14px;margin-bottom:48px}
  .guide-photo-mosaic .content-visual{width:100%;height:100%;margin:0}
  .guide-photo-mosaic .content-visual:first-child{grid-row:1/3}
  .guide-photo-mosaic img{width:100%;height:100%;object-fit:cover}
  .guide-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide-index-grid a{min-height:190px;display:block;padding:28px}
  .guide-index-grid strong{display:block;font-size:1.15rem;line-height:1.25;margin-bottom:12px;color:var(--storm-blue)}
  .guide-index-grid small{display:block;line-height:1.6;color:#344760}
  .map-section{padding-block:70px}
  .map-frame{min-height:380px}
}

@media(max-width:980px){
  .hero-split{grid-template-columns:1fr;min-height:0}
  .hero-split>.hero-split-image{min-height:420px;order:2}
  .hero-split>.hero-split-content{order:1}
  .editorial-feature,.service-feature{margin:0 0 42px;padding:0 0 38px;border-bottom:1px solid rgba(7,26,47,.14)}
  .editorial-feature .content-visual,.service-feature .content-visual{margin:0 0 24px;width:100%}
  .service-feature h3{font-size:1.6rem}
  .guide-photo-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:34px}
  .guide-photo-mosaic .content-visual{margin:0;width:100%}
  .guide-index-grid{display:grid;grid-template-columns:1fr!important;gap:16px}
  .guide-index-grid a{display:block!important;min-height:0!important;padding:22px!important;border-left:5px solid var(--storm-cyan)}
  .guide-index-grid strong{display:block;font-size:1.08rem;line-height:1.3;margin-bottom:10px;color:var(--storm-blue)}
  .guide-index-grid small{display:block;font-size:.94rem;line-height:1.6;color:#344760}
}

@media(max-width:640px){
  .hero-split>.hero-split-image{min-height:320px;order:2}
  .hero-split>.hero-split-image video[data-factory-video-viewport="desktop"]{display:none}
  .hero-split>.hero-split-image video[data-factory-video-viewport="mobile"]{display:block}
  .hero-split>.hero-split-content{order:1;padding:46px 20px 38px}
  .hero-split>.hero-split-content h1{font-size:clamp(2.55rem,12vw,3.55rem)}
  .guide-photo-mosaic{grid-template-columns:1fr 1fr}
  .guide-photo-mosaic figure{aspect-ratio:1/1}
  .guide-photo-mosaic figcaption{font-size:.72rem;padding:9px}
}

@media(prefers-reduced-motion:reduce){
  .hero-split video{display:none!important}
  .hero-split>.hero-split-image{background:center/cover no-repeat url('/assets/approved-brand/crew-uniform.webp')}
}
