/* Claim now: free claim check, one question per screen. Loaded only on /claim-now, after the shared stylesheets. */
.check-hero {position:relative; background:#082d39; color:#fff; overflow:hidden; isolation:isolate;}
/* The photo has a fixed height, so it never rescales when the card grows or shrinks between questions. */
.check-hero-photo {position:absolute; top:0; left:0; right:0; height:980px; z-index:0;}
.check-hero-photo picture,.check-hero-photo img {display:block; width:100%; height:100%; object-fit:cover; object-position:60% 25%;}
.check-hero-photo:after {content:''; position:absolute; inset:0; background:linear-gradient(0deg,#082d39 0%,transparent 28%),linear-gradient(90deg,#082d39f5 0%,#082d39e6 45%,#082d39b8 100%);}
.check-hero-grid {position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); grid-template-areas:"copy panel" "assure panel"; grid-template-rows:auto 1fr; gap:0 72px; padding:40px 0 72px;}
.check-copy {grid-area:copy; align-self:end; padding-top:36px;}
.check-panel {grid-area:panel; align-self:center;}
.check-assure {grid-area:assure; align-self:start;}
.check-copy .breadcrumb {margin-bottom:34px; color:#a9c1bd;}
.check-copy .breadcrumb a {color:#dce9e6;}
.check-copy .breadcrumb > span[aria-hidden] {color:#6f8f8b;}
.check-copy .breadcrumb [aria-current] {color:#e6f0ee;}
.check-copy .eyebrow {display:flex; align-items:center; gap:12px; color:#d8eae6; margin-bottom:20px;}
.check-copy h1 {color:#fff; font-size:clamp(40px,3.9vw,58px); line-height:1.06; letter-spacing:-.05em; margin:0 0 20px; max-width:700px;}
.check-copy h1 em {display:block; color:var(--aqua); font-style:normal; font-family:inherit; font-weight:inherit;}
.check-city {color:#fff;}
.check-city[hidden] {display:none;}
.check-lead {color:#dce8e5; font-size:19px; line-height:1.65; margin:0; max-width:480px;}
.check-assure {list-style:none; margin:30px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.check-assure li {display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #ffffff38; border-radius:999px; background:#ffffff0f; color:#e6f0ee; font-size:14px; font-weight:550;}
.check-assure .icon {width:17px; height:17px; color:var(--aqua);}
.check-assure a {color:#fff; text-decoration:none; font-weight:650;}

/* The card. */
.check-card {background:#fff; color:var(--ink); border-radius:18px; box-shadow:0 30px 70px #02141c66; overflow:hidden;}
.check-card-head {padding:22px 30px 20px; background:#f4f8f7; border-bottom:1px solid #e2eae7;}
.check-card-head h2 {font-size:21px; line-height:1.25; letter-spacing:-.03em; margin:0; color:var(--ink);}
.check-card-head p {font-size:14px; color:#5b6f73; margin:4px 0 0; line-height:1.5;}
.claim-check {padding:24px 30px 26px;}
.check-progress {display:none; margin-bottom:22px;}
.claim-check.is-enhanced .check-progress {display:block;}
.check-progress[hidden] {display:none!important;}
.check-progress-bar {height:6px; background:#e7eeec; border-radius:999px; overflow:hidden;}
.check-progress-bar > span {display:block; height:100%; width:17%; background:linear-gradient(90deg,#efb36f,#e2873a); border-radius:999px; transition:width .35s ease;}
.check-step {border:0; padding:0; margin:0 0 30px; min-width:0;}
.claim-check.is-enhanced .check-step {margin:0;}
.check-step[hidden] {display:none;}
.claim-check.is-resizing {overflow:hidden; transition:height .34s cubic-bezier(.22,.61,.36,1);}
.check-step.is-entering {animation:check-step-in .34s cubic-bezier(.22,.61,.36,1) both;}
.check-step.is-entering-back {animation:check-step-back .34s cubic-bezier(.22,.61,.36,1) both;}
@keyframes check-step-in {from {opacity:0; transform:translateX(32px);} to {opacity:1; transform:none;}}
@keyframes check-step-back {from {opacity:0; transform:translateX(-32px);} to {opacity:1; transform:none;}}
.check-step > legend {display:block; width:100%; padding:0; margin:0 0 20px; text-align:center; outline:none;}
.check-kicker {display:block; font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; color:#a4501a; margin-bottom:8px;}
.check-q {display:block; font-size:24px; font-weight:650; letter-spacing:-.035em; line-height:1.22; color:var(--ink);}

/* Answers: large tappable buttons. The radio stays in the page for keyboards and forms without JavaScript. */
.check-type,.check-option {position:relative; display:block; cursor:pointer;}
.check-type input,.check-option input {position:absolute; inset:0; opacity:0; margin:0; cursor:pointer;}
.check-face {display:flex; align-items:center; justify-content:center; gap:10px; min-height:60px; padding:12px 16px; border:2px solid #dde5e2; border-radius:12px; background:#fff; color:#183a40; font-size:16.5px; font-weight:600; line-height:1.3; text-align:center; transition:border-color .2s,background .2s,color .2s;}
@media(hover:hover) {
  .check-type:hover .check-face,.check-option:hover .check-face {border-color:#86b9b1; background:#f1f8f6;}
}
input:checked + .check-face {border-color:var(--teal); background:var(--teal); color:#fff;}
input:focus-visible + .check-face {outline:3px solid #c46810; outline-offset:3px;}
.check-options {display:grid; gap:10px;}
.check-types {display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.check-type .check-face {flex-direction:column; min-height:104px; padding:14px 10px; font-size:15.5px;}
.check-icon {width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#e7f1ee; color:var(--teal); transition:background .18s,color .18s;}
.check-icon .icon {width:22px; height:22px;}
.check-type input:checked + .check-face .check-icon {background:#ffffff26; color:#fff;}
.check-type:last-child {grid-column:1/-1;}
.check-type:last-child .check-face {flex-direction:row; min-height:60px;}
.check-type:last-child .check-icon {width:34px; height:34px;}
.check-step > .field-error {text-align:center; margin-top:12px;}

/* Contact details with floating labels. */
.check-row {display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.check-row-location {grid-template-columns:1.35fr .65fr;}
.float-select select {width:100%; height:58px; padding:22px 40px 6px 14px; border:2px solid #dde5e2; border-radius:12px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230b5966' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; color:var(--ink); font:500 16px/1.2 var(--sans); appearance:none; -webkit-appearance:none; cursor:pointer; transition:border-color .18s,box-shadow .18s;}
.float-select select:hover {border-color:#b7cbc6;}
.float-select select:focus {outline:none; border-color:var(--teal); box-shadow:0 0 0 4px #0b596626;}
.float-select select[aria-invalid] {border-color:#b4412f;}
.float-field.float-select label {top:8px; font-size:12px; font-weight:600; color:var(--teal);}
.float-field {position:relative; margin-bottom:10px;}
.float-field input {width:100%; height:58px; padding:22px 14px 6px; border:2px solid #dde5e2; border-radius:12px; background:#fff; color:var(--ink); font:500 16px/1.2 var(--sans); transition:border-color .18s,box-shadow .18s;}
.float-field input:hover {border-color:#b7cbc6;}
.float-field input:focus {outline:none; border-color:var(--teal); box-shadow:0 0 0 4px #0b596626;}
.float-field input[aria-invalid] {border-color:#b4412f;}
.float-field label {position:absolute; left:16px; top:18px; font-size:16px; color:#6a7e82; pointer-events:none; transition:top .15s,font-size .15s,color .15s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:calc(100% - 28px);}
.float-field input:focus + label,.float-field input:not(:placeholder-shown) + label,.float-field input:-webkit-autofill + label {top:8px; font-size:12px; font-weight:600; color:var(--teal);}
.float-field .field-error {font-size:13px; margin:5px 2px 0;}
.float-field.is-valid input[type=tel] {border-color:#6faea4; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230b5966' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:44px;}
/* The example format appears inside the field once it is focused, under the floated label. */
.float-field input::placeholder {color:transparent; transition:color .15s;}
.float-field input:focus::placeholder {color:#9aabaf;}
.check-geo {display:flex; align-items:flex-start; gap:8px; margin:0 0 12px; padding:9px 12px; border-radius:10px; background:#eef6f3; color:#24525a; font-size:13.5px; line-height:1.45;}
.check-geo[hidden] {display:none;}
.check-geo .icon {flex:none; width:17px; height:17px; color:var(--teal); margin-top:1px;}
.check-contact .consent {margin:6px 0 0; font-size:13.5px; line-height:1.55; gap:10px;}
.check-contact .form-submit {width:100%; min-height:58px; margin-top:16px; justify-content:center; gap:12px; border-radius:12px; background:var(--lime); border-color:var(--lime); color:var(--green); font-size:17px; font-weight:700; box-shadow:0 10px 24px #e2873a40;}
.check-contact .form-submit:hover {background:#f4c188; border-color:#f4c188; color:var(--green);}
.check-contact .form-submit:disabled {opacity:.75; cursor:progress;}
.check-consent {display:flex; gap:9px; align-items:flex-start; margin:12px 2px 0; font-size:12.5px; line-height:1.55; color:#5b6f73;}
.check-consent .icon {flex:none; width:16px; height:16px; color:var(--teal); margin-top:2px;}
.check-consent strong {color:var(--ink); font-weight:650;}
.check-consent a {color:var(--teal);}
.check-nav {display:flex; justify-content:center; margin-top:14px;}
.check-nav[hidden] {display:none;}
.check-back {display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:0; border-radius:8px; background:none; color:#5b6f73; font:600 14px/1.3 var(--sans); cursor:pointer;}
.check-back:hover {color:var(--teal); background:#f1f6f4;}
.check-back[hidden] {display:none;}
.check-back .icon {width:15px; height:15px;}
.icon-flip {transform:rotate(180deg);}
.check-disclaimer {margin:14px 4px 0; color:#bcd0cb; font-size:12.5px; line-height:1.55; text-align:center;}
.check-disclaimer a {color:#e6f0ee;}

/* Submitting and result. */
.check-card .form-feedback:focus {outline:none;}
.check-card .form-feedback.has-error {margin-bottom:16px; border-radius:10px;}
.claim-check[hidden] {display:none;}
.check-processing {padding:34px 30px 32px; text-align:center;}
.check-processing[hidden] {display:none;}
.check-orbit {position:relative; width:108px; height:108px; margin:0 auto 22px; display:grid; place-items:center;}
.check-orbit span {position:absolute; inset:0; border-radius:50%; border:2px solid #0b596633; animation:check-pulse 1.8s ease-out infinite;}
.check-orbit span + span {animation-delay:.9s;}
.check-orbit i {position:relative; width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:var(--teal); color:#fff; box-shadow:0 10px 26px #0b596640; animation:check-ring 1.2s ease-in-out infinite;}
.check-orbit i .icon {width:32px; height:32px;}
.is-complete .check-orbit span {display:none;}
.is-complete .check-orbit i {animation:check-pop .45s ease both; background:#e3f3ee; color:var(--teal); box-shadow:none;}
@keyframes check-pulse {from {transform:scale(.7); opacity:1;} to {transform:scale(1.35); opacity:0;}}
@keyframes check-ring {0%,100% {transform:rotate(0);} 10% {transform:rotate(-12deg);} 20% {transform:rotate(12deg);} 30% {transform:rotate(-8deg);} 40% {transform:rotate(0);}}
@keyframes check-pop {from {transform:scale(.6);} 70% {transform:scale(1.08);} to {transform:scale(1);}}
.check-processing h3 {font-size:25px; letter-spacing:-.04em; line-height:1.2; margin:0 0 8px; color:var(--ink); outline:none;}
.check-processing > p {font-size:15.5px; line-height:1.6; color:#3f5b5f; margin:0 auto 20px; max-width:380px;}
.is-complete > p[data-proc-text] {font-size:17px; color:var(--ink); font-weight:550;}
.check-stages {list-style:none; margin:0 auto; padding:18px 20px; max-width:380px; display:grid; gap:0; text-align:left; background:#f4f8f7; border-radius:12px;}
/* A thin line joins the stages and fills in as each one completes. */
.check-stages li {position:relative; display:flex; align-items:flex-start; gap:12px; padding-bottom:20px; font-size:15px; font-weight:600; line-height:24px; color:#8a9a9d; transition:color .3s;}
.check-stages li:last-child {padding-bottom:0;}
.check-stages li:not(:last-child):before,.check-stages li:not(:last-child):after {content:''; position:absolute; left:11px; top:28px; bottom:4px; width:2px; border-radius:2px; background:#dce6e3;}
.check-stages li:not(:last-child):after {background:var(--teal); transform:scaleY(0); transform-origin:top; transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.check-stages li.is-done:not(:last-child):after {transform:scaleY(1);}
.check-stages b {flex:none; width:24px; height:24px; border-radius:50%; border:2px solid #cfdad7; display:grid; place-items:center; transition:background .3s,border-color .3s;}
.check-stages b .icon {width:14px; height:14px;}
.check-stages .is-active {color:var(--ink);}
.check-stages .is-active b {border-color:#d5e2de; border-top-color:var(--teal); animation:check-spin .8s linear infinite;}
.check-stages .is-done {color:var(--ink);}
.check-stages .is-done b {background:var(--teal); border-color:var(--teal); color:#fff;}
@keyframes check-spin {to {transform:rotate(360deg);}}
.check-processing .check-summary {display:inline-block; margin:18px 0 0; padding:6px 14px; border-radius:999px; background:#eef6f3; color:#1f4a50; font-weight:600; font-size:14px;}
.check-processing .check-summary[hidden] {display:none;}

/* Below the form. */
.check-strip {background:#eeeae2; border-bottom:1px solid #e1ddd3;}
.check-strip-grid {display:grid; grid-template-columns:repeat(3,1fr); gap:36px; padding:34px 0;}
.check-strip-grid > div {display:flex; gap:17px; align-items:flex-start; padding-left:28px; border-left:1px solid #cbd5cf;}
.check-strip-grid > div:first-child {padding-left:0; border:0;}
.check-strip-grid .icon {flex:none; width:34px; height:34px; color:var(--teal);}
.check-strip-grid strong {display:block; font-size:16px; font-weight:650; color:var(--ink);}
.check-strip-grid small {display:block; font-size:14px; color:var(--muted); margin-top:3px; line-height:1.55;}
.check-how {padding-block:100px;}
.check-how-grid {display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start;}
.check-how h2 {font-size:clamp(38px,3.6vw,52px); line-height:1.05; margin:16px 0 22px;}
.check-how h2 em,.check-types-section h2 em,.check-faq h2 em {color:var(--teal); font-style:normal; font-family:inherit;}
.check-how-copy p {font-size:18px; color:#52666b; line-height:1.75; max-width:460px; margin:0 0 30px;}
.check-how-copy .button {margin:0;}
.check-how-steps {display:grid; border-top:1px solid #cbd6cf;}
.check-how-steps > div {display:grid; grid-template-columns:80px 1fr; gap:8px 28px; padding:30px 0; border-bottom:1px solid #cbd6cf;}
.check-how-steps span {grid-row:1/3; font-size:50px; color:var(--teal); letter-spacing:-.06em; line-height:1; font-weight:400;}
.check-how-steps h3 {font-size:24px; margin:0; letter-spacing:-.03em; line-height:1.2;}
.check-how-steps p {grid-column:2; margin:0; font-size:17px; line-height:1.7; color:#3f5b5f;}
.check-types-section {background:#eeeae2;}
.check-types-section .section-heading h2 {margin-top:6px;}
.check-type-grid {grid-template-columns:repeat(12,minmax(0,1fr)); gap:26px;}
.check-type-grid .service-card {grid-column:span 4;}
.check-faq-grid {display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start;}
.check-faq-grid h2 {margin-top:6px;}
.check-faq-grid > div > p {margin:22px 0; font-size:17px; color:#52666b;}
.check-final {background:var(--green); color:#fff; padding-block:84px;}
.check-final-inner {display:grid; grid-template-columns:1fr auto; gap:40px 60px; align-items:center;}
.check-final .eyebrow {color:var(--aqua);}
.check-final h2 {color:#fff; font-size:clamp(36px,3.6vw,54px); margin:14px 0 14px; line-height:1.05;}
.check-final h2 em {color:var(--aqua); font-style:normal; font-family:inherit;}
.check-final p {color:#dde9e6; font-size:18px; margin:0; max-width:520px; line-height:1.7;}
.check-final-actions {display:flex; flex-direction:column; gap:16px; align-items:flex-start;}
.check-final .button {background:var(--lime); border-color:var(--lime); color:var(--green); margin:0;}
.check-final .button:hover {background:#ffca8c; border-color:#ffca8c;}
.check-final-phone {color:#fff; font-size:24px; font-weight:550; text-decoration:none; display:inline-flex; align-items:center; gap:12px;}
.check-final-phone .icon {color:var(--aqua);}

@media(max-width:1100px) {
  .check-hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,470px); gap:0 44px;}
  .check-copy h1 {font-size:clamp(38px,4.4vw,52px);}
}
@media(max-width:900px) {
  .check-hero-grid {grid-template-columns:1fr; grid-template-areas:"copy" "panel" "assure"; grid-template-rows:auto; gap:0; padding:16px 0 40px;}
  .check-copy {padding-top:0; text-align:center;}
  .check-copy .breadcrumb {display:none;}
  .check-copy .eyebrow {justify-content:center; font-size:10px; margin-bottom:8px;}
  .check-copy .eyebrow-line {display:none;}
  .check-copy h1 {font-size:28px; line-height:1.12; letter-spacing:-.045em; margin:0 auto 16px; max-width:none;}
  .check-copy h1 em {display:inline;}
  .check-lead {display:none;}
  .check-hero-photo {height:760px;}
  .check-hero-photo:after {background:linear-gradient(0deg,#082d39 0%,transparent 30%),linear-gradient(180deg,#082d39f2,#082d39e0);}
  .check-assure {justify-content:center; margin-top:18px;}
  .check-strip-grid {grid-template-columns:1fr; gap:18px; padding:26px 0;}
  .check-strip-grid > div {border:0; padding-left:0;}
  .check-how,.check-types-section,.check-faq {padding-block:74px;}
  .check-how-grid,.check-faq-grid {grid-template-columns:1fr; gap:38px;}
  .check-type-grid .service-card {grid-column:span 6;}
  .check-final {padding-block:64px;}
  .check-final-inner {grid-template-columns:1fr;}
}
@media(max-width:540px) {
  .check-card {border-radius:16px;}
  .check-card-head {padding:16px 18px 14px;}
  .check-card-head h2 {font-size:18px;}
  .check-card-head p {font-size:13px;}
  .claim-check {padding:18px 16px 18px;}
  .check-processing {padding:26px 18px 24px;}
  .check-processing h3 {font-size:22px;}
  .check-progress {margin-bottom:18px;}
  .check-step > legend {margin-bottom:16px;}
  .check-q {font-size:21px;}
  .check-kicker {font-size:11px; margin-bottom:6px;}
  .check-face {min-height:56px; font-size:16px;}
  .check-types {gap:8px;}
  .check-type .check-face {min-height:92px; font-size:14.5px; padding:12px 8px;}
  .check-icon {width:38px; height:38px;}
  .check-row {gap:8px;}
  .check-assure li {font-size:13px; padding:7px 12px;}
  .check-how-steps > div {grid-template-columns:52px 1fr; gap:6px 18px; padding:24px 0;}
  .check-how-steps span {font-size:40px;}
  .check-how-steps h3 {font-size:22px;}
  .check-type-grid .service-card {grid-column:span 12;}
  .check-final h2 {font-size:36px;}
  .check-final-actions {width:100%;}
  .check-final .button {width:100%; justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce) {
  .check-step.is-entering-back,.claim-check.is-resizing,
  .check-step.is-entering,.check-orbit span,.check-orbit i,.check-stages .is-active b {animation:none;}
  .check-progress-bar > span,.check-face,.check-icon,.float-field input,.float-field label {transition:none;}
}

/* Homepage: the quick-contact bar slides away while the claim check is on screen. */
.mobile-contact {transition:transform .3s ease;}
.check-in-view .mobile-contact {transform:translateY(110%);}
