:root{
  --tx-navy:#071b33;
  --tx-blue:#002868;
  --tx-blue-2:#0b4b78;
  --tx-red:#bf0a30;
  --tx-red-dark:#951128;
  --tx-cream:#f7f2e8;
  --tx-sand:#e7d7bd;
  --tx-gold:#c59a55;
  --tx-ink:#142638;
  --tx-muted:#5c6d7d;
  --tx-line:#d9e2e8;
  --tx-white:#fff;
  --shadow-sm:0 10px 28px rgba(7,27,51,.08);
  --shadow-md:0 18px 48px rgba(7,27,51,.13);
  --shadow-lg:0 30px 70px rgba(0,0,0,.23);
  --radius:22px;
  --radius-sm:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.texas-site{
  margin:0;
  color:var(--tx-ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(191,10,48,.04), transparent 20rem),
    radial-gradient(circle at 92% 22%, rgba(0,40,104,.05), transparent 24rem),
    #f7f9fb;
  font-family:"Plus Jakarta Sans",Arial,sans-serif;
  line-height:1.68;
  text-rendering:optimizeLegibility;
}
body.texas-site::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:url('/images/star-pattern.svg');
  background-size:150px 150px;
  z-index:-1;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}

.flag-bar{height:7px;display:grid;grid-template-columns:28% 36% 36%;position:relative;z-index:1001}
.flag-bar span:nth-child(1){background:var(--tx-blue)}
.flag-bar span:nth-child(2){background:#fff}
.flag-bar span:nth-child(3){background:var(--tx-red)}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(7,27,51,.1)!important;
  box-shadow:0 4px 18px rgba(7,27,51,.05);
  backdrop-filter:blur(14px);
}
.nav-shell{
  width:min(1180px,calc(100% - 40px));
  min-height:78px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{display:inline-flex;align-items:center;gap:12px;line-height:1}
.brand-mark{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--tx-blue),#0f4f83);
  color:#fff;font-size:19px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 8px 18px rgba(0,40,104,.18);
  border:2px solid #fff;outline:1px solid rgba(7,27,51,.12)
}
.brand-copy{display:flex;flex-direction:column;gap:5px}
.brand-copy strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;letter-spacing:.01em;color:var(--tx-navy);font-weight:400}
.brand-copy span{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--tx-red);font-weight:800}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav a{font-size:.92rem;font-weight:700;color:#294156;position:relative}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--tx-red);transition:.2s ease}
.site-nav a:not(.nav-cta):hover::after{right:0}
.nav-cta{
  background:linear-gradient(135deg,var(--tx-blue),#0d4f83)!important;
  color:#fff!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  box-shadow:0 10px 22px rgba(0,40,104,.2);
  transition:transform .2s ease,box-shadow .2s ease
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,40,104,.26)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--tx-line);border-radius:12px;background:#fff;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--tx-navy);margin:5px 0;border-radius:2px}

.page-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(105deg,rgba(5,22,43,.98) 0%,rgba(5,30,55,.94) 48%,rgba(0,40,104,.78) 100%),
    url('/images/dallas-city.jpg') center/cover no-repeat!important;
  padding:78px 0 86px!important;
}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(191,10,48,.22) 0 3px,transparent 3px) 8% 0/260px 100% no-repeat,
    radial-gradient(circle at 84% 14%,rgba(255,255,255,.14),transparent 16rem);
}
.page-hero::after{
  content:"★";position:absolute;right:-55px;bottom:-140px;font-size:390px;line-height:1;color:rgba(255,255,255,.045);font-family:Arial,sans-serif;transform:rotate(-8deg)
}
.austin-hero{background-image:linear-gradient(105deg,rgba(5,22,43,.98),rgba(5,30,55,.92) 50%,rgba(0,40,104,.68)),url('/images/austin-capitol.png')!important}
.dallas-hero{background-image:linear-gradient(105deg,rgba(5,22,43,.98),rgba(5,30,55,.92) 50%,rgba(0,40,104,.68)),url('/images/dallas-sunset.jpg')!important}
.houston-hero{background-image:linear-gradient(105deg,rgba(5,22,43,.98),rgba(5,30,55,.92) 50%,rgba(0,40,104,.68)),url('/images/houston-city.jpg')!important}
.san-antonio-hero{background-image:linear-gradient(105deg,rgba(5,22,43,.98),rgba(5,30,55,.92) 50%,rgba(0,40,104,.68)),url('/images/san-antonio-city.jpg')!important}
.guide-hero{background-image:linear-gradient(105deg,rgba(5,22,43,.99),rgba(5,30,55,.95) 55%,rgba(0,40,104,.76)),url('/images/dallas-city.jpg')!important}
.home-hero{padding-top:86px!important;padding-bottom:98px!important}

