/* dfwreviews, design D "Texas big sky" (approved 2026-11-11). Shared tokens, frame, nav, footer and parts. */
@font-face{font-family:"Sofia Cond";src:url(/assets/fonts/sofiasans-cond.woff2) format("woff2");font-weight:100 1000;font-display:swap}
@font-face{font-family:"Overpass";src:url(/assets/fonts/overpass.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --glory:#00205B;--glory-h:#0B2E70;--bonnet:#354D8B;--bonnet-l:#5C79BD;--sky:#BBDBF3;--wash:#E4F1FA;
  --red:#BF0A30;--red-h:#A20829;--conc:#CED2D7;--ground:#F3F4F5;--hair:#DDE1E6;
  --ink:#00153B;--text:#1E2D4A;--muted:#58627A;--prairie:#46592F;--prairie-t:#E3EBD6;
  --disp:"Sofia Cond","Arial Narrow",system-ui,sans-serif;--body:"Overpass",system-ui,sans-serif;
  --max:1240px;--pad:clamp(20px,4vw,48px);--sec:clamp(84px,9vw,120px);
  --r:28px;--r-in:14px;
  --sh-panel:0 1px 2px rgba(0,21,59,.08),0 18px 50px rgba(0,21,59,.16);
  --sh-obj:0 1px 2px rgba(0,21,59,.06),0 12px 34px rgba(0,21,59,.13);
  --sh-soft:0 2px 14px rgba(0,21,59,.06);
  --ease:cubic-bezier(.22,.8,.26,1);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:92px;-webkit-text-size-adjust:100%}
body{font:400 17px/1.65 var(--body);color:var(--text);background:#fff;font-variant-numeric:lining-nums tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:var(--bonnet);text-underline-offset:2px}
ul,ol{padding:0;list-style:none}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:var(--glory);padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.wrap{max-width:calc(var(--max) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.sec{padding:var(--sec) 0}
.wrap.sec{padding:var(--sec) var(--pad)}
.h2{font:900 clamp(36px,4.6vw,58px)/.92 var(--disp);letter-spacing:-.9px;text-transform:uppercase;color:var(--glory);text-wrap:balance}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.sec-head .meta{font:800 13px/1.2 var(--disp);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.more{font:900 14px/1 var(--disp);letter-spacing:1.6px;text-transform:uppercase;color:var(--bonnet);text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.more::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url(/assets/i/arrow.svg) center/contain no-repeat;mask:url(/assets/i/arrow.svg) center/contain no-repeat;transition:transform .25s var(--ease)}
.more:hover::after{transform:translateX(3px)}
.cap,.photo-credit{font:500 12px/1.45 var(--body);color:var(--muted)}
.photo-credit a{color:inherit}

/* nav: compact capsule, links grouped in a centred pill; tinted glass that never turns white */
.nav{position:fixed;z-index:50;top:12px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 24px));height:60px;border-radius:999px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:0 8px 0 18px;color:#fff;background:rgba(0,32,91,.34);backdrop-filter:blur(12px) saturate(1.25);-webkit-backdrop-filter:blur(12px) saturate(1.25);box-shadow:inset 0 0 0 1px rgba(187,219,243,.24);transition:background-color .35s var(--ease),box-shadow .35s var(--ease),top .35s var(--ease)}
.nav.is-solid,.no-hero .nav{top:10px;background:rgba(0,32,91,.8);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 10px 30px rgba(0,21,59,.28),inset 0 0 0 1px rgba(187,219,243,.26)}
.brand{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;color:#fff;text-decoration:none;line-height:1;justify-self:start;min-width:0}
.brand img{grid-row:span 2;width:30px;height:29px}
.brand b{font:900 23px/1 var(--disp);letter-spacing:-.2px}
.brand i{font-style:normal;color:var(--sky)}
.brand small{font:700 10.5px/1 var(--disp);letter-spacing:2.2px;text-transform:uppercase;opacity:.86;margin-top:4px;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(0,21,59,.32);box-shadow:inset 0 0 0 1px rgba(187,219,243,.22)}
.nav-links a{display:block;padding:10px 13px 9px;border-radius:999px;color:#fff;text-decoration:none;font:800 14px/1 var(--disp);letter-spacing:.9px;text-transform:uppercase;white-space:nowrap;transition:background-color .25s}
.nav-links a:hover{background:rgba(187,219,243,.18)}
.nav .how{justify-self:end;background:var(--sky);color:var(--glory);padding:12px 16px 11px;border-radius:999px;font:900 14px/1 var(--disp);letter-spacing:1px;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:box-shadow .25s,background-color .25s}
.nav .how::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url(/assets/i/arrow.svg) center/contain no-repeat;mask:url(/assets/i/arrow.svg) center/contain no-repeat}
.nav .how:hover{background:#fff;box-shadow:0 0 0 3px rgba(187,219,243,.45)}
.menu{display:none;justify-self:end}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.menu summary::-webkit-details-marker{display:none}
.menu summary::before{content:"";width:20px;height:20px;background:#fff;-webkit-mask:url(/assets/i/menu.svg) center/contain no-repeat;mask:url(/assets/i/menu.svg) center/contain no-repeat}
.menu[open] summary::before{-webkit-mask-image:url(/assets/i/x.svg);mask-image:url(/assets/i/x.svg)}
.menu-sheet{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 24px));background:#fff;border-radius:22px;box-shadow:var(--sh-panel);padding:10px;color:var(--glory)}
.menu-sheet a{display:flex;align-items:center;padding:14px;border-radius:12px;color:var(--glory);text-decoration:none;font:800 18px/1 var(--disp);letter-spacing:.6px;text-transform:uppercase}
.menu-sheet a:hover{background:var(--wash)}
.menu-sheet .how-m{background:var(--glory);color:#fff;margin-top:6px;justify-content:center}

/* Google rating stars: Google Maps' #FBBC04 over grey, filled to the half star */
.gs{position:relative;display:inline-flex;align-items:center;--w:70px}
.gs::before{content:"";flex:none;width:70px;height:14px;margin-right:6px;background:url(/assets/i/star-g.svg) repeat-x 0 0/14px 14px}
.gs::after{content:"";position:absolute;left:0;top:50%;width:var(--w);height:14px;transform:translateY(-50%);background:url(/assets/i/star-y.svg) repeat-x 0 0/14px 14px}
.gs.s50{--w:70px}.gs.s45{--w:63px}.gs.s40{--w:56px}.gs.s35{--w:49px}.gs.s30{--w:42px}.gs.s25{--w:35px}.gs.s20{--w:28px}.gs.s0{--w:0}

/* fam cards: home bento and related lists */
.fam{position:relative;border-radius:var(--r);overflow:hidden;background:var(--glory);color:#fff;box-shadow:var(--sh-obj);isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end}
.fam>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.fam::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,32,91,0) 6%,rgba(0,32,91,.72) 36%,rgba(0,21,59,.95) 100%)}
.fam:hover>img{transform:scale(1.05)}
.fam h3{font:900 30px/.92 var(--disp);letter-spacing:-.3px;text-transform:uppercase}
.fam h3 a{color:#fff;text-decoration:none}
.fam h3 a:hover{text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:4px}

/* dark dated band (home and lists) */
.dated{position:relative;margin:0 10px;border-radius:var(--r);overflow:hidden;background:var(--glory);color:#fff;isolation:isolate}
.dated-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:.5;mix-blend-mode:luminosity;z-index:-2}
.dated::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,32,91,.82),rgba(0,32,91,.94))}
.dated .h2{color:#fff}
.panel{background:#fff;color:var(--text);border-radius:22px;padding:26px 26px 22px;box-shadow:0 20px 50px rgba(0,10,30,.3);min-width:0}
.panel h3{font:900 26px/1 var(--disp);text-transform:uppercase;color:var(--glory);margin-bottom:16px}
.log{position:relative;display:grid}
.log li{position:relative;display:grid;grid-template-columns:44px 30px 1fr auto;align-items:center;padding:7px 0}
.log li::before{content:"";grid-column:2;grid-row:1;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2.5px var(--bonnet-l);justify-self:center;position:relative;z-index:1}
.log li::after{content:"";position:absolute;left:58px;top:0;bottom:0;width:2px;background:var(--hair)}
.log li:first-child::before{background:var(--red);box-shadow:0 0 0 4px rgba(191,10,48,.18)}
.log time{grid-column:1;grid-row:1;text-align:center;line-height:1}
.log time b{display:block;font:900 30px/.9 var(--disp);color:var(--glory)}
.log time small{font:800 10.5px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.log a,.log p{grid-column:3;font:800 16px/1.2 var(--disp);letter-spacing:.6px;text-transform:uppercase;color:var(--glory);text-decoration:none}
.log a:hover{color:var(--bonnet)}
.checked{display:inline-flex;align-items:center;gap:5px;font:900 11px/1 var(--disp);letter-spacing:1.3px;text-transform:uppercase;color:var(--prairie);background:var(--prairie-t);padding:6px 9px 5px;border-radius:999px;white-space:nowrap}
.checked::before{content:"";width:10px;height:10px;background:currentColor;-webkit-mask:url(/assets/i/check.svg) center/contain no-repeat;mask:url(/assets/i/check.svg) center/contain no-repeat}

/* footer */
.foot{position:relative;margin-top:10px;color:#fff;isolation:isolate;min-height:640px;display:flex;flex-direction:column;background:var(--ink)}
.foot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;z-index:-2}
.foot::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--ink) 0%,rgba(0,21,59,.86) 22%,rgba(0,21,59,.25) 55%,rgba(0,21,59,0) 66%,rgba(0,21,59,.35) 84%,rgba(0,21,59,.85) 100%)}
.foot-top{display:grid;grid-template-columns:5fr 7fr;gap:40px;padding-top:70px;width:100%}
.foot .brand b{font-size:28px}
.foot-line{font:400 15px/1.6 var(--body);color:rgba(255,255,255,.9);max-width:460px;margin-top:16px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px;align-content:flex-start}
.foot-links a{color:#fff;text-decoration:none;font:800 16px/2 var(--disp);letter-spacing:1px;text-transform:uppercase}
.foot-links a:hover{color:var(--sky)}
.foot-bottom{margin-top:auto;padding-top:24px;padding-bottom:26px;width:100%}
.foot-bottom .photo-credit{font:700 12px/1.4 var(--body);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* reveal (JS only; reduced motion shows everything at once) */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* prose pages: methodology body, privacy, terms, 404 */
.prose{max-width:860px;padding-top:56px;padding-bottom:90px;overflow-wrap:anywhere}
.prose.top{padding-top:130px}
.prose h1{font:900 clamp(44px,6vw,72px)/.92 var(--disp);letter-spacing:-1px;text-transform:uppercase;color:var(--glory);margin:14px 0 18px}
.prose h2{font:900 clamp(28px,3.4vw,38px)/1 var(--disp);text-transform:uppercase;color:var(--glory);margin-bottom:14px;text-wrap:balance}
.prose section{margin-top:44px;padding-top:28px;border-top:1px solid var(--hair)}
.prose p,.prose li{margin-top:12px}
.prose ul{list-style:none;padding:0}
.prose ul li{position:relative;padding-left:26px}
.prose ul li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--prairie-t) url(/assets/i/check-p.svg) center/10px no-repeat}
.prose aside{margin-top:28px;padding:20px 22px;border-radius:18px;background:var(--wash)}
.prose aside h2{font-size:22px;margin-bottom:6px}
.prose .crumb{display:flex;gap:10px;font:800 12px/1 var(--disp);letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.prose .crumb a{color:var(--bonnet);text-decoration:none}
.table-scroll{max-width:100%;overflow-x:auto}
.prose table{width:100%;border-collapse:collapse;font:500 15px/1.4 var(--body);margin-top:14px}
.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--hair)}
.prose thead th{font:800 12px/1.2 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.prose tbody th{font-weight:700;color:var(--glory)}

@media (max-width:1180px){
  .nav-links a{padding:9px 9px 8px;font-size:13px;letter-spacing:.6px}
  .nav .how{padding:11px 12px 10px;font-size:13px}
  .brand small{display:none}
}
@media (max-width:1023px){
  .nav-links,.nav .how{display:none}
  .nav{grid-template-columns:1fr auto;width:min(720px,calc(100% - 24px))}
  .brand small{display:block}
  .menu{display:block;position:relative}
  .foot-top{grid-template-columns:1fr}
}
@media (max-width:767px){
  body{font-size:16px}
  .nav{height:56px;padding:0 6px 0 14px}
  .brand b{font-size:20px}
  .brand small{font-size:9.5px;letter-spacing:1.6px}
  .brand img{width:26px;height:25px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}
  .dated{margin:0 6px;border-radius:24px}
  .panel{padding:20px 18px}
  .log li{grid-template-columns:40px 26px 1fr}
  .log li::after{left:52px}
  .log .checked{grid-column:3;justify-self:start;margin-top:4px}
  .foot{min-height:600px}
  .prose.top{padding-top:100px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}

/* Keep generated scenes visibly distinct from named businesses' work. */
.illustration-notice{position:relative;align-self:flex-start;max-width:100%;padding:7px 10px;border-radius:6px;background:#00205B;color:#fff;font:500 13px/1.4 var(--body);letter-spacing:0;text-transform:none;text-wrap:pretty}
.ticket-top>.illustration-notice{margin-bottom:10px}
.fam>.illustration-notice{position:absolute;top:18px;left:18px;right:18px}
.lhero:has(>.illustration-notice){padding-bottom:132px}
.lhero>.illustration-notice{position:absolute;bottom:48px;left:var(--pad);max-width:calc(100% - 2*var(--pad))}
@media(max-width:640px){.lhero>.illustration-notice{bottom:84px}}
/* Home: hero, chooser, ranked lists bento, method band, map, dated band. */
.hero{position:relative;margin:10px;border-radius:var(--r);overflow:hidden;min-height:clamp(780px,62vw,900px);color:#fff;isolation:isolate;background:#2E61A8}
.hero-img,.hero-img img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-img img{object-fit:cover;object-position:50% 70%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(42% 46% at 24% 46%,rgba(0,32,91,.42),rgba(0,32,91,0) 100%),linear-gradient(90deg,rgba(0,32,91,.62) 0%,rgba(0,32,91,.46) 34%,rgba(0,32,91,.08) 58%,rgba(0,32,91,0) 70%),linear-gradient(180deg,rgba(0,32,91,.38),rgba(0,32,91,0) 18%)}
.hero-copy{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(140px,11vw,170px) var(--pad) 0;box-sizing:content-box}
.place{display:flex;align-items:center;gap:12px;font:800 15px/1 var(--disp);letter-spacing:3.4px;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,21,59,.35)}
.place::before{content:"";flex:none;width:24px;height:23px;background:url(/assets/tx-white.svg) center/contain no-repeat}
.hero h1{font:900 clamp(50px,5.6vw,84px)/.9 var(--disp);letter-spacing:-1.6px;text-transform:uppercase;margin:20px 0 22px;max-width:820px;text-wrap:balance;text-shadow:0 2px 28px rgba(0,21,59,.5),0 1px 3px rgba(0,21,59,.35)}
.hero h1 .l2,.lhero h1 .l2{display:block;color:#C4E1F7}
.lede{font:400 19px/1.55 var(--body);max-width:560px;text-shadow:0 1px 12px rgba(0,21,59,.45)}
.seal{position:absolute;right:clamp(28px,7vw,110px);top:clamp(140px,11vw,170px);width:156px;height:156px;border-radius:50%;background:#fff;color:var(--glory);display:grid;place-items:center;text-align:center;box-shadow:0 14px 40px rgba(0,21,59,.3);transform:rotate(-7deg);animation:land .7s var(--ease) .35s both}
.seal::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px dashed var(--conc)}
.seal span{display:block;max-width:104px;font:900 19px/1.02 var(--disp);letter-spacing:1px;text-transform:uppercase}
.seal span::before{content:"";display:block;width:18px;height:18px;margin:0 auto 6px;background:var(--red);-webkit-mask:url(/assets/i/star.svg) center/contain no-repeat;mask:url(/assets/i/star.svg) center/contain no-repeat}
@keyframes land{from{opacity:0;transform:rotate(-7deg) scale(1.35)}to{opacity:1;transform:rotate(-7deg) scale(1)}}
.hero-credit{position:absolute;right:28px;bottom:186px;font:600 11px/1.3 var(--body);color:#fff;padding:5px 10px;border-radius:999px;background:rgba(0,21,59,.62);max-width:calc(100% - 56px)}

/* chooser */
.chooser{position:relative;z-index:5;max-width:calc(var(--max) + 2*var(--pad));margin:-168px auto 0;padding:0 var(--pad)}
.chooser-in{background:#fff;border-radius:var(--r);box-shadow:var(--sh-panel);padding:22px 22px 20px;position:relative}
.chooser-in::before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--glory) 0 33.3%,#fff 33.3% 34%,var(--red) 34% 100%);opacity:.9}
.chooser-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:4px 4px 16px}
.chooser-head h2{font:900 15px/1 var(--disp);letter-spacing:3.4px;text-transform:uppercase;color:var(--glory);white-space:nowrap}
.figs{display:flex;flex-wrap:wrap;gap:4px 18px;font:600 13px/1.3 var(--body);color:var(--muted)}
.figs b{font:900 16px/1 var(--disp);color:var(--glory);letter-spacing:.2px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tile{position:relative;height:120px;border-radius:16px;overflow:hidden;background:var(--glory);box-shadow:0 1px 2px rgba(0,21,59,.12)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tile a{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 13px;color:#fff;text-decoration:none;background:linear-gradient(180deg,rgba(0,32,91,0) 8%,rgba(0,32,91,.6) 45%,rgba(0,21,59,.94) 92%)}
.tile b{font:900 20px/.95 var(--disp);text-transform:uppercase;letter-spacing:.1px}
.tile span{display:flex;align-items:center;gap:6px;font:800 12px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--sky);margin-top:6px}
.tile span::after{content:"";margin-left:auto;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7);background:url(/assets/i/arrow-w.svg) center/11px no-repeat;transition:background-color .25s}
.tile:hover span::after{background-color:var(--red);box-shadow:none}
.tile:hover img{transform:scale(1.07)}

/* ranked lists bento */
.lists{background:linear-gradient(180deg,#fff 0,var(--wash) 100%)}
.totals{font:500 16px/1.55 var(--body);color:var(--text);max-width:62ch;margin-top:14px}
.bento{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(300px,auto);gap:16px}
.fam-body{padding:150px 22px 20px}
.fam-label{font:800 12.5px/1 var(--disp);letter-spacing:2.6px;text-transform:uppercase;color:#DCEEFB;margin-bottom:8px;text-shadow:0 1px 8px rgba(0,21,59,.5)}
.fam-rows{margin-top:12px;border-top:1px solid rgba(187,219,243,.28)}
.fam-rows>a,.fam-rows>li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid rgba(187,219,243,.2);color:#fff;text-decoration:none}
.fam-rows>a:last-child,.fam-rows>li:last-child{border-bottom:0}
.fam-rows b{font:900 18px/1.1 var(--disp);text-transform:uppercase;letter-spacing:.2px}
.fam-rows em{font-style:normal;justify-self:end;font:800 13px/1.4 var(--disp);letter-spacing:1px;text-transform:uppercase;color:var(--sky)}
.fam-rows small{grid-column:1/-1;font:500 12.5px/1.35 var(--body);color:rgba(255,255,255,.82)}
.fam-rows>a:hover b{text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:3px}
.fam-cities{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 10px;border-bottom:1px solid rgba(187,219,243,.2)}
.fam-cities a{font:700 12.5px/1 var(--body);color:#fff;text-decoration:none;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.fam-cities a:hover{background:rgba(255,255,255,.22)}
.fam.feat{grid-row:span 2}
.fam.feat .fam-body{padding:30px}
.fam.feat h3{font-size:clamp(40px,4vw,56px);line-height:.88}
.feat-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.feat-meta span{font:800 12.5px/1 var(--disp);letter-spacing:1.3px;text-transform:uppercase;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.feat-top{display:grid;gap:6px;margin-bottom:18px}
.feat-top a{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:#fff;text-decoration:none}
.feat-top li:first-child a{background:#fff;color:var(--glory)}
.fno{grid-row:span 2;display:grid;justify-items:center;font:900 28px/.85 var(--disp)}
.fno::before{content:attr(data-rank-prefix);font:900 10px/1 var(--disp);letter-spacing:1.2px;text-transform:uppercase;opacity:.8;margin-bottom:3px}
.feat-top b{font:900 18px/1 var(--disp);text-transform:uppercase}
.feat-top small{font:600 12.5px/1.3 var(--body);opacity:.85}
.btn-open{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--glory);text-decoration:none;font:900 15px/1 var(--disp);letter-spacing:1.2px;text-transform:uppercase;padding:14px 18px;border-radius:14px;transition:box-shadow .25s}
.btn-open::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url(/assets/i/arrow.svg) center/contain no-repeat;mask:url(/assets/i/arrow.svg) center/contain no-repeat}
.btn-open:hover{box-shadow:0 0 0 4px rgba(187,219,243,.5)}
.still-note{font:500 14px/1.45 var(--body);color:rgba(255,255,255,.88);margin-top:10px;max-width:60ch}

/* method band ("How every list is checked") */
.rank,.method{position:relative;color:#fff;background:var(--glory);isolation:isolate;overflow:hidden}
.band-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 80%;z-index:-2}
.rank::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,32,91,.97) 0%,rgba(0,32,91,.9) 38%,rgba(0,32,91,.5) 72%,rgba(0,32,91,.3) 100%),linear-gradient(0deg,rgba(0,21,59,.5),rgba(0,21,59,0) 40%)}
.rank .h2,.method .h2{color:#fff}
.rank .h2{margin-bottom:30px}
.rank.sec{padding:clamp(76px,7vw,100px) 0}
.rank-grid{display:grid;grid-template-columns:6fr 5fr;gap:48px;align-items:start}
.stages{position:relative;display:grid;gap:14px}
.stages:not(.row)::before{content:"";position:absolute;left:41px;top:40px;bottom:60px;width:2px;background:repeating-linear-gradient(180deg,rgba(187,219,243,.7) 0 6px,transparent 6px 12px)}
.stage{position:relative;padding:18px 20px 20px;border-radius:20px;background:rgba(0,21,59,.5);box-shadow:inset 0 0 0 1px rgba(187,219,243,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.stage h3{position:relative;display:flex;align-items:center;gap:14px;font:900 24px/1 var(--disp);text-transform:uppercase;letter-spacing:.2px;margin-bottom:12px}
.stage h3::before,.stage.bar::before,.stage.ord::before{content:"";flex:none;width:48px;height:48px;border-radius:14px;background:var(--sky)}
.stage h3::after,.stage.bar::after,.stage.ord::after{content:"";position:absolute;left:12px;top:50%;width:24px;height:24px;margin-top:-12px;background:var(--glory);-webkit-mask:url(/assets/i/lic.svg) center/contain no-repeat;mask:url(/assets/i/lic.svg) center/contain no-repeat}
.stage h3.find::after{-webkit-mask-image:url(/assets/i/eye.svg);mask-image:url(/assets/i/eye.svg)}
.stage h3.ord::after,.stage.ord::after{-webkit-mask-image:url(/assets/i/order.svg);mask-image:url(/assets/i/order.svg)}
.stage>p,.stage>.ticks{padding-left:62px;font:500 15px/1.5 var(--body);color:rgba(255,255,255,.94)}
.ticks{display:grid;gap:8px}
.ticks li{position:relative;padding-left:28px;font:600 14.5px/1.4 var(--body)}
.ticks li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--prairie-t) url(/assets/i/check-p.svg) center/10px no-repeat}
.stage.call{background:#fff;color:var(--text);box-shadow:var(--sh-obj);backdrop-filter:none}
.stage.call h3{color:var(--glory)}
.stage.call h3::before{background:var(--glory)}
.stage.call h3::after{background:#fff}
.stage.call>p{color:var(--text)}
.stage.call .more{margin:12px 0 0 62px}
.ticket{position:relative;background:#fff;color:var(--text);border-radius:var(--r);box-shadow:0 30px 70px rgba(0,10,30,.45);overflow:hidden}
.ticket-top{position:relative;min-height:190px;background:var(--glory);isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:76px 22px 18px;color:#fff}
.ticket-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ticket-top::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,21,59,0) 22%,rgba(0,21,59,.7) 55%,rgba(0,21,59,.94) 100%)}
.tk-rk,.crk{display:inline-flex;align-items:baseline;gap:3px;font:900 40px/1 var(--disp);letter-spacing:-1px}
.tk-rk{position:absolute;left:18px;top:16px;padding:4px 12px 0;border-radius:12px;background:#fff;color:var(--glory);box-shadow:0 6px 18px rgba(0,10,30,.3)}
.tk-rk::before,.crk::before{content:attr(data-rank-prefix);font-size:15px;letter-spacing:.5px;color:var(--bonnet)}
.tk-k{font:800 12px/1 var(--disp);letter-spacing:1.6px;text-transform:uppercase;color:var(--sky);margin-bottom:6px}
.ticket-top h3{font:900 30px/.95 var(--disp);text-transform:uppercase}
.ticket-top h3 a{color:#fff;text-decoration:none}
.ticket-top h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.tk-rows{padding:8px 22px 14px}
.tk-rows li{position:relative;padding:10px 0 10px 36px;border-bottom:1px dashed var(--conc);font:500 14px/1.45 var(--body);color:var(--text)}
.tk-rows li:last-child{border-bottom:0}
.tk-rows li::before{content:"";position:absolute;left:0;top:10px;width:24px;height:24px;border-radius:50%;background:var(--prairie-t) url(/assets/i/check-p.svg) center/13px no-repeat}
.tk-rows .gs{display:flex;margin-bottom:4px}

/* map: where the picks are */
.mp{--mp-h:680px;--mp-pad:48px;--bleed:max(var(--pad),calc((100vw - var(--max)) / 2));position:relative;background:var(--ground);padding:var(--mp-pad) 0;overflow:hidden;isolation:isolate}
.mp-grid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:28px;align-items:start;min-height:var(--mp-h)}
.mp-copy{position:relative;z-index:2;padding-top:40px}
.mp-find{margin-top:24px}
.mp-find label{display:block;font:900 14px/1 var(--disp);letter-spacing:2.2px;text-transform:uppercase;color:var(--glory);margin-bottom:9px}
.mp-field{display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:5px 5px 5px 14px;box-shadow:inset 0 0 0 1.5px var(--conc),var(--sh-soft)}
.mp-field::before{content:"";flex:none;width:19px;height:19px;background:var(--bonnet);-webkit-mask:url(/assets/i/pin.svg) center/contain no-repeat;mask:url(/assets/i/pin.svg) center/contain no-repeat}
.mp-field:focus-within{box-shadow:inset 0 0 0 2px var(--bonnet),var(--sh-soft)}
.mp-field input{flex:1;min-width:0;border:0;background:none;font:600 16px/1.2 var(--body);color:var(--ink);padding:9px 2px;outline:none}
.mp-field input::-webkit-calendar-picker-indicator{display:none!important}
.mp-field input::placeholder{color:#6B7489;font-weight:500}
.mp-field button{flex:none;border:0;cursor:pointer;background:var(--glory);color:#fff;border-radius:999px;padding:11px 18px 10px;font:900 14px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase}
.mp-field button:hover{background:var(--red)}
.mp-panel{margin-top:18px}
.mp-counties{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mp-counties a{display:block;height:100%;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,21,59,.06),inset 0 0 0 1px var(--hair);text-decoration:none;color:var(--text);transition:box-shadow .2s}
.mp-counties a:hover,.mp-counties a.is-on{box-shadow:0 6px 18px rgba(0,21,59,.1),inset 0 0 0 2px var(--bonnet)}
.mp-counties b{display:flex;align-items:center;gap:8px;font:900 17px/1.05 var(--disp);text-transform:uppercase;color:var(--glory)}
.mp-counties b::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--glory);flex:none}
.mp-counties span{display:block;font:800 13.5px/1.3 var(--body);color:var(--red);margin-top:6px}
.mp-card{position:relative;background:#fff;border-radius:22px;box-shadow:var(--sh-obj);padding:20px 22px 18px}
.mp-card.is-in{animation:mp-in .32s var(--ease) both}
@keyframes mp-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.mp-where{min-height:34px;display:flex;align-items:center;font:800 12.5px/1.2 var(--disp);letter-spacing:2px;text-transform:uppercase;color:var(--bonnet);padding-right:122px}
.mp-card h3{font:900 40px/.92 var(--disp);letter-spacing:-.4px;text-transform:uppercase;color:var(--glory);margin:2px 0 10px}
.mp-step{position:absolute;right:14px;top:14px;display:flex;gap:6px}
.mp-step button{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:var(--ground);color:var(--glory);box-shadow:inset 0 0 0 1px var(--hair)}
.mp-step button::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url(/assets/i/arrow.svg) center/contain no-repeat;mask:url(/assets/i/arrow.svg) center/contain no-repeat}
.mp-step .prev::before{transform:scaleX(-1)}
.mp-step .x::before{width:13px;height:13px;-webkit-mask-image:url(/assets/i/x.svg);mask-image:url(/assets/i/x.svg)}
.mp-step button:hover{background:var(--glory);color:#fff}
.mp-big{display:flex;align-items:center;gap:10px;font:600 14px/1.3 var(--body);color:var(--muted)}
.mp-big b{display:inline-grid;place-items:center;min-width:42px;height:34px;padding:0 9px;border-radius:17px;background:var(--red);color:#fff;font:900 22px/1 var(--disp)}
.mp-big b.zero{background:var(--conc);color:var(--glory)}
.mp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.mp-chips a,.mp-chips button{display:inline-flex;align-items:center;gap:7px;padding:6px 6px 6px 11px;border:0;cursor:pointer;border-radius:999px;background:var(--wash);color:var(--glory);text-decoration:none;font:800 13.5px/1 var(--disp);letter-spacing:.6px;text-transform:uppercase}
.mp-chips em{font:600 12px/1 var(--body);letter-spacing:0;text-transform:none;font-style:normal;opacity:.85}
.mp-chips i{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#fff;color:var(--red);font:900 13px/1 var(--disp)}
.mp-chips a:hover,.mp-chips button:hover{background:var(--glory);color:#fff}
.mp-rows{margin-top:10px;border-top:1px solid var(--hair)}
.mp-rows button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border:0;border-bottom:1px solid var(--hair);background:none;cursor:pointer;text-align:left;color:var(--glory);font:800 15.5px/1.15 var(--disp);letter-spacing:.4px;text-transform:uppercase}
.mp-rows i{font-style:normal;display:inline-grid;place-items:center;min-width:24px;height:22px;border-radius:11px;background:var(--wash);color:var(--glory);font:900 13px/1 var(--disp)}
.mp-rows button:hover{color:var(--red)}
.mp-map{position:relative;height:calc(var(--mp-h) + 2 * var(--mp-pad));margin:calc(-1 * var(--mp-pad)) calc(-1 * var(--bleed)) calc(-1 * var(--mp-pad)) -40px}
.mp-canvas{position:absolute;inset:0}
.mp-canvas::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--ground) 0,rgba(243,244,245,0) 14%),linear-gradient(180deg,var(--ground) 0,rgba(243,244,245,0) 8%,rgba(243,244,245,0) 95%,var(--ground) 100%)}
.mp-svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.mp-svg .b-m{display:none}
.mp-county path{fill:rgba(220,235,248,0);transition:fill .25s}
.mp-county:hover path{fill:rgba(220,235,248,.45)}
.mp-county.is-on path{fill:rgba(190,218,243,.55)}
.mp-county:focus-visible{outline:none}
.mp-county:focus-visible path{stroke:var(--red);stroke-width:3}
.mp-city{cursor:pointer;outline:none}
.mp-city circle{fill:var(--glory);stroke:#fff;stroke-width:2.6;transition:fill .2s,transform .25s var(--ease)}
.mp-city text{font:800 19px var(--disp);letter-spacing:1px;text-transform:uppercase;fill:var(--glory);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.mp-city tspan{fill:var(--red);font-weight:900}
.mp-city:hover circle,.mp-city.is-on circle{fill:var(--red)}
.mp-city:hover text,.mp-city.is-on text{fill:var(--red)}
.mp-city.is-on circle,.mp-city:focus-visible circle{transform:scale(1.4)}
.mp-city:focus-visible text{text-decoration:underline}
.mp-map.has-sel .mp-city:not(.is-on) text{opacity:.72}
.mp-pin path{fill:var(--red);stroke:#fff;stroke-width:2.5}
.mp-pin circle{fill:rgba(191,10,48,.12);stroke:rgba(191,10,48,.4);stroke-width:1.5}
.mp-pin text{font:900 19px var(--disp);letter-spacing:1px;text-transform:uppercase;fill:var(--red);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.mp .cap{position:absolute;z-index:2;right:max(var(--pad),calc(var(--bleed) - 6px));top:16px;max-width:560px;text-align:right;background:rgba(243,244,245,.86);padding:6px 10px;border-radius:10px}
.mp-data{position:relative;z-index:2;margin-top:20px}
.js .mp-data{margin:0}
.js .mp-data .mp-table{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mp-table{width:100%;border-collapse:collapse;font:500 14px/1.4 var(--body);background:#fff}
.mp-table caption{text-align:left;font:900 15px/1 var(--disp);letter-spacing:2px;text-transform:uppercase;color:var(--glory);padding:0 0 10px}
.mp-table th,.mp-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
.mp-table thead th{font:800 12px/1.2 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.mp-table tbody th{font:900 15px/1.2 var(--disp);text-transform:uppercase;color:var(--glory)}

/* dated band, home */
.dated .h2{margin-bottom:34px}
.dated-grid{display:grid;grid-template-columns:7fr 5fr;gap:18px;align-items:start}
.log-cols{display:block;columns:2;column-gap:26px}
.log-cols li{break-inside:avoid;grid-template-columns:44px 30px 1fr}
.log-cols .checked{grid-column:3;justify-self:start;margin-top:4px}
.pub p{font:400 15.5px/1.6 var(--body);margin-bottom:12px}
.pub p a{color:var(--red);font-weight:700}

@media (max-width:1180px){
  .bento{grid-template-columns:1fr 1fr}
  .fam.feat{grid-column:1/-1;grid-row:auto}
  .fam.feat .fam-body{padding-top:220px}
  .rank-grid{grid-template-columns:1fr}
  .ticket{max-width:620px}
  .mp-grid{grid-template-columns:360px minmax(0,1fr)}
}
@media (max-width:1023px){
  .seal{display:none}
  .dated-grid{grid-template-columns:1fr}
}
@media (max-width:980px){
  .mp{padding:56px 0 40px}
  .mp-grid{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
  .mp-copy{display:contents}
  .mp-copy>.h2{order:1}.mp-find{order:2;max-width:520px}
  .mp-map{order:3;height:auto;margin:16px calc(-1 * var(--pad)) 0}
  .mp-canvas{position:relative;inset:auto;aspect-ratio:1200/900}
  .mp-canvas::before{background:linear-gradient(180deg,var(--ground) 0,rgba(243,244,245,0) 7%,rgba(243,244,245,0) 93%,var(--ground) 100%)}
  .mp-panel{order:4;margin-top:10px;max-width:620px}
  .mp .cap{position:static;text-align:left;background:none;margin:4px var(--pad) 0;padding:0}
}
@media (max-width:767px){
  .hero{min-height:0;padding-bottom:276px;margin:6px;border-radius:24px}
  .hero::before{background:linear-gradient(180deg,rgba(0,32,91,.66) 0%,rgba(0,32,91,.6) 50%,rgba(0,32,91,.3) 70%,rgba(0,32,91,0) 84%)}
  .hero-img img{object-position:50% 50%}
  .hero-copy{padding:104px 20px 0}
  .place{font-size:12.5px;letter-spacing:2.4px;gap:9px}
  .place::before{width:20px;height:19px}
  .hero h1{font-size:clamp(38px,10.4vw,48px);letter-spacing:-.8px;margin:14px 0}
  .lede{font-size:16.5px}
  .hero-credit{bottom:206px;right:14px;font-size:10px}
  .chooser{margin-top:-196px;padding:0 14px}
  .chooser-in{padding:16px 12px 14px;border-radius:24px}
  .chooser-head{flex-direction:column;gap:8px;margin:4px 4px 12px}
  .figs{gap:2px 12px;font-size:12px}
  .tiles{grid-template-columns:1fr 1fr;gap:8px}
  .tile{height:96px;border-radius:14px}
  .tile a{padding:10px 11px;background:linear-gradient(180deg,rgba(0,32,91,.2) 0%,rgba(0,32,91,.72) 34%,rgba(0,21,59,.96) 86%)}
  .tile b{font-size:16.5px}
  .tile span{font-size:11px;margin-top:4px}
  .tile span::after{width:20px;height:20px}
  .bento{grid-template-columns:1fr;gap:12px}
  .fam::before{background:linear-gradient(180deg,rgba(0,32,91,0) 0%,rgba(0,32,91,.78) 30%,rgba(0,21,59,.95) 100%)}
  .fam-body{padding:130px 18px 18px}
  .fam.feat .fam-body{padding:170px 20px 22px}
  .stages:not(.row)::before{left:35px}
  .stage{padding:14px}
  .stage h3{font-size:21px;gap:12px}
  .stage h3::before{width:40px;height:40px;border-radius:12px}
  .stage h3::after{left:10px;width:20px;height:20px;margin-top:-10px}
  .stage>p,.stage>.ticks{padding-left:0}
  .stage.call .more{margin-left:0}
  .ticket-top h3{font-size:26px}
  .tk-rows{padding:6px 16px 10px}
  .log-cols{columns:1}
}
@media (max-width:640px){
  .mp-canvas{aspect-ratio:390/430}
  .js .mp-canvas{aspect-ratio:942/800}
  .mp-svg .b-d{display:none}
  .mp-svg .b-m{display:inline}
  .mp-city text{font-size:34px;stroke-width:7px;letter-spacing:.6px}
  .mp-city.minor text{display:none}
  .mp-city[data-city=fort-worth] text{text-anchor:start;transform:translateX(36px)}
  .mp-city circle{transform:scale(1.6)}
  .mp-city.is-on circle{transform:scale(2)}
  .mp-pin text{font-size:34px}
  .mp-counties{gap:6px}
  .mp-counties a{padding:11px 12px}
  .mp-card{padding:18px 16px 16px;border-radius:20px}
  .mp-card h3{font-size:34px}
}
@media (prefers-reduced-motion:reduce){.mp-card{animation:none}.mp-city circle,.mp-county path{transition:none}.seal{animation:none}}
/* List pages (metro and city) and the methodology hero. */
.lhero{position:relative;margin:10px;border-radius:var(--r);overflow:hidden;color:#fff;isolation:isolate;background:#1F3E72;padding:clamp(120px,10vw,140px) 0 72px}
.lhero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-2}
.lhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(0,32,91,.95) 0%,rgba(0,32,91,.86) 38%,rgba(0,32,91,.3) 66%,rgba(0,32,91,.08) 100%),linear-gradient(0deg,rgba(0,21,59,.45),rgba(0,21,59,0) 35%)}
.lhero-grid{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center}
.lhero-grid>div{min-width:0}
.crumb{font:800 12px/1.4 var(--disp);letter-spacing:1.8px;text-transform:uppercase;margin-bottom:20px;color:var(--sky)}
.crumb a{color:#fff;text-decoration:none}
.crumb a:hover{color:var(--sky)}
.lhero h1{font:900 clamp(46px,5.2vw,76px)/.9 var(--disp);letter-spacing:-1.4px;text-transform:uppercase;margin:18px 0 20px;text-wrap:balance;text-shadow:0 2px 24px rgba(0,21,59,.35)}
.lhero .lede{font-size:17px;line-height:1.6;max-width:640px}
.lhero-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.lhero-facts time,.lhero-facts b,.lhero-facts span{display:inline-flex;align-items:center;gap:7px;font:800 13px/1.15 var(--disp);letter-spacing:1.2px;text-transform:uppercase;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.lhero-facts time::before{content:"";width:14px;height:14px;background:var(--sky);-webkit-mask:url(/assets/i/cal.svg) center/contain no-repeat;mask:url(/assets/i/cal.svg) center/contain no-repeat}
.lhero .hero-credit{position:absolute;right:24px;bottom:18px;font:600 11px/1.3 var(--body);color:#fff;padding:5px 10px;border-radius:999px;background:rgba(0,21,59,.62);max-width:calc(100% - 48px)}
.lhero .hero-credit span,.lhero .hero-credit a{color:#fff}
.mhero{padding-bottom:64px}
.mhero h1{max-width:900px}
.mhero .lede{margin-bottom:20px}

/* who to call */
.call-card{position:relative;background:#fff;color:var(--text);border-radius:var(--r);box-shadow:0 30px 70px rgba(0,10,30,.4);padding:26px 18px 16px}
.call-card-tag{position:absolute;left:22px;top:-15px;display:inline-flex;align-items:center;gap:6px;background:var(--glory);color:#fff;font:900 13px/1 var(--disp);letter-spacing:1.6px;text-transform:uppercase;padding:9px 13px 8px;border-radius:999px;box-shadow:0 6px 16px rgba(0,21,59,.3)}
.call-card-tag::before{content:"";width:13px;height:13px;background:var(--sky);-webkit-mask:url(/assets/i/phone.svg) center/contain no-repeat;mask:url(/assets/i/phone.svg) center/contain no-repeat}
.call-rows{display:grid;gap:8px}
.call-row{display:grid;grid-template-columns:58px 1fr 62px;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;padding:10px;border-radius:16px;background:var(--ground)}
.call-row .crk,.call-row .btn-call{grid-row:1/span 2}
.call-row .cr-name{align-self:end}
.cr-city{grid-column:2;grid-row:2;align-self:start;font:600 12.5px/1.3 var(--body);color:var(--muted)}
.call-row.first .cr-city{color:rgba(255,255,255,.82)}
.call-row.first{background:var(--glory);color:#fff}
.crk{display:grid;justify-items:center;align-content:center;height:58px;border-radius:12px;background:#fff;color:var(--glory);font-size:34px;line-height:.85;box-shadow:inset 0 0 0 1.5px var(--hair)}
.crk::before{font:900 11px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:3px}
.call-row.first .crk{box-shadow:none}
.cr-name{display:block;min-width:0;color:var(--glory);text-decoration:none;font:900 19px/1.02 var(--disp);text-transform:uppercase}
.call-row.first .cr-name{color:#fff}
.cr-name:hover{text-decoration:underline;text-underline-offset:3px}
.btn-call{display:grid;place-items:center;align-content:center;gap:5px;width:62px;height:60px;border-radius:14px;background:var(--red);color:#fff;text-decoration:none;font:900 11px/1 var(--disp);letter-spacing:1.2px;text-transform:uppercase;transition:background-color .2s}
.btn-call::before{content:"";width:18px;height:18px;background:#fff;-webkit-mask:url(/assets/i/phone.svg) center/contain no-repeat;mask:url(/assets/i/phone.svg) center/contain no-repeat}
.btn-call.web::before{-webkit-mask-image:url(/assets/i/web.svg);mask-image:url(/assets/i/web.svg)}
.btn-call:hover{background:var(--red-h)}
.call-card .all{display:flex;justify-content:flex-end;margin:14px 4px 0}
.call-card .all::after{-webkit-mask-image:url(/assets/i/down.svg);mask-image:url(/assets/i/down.svg)}

/* compare board */
.board-sec{position:relative;z-index:3;margin-top:-34px}
.board{background:#fff;border-radius:var(--r);box-shadow:var(--sh-panel);padding:30px 30px 24px}
.board .sec-head{margin-bottom:18px}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:16px}
.filters label{display:flex;align-items:center;gap:10px;font:800 13px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--glory)}
.filters select{font:600 14px/1.2 var(--body);color:var(--text);border:0;border-radius:999px;background:var(--wash);box-shadow:inset 0 0 0 1px #CFE2F3;padding:9px 14px;max-width:340px}
.filters p{font:600 13px/1.3 var(--body);color:var(--muted)}
.cmp-det summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:14px;background:var(--ground);font:900 16px/1.15 var(--disp);letter-spacing:1px;text-transform:uppercase;color:var(--glory)}
.cmp-det summary::-webkit-details-marker{display:none}
.cmp-det summary::after,.faq summary::after{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url(/assets/i/plus.svg) center/contain no-repeat;mask:url(/assets/i/plus.svg) center/contain no-repeat;transition:transform .3s var(--ease)}
.cmp-det[open] summary::after,.faq details[open] summary::after{transform:rotate(45deg)}
.cmp{width:100%;border-collapse:separate;border-spacing:0 6px;margin-top:8px;min-width:760px}
.cmp thead th{text-align:left;padding:10px 14px 2px;font:800 11.5px/1 var(--disp);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.cmp td,.cmp tbody th{padding:12px 14px;background:#fff;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);text-align:left;vertical-align:middle;font:600 14px/1.35 var(--body);color:var(--text)}
.cmp td:first-child{border-left:1px solid var(--hair);border-radius:16px 0 0 16px}
.cmp td:last-child{border-right:1px solid var(--hair);border-radius:0 16px 16px 0;white-space:nowrap}
.cmp tr.first td,.cmp tr.first th{background:#FBF7F8}
.cmp tr.first td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.cmp tbody tr:hover td,.cmp tbody tr:hover th{background:#FAFCFE}
.cmp .rk{width:62px;text-align:center;font:900 34px/.85 var(--disp);color:var(--glory)}
.cmp .rk::before{content:attr(data-rank-prefix);display:block;font:900 11px/1 var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--bonnet);margin-bottom:3px}
.cmp tbody th a{font:900 18px/1.05 var(--disp);text-transform:uppercase;color:var(--glory);text-decoration:none}
.cmp tbody th a:hover{color:var(--bonnet)}
.cmp .need{font:500 13px/1.35 var(--body);color:var(--muted);max-width:300px}
.cmp .rate{font:500 14px/20px var(--body);color:#1F1F1F}
.cmp .rate .gs{color:#5E5E5E;margin-left:2px}
.cmp tr.dim td,.cmp tr.dim th{opacity:.38}
.pick.dim{opacity:.45}

.city-links{padding-top:40px}
.city-links h2{font:900 22px/1 var(--disp);letter-spacing:1px;text-transform:uppercase;color:var(--glory);margin-bottom:12px}
.city-links p{display:flex;flex-wrap:wrap;gap:8px}
.city-links a{font:800 14px/1 var(--disp);letter-spacing:.8px;text-transform:uppercase;color:var(--glory);text-decoration:none;padding:10px 14px;border-radius:999px;background:var(--wash);box-shadow:inset 0 0 0 1px #CFE2F3}
.city-links a:hover{background:var(--glory);color:#fff}

/* the picks */
.reviews{background:linear-gradient(180deg,#fff 0,var(--wash) 26%,var(--wash) 100%)}
.pick{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-obj);background:var(--glory);color:#fff;transition:opacity .25s}
.pick::before{content:attr(data-rank-prefix);position:absolute;z-index:3;left:24px;top:24px;display:flex;align-items:flex-end;width:92px;height:52px;padding:0 0 9px 12px;border-radius:14px;background:#fff;color:var(--bonnet);font:900 15px/1 var(--disp);letter-spacing:.5px;box-shadow:0 6px 18px rgba(0,10,30,.3)}
.pick::after{content:attr(data-rank);position:absolute;z-index:3;left:62px;top:24px;height:52px;display:flex;align-items:center;padding-top:4px;color:var(--glory);font:900 42px/1 var(--disp);letter-spacing:-1px}
.pick.big{display:grid;grid-template-columns:6fr 5fr;margin-bottom:22px}
.pick.big.alt{grid-template-columns:5fr 6fr}
.pick.big.alt::before{left:calc(5 / 11 * 100% + 24px)}
.pick.big.alt::after{left:calc(5 / 11 * 100% + 62px)}
.pick.big.alt>.plate{order:2}
.plate{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:108px 30px 30px;min-height:300px;background:linear-gradient(160deg,#2C4A86 0%,var(--glory) 60%)}
.pick.big>.plate{min-height:560px}
.plate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.has-img .plate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,21,59,0) 34%,rgba(0,21,59,.66) 62%,rgba(0,21,59,.93) 100%)}
.plate h2{font:900 clamp(36px,3.4vw,52px)/.92 var(--disp);letter-spacing:-.5px;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.best{order:-1;align-self:flex-start;max-width:100%;font:800 13px/1.3 var(--disp);letter-spacing:.9px;text-transform:uppercase;padding:8px 12px 7px;border-radius:14px;background:rgba(0,21,59,.66);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.best a{color:#fff;text-decoration:none}
.best a:hover{text-decoration:underline;text-underline-offset:3px}
.pick-body{display:flex;flex-direction:column;gap:12px;padding:30px 30px 26px;min-width:0;font:500 15px/1.55 var(--body);color:rgba(255,255,255,.92)}
.why{font:600 16px/1.5 var(--body);color:#fff;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18)}
.fact-line{position:relative;padding-left:30px;font-size:14px;line-height:1.5}
.fact-line a{color:#fff;text-decoration-color:rgba(187,219,243,.5)}
.fact-line a:hover{text-decoration-color:#fff}
.fact-line::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;background:var(--sky);-webkit-mask:url(/assets/i/lic.svg) center/contain no-repeat;mask:url(/assets/i/lic.svg) center/contain no-repeat}
.fact-line.g::before{-webkit-mask-image:url(/assets/i/rev.svg);mask-image:url(/assets/i/rev.svg)}
.fact-line .gs{display:flex;margin-bottom:4px}
.fact-line .gs::before{background-image:url(/assets/i/star-d.svg)}
.work{font-size:14px}
.work a{color:#fff;font-weight:700;margin-right:10px}
.work time{color:rgba(255,255,255,.7);font-size:13px}
.spec{position:relative;padding-left:30px;font-size:14px;color:rgba(255,255,255,.8)}
.spec::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;background:var(--sky);-webkit-mask:url(/assets/i/pin.svg) center/contain no-repeat;mask:url(/assets/i/pin.svg) center/contain no-repeat}
.branches,.scope-note{font-size:13.5px;line-height:1.5;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:8px}
.actions a{height:64px;border-radius:var(--r-in);display:grid;place-content:center;justify-items:center;gap:6px;text-decoration:none;color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);font:900 11.5px/1 var(--disp);letter-spacing:1.3px;text-transform:uppercase;transition:background-color .2s}
.actions a::before{content:"";width:19px;height:19px;background:#fff;-webkit-mask:url(/assets/i/web.svg) center/contain no-repeat;mask:url(/assets/i/web.svg) center/contain no-repeat}
.actions a.phone{background:var(--red);box-shadow:none}
.actions a.phone::before{-webkit-mask-image:url(/assets/i/phone.svg);mask-image:url(/assets/i/phone.svg)}
.actions a.directions::before{-webkit-mask-image:url(/assets/i/dir.svg);mask-image:url(/assets/i/dir.svg)}
.actions a:hover{background:rgba(255,255,255,.2)}
.actions a.phone:hover{background:var(--red-h)}
.minis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
.pick.mini{display:flex;flex-direction:column;border-radius:24px}
.pick.mini::before{left:18px;top:18px;width:80px;height:46px;padding:0 0 8px 10px;font-size:13px}
.pick.mini::after{left:52px;top:18px;height:46px;font-size:36px}
.mini .plate{padding:88px 22px 20px;min-height:0}
.mini.has-img .plate{min-height:300px}
.mini .plate h2{font-size:30px}
.mini .pick-body{flex:1;padding:20px 22px 22px}
.mini .why{font-size:15px}

/* method band, list */
.method::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,32,91,.94) 0%,rgba(0,32,91,.85) 55%,rgba(0,32,91,.45) 100%)}
.method .more{color:var(--sky)}
.stages.row{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px}
.stages.row .stage{padding-top:84px}
.stages.row .stage::before{position:absolute;left:20px;top:20px}
.stages.row .stage::after{left:32px;top:32px;margin-top:0}
.stages.row .ticks,.stages.row .stage>p{padding-left:0}
.stages.row .stage.call{padding-top:22px;display:grid;gap:12px;align-content:start;font:500 15px/1.55 var(--body)}
.stages.row .stage.call p:last-child{color:var(--muted);font-size:14px}

/* also passed, how to check */
.also-passed,.how-to-check{padding-top:56px}
.also-passed h2,.how-to-check h2{font:900 clamp(26px,3vw,34px)/1 var(--disp);text-transform:uppercase;color:var(--glory);margin-bottom:12px}
.also-passed>p,.how-to-check p{max-width:72ch;margin-top:10px}
.also-passed ul{display:grid;gap:10px;margin-top:16px}
.also-passed li{padding:14px 16px;border-radius:16px;background:var(--ground);box-shadow:inset 0 0 0 1px var(--hair);font:500 14.5px/1.5 var(--body)}
.how-to-check{padding-bottom:10px}
.how-to-check a{font-weight:700;color:var(--red)}
.how-to-check time{font:600 13px/1 var(--body);color:var(--muted);margin-left:6px}

/* faq */
.faq-grid{display:grid;grid-template-columns:4fr 7fr;gap:48px}
.faq details{border-bottom:1px solid var(--hair)}
.faq details:first-child{border-top:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 2px;font:900 22px/1.1 var(--disp);text-transform:uppercase;color:var(--glory)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{width:34px;height:34px;-webkit-mask-size:14px;mask-size:14px;background:var(--glory);border-radius:50%}
.faq details p{font:400 17px/1.65 var(--body);max-width:62ch;padding:0 2px 22px}

/* dated band, list */
.last-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.change-log .log li{grid-template-columns:44px 30px 1fr}
.change-log .log p{font:600 15px/1.4 var(--body);letter-spacing:0;text-transform:none;color:var(--text)}
.lmap svg{width:100%;height:auto;border-radius:16px;background:#E7EAEE}
.lmap circle{fill:var(--glory);stroke:#fff;stroke-width:3}
.lmap .one circle{fill:var(--red)}
.lmap text{font:800 26px var(--disp);letter-spacing:.8px;text-transform:uppercase;fill:var(--glory);paint-order:stroke;stroke:#fff;stroke-width:7px;stroke-linejoin:round}
.lmap .cap{margin-top:10px}

/* related */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related.single{grid-template-columns:minmax(0,440px)}
.related .fam{min-height:260px;padding:22px}
.related .fam h3{font-size:26px}
.rel-credit{margin-top:8px;color:rgba(255,255,255,.8);font-size:11px}
.rel-credit a{color:#fff}
.held-related{font:500 13px/1.4 var(--body);color:var(--muted);margin-top:18px}

@media (max-width:1180px){
  .minis{grid-template-columns:1fr 1fr}
}
@media (max-width:1023px){
  .lhero-grid,.faq-grid,.last-grid{grid-template-columns:1fr}
  .pick.big,.pick.big.alt{grid-template-columns:1fr}
  .pick.big.alt>.plate{order:0}
  .pick.big.alt::before{left:24px}
  .pick.big.alt::after{left:62px}
  .pick.big>.plate{min-height:420px}
  .stages.row{grid-template-columns:1fr}
  .related{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .lhero{margin:6px;border-radius:24px;padding:96px 0 84px}
  .lhero::before{background:linear-gradient(180deg,rgba(0,32,91,.9) 0%,rgba(0,32,91,.82) 55%,rgba(0,32,91,.92) 100%)}
  .lhero h1{font-size:clamp(36px,10.6vw,48px);letter-spacing:-.8px}
  .lhero .lede{font-size:15.5px}
  .lhero .hero-credit{right:12px;bottom:34px;font-size:10px;max-width:calc(100% - 24px)}
  .lmap text{font-size:38px;stroke-width:9px}
  .lmap circle{r:14px}
  .call-card{padding:24px 12px 12px;margin-top:10px}
  .call-row{grid-template-columns:50px 1fr 56px;gap:10px;padding:9px}
  .crk{height:52px;font-size:30px}
  .cr-name{font-size:17px}
  .btn-call{width:56px;height:56px}
  .board-sec{margin-top:-22px}
  .board{padding:20px 14px 16px}
  .filters label{width:100%;justify-content:space-between}
  .filters select{width:100%;max-width:calc(100% - 64px)}
  .pick{border-radius:24px}
  .pick.big>.plate{min-height:360px}
  .plate{padding:92px 20px 22px}
  .pick::before{left:16px;top:16px}
  .pick::after{left:54px;top:16px}
  .pick.big.alt::before{left:16px}
  .pick.big.alt::after{left:54px}
  .plate h2{font-size:34px}
  .pick-body{padding:20px 18px 18px}
  .actions a{height:60px;font-size:10.5px}
  .minis,.related{grid-template-columns:1fr}
  .board .table-scroll{overflow:visible}
  .cmp{min-width:0;border-spacing:0;margin-top:12px}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp tbody{display:grid;gap:8px}
  .cmp tr{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:12px;row-gap:3px;padding:12px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
  .cmp tr.first{background:#FBF7F8;box-shadow:inset 3px 0 0 var(--red),inset 0 0 0 1px var(--hair)}
  .cmp td,.cmp tbody th,.cmp td:first-child,.cmp td:last-child{display:block;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none!important;white-space:normal}
  .cmp .rk{grid-row:1/span 4;align-self:start;width:auto}
  .cmp tbody th,.cmp td:not(.rk){grid-column:2}
  .cmp td:nth-child(3){font-weight:700;font-size:13px}
  .faq summary{font-size:19px}
}
