@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{--ink:#16324F;--teal:#16324F;--cream:#FFFFFF;--orange:#FFAD72;--muted:#263445;--line:#DCE4ED}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:var(--cream);font:20px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #185FA5;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(48px,4.7vw,68px);line-height:1.13;letter-spacing:-2.6px;font-weight:750}h2{font-size:clamp(34px,3.2vw,46px);line-height:1.24;letter-spacing:-1.4px;font-weight:750}h3{font-size:28px;line-height:1.3;letter-spacing:-.7px;font-weight:750}p{color:var(--muted)}.wrap{max-width:1320px;width:calc(100% - 96px);margin:auto}.header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:800 34px/1 'Manrope',sans-serif;letter-spacing:-1.4px}.brand small{display:block;font:500 15px/1.5 'DM Sans',sans-serif;letter-spacing:0;margin-top:9px}nav{display:flex;gap:28px;font-size:18px;font-weight:600}nav a:hover,.textlink:hover{color:#185FA5}.headerphone{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;font-size:25px;font-weight:750;line-height:1.25}.headerphone small{grid-column:2;font-size:16px;font-weight:500;line-height:1.65;text-align:right;color:var(--muted)}.hero{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:55px;padding-top:54px;padding-bottom:54px}.eyebrow{font-size:18px;font-weight:700;color:var(--teal);margin-bottom:20px}.hero h1 span{color:#185FA5}.herolead{font-size:22px;line-height:1.65;margin-top:24px;max-width:620px}.heroactions{display:flex;flex-wrap:wrap;gap:15px;margin-top:28px}.button,.secondarybutton{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--teal);color:#FFFFFF;border:0;border-radius:7px;font-size:20px;font-weight:700;padding:17px 24px;line-height:1.5;transition:background .2s}.button:hover{background:#244A70}.heroactions .button{background:var(--orange);color:var(--ink);font-size:23px}.heroactions .button:hover{background:#ffbb8c}.secondarybutton{background:transparent;color:var(--ink);border:1px solid #8CA0B5;font-size:19px}.secondarybutton:hover{background:#EAF1F8}.availability{font-size:16px;margin-top:15px}.herochecks{display:flex;gap:25px;margin-top:22px;font-size:17px;font-weight:600}.checkitem{display:flex;align-items:center;gap:10px}.checkitem svg{flex-shrink:0;color:#185FA5;width:22px;height:22px}.herovisual{border-radius:16px;overflow:hidden;background:#F2F6FA}.herovisual>img{height:440px;width:100%;object-fit:cover;object-position:48% center}.photo-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--teal);color:white;padding:20px;font-size:18px;font-weight:600}.photo-caption a{display:flex;gap:8px;align-items:center;font-size:16px;white-space:nowrap}.helpbar{background:#F2F6FA;border-top:1px solid #DCE4ED;border-bottom:1px solid #DCE4ED}.helpbar>.wrap{padding:23px 0;display:flex;align-items:center;gap:25px}.helpbar strong{font-size:21px;line-height:1.4}.helpbar span{font-size:17px}.helpbar a{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:700;margin-left:auto;white-space:nowrap}.section{padding-top:76px;padding-bottom:76px}.sectionhead{margin-bottom:35px}.sectionhead p{font-size:21px;margin-top:14px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.photocard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .2s}.photocard:hover{box-shadow:0 8px 30px #16324F17}.photocard>img{height:230px;width:100%;object-fit:cover}.photocard>div{padding:27px;flex:1;display:flex;flex-direction:column}.photocard h3{font-size:27px}.photocard p{font-size:19px;margin-top:14px;line-height:1.7}.cardlink{display:flex;justify-content:space-between;align-items:center;font-size:19px;font-weight:700;margin-top:auto;padding-top:24px}.moreservices{margin-top:30px;background:#F2F6FA;padding:26px 30px;border-radius:9px}.moreservices>strong{font-size:20px}.moreservices>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;margin-top:15px}.moreservices a{display:flex;align-items:center;gap:15px;font-size:19px;text-decoration:underline;text-decoration-color:#8CA9C9;text-underline-offset:5px}.geeksection{background:#F2F6FA;padding:70px 0}.geekgrid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.geekgrid>img{width:100%;height:445px;object-fit:cover;border-radius:14px;object-position:38% center}.geekgrid h2{font-size:40px}.geekgrid>div>p:not(.eyebrow){font-size:20px;margin-top:20px}.reasonlist{display:grid;gap:13px;margin:25px 0 29px;font-size:18px}.business{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.business h2{font-size:38px}.business p:not(.eyebrow){font-size:21px}.textlink{display:inline-flex;align-items:center;gap:14px;font-size:20px;font-weight:700;margin-top:22px}.areasection{background:#F2F6FA;padding:60px 0}.areasection h2{font-size:37px}.citylinks{display:flex;flex-wrap:wrap;gap:14px 30px;margin:27px 0 23px}.citylinks a{font-size:20px;font-weight:600;display:flex;gap:8px;align-items:center}.areasection p{font-size:18px}.faqgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faqgrid h2{font-size:38px}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-child{padding-top:0}summary{list-style:none;cursor:pointer;font-size:21px;font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:20px}summary::-webkit-details-marker{display:none}summary>span{font-size:28px;font-weight:400;line-height:1}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:19px;line-height:1.8;padding-top:17px}.request{background:var(--teal);color:var(--cream)}.request h2{font-size:44px}label{display:block;font-size:18px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;margin-top:8px;background:white;border:1px solid #9AAEC3;border-radius:5px;padding:12px;min-width:0;color:var(--ink);font-size:18px;outline-color:#185FA5}textarea{resize:vertical}footer{padding:55px 0 25px;background:#F2F6FA}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footergrid p{font-size:17px;margin-top:23px}.footergrid>div:not(:first-child){display:flex;flex-direction:column;gap:13px;font-size:18px}.footergrid strong{font-size:19px;margin-bottom:5px}.footergrid>div>a:not(.brand){display:flex;align-items:center;gap:5px}.footerbottom{border-top:1px solid var(--line);padding-top:23px;margin-top:40px;display:flex;justify-content:space-between;gap:20px;font-size:15px;color:var(--muted)}.mobilecontact{display:none}.detailhero{padding-top:30px;padding-bottom:65px}.breadcrumb{display:block;font-size:17px;color:var(--muted);margin-bottom:40px}.detailgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.detailhero h1{font-size:56px}.detailhero h1 span{color:#185FA5}.detailhero .button{margin-top:27px}.detailpanel{background:#EAF1F8;border-radius:16px;padding:35px;display:grid;gap:20px}.detailpanel h2{font-size:31px;margin-bottom:8px}.detailpanel .checkitem{font-size:20px}.detailbody{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;padding-bottom:70px}.detailbody p{font-size:21px;margin:23px 0}.detailbody h3{margin-top:30px}.detailbody aside{background:#F2F6FA;border-radius:12px;padding:28px;height:max-content}.detailbody aside h3{font-size:26px;margin:0 0 18px}.detailbody aside a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #DCE4ED;padding:15px 0;font-size:19px}.servicecard{border:1px solid var(--line);padding:28px;border-radius:10px;display:flex;flex-direction:column;gap:15px}.servicecard h3{font-size:26px}.servicecard p{font-size:19px}.servicecard:hover{background:#F2F6FA}.skiplink{position:absolute;top:-150px;left:10px;background:var(--cream);z-index:100;padding:15px}.skiplink:focus{top:10px}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}nav{gap:20px;font-size:17px}.headerphone{font-size:21px}.brand{font-size:30px}.brand small{font-size:13px}.hero{gap:30px}.hero h1{font-size:54px}.herolead{font-size:20px}.heroactions .button{font-size:21px}.heroactions .secondarybutton{font-size:18px}.heroactions a{padding:14px 17px}.herovisual>img{height:420px}.photo-caption{display:block;font-size:18px}.photo-caption a{margin-top:7px}.helpbar span{display:none}.photocard>img{height:200px}.photocard>div{padding:22px}.photocard h3{font-size:24px}.photocard p{font-size:18px}.geekgrid,.business,.faqgrid{gap:40px}.geekgrid h2{font-size:35px}.geekgrid>img{height:450px}.footergrid{gap:30px}.detailhero h1{font-size:48px}.detailgrid,.detailbody{gap:45px}}@media(max-width:760px){body{font-size:19px}.wrap{width:calc(100% - 40px)}.header{height:94px;gap:12px}.brand{font-size:28px;gap:10px}.brand small{font-size:12px;margin-top:7px}.header nav{display:none}.headerphone{display:flex;gap:0}.headerphone>span,.headerphone>small{display:none}.headerphone svg{height:25px;width:25px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:33px;gap:30px}.eyebrow{font-size:16px;margin-bottom:16px}.hero h1{font-size:46px;letter-spacing:-1.9px;line-height:1.16}.herolead{font-size:20px;margin-top:21px;line-height:1.6}.heroactions{gap:12px;margin-top:24px;display:grid;grid-template-columns:1fr}.heroactions .button{font-size:24px;padding:16px 20px}.heroactions .secondarybutton{font-size:20px;padding:14px 20px}.availability{font-size:16px;margin-top:14px}.herochecks{gap:20px;font-size:16px;margin-top:18px}.herovisual>img{height:280px;object-position:50% center}.photo-caption{display:block;font-size:19px;padding:17px 20px}.photo-caption a{font-size:16px}.helpbar>.wrap{padding:23px 0;display:block}.helpbar strong{font-size:21px;display:block}.helpbar a{display:inline-flex;margin-top:13px;font-size:20px}.section{padding-top:48px;padding-bottom:48px}.sectionhead{margin-bottom:28px}.sectionhead h2{font-size:34px}.sectionhead p{font-size:20px;line-height:1.55}.servicegrid{grid-template-columns:1fr;gap:25px}.photocard>img{height:225px}.photocard>div{padding:23px}.photocard h3{font-size:28px}.photocard p{font-size:20px;margin-top:12px}.cardlink{font-size:20px;padding-top:22px}.moreservices{padding:23px;margin-top:25px}.moreservices>strong{font-size:21px;line-height:1.4;display:block}.moreservices>div{display:grid;gap:0;margin-top:15px}.moreservices a{font-size:19px;padding:14px 0;justify-content:space-between;border-top:1px solid #DCE4ED;text-decoration:none}.geeksection{padding:45px 0}.geekgrid{grid-template-columns:1fr;gap:30px}.geekgrid>img{height:270px}.geekgrid h2{font-size:34px}.geekgrid>div>p:not(.eyebrow){font-size:20px}.reasonlist{font-size:18px;gap:15px}.button{font-size:20px;padding:16px 22px}.business{grid-template-columns:1fr;gap:20px}.business h2{font-size:34px}.business p:not(.eyebrow){font-size:20px}.textlink{font-size:19px}.areasection{padding:45px 0}.areasection h2{font-size:34px}.citylinks{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:23px 0}.citylinks a{font-size:18px;padding:13px 0;border-bottom:1px solid #DCE4ED;justify-content:space-between}.citylinks a svg{width:17px;flex-shrink:0}.areasection p{font-size:18px}.faqgrid{grid-template-columns:1fr;gap:30px}.faqgrid h2{font-size:34px}.faqgrid h2 br{display:none}summary{font-size:20px;line-height:1.5}details>p{font-size:19px}.request h2{font-size:37px}label{font-size:18px}input,select,textarea{font-size:18px}.footergrid{grid-template-columns:1fr;gap:32px}.footergrid p{font-size:18px}.footergrid>div:not(:first-child){font-size:18px}.footerbottom{flex-direction:column;gap:10px;font-size:15px}.footerbottom>span:last-child{display:none}footer{padding-bottom:110px}.mobilecontact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;box-shadow:0 -4px 18px #16324F20;background:var(--teal);padding-bottom:env(safe-area-inset-bottom)}.mobilecontact a{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 10px;font-size:19px;font-weight:700;color:white}.mobilecontact a{background:var(--orange);color:var(--ink)}.detailhero{padding-top:20px;padding-bottom:45px}.breadcrumb{font-size:16px;margin-bottom:30px}.detailgrid{grid-template-columns:1fr;gap:30px}.detailhero h1{font-size:42px;letter-spacing:-1.5px}.detailhero .herolead{font-size:20px}.detailpanel{padding:26px}.detailpanel h2{font-size:28px}.detailpanel .checkitem{font-size:19px}.detailbody{grid-template-columns:1fr;gap:25px;padding-bottom:45px}.detailbody h2{font-size:32px}.detailbody p{font-size:20px}.detailbody aside a{font-size:19px}.servicecard p{font-size:20px}.servicecard h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Blue-and-white service palette: orange is reserved for primary actions. */
:root{--blue:#185FA5;--charcoal:#263445}
body{color:var(--charcoal)}
h1,h2,h3,.brand,nav,.headerphone,summary,.moreservices>strong,.helpbar strong,.footergrid strong{color:var(--ink)}
.eyebrow,.textlink,.cardlink,.citylinks a,.moreservices a,.photo-caption a,.helpbar a{color:var(--blue)}
.photo-caption a{color:#FFFFFF}
.button{background:var(--orange);color:var(--ink)}
.button:hover{background:#FFBB8C}
.secondarybutton{background:#FFFFFF;color:var(--ink)}
.request h2{color:#FFFFFF}

.headerphone:hover,.citylinks a:hover{color:var(--blue)}

.brand {
  display: block;
  min-width: 0;
  width: clamp(215px, 24vw, 300px);
}
.brand-logo {
  display: block;
  width: 100%;
  height: auto;
}
.brand small {
  margin: 5px 0 0 23%;
}
@media (max-width: 760px) {
  .brand {
    width: min(245px, 74vw);
  }
}

.tulsa-hero {
  --area-hero-image: url('/images/tulsa-skyline.webp');
  --area-hero-position: center 27%;
}
.broken-arrow-hero {
  --area-hero-image: url('/images/broken-arrow-rose-district.webp');
  --area-hero-position: 64% 52%;
}
.owasso-hero {
  --area-hero-image: url('/images/owasso-neighborhood.webp');
  --area-hero-position: 68% 58%;
}
.bixby-hero {
  --area-hero-image: url('/images/bixby-river-district.webp');
  --area-hero-position: 66% 57%;
}
.jenks-hero {
  --area-hero-image: url('/images/jenks-main-street.webp');
  --area-hero-position: 68% 60%;
}
.claremore-hero {
  --area-hero-image: url('/images/claremore-downtown.webp');
  --area-hero-position: 65% 47%;
}
.area-photo-hero {
  background-color: #16324f;
  background-image:
    linear-gradient(90deg, rgba(14, 34, 55, .96) 0%, rgba(14, 34, 55, .88) 35%, rgba(14, 34, 55, .38) 72%, rgba(14, 34, 55, .12) 100%),
    var(--area-hero-image);
  background-size: cover;
  background-position: var(--area-hero-position);
  padding-block: 44px 78px;
}
.area-photo-hero h1,
.area-photo-hero .herolead {
  color: #fff;
}
.area-photo-hero h1 span,
.area-photo-hero .eyebrow,
.area-photo-hero .breadcrumb {
  color: #d6e8fa;
}
@media (max-width: 760px) {
  .area-photo-hero {
    background-image:
      linear-gradient(rgba(14, 34, 55, .78), rgba(14, 34, 55, .88)),
      var(--area-hero-image);
    padding-block: 30px 54px;
  }
}

.zip-card {
  background: #f2f6fa;
  border: 1px solid #d6e4f1;
  border-radius: 20px;
  padding: clamp(20px, 3vw, 34px);
  margin-top: 10px;
  scroll-margin-top: 24px;
}
.zip-card h2 {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: clamp(23px, 2.5vw, 30px);
  margin: 0 0 12px;
}
.zip-card h2 svg { flex-shrink: 0; color: #185fa5; }
.zip-card p { margin: 0 0 16px; }
.zip-form { display: flex; gap: 12px; align-items: end; }
.zip-form label { display: block; font-weight: 700; margin: 0 0 6px; }
.zip-form input { width: 100%; min-width: 0; margin: 0; }
.zip-form > div { flex: 1; min-width: 0; }
.zip-form .button { flex-shrink: 0; }
.zip-result { border-top: 1px solid #d6e4f1; margin-top: 20px; padding-top: 16px; }
.zip-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.help-options { display: grid; grid-template-columns: 1.12fr 1fr; gap: 20px; }
.hero + .help-options { padding-top: 0; }
.help-option { background: #f2f6fa; border: 1px solid #d6e4f1; border-radius: 20px; padding: clamp(22px, 3vw, 34px); scroll-margin-top: 24px; }
.help-option > svg { color: #185fa5; }
.help-option h2 { font-size: clamp(24px, 2.7vw, 34px); margin: 10px 0; }
.help-option p { margin: 0 0 17px; }
.help-option .textlink { display: flex; width: fit-content; margin-top: 12px; }
.rural-option { background: #fff; }
@media (max-width: 900px) {
  .zip-form { align-items: stretch; flex-direction: column; }
  .zip-form .button { justify-content: center; }
}
@media (max-width: 760px) {
  .help-options { grid-template-columns: 1fr; }
}

.zip-card {
  background: linear-gradient(145deg, #254c70, #16324f 76%);
  color: #fff;
  border: 0;
  box-shadow: 0 16px 36px rgb(22 50 79 / 15%);
}
.zip-card h2 { color: #fff; }
.zip-card p { color: #e2edf8; }
.zip-card .zip-note { margin: 14px 0 0; font-size: 0.9rem; }
.zip-data-credit { color: inherit; text-decoration: underline; }
.zip-icon,
.help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  margin-bottom: 12px;
}
.zip-icon { background: #2e506f; color: #fff; }
.zip-form input { background: #fff; color: #16324f; }
.zip-form :is(input, button) { min-height: 52px; }
.zip-form .button,
.zip-result .button { background: #ffad72; color: #16324f; }
.zip-form .button:hover,
.zip-result .button:hover { background: #ffc199; }
.zip-result .secondarybutton { background: #fff; color: #16324f; }
.help-options { grid-template-columns: 1fr 1fr; align-items: stretch; }
.help-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 16px;
  background: linear-gradient(145deg, #eaf3fd, #f8fbff 75%);
}
.help-option h2 { margin-top: 0; }
.help-icon { background: #dceafa; color: #185fa5; }
.help-option .button { margin-top: auto; }
.rural-option { background: linear-gradient(145deg, #fff5eb, #fffdfa 75%); border-color: #f0dfcf; }
.rural-option .textlink { margin-top: auto; }
.hero .heroactions .textlink { align-self: center; }
@media (max-width: 760px) {
  .help-options { grid-template-columns: 1fr; }
  .zip-card { margin-top: 0; }
}

.welcome-band {
  background:
    radial-gradient(ellipse at 80% 30%, #dcecf9 0%, transparent 57%),
    linear-gradient(140deg, #fbfdff, #edf5fc);
}
.welcome-hero {
  padding-block: clamp(32px, 5vw, 70px);
}
.welcome-hero .herovisual {
  box-shadow: 0 16px 38px rgb(22 50 79 / 13%);
}
.welcome-hero .herolead {
  max-width: 28ch;
}
.welcome-hero .herovisual > img {
  display: block;
  height: clamp(350px, 36vw, 470px);
}
.visit-section {
  background: linear-gradient(115deg, #e8f1fa, #f5f9fd 75%);
  border-block: 1px solid #dce8f3;
  padding-block: clamp(32px, 5vw, 64px);
}
.visit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
}
.visit-grid h2 {
  margin-top: 0;
}
.visit-grid > div > p {
  max-width: 43ch;
}
.visit-grid .zip-card {
  margin: 0;
}
@media (max-width: 760px) {
  .welcome-hero .herovisual {
    grid-row: 1;
  }
  .welcome-hero .herovisual > img {
    height: clamp(205px, 57vw, 340px);
  }
  .visit-grid {
    grid-template-columns: 1fr;
  }
}

.zip-request-dialog {
  width: min(620px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  padding: clamp(16px, 3vw, 26px);
  border: 0;
  border-radius: 16px;
  background: var(--cream);
  color: var(--ink);
  overscroll-behavior: contain;
}
.zip-request-dialog::backdrop { background: rgb(22 50 79 / 62%); }
.zip-request-dialog h2 { color: var(--ink); padding-right: 46px; }
.zip-request-dialog p { color: var(--muted); }
.zip-request-dialog .zip-dialog-message {
  background: #eaf1f8;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 650;
}
.zip-dialog-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: #eaf1f8;
  color: var(--ink);
}
.zip-request-dialog .button { margin-top: 0; }

#main-content > .help-options {
  padding-bottom: clamp(20px, 3vw, 40px);
}
#services {
  padding-top: clamp(26px, 4vw, 54px);
  padding-bottom: clamp(28px, 4vw, 54px);
}
#services .photocard {
  background: linear-gradient(180deg, #fff 52%, #f3f8fd);
}
#business {
  padding: clamp(22px, 4vw, 48px);
  margin-bottom: clamp(32px, 5vw, 64px);
  border: 1px solid #dce8f3;
  border-radius: 16px;
  background: linear-gradient(120deg, #e9f2fb, #f7faff 75%);
}
.areasection {
  background: linear-gradient(105deg, #edf5fc, #e5eff9);
  border-block: 1px solid #dce8f3;
}
.request {
  background: linear-gradient(135deg, #254b6d, #16324f 72%);
}

.request-call { max-width: 680px; text-align: center; }
.request-call p { color: #e0ebf6; margin: 16px 0 24px; }
.request-call .button { background: var(--orange); color: var(--ink); }
.request-call .button:hover { background: #ffc199; }

/* Give interactive elements a visible response without shifting the layout. */
:where(.header nav a, .headerphone, .textlink, .citylinks a, .footergrid a:not(.brand), .footerbottom a, summary):focus-visible {
  color: var(--blue);
}
:where(.zip-card, .request) :is(a, button):focus-visible {
  outline-color: #ffca9f;
}
.zip-request-dialog :is(a, button):focus-visible {
  outline-color: var(--blue);
}

@media (hover: hover) {
  :is(.header nav a, .textlink, .citylinks a, .footergrid a:not(.brand), .footerbottom a):hover {
    color: var(--blue);
    text-decoration: underline;
    text-decoration-color: #8ca9c9;
    text-underline-offset: 5px;
  }
  summary:hover { color: var(--blue); }
  :is(.photocard, .servicecard):hover {
    border-color: #abc4dd;
    box-shadow: 0 8px 22px rgb(22 50 79 / 10%);
  }
  .photocard:hover .cardlink { color: var(--ink); }
  .zip-dialog-close:hover { background: #dceafa; }
  :is(.button, .secondarybutton):not(:disabled):hover {
    box-shadow: 0 4px 12px rgb(22 50 79 / 14%);
  }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :is(.button, .secondarybutton, .photocard, .servicecard) {
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }
  :is(.button, .secondarybutton, .photocard, .servicecard):not(:disabled):hover {
    transform: translateY(-2px);
  }
  :is(.cardlink, .citylinks a, .textlink) > svg {
    transition: transform 160ms ease;
  }
  :is(.photocard, .servicecard):hover .cardlink > svg,
  :is(.citylinks a, .textlink):hover > svg {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.button, .secondarybutton, .photocard, .servicecard) { transition: none; }
}

.request-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}
.request-layout .request-call { text-align: left; }
.callback-card {
  background: #fff;
  color: var(--ink);
  border-radius: 12px;
  padding: clamp(16px, 3vw, 26px);
}
.callback-card h3 { margin-bottom: 12px; }
:is(.callback-card, .zip-callback) label { margin-bottom: 10px; line-height: 1.4; }
:is(.callback-card, .zip-callback) :is(input, select, textarea) {
  margin-top: 4px;
  padding: 8px 10px;
  min-height: 44px;
  line-height: 1.4;
}
.callback-contact-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  column-gap: 12px;
  align-items: end;
}
:is(.callback-card, .zip-callback) .callback-note { font-size: 15px; margin-bottom: 10px; }
:is(.callback-card, .zip-callback) button[type="submit"] { padding-block: 10px; min-height: 44px; }
:is(.callback-card, .zip-callback) .callback-error { color: #a32222; margin-bottom: 14px; }
.request .callback-card :is(a, button):focus-visible { outline-color: var(--blue); }
@media (max-width: 760px) {
  .request-layout { grid-template-columns: 1fr; }
}

.zip-callback input[readonly] { background: #f2f6fa; }
.zip-request-dialog .zip-dialog-call { margin-top: 10px; }
@media (max-width: 359px) {
  .callback-contact-row { grid-template-columns: 1fr; }
}

.privacy-policy { max-width: 820px; }
.privacy-policy h1 { font-size: clamp(40px, 6vw, 58px); }
.privacy-policy h2 { font-size: clamp(23px, 3vw, 30px); margin-top: 28px; }
.privacy-policy p { margin-top: 12px; }
.privacy-policy a,
.callback-note a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}
