:root{--primary:var(--site-primary, #0a2b52);--primary-d:#061d3a;--secondary:var(--site-secondary, #e85d00);--secondary-d:#9e0026;--ink:#1f2a37;--muted:#5b6675;--line:#e4e8ee;--bg:#f4f7fb;--shadow:0 10px 30px rgba(16,42,80,.10)}
*{box-sizing:border-box}body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
/* TOP BAR: styles live in header.php */
.phead{background:linear-gradient(120deg,#081f3d,#0a2b52 45%,#144079);color:#fff;padding:32px 0}
.phead h1{margin:0 0 6px;font-size:30px}.phead p{margin:0;opacity:.95;max-width:720px}
@media(max-width:600px){.phead h1{font-size:23px}}
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 8px}
.searchwrap{position:relative;flex:1;min-width:240px}
.searchwrap input{width:100%;padding:14px 14px 14px 42px;border:1.5px solid var(--line);border-radius:12px;font-size:16px;font-weight:600;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%235b6675" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.3-4.3"/></svg>') no-repeat 14px center}
.searchwrap input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(10,43,82,.16)}
.hint{color:var(--muted);font-size:13.5px}
/* MAP GRID */
.maparea{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);overflow-x:auto}
.usmap{display:grid;grid-template-columns:repeat(11,1fr);gap:6px;min-width:560px;max-width:900px;margin:0 auto}
.tile{aspect-ratio:1/1;border:none;border-radius:8px;background:#e9eff7;color:var(--primary-d);font-weight:800;font-size:clamp(9px,1.4vw,14px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.12s;position:relative}
.tile:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.tile.sel{background:var(--secondary);color:#fff;box-shadow:0 6px 14px rgba(204,0,51,.4)}
.tile.dim{opacity:.25}
.tile.match{background:#ffe1e7;color:var(--secondary-d)}
.legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:14px;color:var(--muted);font-size:13px}
.legend span{display:flex;align-items:center;gap:6px}
.sw{width:14px;height:14px;border-radius:4px;display:inline-block}
/* selected panel */
.selpanel{margin-top:20px;background:linear-gradient(120deg,var(--primary),var(--primary-d));color:#fff;border-radius:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.selpanel h3{margin:0 0 4px;font-size:22px}.selpanel p{margin:0;opacity:.9}
.selpanel .cbtn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,#e85d00,var(--secondary));color:#fff;font-size:20px;font-weight:800;padding:14px 28px;border-radius:999px;white-space:nowrap}
.selpanel .cbtn:hover{transform:translateY(-2px)}
.section{padding:40px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.grid3{grid-template-columns:1fr 1fr}}@media(max-width:520px){.grid3{grid-template-columns:1fr}}
.scard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.scard b{color:var(--primary)}
footer{background:#0c1a2b;color:#9fb0c6;padding:30px 0;font-size:13.5px;text-align:center}
footer a{color:#c7d2e0;display:inline-block;padding:12px 6px}.disc{font-size:12px;color:#7d8ea6;margin-top:8px;max-width:900px;margin:8px auto 0}
/* modal (dismissible) */
.overlay{position:fixed;inset:0;background:rgba(10,20,35,.7);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;max-width:460px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.mh{background:linear-gradient(90deg,var(--secondary),var(--primary-d));color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.mh h3{margin:0;font-size:19px}.mh .x{cursor:pointer;font-size:22px;opacity:.9;background:none;border:none;color:#fff}
.mb{padding:22px;text-align:center}
.mb .big{font-size:16px;color:var(--muted)}
.mb .cbtn{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#e85d00,var(--secondary));color:#fff;font-size:22px;font-weight:800;padding:15px;border-radius:999px;margin-top:14px}
.mb .note{font-size:12px;color:var(--muted);margin-top:12px}
/* ---------- sticky mobile call bar (persistent conversion CTA) ---------- */
.callbar{display:none}
@media(max-width:760px){
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;align-items:center;gap:12px;background:linear-gradient(180deg,#e85d00,var(--secondary));color:#fff;padding:10px 14px;box-shadow:0 -6px 20px rgba(10,20,35,.22)}
  .callbar .cb-ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:20px;flex:none}
  .callbar .cb-tx{display:flex;flex-direction:column;line-height:1.15;min-width:0}
  .callbar .cb-tx b{font-size:14px}
  .callbar .cb-tx small{font-size:11px;opacity:.92}
  .callbar .cb-go{margin-left:auto;background:#fff;color:var(--secondary-d);font-weight:800;padding:10px 16px;border-radius:999px;font-size:14px;white-space:nowrap}
  body{padding-bottom:70px}
}
/* ===== Shared site design (refs 222.jpeg desktop / 333.jpeg mobile) ===== */
.rpage{--blue:#2b55c4;--soft:#f2f6fd;--green:#2e8b2e;background:#fff}
.res-bar,.hero-call{display:none}
.rpage .phead{padding:40px 0 44px;background:radial-gradient(ellipse 60% 70% at 78% 18%,rgba(255,255,255,.16),transparent 60%),radial-gradient(ellipse 50% 40% at 15% 100%,rgba(232,93,0,.22),transparent 70%),linear-gradient(160deg,#06162b 0%,#0a2b52 55%,#123f75 100%)}
.rpage .phead h1{font-size:clamp(28px,3.6vw,40px);line-height:1.15}
.rpage .crumb{margin:0 auto;padding:12px 18px}
.features{background:var(--soft);padding:26px 0}
.features .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.feature{display:flex;gap:14px;align-items:flex-start;padding:4px 26px}
.feature+.feature{border-left:1px solid #d5deec}
.feature .fi{flex:0 0 44px;height:44px;border-radius:12px;background:#dfe8fb;display:grid;place-items:center;font-size:22px}
.feature h3{font-size:18px;margin:0 0 4px;font-weight:600}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.feature p a{color:var(--primary);text-decoration:underline}
.rcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rcard{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.rcard:hover{border-color:var(--blue);box-shadow:0 8px 22px rgba(20,45,80,.1);transform:translateY(-2px)}
.rcard .rt{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;min-width:0}
.rcard .rt:hover span{color:var(--blue)}
.rcard .rt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rcard .rt i{font-style:normal;color:#444;flex:none}
.rcard .rb{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.rcard small{color:var(--muted);font-size:12.5px;line-height:1.4;min-width:0}
.rcard .go{flex:none;color:var(--green);font-weight:800;font-size:15px;white-space:nowrap}
.cards-note{font-size:12px;color:var(--muted);margin:14px 0 0}
.rpage .dcard{box-shadow:none}
.rpage .callcard{background:var(--soft);color:var(--ink);border:1px solid #d8e3f5}
.rpage .callcard .price{color:var(--primary)}
.rpage .callbtn{background:var(--secondary);box-shadow:0 8px 20px rgba(232,93,0,.3)}
.callband{padding:10px 0 46px}
.callband .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(90deg,#eaf0fd,#f6f8fe);border:1px solid #d8e3f5;border-radius:14px;padding:22px 28px}
.callband .big{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--primary);line-height:1.1}
.callband .big b{color:var(--blue)}
.callband p{margin:6px 0 0;color:var(--muted);font-size:14px}
.callband .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.callband .tags span{background:#fff;border:1px solid #d8e3f5;border-radius:999px;padding:4px 11px;font-size:12px;color:#334}
.callband .cbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--secondary);color:#fff;font-size:19px;font-weight:800;padding:14px 26px;border-radius:999px;box-shadow:0 8px 20px rgba(232,93,0,.3);white-space:nowrap}
@media(max-width:980px){.rcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .rpage .res-bar{display:block;background:var(--primary);color:#fff;text-align:center;font-size:20px;font-weight:600;padding:9px 16px}
  .rpage .phead{background:#fff;color:var(--ink);text-align:center;padding:4px 0 0}
  .rpage .phead h1{font-size:24px}
  .rpage .phead p{color:var(--muted);font-size:15px;text-align:left;margin:8px 0 14px}
  .rpage .hero-call{display:block;margin:0 -18px}
  .rpage .hero-call .band{background:var(--primary);color:#fff;font-weight:700;font-size:18px;padding:8px 12px}
  .rpage .hero-call .hsub{font-weight:700;font-size:16px;margin:8px 0 10px}
  .rpage .hero-call .pill{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--primary);color:#fff;font-size:28px;font-weight:800;border-radius:999px;padding:10px 18px;margin:0 6px 22px}
  .rpage .hero-call .pill span{width:44px;height:44px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:22px}
  .features{padding:8px 0}
  .features .wrap{grid-template-columns:1fr}
  .feature{padding:18px 4px}.feature+.feature{border-left:0;border-top:1px solid #d5deec}
  .feature h3{font-size:22px}
  .rcards{grid-template-columns:minmax(0,1fr)}
  .callband .inner{flex-direction:column;align-items:stretch;text-align:center;padding:20px}
  .callband .tags{justify-content:center}
}
@media(max-width:640px){.rpage .hero-call .pill{font-size:24px}}
/* states map, search and selection panel */
.rpage .section h2{font-size:24px;color:var(--primary-d);margin:0 0 4px}
.rpage .section .sub{color:var(--muted);margin:0 0 22px}
.rpage .tools{margin:28px 0 10px}
.rpage .searchwrap input{border:1px solid #d6deea;font-weight:500;border-radius:14px;min-height:54px}
.rpage .searchwrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,85,196,.15)}
.rpage .maparea{box-shadow:none;border-radius:14px}
.rpage .tile:hover{background:var(--primary)}
.rpage .tile.sel{background:var(--blue);box-shadow:0 6px 14px rgba(43,85,196,.35)}
.rpage .tile.match{background:#dbe6ff;color:var(--primary)}
.rpage .selpanel{background:linear-gradient(90deg,#eaf0fd,#f6f8fe);border:1px solid #d8e3f5;color:var(--ink);border-radius:14px}
.rpage .selpanel h3{color:var(--primary)}.rpage .selpanel p{color:var(--muted);opacity:1}
.rpage .selpanel .cbtn{background:var(--secondary);box-shadow:0 8px 20px rgba(232,93,0,.3)}
.rpage .mh{background:var(--primary)}
.rpage .mb .cbtn{background:var(--secondary)}
@media(max-width:640px){.rpage .maparea{padding:10px;overflow-x:visible}.rpage .usmap{min-width:0;gap:3px}.rpage .tile{border-radius:5px;font-size:9.5px}.rpage .legend{gap:10px;font-size:12px}}
@media(max-width:900px){.rpage .tools{margin-top:22px}.rpage .selpanel{flex-direction:column;align-items:stretch;text-align:center}.rpage .selpanel .cbtn{justify-content:center}}