.hero-shell,.page-hero .hero-grid{
  position:relative;z-index:2;
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:center;
  gap:56px!important;
}
.hero-copy{max-width:690px}
.breadcrumb{margin:0 0 18px!important;color:rgba(255,255,255,.76)!important;font-size:.86rem!important}
.breadcrumb a{color:#fff!important}
.hero-kicker,.hero-eyebrow{
  display:inline-flex!important;align-items:center;gap:10px!important;
  margin:0 0 22px!important;padding:8px 14px!important;
  border:1px solid rgba(255,255,255,.26)!important;border-radius:999px!important;
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;
  backdrop-filter:blur(8px)
}
.hero-kicker img,.hero-eyebrow img{width:28px!important;height:19px!important;border-radius:3px;object-fit:cover}
.page-hero h1{
  margin:0 0 20px!important;
  color:#fff!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  font-size:clamp(2.8rem,5vw,4.95rem)!important;
  line-height:1.01!important;
  letter-spacing:-.025em!important;
  font-weight:400!important;
  text-wrap:balance;
}
.page-hero p:not(.breadcrumb):not(.hero-kicker):not(.hero-eyebrow){
  max-width:700px;
  margin:0 0 28px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:1.06rem!important;
}
.hero-buttons{display:flex!important;gap:13px!important;flex-wrap:wrap!important;margin-top:28px!important}
.btn-primary,.btn-secondary{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:50px;padding:13px 22px!important;border-radius:999px!important;
  font-weight:800!important;font-size:.92rem!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important
}
.btn-primary{background:#fff!important;color:var(--tx-navy)!important;box-shadow:0 12px 26px rgba(0,0,0,.17)!important}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.22)!important}
.btn-secondary{border:1.5px solid rgba(255,255,255,.72)!important;color:#fff!important;background:rgba(255,255,255,.05)!important}
.btn-secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.12)!important}

.hero-visual{position:relative;min-width:0}
.hero-image-frame{
  position:relative;overflow:hidden;border-radius:28px;
  border:1px solid rgba(255,255,255,.35);box-shadow:var(--shadow-lg);
  transform:rotate(1.2deg);
  background:#fff
}
.hero-image-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);pointer-events:none}
.hero-image-frame img{width:100%;height:390px;object-fit:cover}
.hero-city-badge{
  position:absolute;left:18px;bottom:18px;
  display:inline-flex;align-items:center;gap:8px;
  max-width:calc(100% - 36px);padding:9px 14px;border-radius:999px;
  background:rgba(7,27,51,.84);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.03em;
  border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px)
}
.hero-mini-card{
  position:absolute;right:-26px;bottom:-28px;width:150px;height:150px;
  display:grid;place-items:center;padding:18px;border-radius:24px;background:#fff;
  box-shadow:0 18px 46px rgba(0,0,0,.25);transform:rotate(-5deg)
}
.hero-mini-card img{width:100%;height:100%;object-fit:contain}
.home-hero-side{position:relative;display:grid;gap:18px}
.home-photo-stack{position:relative;height:270px;margin:0 8px 4px 26px}
.home-photo-stack img{position:absolute;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.32);box-shadow:var(--shadow-lg)}
.home-photo-stack .photo-main{inset:0 0 20px 55px;width:calc(100% - 55px);height:250px}
.home-photo-stack .photo-small{left:0;bottom:0;width:170px;height:125px;transform:rotate(-4deg)}
.photo-seal{position:absolute;right:18px;bottom:18px;width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--tx-red);border:5px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.3);font-size:23px;color:#fff;transform:rotate(4deg);z-index:3;padding-top:2px}
.photo-seal small{display:block;font-size:.46rem;line-height:1.08;text-transform:uppercase;letter-spacing:.07em;padding:0 10px;max-width:76px}
.home-hero .hero-card{
  background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.23)!important;
  border-radius:22px!important;padding:24px 26px!important;box-shadow:none!important;backdrop-filter:blur(12px)
}
.home-hero .hero-card h3{color:#fff!important;margin:0 0 12px!important;font-size:1.1rem!important}
.home-hero .hero-card ul{margin:0!important;padding-left:20px!important;color:rgba(255,255,255,.83)!important;font-size:.88rem}
.home-hero .hero-card .link-arrow{color:#fff!important}

.home-city-gallery{position:relative;z-index:3;margin-top:-44px;padding:0 0 30px!important;background:transparent!important}
.gallery-shell{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.05fr 1fr 1fr 1.05fr;gap:14px}
.gallery-card{position:relative;min-height:205px;overflow:hidden;border-radius:20px;box-shadow:var(--shadow-md);border:4px solid #fff}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(5,22,43,.9) 100%)}
.gallery-card span{position:absolute;left:17px;right:17px;bottom:15px;z-index:2;color:#fff}
.gallery-card strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:1.45rem;font-weight:400}
.gallery-card small{display:block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.gallery-card:hover img{transform:scale(1.05)}

.content-section{padding:76px 0!important;position:relative}
.content-section.soft-section{background:linear-gradient(180deg,#eef4f8 0%,#f5f8fa 100%)!important;border-top:1px solid rgba(7,27,51,.06);border-bottom:1px solid rgba(7,27,51,.06)}
.content-section.paper-section{background:transparent!important}
.content-shell,.container{
  width:min(980px,calc(100% - 40px));
  margin-left:auto!important;margin-right:auto!important
}
.content-shell.wide-shell,.content-section .wide-shell,.footer-shell,.footer-legal{width:min(1180px,calc(100% - 40px))}
.paper-section>.content-shell,
.paper-section>.container:not(.wide-shell){
  background:rgba(255,255,255,.95);border:1px solid rgba(7,27,51,.09);border-radius:var(--radius);padding:44px 48px;box-shadow:var(--shadow-sm)
}
.content-section h2,.section-title,.section-heading{
  margin:0 0 16px!important;color:var(--tx-navy)!important;
  font-family:"DM Serif Display",Georgia,serif!important;font-size:clamp(2rem,3.3vw,3.15rem)!important;
  font-weight:400!important;line-height:1.08!important;letter-spacing:-.02em!important
}
.content-section h2::after,.section-title::after,.section-heading::after{
  content:""!important;display:block!important;width:80px!important;height:4px!important;margin:15px 0 0!important;border-radius:99px!important;
  background:linear-gradient(90deg,var(--tx-blue) 0 38%,#fff 38% 62%,var(--tx-red) 62%)!important;
  box-shadow:0 0 0 1px rgba(7,27,51,.12)
}
.content-section .section-title{text-align:left!important}
.content-section .section-subtitle,.section-lead{
  max-width:820px!important;margin:0 0 34px!important;color:var(--tx-muted)!important;font-size:1.04rem!important;text-align:left!important
}
.content-section p{color:#475b6c;margin:0 0 18px}
.content-section li{color:#405466;margin-bottom:8px}
.content-section ul{padding-left:22px}
.content-section a:not(.btn-primary):not(.btn-secondary){color:var(--tx-blue-2);font-weight:700}
.link-arrow{display:inline-flex!important;align-items:center;gap:7px;margin-top:16px!important;color:var(--tx-blue)!important;font-weight:800!important}
.link-arrow:hover{color:var(--tx-red)!important}

.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.info-card,.card,.faq-card,.step-card,.split-box,.program-block,.mini-card,.faq-item,.toc{
  background:#fff!important;border:1px solid rgba(7,27,51,.1)!important;border-radius:18px!important;
  box-shadow:var(--shadow-sm)!important
}
.info-card{padding:26px 26px 24px;position:relative;overflow:hidden}
.info-card::before{content:"★";position:absolute;right:14px;top:8px;color:rgba(191,10,48,.08);font-size:46px}
.info-card h3,.info-card h4{margin:0 0 10px;color:var(--tx-navy);font-size:1.1rem;line-height:1.35}
.info-card p:last-child{margin-bottom:0}

.grid-2,.grid-3,.grid-4{display:grid!important;gap:20px!important}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.card,.faq-card,.step-card,.split-box{padding:28px!important;position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.card::before,.faq-card::before,.step-card::before,.split-box::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--tx-blue),var(--tx-red))}
.card:hover,.faq-card:hover,.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)!important}
.card h3,.faq-card h3,.step-card h3,.split-box h3{margin:0 0 11px!important;color:var(--tx-navy)!important;font-size:1.13rem!important;line-height:1.35}
.card p,.faq-card p,.step-card p,.split-box p{color:#526576!important;margin:0!important}
.split-section{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
.step-number{width:46px!important;height:46px!important;border-radius:50%!important;display:grid!important;place-items:center!important;margin:0 0 18px!important;background:var(--tx-blue)!important;color:#fff!important;font-weight:800!important;box-shadow:0 0 0 5px rgba(191,10,48,.11)!important}

.city-card{padding:0!important;overflow:hidden;border:none!important;border-radius:22px!important;box-shadow:var(--shadow-md)!important;background:#fff!important;transition:transform .25s ease}
.city-card:hover{transform:translateY(-5px)}
.city-media{position:relative;min-height:270px!important;background-size:cover!important;background-position:center!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:24px!important}
.city-media::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,51,.02),rgba(7,27,51,.88))!important}
.city-media h3{position:relative;color:#fff!important;font-family:"DM Serif Display",Georgia,serif!important;font-size:2rem!important;font-weight:400!important;margin:0!important;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.city-media h3::after{display:none!important}
.city-body{padding:24px 26px 28px!important}

.jump-bar{position:sticky;top:85px;z-index:40;background:rgba(255,255,255,.94);border-bottom:1px solid var(--tx-line);backdrop-filter:blur(10px);padding:12px 0}
.jump-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.jump-pills a{padding:9px 14px;border-radius:999px;background:#edf3f7;color:var(--tx-blue)!important;font-size:.82rem;font-weight:800}
.jump-pills a:hover{background:var(--tx-blue);color:#fff!important}
.eyebrow{display:inline-flex!important;padding:7px 11px!important;border-radius:999px!important;background:rgba(0,40,104,.08)!important;color:var(--tx-blue)!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:.72rem!important;font-weight:800!important;margin-bottom:14px!important}
.program-block{padding:34px!important}
.sub-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin:22px 0!important}
.mini-card{padding:22px!important;box-shadow:none!important;background:#fbfcfd!important}
.mini-card h4{margin:0 0 9px!important;color:var(--tx-navy)!important;font-size:1rem!important}
.fact-list{list-style:none;padding:0!important;margin:22px 0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.fact-list li{position:relative;margin:0!important;padding:14px 16px 14px 38px;border:1px solid rgba(7,27,51,.08);border-radius:12px;background:#fff}
.fact-list li::before{content:"★";position:absolute;left:14px;top:13px;color:var(--tx-red);font-size:.8rem}
.note{margin-top:24px!important;padding:18px 20px!important;border-left:4px solid var(--tx-gold)!important;border-radius:0 12px 12px 0!important;background:#f8f2e7!important;color:#66543d!important}
.table-scroll{overflow-x:auto;border-radius:18px;box-shadow:var(--shadow-sm)}
.compare-table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}
.compare-table th,.compare-table td{padding:16px 18px;border-bottom:1px solid var(--tx-line);text-align:left;vertical-align:top}
.compare-table thead th{background:var(--tx-navy);color:#fff}
.compare-table tbody th{width:24%;background:#eef4f8;color:var(--tx-navy)}
.compare-table tr:last-child th,.compare-table tr:last-child td{border-bottom:0}

.toc{padding:26px!important;margin:0 0 28px!important}
.toc h2{font-size:1.55rem!important}
.toc ul{columns:2;column-gap:28px;margin:0;padding-left:20px}
.toc li{break-inside:avoid;margin-bottom:9px}
.faq-item{padding:28px 30px!important;margin:0 0 18px!important;scroll-margin-top:120px}
.faq-item h2{font-family:"Plus Jakarta Sans",Arial,sans-serif!important;font-size:1.18rem!important;font-weight:800!important;letter-spacing:0!important;line-height:1.35!important}
.faq-item h2::after{display:none!important}

.cta-section{padding:76px 0!important;background:transparent!important}
.cta-panel{
  position:relative;overflow:hidden;
  width:min(1120px,calc(100% - 40px))!important;
  margin:auto!important;padding:60px 44px!important;border-radius:28px!important;text-align:center;
  color:#fff!important;
  background:
    linear-gradient(110deg,rgba(5,22,43,.94),rgba(0,40,104,.82)),
    url('/images/texas-sign.jpg') center 38%/cover no-repeat!important;
  box-shadow:var(--shadow-lg)
}
.cta-panel::before{content:"★";position:absolute;left:-18px;top:-74px;font-size:250px;color:rgba(255,255,255,.06)}
.cta-panel h2{position:relative;margin:0 0 15px!important;color:#fff!important;font-family:"DM Serif Display",Georgia,serif!important;font-size:clamp(2.15rem,4vw,3.45rem)!important;font-weight:400!important;line-height:1.05!important}
.cta-panel p{position:relative;max-width:760px;margin:0 auto 24px!important;color:rgba(255,255,255,.84)!important}
.cta-buttons,.cta-panel .hero-buttons{position:relative;justify-content:center!important;margin-top:24px!important}

.continue-section .link-grid{list-style:none!important;padding:0!important;margin:28px 0 0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.continue-section .link-grid li{margin:0!important}
.continue-section .link-grid a{display:block;padding:16px 18px;border-radius:13px;background:#fff;border:1px solid rgba(7,27,51,.1);box-shadow:0 6px 16px rgba(7,27,51,.05);color:var(--tx-navy)!important}
.continue-section .link-grid a:hover{border-color:rgba(191,10,48,.35);transform:translateY(-2px)}

.texas-photo-ribbon{display:grid!important;grid-template-columns:repeat(4,1fr)!important;padding:0!important;background:var(--tx-navy)!important}
.ribbon-tile{position:relative;height:210px;overflow:hidden}
.ribbon-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ribbon-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,51,.08),rgba(7,27,51,.78))}
.ribbon-tile span{position:absolute;left:20px;bottom:16px;z-index:2;color:#fff;font-family:"DM Serif Display",Georgia,serif;font-size:1.45rem}
.ribbon-tile:hover img{transform:scale(1.06)}

.site-footer{position:relative;margin:0!important;padding:105px 0 34px!important;background:var(--tx-navy)!important;color:#cfdae3!important;overflow:hidden}
.footer-skyline{position:absolute;left:0;right:0;top:0;height:112px;background:url('/images/texas-skyline-panorama.svg') center top/cover no-repeat;opacity:.95}
.site-footer::before{content:"";position:absolute;inset:110px 0 0;background:radial-gradient(circle at 16% 34%,rgba(191,10,48,.16),transparent 21rem),radial-gradient(circle at 88% 14%,rgba(197,154,85,.11),transparent 20rem);pointer-events:none}
.footer-shell{position:relative;margin:auto;display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:50px;padding:0 0 32px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:"DM Serif Display",Georgia,serif;font-size:1.65rem}
.footer-brand span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--tx-red);font-family:Arial;font-size:.85rem}
.footer-brand-block p{max-width:430px}
.powered{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#9eb0c0!important}
.site-footer h3{margin:0 0 14px;color:#fff;font-size:.92rem;text-transform:uppercase;letter-spacing:.12em}
.footer-links{display:grid;gap:8px}
.footer-links a{color:#c8d5df!important;font-size:.9rem}
.footer-links a:hover{color:#fff!important}
.footer-legal{position:relative;margin:26px auto 0;font-size:.77rem;line-height:1.6;color:#91a4b5}
.footer-legal p{margin:0}

@media (max-width:1050px){
  .site-nav{gap:15px}.site-nav a{font-size:.84rem}.nav-cta{padding:10px 14px!important}
  .hero-shell,.page-hero .hero-grid{grid-template-columns:1fr .82fr!important;gap:36px!important}
  .home-photo-stack{height:240px}.home-photo-stack .photo-main{height:220px}.home-photo-stack .photo-small{width:145px;height:110px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-shell{grid-template-columns:repeat(2,1fr)}
  .gallery-card{min-height:190px}
  .fact-list{grid-template-columns:1fr}
}

@media (max-width:820px){
  .nav-shell{min-height:70px}
  .menu-toggle{display:block}
  .site-nav{position:absolute;left:20px;right:20px;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--tx-line);box-shadow:var(--shadow-md)}
  .site-nav.is-open{display:flex}
  .site-nav a{padding:12px 10px}.site-nav a::after{display:none}.nav-cta{text-align:center;margin-top:6px}
  .page-hero{padding:64px 0 74px!important}
  .hero-shell,.page-hero .hero-grid{grid-template-columns:1fr!important;gap:38px!important}
  .hero-copy{max-width:none}
  .hero-image-frame img{height:330px}
  .home-hero-side{max-width:620px}
  .home-photo-stack{margin-left:0}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .split-section,.info-grid,.sub-grid{grid-template-columns:1fr!important}
  .footer-shell{grid-template-columns:1fr 1fr;gap:34px}.footer-brand-block{grid-column:1/-1}
  .texas-photo-ribbon{grid-template-columns:repeat(2,1fr)!important}.ribbon-tile{height:180px}
  .continue-section .link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  .nav-shell,.hero-shell,.page-hero .hero-grid,.gallery-shell,.content-shell,.container,.content-shell.wide-shell,.content-section .wide-shell,.footer-shell,.footer-legal{width:min(100% - 28px,1180px)!important}
  .brand-mark{width:38px;height:38px}.brand-copy strong{font-size:1.35rem}.brand-copy span{font-size:.64rem}
  .page-hero h1{font-size:clamp(2.35rem,12vw,3.35rem)!important}
  .page-hero p:not(.breadcrumb):not(.hero-kicker):not(.hero-eyebrow){font-size:.98rem!important}
  .hero-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}
  .hero-image-frame img{height:260px}.hero-mini-card{width:108px;height:108px;right:-4px;bottom:-18px;padding:12px}
  .home-photo-stack{height:220px}.home-photo-stack .photo-main{left:32px;width:calc(100% - 32px);height:200px}.home-photo-stack .photo-small{width:125px;height:96px}.photo-seal{width:88px;height:88px;right:8px;bottom:12px;font-size:18px;border-width:4px}.photo-seal small{font-size:.38rem;line-height:1.05;padding:0 8px;max-width:62px}
  .home-hero .hero-card{padding:20px!important}
  .home-city-gallery{margin-top:-28px}.gallery-shell{grid-template-columns:1fr 1fr;gap:10px}.gallery-card{min-height:150px;border-width:3px}.gallery-card small{display:none}
  .content-section{padding:58px 0!important}
  .paper-section>.content-shell,.paper-section>.container:not(.wide-shell){padding:30px 24px}
  .content-section h2,.section-title,.section-heading{font-size:2rem!important}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}
  .card,.faq-card,.step-card,.split-box,.program-block,.faq-item,.toc{padding:24px!important}
  .toc ul{columns:1}
  .continue-section .link-grid{grid-template-columns:1fr}
  .cta-panel{width:calc(100% - 28px)!important;padding:46px 24px!important;border-radius:22px!important}
  .texas-photo-ribbon{grid-template-columns:1fr 1fr!important}.ribbon-tile{height:145px}.ribbon-tile span{left:14px;bottom:10px;font-size:1.1rem}
  .site-footer{padding-top:88px!important}.footer-shell{grid-template-columns:1fr}.footer-brand-block{grid-column:auto}
}
