:root {
--navy: #14386E;
--navy-deep: #14386E;
--navy-2: #1E4A88;
--navy-3: #2E63A6;
--sky: #2E7BF0;
--sky-soft: #BFD9FB;
--gold: #39E04B;
--gold-deep: #1FB233;
--gold-bright: #5CF56B;
--cream: #EEF4FB;
--paper: #EEF4FB;
--paper-2: #E3ECF7;
--ink: #0C1526;
--ink-soft: #43536E;
--line: #D3E0EE;
--white: #ffffff;
--shadow-sm: 0 2px 8px rgba(11,37,69,.08);
--shadow-md: 0 10px 30px rgba(11,37,69,.12);
--shadow-lg: 0 26px 60px rgba(6,22,41,.22);
--shadow-gold: 0 14px 30px rgba(242,169,0,.32);
--r-sm: 8px;
--r-md: 14px;
--r-lg: 22px;
--r-xl: 30px;
--maxw: 1240px;
--gut: clamp(20px, 5vw, 64px);
--font-display: 'Anton', 'Archivo', sans-serif;
--font-body: 'Archivo', system-ui, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
font-family: var(--font-body);
color: var(--ink);
background: var(--paper);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
::selection { background: var(--gold); color: var(--navy); }
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gut); }
.section { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.section + .section { border-top: 1px solid rgba(15,34,56,.10); }
.section--navy { background: var(--navy); color: #fff; }
.section--deep { background: var(--navy-deep); color: #fff; }
.section--cream { background: var(--cream); }
.display {
font-family: var(--font-display);
font-weight: 400;
line-height: 0.96;
letter-spacing: .01em;
text-transform: uppercase;
}
.eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-weight: 800; font-size: clamp(12px, 1.4vw, 14px);
letter-spacing: .22em; text-transform: uppercase;
color: var(--gold-deep);
}
.eyebrow::before {
content: ""; width: 30px; height: 3px; background: var(--gold); border-radius: 2px;
}
.section--navy .eyebrow, .section--deep .eyebrow { color: var(--gold); }
.section-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(34px, 6vw, 68px); line-height: 0.95; letter-spacing: .005em;
margin: 16px 0 0;
}
.section-intro { max-width: 620px; font-size: clamp(16px, 1.8vw, 18px); color: var(--ink-soft); margin-top: 18px; }
.section--navy .section-intro, .section--deep .section-intro { color: #B9CAE0; }
.mark { color: var(--navy); background: linear-gradient(transparent 58%, var(--gold) 58% 92%, transparent 92%); padding: 0 .06em; }
.section--navy .mark, .section--deep .mark, .hero .mark { color: #fff; background: linear-gradient(transparent 58%, var(--gold-deep) 58% 92%, transparent 92%); }
.txt-gold { color: var(--gold); }
.btn {
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
font-weight: 800; font-size: 15px; letter-spacing: .04em; text-transform: uppercase;
padding: 16px 28px; border-radius: 999px; transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
white-space: nowrap; line-height: 1;
}
.btn svg { width: 18px; height: 18px; }
.btn-gold { background: var(--gold); color: var(--navy); box-shadow: var(--shadow-gold); }
.btn-gold:hover { background: var(--gold-bright); transform: translateY(-2px); }
.btn-gold:active { transform: translateY(0) scale(.97); }
.btn-navy { background: var(--navy); color: #fff; box-shadow: var(--shadow-md); }
.btn-navy:hover { background: var(--navy-2); transform: translateY(-2px); }
.btn-ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
.btn-ghost:hover { box-shadow: inset 0 0 0 2px #fff; background: rgba(255,255,255,.08); }
.btn-ghost-navy { background: transparent; color: var(--navy); box-shadow: inset 0 0 0 2px rgba(11,37,69,.25); }
.btn-ghost-navy:hover { box-shadow: inset 0 0 0 2px var(--navy); }
.btn-lg { padding: 19px 34px; font-size: 16px; }
.btn-block { width: 100%; }
.bubbles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.bubble {
position: absolute; bottom: -60px; border-radius: 50%;
background: radial-gradient(circle at 32% 28%, rgba(255,255,255,.9), rgba(143,206,243,.5) 42%, rgba(54,169,225,.12) 70%, transparent 72%);
box-shadow: inset 0 0 12px rgba(255,255,255,.4);
animation: rise linear infinite;
opacity: 0;
}
@keyframes rise {
0% { transform: translateY(0) translateX(0) scale(.6); opacity: 0; }
10% { opacity: .8; }
50% { transform: translateY(-46vh) translateX(14px) scale(1); }
90% { opacity: .55; }
100% { transform: translateY(-92vh) translateX(-10px) scale(1.05); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .bubble { animation: none; display: none; } }
.util {
background: var(--navy-deep); color: #cfe0f2;
font-size: 13.5px; font-weight: 600; letter-spacing: .01em;
position: relative; z-index: 60;
}
.util .wrap { display: flex; align-items: center; justify-content: space-between; gap: 18px; height: 44px; }
.util-left { display: flex; align-items: center; gap: 22px; }
.util-item { display: inline-flex; align-items: center; gap: 8px; }
.util-item svg { width: 15px; height: 15px; color: var(--gold); }
.util-right { display: flex; align-items: center; gap: 18px; }
.util-phone { color: #fff; font-weight: 800; }
.util-phone:hover { color: var(--gold); }
.util .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--sky); }
@media (max-width: 860px){ .util-left .util-item.hide-sm { display: none; } }
@media (max-width: 600px){ .util { font-size: 12px; } .util-left .util-item:not(.keep) { display:none; } .util .wrap{ height:40px; } }
.header {
position: sticky; top: 0; z-index: 50;
background: rgba(255,255,255,.92); backdrop-filter: blur(14px) saturate(160%);
border-bottom: 1px solid var(--line);
transition: box-shadow .25s ease, background .25s ease;
}
.header.scrolled { box-shadow: 0 8px 26px rgba(11,37,69,.12); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 78px; gap: 20px; }
.brand { display: flex; align-items: center; gap: 13px; }
.brand img { width: 52px; height: 52px; }
.brand-txt { display: flex; flex-direction: column; line-height: 1; }
.brand-name { font-family: var(--font-display); font-size: 23px; letter-spacing: .02em; color: var(--navy); text-transform: uppercase; }
.brand-sub { font-size: 10.5px; font-weight: 800; letter-spacing: .28em; color: var(--gold-deep); text-transform: uppercase; margin-top: 3px; }
.nav-links { display: flex; align-items: center; gap: 22px; }
.nav-links a { font-weight: 700; font-size: 15px; color: var(--navy); position: relative; padding: 6px 0; white-space: nowrap; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:3px; background: var(--gold); border-radius:2px; transition: width .2s ease; }
.nav-links a:hover::after { width: 100%; }
.nav-cta { display: flex; align-items: center; gap: 14px; }
.nav-phone { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; color: var(--navy); font-size: 16px; white-space: nowrap; }
.nav-phone svg { width: 18px; height: 18px; color: var(--gold-deep); }
.burger { display: none; width: 46px; height: 46px; border-radius: 12px; background: var(--navy); align-items:center; justify-content:center; }
.burger span { display:block; width: 22px; height: 2.4px; background:#fff; border-radius:2px; position: relative; transition: .25s; }
.burger span::before, .burger span::after { content:""; position:absolute; left:0; width:22px; height:2.4px; background:#fff; border-radius:2px; transition:.25s; }
.burger span::before { top:-7px; } .burger span::after { top:7px; }
.burger.open span { background: transparent; }
.burger.open span::before { top:0; transform: rotate(45deg); }
.burger.open span::after { top:0; transform: rotate(-45deg); }
@media (max-width: 1180px){ .nav-phone { display: none; } .nav-links { gap: 16px; } }
@media (max-width: 1000px){
.nav-links, .nav-phone { display: none; }
.burger { display: flex; }
.qbar { display: none !important; }
body.qbar-on .header { visibility: visible !important; pointer-events: auto !important; }
}
.mobile-menu {
position: fixed; inset: 0 0 0 auto; width: min(88vw, 380px);
background: var(--navy); color: #fff; z-index: 80;
transform: translateX(100%); transition: transform .32s cubic-bezier(.4,0,.2,1);
padding: 0 24px; display: flex; flex-direction: column;
box-shadow: var(--shadow-lg);
overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.mobile-menu.open { transform: translateX(0); }
.mm-head {
position: sticky; top: 0; z-index: 3;
display:flex; align-items:center; justify-content: space-between;
margin: 0 -24px 6px; padding: 18px 24px 14px;
background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.12);
}
.mm-logo { height: 44px; width: auto; display: block; }
.mm-close { width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1); color:#fff; font-size: 24px; display:flex;align-items:center;justify-content:center; flex:none; }
.mobile-menu a.mm-link { display:block; font-family: var(--font-display); font-size: 20px; text-transform: uppercase; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); letter-spacing: .02em; color:#fff; }
.mobile-menu a.mm-link:hover { color: var(--gold); padding-left: 6px; transition:.2s; }
.mm-foot { margin-top: 12px; padding: 18px 0 calc(26px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.12); }
.mm-phone { font-family: var(--font-display); font-size: 26px; color: var(--gold); display:flex; align-items:center; gap:12px; }
.mm-phone svg { width: 24px; height: 24px; flex: none; }
.scrim { position: fixed; inset:0; background: rgba(6,22,41,.6); backdrop-filter: blur(3px); z-index:70; opacity:0; visibility:hidden; transition:.3s; }
.scrim.show { opacity:1; visibility:visible; }
.hero { position: relative; background: var(--navy-deep); color: #fff; overflow: hidden; isolation: isolate; }
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
.hero-media::after {
content:""; position:absolute; inset:0;
background:
linear-gradient(100deg, rgba(6,22,41,.96) 0%, rgba(7,26,51,.86) 38%, rgba(8,30,58,.45) 70%, rgba(8,30,58,.25) 100%),
linear-gradient(0deg, rgba(6,22,41,.85), transparent 42%);
}
.hero-inner { position: relative; z-index: 2; padding: clamp(56px, 9vw, 120px) 0 clamp(70px, 10vw, 130px); }
.hero-badge {
display:inline-flex; align-items:center; gap:10px; background: rgba(255,255,255,.1);
border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 9px 16px 9px 12px;
font-weight:800; font-size: 13px; letter-spacing:.06em; text-transform:uppercase; margin-bottom: 26px;
backdrop-filter: blur(6px);
}
.hero-badge .stars { display:inline-flex; gap:2px; color: var(--gold); }
.hero-badge .stars svg{ width:15px;height:15px; }
.hero h1 {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(40px, 6.4vw, 84px); line-height: 0.92; letter-spacing: .005em;
text-shadow: 0 6px 34px rgba(0,0,0,.35);
}
.hero h1 .line2 { color: var(--gold); }
.hero-sub { font-size: clamp(17px, 2.2vw, 21px); color: #D5E2F2; max-width: 560px; margin-top: 22px; font-weight: 500; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.hero-trust { display:flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 40px; }
.hero-trust .t { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size: 14.5px; color:#E7EFF9; }
.hero-trust .t svg { width:20px; height:20px; color: var(--gold); flex: none; }
.hero-services-strip { margin-top: 46px; display:flex; flex-wrap:wrap; gap: 10px; }
.hero-chip { font-weight:800; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:#cfe0f5; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:8px 15px; }
.marquee { background: var(--gold); color: var(--navy); overflow: hidden; padding: 16px 0; border-top: 4px solid var(--gold-deep); border-bottom: 4px solid var(--gold-deep); }
.marquee-track { display: inline-flex; align-items:center; white-space: nowrap; animation: scroll-x 32s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track span { font-family: var(--font-display); font-size: clamp(18px, 2.4vw, 26px); text-transform: uppercase; letter-spacing: .03em; padding: 0 26px; display:inline-flex; align-items:center; gap: 26px; }
.marquee-track .sep { width: 12px; height: 12px; background: var(--navy); border-radius: 50%; flex:none; }
@keyframes scroll-x { from { transform: translateX(0);} to { transform: translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }
.sec-head { display:flex; align-items:flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-bottom: clamp(34px, 5vw, 56px); }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.svc {
position: relative; border-radius: var(--r-lg); overflow: hidden; background: var(--navy);
min-height: 360px; display:flex; box-shadow: var(--shadow-md);
transition: transform .25s ease, box-shadow .25s ease;
}
.svc:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.svc img { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; transition: transform .5s ease; }
.svc:hover img { transform: scale(1.07); }
.svc::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(6,22,41,.94) 8%, rgba(7,26,51,.55) 48%, rgba(8,30,58,.12) 100%); }
.svc-body { position: relative; z-index:2; margin-top: auto; padding: 26px; color:#fff; width:100%; }
.svc-num { font-family: var(--font-display); font-size: 14px; color: var(--gold); letter-spacing:.1em; }
.svc h3 { font-family: var(--font-display); font-weight:400; text-transform:uppercase; font-size: 28px; line-height: .98; margin: 8px 0 8px; letter-spacing:.01em; }
.svc p { font-size: 14.5px; color:#cdddee; max-height: 0; overflow: hidden; opacity: 0; transform: translateY(6px); transition: all .3s ease; }
.svc:hover p, .svc:focus-within p { max-height: 100px; opacity: 1; transform: translateY(0); margin-top: 2px; }
.svc-tag { position:absolute; top:18px; left:18px; z-index:3; background: var(--gold); color: var(--navy); font-weight:800; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; padding:7px 12px; border-radius:999px; }
.svc-arrow { position:absolute; top:18px; right:18px; z-index:3; width:42px; height:42px; border-radius:50%; background: rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; transition:.25s; }
.svc:hover .svc-arrow { background: var(--gold); border-color: var(--gold); }
.svc-arrow svg { width:18px; height:18px; color:#fff; transition:.25s; }
.svc:hover .svc-arrow svg { color: var(--navy); }
@media (max-width: 960px){ .services-grid { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 600px){ .services-grid { grid-template-columns: 1fr;} .svc{ min-height: 300px;} .svc p{ max-height:100px; opacity:1; transform:none; } }
.about-grid { display:grid; grid-template-columns: 1.05fr 1fr; gap: clamp(34px, 5vw, 70px); align-items: center; }
.about-media { position: relative; }
.about-media .ph { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 4/5; }
.about-media .ph img { width:100%; height:100%; object-fit: cover; }
.about-media .ph.b { position: absolute; width: 47%; aspect-ratio: 4/3; right: -6%; bottom: -8%; border: 6px solid var(--navy); }
.about-badge {
position:absolute; top: -22px; left: -22px; background: var(--gold); color: var(--navy);
border-radius: var(--r-md); padding: 16px 20px; box-shadow: var(--shadow-md); z-index: 3; text-align:center;
}
.about-badge b { font-family: var(--font-display); font-size: 34px; display:block; line-height:1; }
.about-badge span { font-weight:800; font-size: 11px; letter-spacing:.12em; text-transform:uppercase; }
.values { list-style:none; display:grid; gap: 16px; margin-top: 28px; }
.values li { display:flex; gap:14px; align-items:flex-start; }
.values .vi { flex:none; width:46px; height:46px; border-radius: 12px; background: rgba(54,169,225,.16); display:flex; align-items:center; justify-content:center; }
.section--navy .values .vi { background: rgba(255,255,255,.1); }
.values .vi svg { width:24px; height:24px; color: var(--gold); }
.values h4 { font-family: var(--font-body); font-weight: 800; font-size: 17px; letter-spacing:0; text-transform:none; }
.values p { font-size: 14.5px; color: #B9CAE0; margin-top: 2px; }
@media (max-width: 880px){ .about-grid{ grid-template-columns: 1fr; } .about-media{ max-width: 480px; } .about-media .ph.b{ width:44%; } }
.ba-wrap { display:grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: stretch; }
.ba {
position: relative; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg);
aspect-ratio: 3/4; user-select: none; touch-action: pan-y; background:#000;
}
.ba img { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; pointer-events:none; }
.ba .before { filter: grayscale(.55) brightness(.72) contrast(.92) sepia(.28); clip-path: inset(0 50% 0 0); }
.ba .lbl { position:absolute; top:16px; z-index:4; font-weight:800; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:7px 13px; border-radius:999px; }
.ba .lbl.bf { left:16px; background: rgba(6,22,41,.78); color:#fff; }
.ba .lbl.af { right:16px; background: var(--gold); color: var(--navy); }
.ba-handle { position:absolute; top:0; bottom:0; width:4px; background:#fff; left:50%; transform: translateX(-50%); z-index:5; box-shadow: 0 0 16px rgba(0,0,0,.4); }
.ba-knob { position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); width:54px; height:54px; border-radius:50%; background:#fff; box-shadow: var(--shadow-md); display:flex; align-items:center; justify-content:center; }
.ba-knob svg { width: 26px; height:26px; color: var(--navy); }
.ba-cap { position:absolute; bottom:0; left:0; right:0; z-index:4; padding: 22px 20px 18px; background: linear-gradient(0deg, rgba(6,22,41,.9), transparent); color:#fff; }
.ba-cap b { font-family: var(--font-display); text-transform:uppercase; font-size: 21px; letter-spacing:.01em; }
.ba-cap span { display:block; font-size: 13.5px; color:#cdddee; font-weight:600; }
.ba-hint { position:absolute; top:50%; left:0; right:0; text-align:center; transform: translateY(-50%); z-index:3; color:#fff; font-weight:800; font-size:12px; letter-spacing:.1em; text-transform:uppercase; opacity:.0; transition:.3s; pointer-events:none; }
@media (max-width: 760px){ .ba-wrap{ grid-template-columns: 1fr; max-width: 460px; margin-inline:auto; } }
.sec-head--center { flex-direction: column; align-items: center; text-align: center; }
.sec-head--center .section-intro { text-align: center; }
.steps { display:grid; grid-template-columns: repeat(3,1fr); gap: 0; counter-reset: step; }
.step { background: none; border: none; border-radius: 0; padding: 0 24px 30px; position: relative; box-shadow: none; display: flex; flex-direction: column; align-items: center; text-align: center; transition: transform .2s ease; }
.step:hover { transform: translateY(-4px); box-shadow: none; }
.step-n { display: none; }
.step-ic { width: 100px; height: 100px; border-radius: 20px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; margin-bottom: 24px; box-shadow: var(--shadow-sm); flex-shrink: 0; }
.step-ic svg { width: 52px; height: 52px; color: var(--navy); }
.step-ic img { width: 62px; height: 62px; object-fit: contain; }
.step h3 { font-family: var(--font-display); font-weight:400; text-transform:uppercase; font-size: clamp(17px, 2vw, 22px); letter-spacing:.01em; color: var(--navy); }
.step p { color: var(--ink-soft); font-size: 15px; margin-top: 8px; max-width: 230px; }
.steps-cta { text-align: center; margin-top: 48px; }
@media (max-width: 820px){ .steps{ grid-template-columns:1fr; max-width: 460px; margin-inline:auto; } }
.strip { background: var(--navy-2); color:#fff; position: relative; overflow:hidden; }
.strip .wrap { display:flex; align-items:center; justify-content: space-between; gap: 30px; flex-wrap: wrap; padding-block: 30px; position:relative; z-index:2; }
.strip-cols { display:flex; gap: 38px; flex-wrap: wrap; }
.strip-col { display:flex; align-items:center; gap: 14px; }
.strip-col .si { width:48px; height:48px; border-radius: 12px; background: rgba(255,255,255,.1); display:flex;align-items:center;justify-content:center; flex:none; }
.strip-col .si svg { width:24px; height:24px; color: var(--gold); }
.strip-col b { display:block; font-family: var(--font-display); text-transform:uppercase; font-size: 19px; letter-spacing:.01em; line-height:1; }
.strip-col span { font-size: 13.5px; color:#bcd0e8; font-weight:600; }
.reviews-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.review { background:#fff; border:1px solid var(--line); border-radius: var(--r-lg); padding: 30px 28px; box-shadow: var(--shadow-sm); display:flex; flex-direction:column; }
.review .stars { display:flex; gap:3px; color: var(--gold-deep); margin-bottom: 16px; }
.review .stars svg { width:19px; height:19px; }
.review-q { font-size: 16.5px; line-height: 1.55; font-weight: 500; color: var(--ink); }
.review-by { display:flex; align-items:center; gap: 13px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.review-av { width:46px; height:46px; border-radius:50%; background: var(--navy); color:#fff; font-family: var(--font-display); font-size: 20px; display:flex; align-items:center; justify-content:center; flex:none; }
.review-by b { font-weight: 800; font-size: 15px; display:block; }
.review-by span { font-size: 13px; color: var(--ink-soft); }
.reviews-foot { display:flex; align-items:center; justify-content:center; gap: 14px; margin-top: 40px; flex-wrap:wrap; text-align:center; }
.gbadge { display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 20px; box-shadow: var(--shadow-sm); font-weight:700; }
.gbadge .stars { color: var(--gold-deep); display:inline-flex; }
.gbadge .stars svg{ width:17px;height:17px; }
@media (max-width: 920px){ .reviews-grid{ grid-template-columns:1fr; max-width: 520px; margin-inline:auto;} }
.serve-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.serve { position:relative; border-radius: var(--r-lg); overflow:hidden; min-height: 300px; display:flex; box-shadow: var(--shadow-md); }
.serve img{ position:absolute; inset:0; width:100%;height:100%; object-fit:cover; transition: transform .5s ease; }
.serve:hover img{ transform: scale(1.06); }
.serve::after{ content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(6,22,41,.92), rgba(7,26,51,.35) 60%, rgba(8,30,58,.08)); }
.serve-body{ position:relative; z-index:2; margin-top:auto; padding: 26px; color:#fff; }
.serve-body h3{ font-family: var(--font-display); font-weight:400; text-transform:uppercase; font-size: 27px; letter-spacing:.01em; }
.serve-body p{ font-size: 14px; color:#cdddee; margin-top:6px; }
@media (max-width: 820px){ .serve-grid{ grid-template-columns:1fr; max-width: 460px; margin-inline:auto;} }
.faq-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(30px,5vw,60px); align-items:start; }
.faq-list { display:flex; flex-direction: column; gap: 14px; }
.faq-item { background:#fff; border:1px solid var(--line); border-radius: var(--r-md); overflow:hidden; transition: box-shadow .2s, border-color .2s; }
.faq-item.open { box-shadow: var(--shadow-md); border-color: #c9d6e6; }
.faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; text-align:left; padding: 20px 22px; font-weight: 800; font-size: 16.5px; color: var(--navy); }
.faq-ic { flex:none; width:30px;height:30px;border-radius:50%; background: var(--paper-2); display:flex;align-items:center;justify-content:center; transition:.25s; }
.faq-item.open .faq-ic { background: var(--gold); transform: rotate(45deg); }
.faq-ic svg{ width:17px;height:17px; color: var(--navy); }
.faq-a { max-height:0; overflow:hidden; transition: max-height .3s ease; }
.faq-a-inner { padding: 0 22px 22px; color: var(--ink-soft); font-size: 15px; }
@media (max-width: 820px){ .faq-grid{ grid-template-columns:1fr; } }
.quote-grid { display:grid; grid-template-columns: 1fr 1.05fr; gap: clamp(34px,5vw,64px); align-items:start; }
.contact-card { display:flex; gap:15px; align-items:flex-start; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.contact-card:last-child { border-bottom: none; }
.contact-ic { flex:none; width:52px;height:52px;border-radius:13px; background: rgba(255,255,255,.1); display:flex;align-items:center;justify-content:center; }
.contact-ic svg{ width:25px;height:25px;color: var(--gold); }
.contact-card .ct-label{ font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color: var(--gold); }
.contact-card .ct-main{ font-family: var(--font-display); text-transform:uppercase; font-size: 22px; letter-spacing:.01em; line-height:1.05; margin-top:4px; }
.contact-card .ct-main a:hover{ color: var(--gold); }
.contact-card .ct-sub{ font-size:13.5px; color:#bcd0e8; margin-top:3px; font-weight:600; }
.pays { display:flex; gap:8px; flex-wrap:wrap; margin-top: 8px; }
.pay { font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#dce8f6; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:6px 12px; }
.form-card { background:#fff; border-radius: var(--r-xl); padding: clamp(26px, 3vw, 40px); box-shadow: var(--shadow-lg); color: var(--ink); }
.form-card h3 { font-family: var(--font-display); font-weight:400; text-transform:uppercase; font-size: clamp(26px,3vw,34px); color: var(--navy); line-height:.98; }
.form-card .fc-sub { color: var(--ink-soft); font-size: 15px; margin: 8px 0 22px; }
.field { margin-bottom: 16px; }
.field label { display:block; font-weight:800; font-size: 12.5px; letter-spacing:.06em; text-transform:uppercase; color: var(--navy); margin-bottom: 7px; }
.field input, .field select, .field textarea {
width:100%; font-family: inherit; font-size: 15.5px; color: var(--ink);
background: var(--paper); border: 1.5px solid var(--line); border-radius: 12px; padding: 13px 15px; transition: border-color .15s, box-shadow .15s;
}
.field textarea { resize: vertical; min-height: 96px; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color: var(--sky); box-shadow: 0 0 0 4px rgba(54,169,225,.16); }
.field.err input, .field.err select { border-color: #E5484D; box-shadow: 0 0 0 4px rgba(229,72,77,.12); }
.field .msg { color:#E5484D; font-size:12.5px; font-weight:700; margin-top:6px; display:none; }
.field.err .msg { display:block; }
.form-row { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-note { font-size: 12.5px; color: var(--ink-soft); margin-top: 14px; text-align:center; }
.form-success { text-align:center; padding: 24px 10px; display:none; }
.form-success.show { display:block; animation: pop .4s cubic-bezier(.34,1.56,.64,1); }
.form-success .sc-ic { width:74px;height:74px;border-radius:50%; background: #1F8A5B; display:flex;align-items:center;justify-content:center; margin: 0 auto 18px; }
.form-success .sc-ic svg{ width:38px;height:38px;color:#fff; }
.form-success h3{ color: var(--navy); }
.form-success p{ color: var(--ink-soft); margin-top:8px; }
@keyframes pop { from{ transform: scale(.9); opacity:0;} to{ transform:scale(1); opacity:1;} }
@media (max-width: 880px){ .quote-grid{ grid-template-columns:1fr; } .form-row{ grid-template-columns:1fr; } }
.endcta {
position: relative; overflow: hidden; isolation: isolate;
background: var(--navy-deep);
padding: clamp(120px, 16vw, 200px) 0 clamp(78px, 10vw, 132px);
text-align: center;
}
.endcta-media { position: absolute; inset: 0; z-index: -2; }
.endcta-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
@media (min-width: 880px){ .endcta-media img { object-position: 50% 27%; } }
.endcta-media::after {
content: ""; position: absolute; inset: 0;
background: linear-gradient(180deg, rgba(6,22,41,.30) 0%, rgba(6,22,41,.52) 42%, rgba(6,22,41,.84) 78%, var(--navy-deep) 100%);
}
.endcta-wave { position: absolute; top: -1px; left: 0; right: 0; z-index: 1; line-height: 0; pointer-events: none; }
.endcta-wave svg { display: block; width: 100%; height: clamp(58px, 9vw, 128px); }
.endcta-inner { position: relative; z-index: 2; max-width: 820px; margin: 0 auto; padding: 0 6px; }
.endcta-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(34px, 5.4vw, 68px); line-height: .98; letter-spacing: .005em;
color: #fff; text-shadow: 0 6px 34px rgba(0,0,0,.5);
}
.endcta-btn { margin-top: clamp(26px, 3vw, 38px); }
.footer { background: var(--navy-deep); color:#aebfd4; padding-top: clamp(56px,7vw,84px); }
.foot-top { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.1); }
.foot-brand { display:flex; align-items:center; gap:13px; margin-bottom: 18px; }
.foot-brand img{ width:56px;height:56px; }
.foot-brand .brand-name{ color:#fff; }
.footer p.fb { font-size: 14.5px; line-height:1.6; max-width: 320px; }
.foot-col h3 { color:#fff; font-family: var(--font-display); font-weight:400; text-transform:uppercase; font-size: 18px; letter-spacing:.04em; margin-bottom: 18px; }
.foot-col ul { list-style:none; display:flex; flex-direction:column; gap: 11px; }
.foot-col ul a, .foot-col ul li { font-size: 14.5px; }
.foot-col ul a:hover { color: var(--gold); }
.foot-socials { display:flex; gap:11px; margin-top: 18px; }
.foot-socials a { width:42px;height:42px;border-radius:11px; background: rgba(255,255,255,.08); display:flex;align-items:center;justify-content:center; transition:.2s; }
.foot-socials a:hover { background: var(--gold); }
.foot-socials a:hover svg { color: var(--navy); }
.foot-socials svg { width:20px;height:20px; color:#fff; }
.foot-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding: 22px 0 14px; font-size: 13px; }
.foot-bottom a:hover{ color:#fff; }
.foot-legal { display:flex; align-items:center; gap: 22px; flex-wrap:wrap; }
.foot-legal a { color:#9fb2cb; font-size:13px; }
.foot-legal a:hover { color:#fff; }
.foot-llms { display:inline-flex; align-items:center; }
.foot-llms .ai-tag { color: var(--gold); font-weight:800; font-size:11px; letter-spacing:.06em; }
.foot-vaultio { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding: 24px 0 34px; border-top:1px solid rgba(255,255,255,.08); text-decoration:none; }
.fv-label { color: rgba(255,255,255,.42); font-size: 11px; letter-spacing:.2em; text-transform:uppercase; }
.fv-lockup { display:flex; align-items:center; gap: 11px; }
.fv-lockup img { height: 30px; width:auto; display:block; transition: transform .25s ease; }
.fv-word { color:#fff; font-family: var(--font-display); font-weight:400; letter-spacing:.22em; font-size: 22px; text-transform:uppercase; line-height:1; transition: color .2s ease; }
.foot-vaultio:hover .fv-word { color: var(--gold); }
.foot-vaultio:hover .fv-lockup img { transform: scale(1.06); }
@media (max-width: 560px){ .foot-bottom{ justify-content:center; text-align:center; } .foot-legal{ justify-content:center; } }
@media (max-width: 900px){ .foot-top{ grid-template-columns: 1fr 1fr; gap:34px; } }
@media (max-width: 540px){ .foot-top{ grid-template-columns: 1fr; } }
.callbar { position: fixed; left:0; right:0; bottom:0; z-index: 45; display:none; gap:0; background: var(--navy); box-shadow: 0 -8px 24px rgba(6,22,41,.3); padding-bottom: env(safe-area-inset-bottom); }
.callbar a { flex:1; display:flex; align-items:center; justify-content:center; gap:9px; padding: 15px 8px; font-weight:800; font-size:14px; letter-spacing:.04em; text-transform:uppercase; }
.callbar a svg{ width:18px;height:18px; }
.callbar .c-call { background: var(--gold); color: var(--navy); }
.callbar .c-quote { color:#fff; }
@media (max-width: 1000px){ .callbar{ display:flex; } body{ padding-bottom: 56px; } .mobile-menu, .scrim { } }
.reveal { opacity: 1; transform: none; }
html.js .reveal { transform: translateY(14px); transition: transform .3s cubic-bezier(.2,.7,.3,1); }
html.js .reveal.in { transform: none; }
.reveal.d1{ transition-delay:.03s;} .reveal.d2{ transition-delay:.06s;} .reveal.d3{ transition-delay:.09s;} .reveal.d4{ transition-delay:.12s;}
@media (prefers-reduced-motion: reduce){ html.js .reveal { opacity:1 !important; transform:none !important; } }
@media print { .reveal { opacity:1 !important; transform:none !important; } }
.area-pill {
display: inline-block; font-weight: 700; font-size: 13.5px; letter-spacing: .01em;
color: var(--navy); background: #fff; border: 1px solid var(--line);
border-radius: 999px; padding: 8px 15px; box-shadow: var(--shadow-sm);
transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.area-pill:hover { background: var(--navy); color: #fff; border-color: var(--navy); transform: translateY(-2px); }
.areas-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 4vw, 54px); align-items: stretch; margin-top: 38px; }
.areas-map {
position: relative; width: 100%; height: 100%; min-height: 460px;
border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md);
}
.areas-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.areas-lists { min-width: 0; }
.areas-group { margin-bottom: 30px; }
.areas-group:last-of-type { margin-bottom: 0; }
.areas-h3 {
display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: 22px; letter-spacing: .01em; color: var(--navy); margin-bottom: 16px;
}
.areas-count { font-family: var(--font-body); font-weight: 700; font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--ink-soft); }
.areas-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.areas-cta { margin-top: 30px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.areas-note { margin: 0; font-size: 14px; color: var(--ink-soft); max-width: 620px; }
.areas-note a { color: var(--navy); font-weight: 800; text-decoration: underline; }
@media (max-width: 880px){
.areas-layout { grid-template-columns: 1fr; }
.areas-map { min-height: 0; aspect-ratio: 3 / 2; }
.areas-cta { align-items: center; text-align: center; }
}
.areahero {
display: grid; grid-template-columns: 55% 45%;
gap: clamp(20px, 3vw, 34px); align-items: stretch; margin: 38px 0 40px;
}
.areahero-map {
position: relative; width: 100%; min-height: 460px;
border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md);
}
.areahero-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.areahero-panel {
position: relative; overflow: hidden;
display: flex; flex-direction: column;
background: var(--navy); color: #fff;
border-radius: 20px; padding: 40px;
box-shadow: var(--shadow-md);
}
.areahero-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
color: #fff; font-size: clamp(26px, 3vw, 40px); line-height: 1.02;
letter-spacing: .01em; margin: 0 0 26px;
}
.areahero-cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; }
.areahero-cta svg { width: 20px; height: 20px; }
.areahero-truck {
display: block; margin-top: auto; margin-right: -40px; margin-bottom: -40px;
max-width: calc(100% + 40px); width: 108%; height: auto; align-self: flex-end;
}
@media (max-width: 880px){
.areahero { grid-template-columns: 1fr; }
.areahero-map { min-height: 0; aspect-ratio: 3 / 2; }
.areahero-panel { padding: 30px; }
.areahero-truck { width: 100%; max-width: 480px; align-self: center; margin-right: -30px; margin-bottom: -30px; }
}
.nav-dd { position: relative; }
.nav-links .nav-dd-toggle { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; color: inherit; }
.nav-dd-toggle svg { width: 13px; height: 13px; transition: transform .2s ease; }
.nav-dd:hover .nav-dd-toggle svg { transform: rotate(180deg); }
.nav-dd-menu {
position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(12px);
background: #fff; border-radius: 14px; box-shadow: var(--shadow-lg);
border-top: 4px solid var(--gold); padding: 10px; min-width: 252px;
opacity: 0; visibility: hidden; transition: opacity .18s ease, transform .18s ease; z-index: 70;
}
.nav-dd-menu::before {
content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 18px;
}
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(6px); }
.nav-dd-menu a { display: block; padding: 9px 14px; border-radius: 8px; color: var(--navy); font-weight: 600; font-size: 15px; white-space: nowrap; }
.nav-dd-menu a::after { display: none; }
.nav-dd-menu a:hover { background: var(--paper-2); color: var(--navy-3); }
.nav-dd-menu a.dd-all { color: var(--gold-deep); font-weight: 800; border-top: 1px solid var(--line); margin-top: 6px; padding-top: 12px; }
.mm-group { border-bottom: 1px solid rgba(255,255,255,.1); }
.mm-group-toggle {
display: flex; align-items: center; justify-content: space-between; width: 100%;
color: #fff; font-family: var(--font-display); font-size: 20px; text-transform: uppercase;
padding: 13px 0; letter-spacing: .02em;
}
.mm-group-toggle span { color: var(--gold); font-size: 26px; line-height: 1; transition: transform .2s ease; }
.mm-group.open .mm-group-toggle span { transform: rotate(45deg); }
.mm-sub { max-height: 0; overflow: hidden; transition: max-height .4s ease; margin-left: 2px; border-left: 2px solid rgba(255,194,26,.32); }
.mm-group.open .mm-sub { max-height: 760px; padding: 2px 0 12px; }
.mobile-menu .mm-sub a.mm-link {
font-family: var(--font-body); font-size: 15px; font-weight: 600; text-transform: none;
letter-spacing: 0; padding: 8px 0 8px 16px; color: var(--sky-soft); border-bottom: none;
}
.mobile-menu .mm-sub a.mm-link:hover { color: var(--gold); padding-left: 20px; }
.services-grid.service-tiles {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-auto-rows: 200px;
gap: 14px;
margin-top: 8px;
}
.service-tiles .tile {
position: relative;
display: block;
grid-column: span 2;
grid-row: span 1;
border-radius: var(--r-md);
overflow: hidden;
background: var(--navy-deep);
box-shadow: var(--shadow-md);
isolation: isolate;
transform: translateZ(0);
text-decoration: none;
transition: transform .5s cubic-bezier(.16,.84,.28,1), box-shadow .5s ease;
}
.service-tiles .tile--feature { grid-column: span 3; grid-row: span 2; }
.service-tiles .tile--wide { grid-column: span 4; }
.service-tiles .tile:hover,
.service-tiles .tile:focus-visible {
transform: translateY(-7px);
box-shadow: var(--shadow-lg);
outline: none;
}
.service-tiles .tile img {
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover;
filter: saturate(.82) contrast(1.04) brightness(.92);
transform: scale(1.02);
transition: transform 1.1s cubic-bezier(.16,.84,.28,1), filter .6s ease;
}
.service-tiles .tile:hover img,
.service-tiles .tile:focus-visible img {
transform: scale(1.09);
filter: saturate(1.06) contrast(1.05) brightness(1);
}
.service-tiles .tile::before {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
radial-gradient(120% 90% at 18% 112%, rgba(242,169,0,.16), transparent 46%),
linear-gradient(206deg, rgba(6,22,41,0) 30%, rgba(6,22,41,.30) 62%, rgba(5,17,33,.86) 100%);
transition: opacity .5s ease;
}
.service-tiles .tile::after {
content: ""; position: absolute; inset: 0; z-index: 1;
background: linear-gradient(0deg, rgba(5,17,33,.55) 0%, rgba(5,17,33,0) 40%);
opacity: 0; transition: opacity .5s ease;
}
.service-tiles .tile:hover::after,
.service-tiles .tile:focus-visible::after { opacity: 1; }
.service-tiles .tile-cap::before,
.service-tiles .tile-cap::after {
content: ""; position: absolute; z-index: 3;
border: 0 solid var(--gold);
transition: width .5s cubic-bezier(.16,.84,.28,1), height .5s cubic-bezier(.16,.84,.28,1), border-width 0s linear .04s;
}
.service-tiles .tile-cap::before { left: 20px; bottom: 20px; width: 0; height: 0; border-left-width: 3px; border-bottom-width: 3px; }
.service-tiles .tile:hover .tile-cap::before,
.service-tiles .tile:focus-visible .tile-cap::before { width: 26px; height: 26px; }
.service-tiles .tile-cap {
position: absolute; inset: auto 0 0 0; z-index: 2;
padding: 22px; color: #fff;
}
.service-tiles .tile--feature .tile-cap { padding: 34px 36px 32px; }
.service-tiles .tile-kicker {
display: flex; align-items: center; gap: 10px;
font-weight: 800; font-size: 11.5px; letter-spacing: .18em;
text-transform: uppercase; color: var(--gold-bright);
margin-bottom: 9px;
}
.service-tiles .tile-kicker i {
font-style: normal; font-family: var(--font-display);
font-size: 15px; letter-spacing: .04em; color: var(--gold);
line-height: 1; padding-right: 10px; border-right: 2px solid rgba(255,255,255,.28);
}
.service-tiles .tile--feature .tile-kicker { font-size: 13px; letter-spacing: .22em; margin-bottom: 14px; }
.service-tiles .tile-name {
display: block; font-family: var(--font-display); font-weight: 400;
text-transform: uppercase; letter-spacing: .005em; line-height: .86;
font-size: clamp(28px, 3.2vw, 40px);
text-shadow: 0 2px 22px rgba(5,17,33,.5);
}
.service-tiles .tile--feature .tile-name { font-size: clamp(54px, 7.4vw, 104px); }
.service-tiles .tile--wide .tile-name { font-size: clamp(32px, 4vw, 52px); }
.service-tiles .tile-lead {
display: block; max-width: 30ch; margin-top: 14px;
font-size: 15.5px; line-height: 1.5; color: #DCE7F5; font-weight: 500;
max-height: 0; opacity: 0; overflow: hidden; transform: translateY(8px);
transition: max-height .5s ease, opacity .45s ease, transform .45s ease, margin .4s ease;
}
.service-tiles .tile--feature:hover .tile-lead,
.service-tiles .tile--feature:focus-visible .tile-lead {
max-height: 96px; opacity: 1; transform: translateY(0);
}
.service-tiles .tile-go {
display: inline-flex; align-items: center; gap: 9px; margin-top: 16px;
font-weight: 800; font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
color: var(--navy);
background: var(--gold);
padding: 11px 18px; border-radius: 999px;
max-height: 0; opacity: 0; transform: translateY(10px);
overflow: hidden; transition: all .45s cubic-bezier(.16,.84,.28,1);
box-shadow: var(--shadow-gold);
}
.service-tiles .tile-go svg { width: 17px; height: 17px; flex: none; transition: transform .35s ease; }
.service-tiles .tile:hover .tile-go svg { transform: translateX(3px); }
.service-tiles .tile--feature:hover .tile-go,
.service-tiles .tile--feature:focus-visible .tile-go { max-height: 48px; opacity: 1; transform: translateY(0); }
.service-tiles .tile:not(.tile--feature) .tile-go {
position: absolute; right: 20px; bottom: 22px; margin: 0;
width: 46px; height: 46px; padding: 0; gap: 0;
align-items: center; justify-content: center;
border-radius: 14px;
transform: translateY(14px) scale(.8); opacity: 0; max-height: none;
}
.service-tiles .tile:not(.tile--feature):hover .tile-go,
.service-tiles .tile:not(.tile--feature):focus-visible .tile-go {
opacity: 1; transform: translateY(0) scale(1);
}
.service-tiles .tile-badge {
position: absolute; top: 16px; left: 16px; z-index: 4;
background: var(--gold); color: var(--navy);
font-weight: 800; font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
padding: 7px 13px; border-radius: 999px;
box-shadow: 0 6px 18px rgba(5,17,33,.4);
}
.service-tiles .tile-badge--alt { background: var(--white); color: var(--navy); }
@media (max-width: 980px) {
.services-grid.service-tiles { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 184px; }
.service-tiles .tile--feature { grid-column: span 4; grid-row: span 2; }
.service-tiles .tile--wide,
.service-tiles .tile { grid-column: span 2; }
}
@media (max-width: 560px) {
.services-grid.service-tiles { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 12px; }
.service-tiles .tile { grid-column: 1 / -1 !important; min-height: 240px; }
.service-tiles .tile--feature { grid-row: auto; min-height: 360px; }
.service-tiles .tile img { filter: saturate(1) contrast(1.03) brightness(.96); transform: none; }
.service-tiles .tile:not(.tile--feature) .tile-go { opacity: 1; transform: none; }
.service-tiles .tile--feature .tile-go { opacity: 1; max-height: 48px; transform: none; }
.service-tiles .tile--feature .tile-lead { opacity: 1; max-height: 96px; transform: none; }
.service-tiles .tile-cap::before { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
.service-tiles .tile, .service-tiles .tile img,
.service-tiles .tile-go, .service-tiles .tile-lead { transition: none !important; }
.service-tiles .tile img { transform: none; }
}
.hero h1.hero-title { position: relative; }
.hero-title-tag {
display: block; font-family: var(--font-body); font-weight: 800;
font-size: clamp(13px, 1.6vw, 16px); letter-spacing: .32em; text-transform: uppercase;
color: var(--gold); margin-bottom: 18px; padding-left: 4px;
}
.hero-title-tag::before {
content: ""; display: inline-block; width: 34px; height: 3px; vertical-align: middle;
background: var(--gold); border-radius: 2px; margin-right: 14px; margin-bottom: 4px;
}
.hero h1.hero-title .line2 {
position: relative; display: inline-block;
font-size: clamp(30px, 5.4vw, 64px);
}
.hero h1.hero-title .line2::after {
content: ""; position: absolute; left: 4px; right: 4px; bottom: -.08em; height: 5px;
background: linear-gradient(90deg, var(--gold), var(--gold-deep));
border-radius: 3px; transform: scaleX(0); transform-origin: left;
animation: heroRule .9s .5s cubic-bezier(.16,.84,.28,1) forwards;
}
@keyframes heroRule { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
.hero h1.hero-title .line2::after { animation: none; transform: scaleX(1); }
}
.hero-inner {
display: grid;
grid-template-columns: 1.05fr clamp(360px, 33vw, 440px);
gap: clamp(34px, 5vw, 72px);
align-items: center;
padding: clamp(48px, 7vw, 96px) 0 clamp(56px, 8vw, 104px);
}
.hero-copy { min-width: 0; }
.hero-copy .hero-sub { max-width: 540px; }
.hero-callline {
display: inline-flex; align-items: center; gap: 14px; margin-top: 34px;
color: #fff; transition: transform .15s ease;
}
.hero-callline svg {
width: 22px; height: 22px; flex: none; color: var(--navy);
background: var(--gold); border-radius: 50%; padding: 11px; box-sizing: content-box;
box-shadow: var(--shadow-gold);
}
.hero-callline .hcl-label {
display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .08em;
text-transform: uppercase; color: #B9CAE0;
}
.hero-callline .hcl-num {
display: block; font-family: var(--font-display); font-weight: 400;
text-transform: uppercase; font-size: 26px; letter-spacing: .01em; line-height: 1.05;
}
.hero-callline:hover { transform: translateY(-2px); }
.hero-callline:hover .hcl-num { color: var(--gold); }
.heroform-wrap { position: relative; z-index: 3; min-width: 0; }
.heroform {
background: #fff;
border-radius: var(--r-xl);
padding: clamp(24px, 2.4vw, 34px);
box-shadow: var(--shadow-lg);
color: var(--ink);
border-top: 5px solid var(--gold);
}
.heroform-flag {
display: inline-flex; align-items: center; gap: 6px;
background: var(--cream); color: var(--navy);
font-weight: 800; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase;
padding: 7px 13px; border-radius: 999px; margin-bottom: 14px;
}
.heroform-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(28px, 3vw, 38px); line-height: .96; letter-spacing: .005em;
color: var(--navy);
}
.heroform-sub { color: var(--ink-soft); font-size: 14.5px; margin: 8px 0 20px; }
.heroform-field { margin-bottom: 13px; }
.heroform-field label {
display: block; font-weight: 800; font-size: 12px; letter-spacing: .06em;
text-transform: uppercase; color: var(--navy); margin-bottom: 6px;
}
.heroform-opt { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ink-soft); }
.heroform-field input {
width: 100%; font-family: inherit; font-size: 15.5px; color: var(--ink);
background: var(--paper); border: 1.5px solid var(--line); border-radius: 12px;
padding: 13px 15px; transition: border-color .15s, box-shadow .15s;
}
.heroform-field input::placeholder { color: #8C9AB2; }
.heroform-field input:focus {
outline: none; border-color: var(--sky); box-shadow: 0 0 0 4px rgba(54,169,225,.16);
}
.heroform-field.err input { border-color: #E5484D; box-shadow: 0 0 0 4px rgba(229,72,77,.12); }
.heroform-msg { color: #E5484D; font-size: 12px; font-weight: 700; margin-top: 5px; display: none; }
.heroform-field.err .heroform-msg { display: block; }
.heroform-submit {
width: 100%; margin-top: 6px;
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
font-weight: 800; font-size: 16px; letter-spacing: .04em; text-transform: uppercase;
font-family: var(--font-body);
padding: 17px 24px; border-radius: 999px; line-height: 1; white-space: nowrap;
background: var(--gold); color: var(--navy); box-shadow: var(--shadow-gold);
transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
cursor: pointer;
}
.heroform-submit svg { width: 18px; height: 18px; flex: none; transition: transform .25s ease; }
.heroform-submit:hover { background: var(--gold-bright); transform: translateY(-2px); }
.heroform-submit:hover svg { transform: translateX(3px); }
.heroform-submit:active { transform: translateY(0) scale(.98); }
.heroform-submit:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
.heroform-consent { font-size: 11px; line-height: 1.5; color: var(--ink-soft); margin-top: 13px; text-align: center; }
.heroform-time {
display: flex; align-items: center; justify-content: center; gap: 7px;
margin-top: 11px; font-weight: 800; font-size: 12.5px; letter-spacing: .04em;
text-transform: uppercase; color: var(--navy);
}
.heroform-time svg { width: 16px; height: 16px; color: var(--gold-deep); }
.heroform-success {
display: none;
background: #fff; border-radius: var(--r-xl); border-top: 5px solid var(--gold);
box-shadow: var(--shadow-lg); padding: clamp(30px, 3vw, 44px) clamp(24px, 2.4vw, 34px);
text-align: center; color: var(--ink);
}
.heroform-success.show { display: block; animation: hfPop .4s cubic-bezier(.34,1.56,.64,1); }
.hfs-ic {
width: 70px; height: 70px; border-radius: 50%; background: #1F8A5B;
display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.hfs-ic svg { width: 36px; height: 36px; color: #fff; }
.heroform-success h2 {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(26px, 3vw, 34px); color: var(--navy); line-height: .98;
}
.heroform-success p { color: var(--ink-soft); font-size: 15px; margin-top: 8px; }
.heroform-submit--call { margin-top: 22px; background: var(--navy); color: #fff; box-shadow: var(--shadow-md); }
.heroform-submit--call:hover { background: var(--navy-2); }
@keyframes hfPop { from { transform: scale(.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (max-width: 960px) {
.hero-inner {
grid-template-columns: 1fr;
gap: clamp(30px, 6vw, 44px);
padding: clamp(44px, 8vw, 80px) 0 clamp(48px, 9vw, 88px);
align-items: start;
}
.heroform-wrap { max-width: 520px; }
}
@media (max-width: 560px) {
.heroform { padding: 22px 18px; }
.heroform-success { padding: 30px 18px; }
.hero-callline .hcl-num { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
.heroform-submit, .heroform-submit svg, .hero-callline { transition: none; }
.heroform-success.show { animation: none; }
}
.coresvc-band {
position: relative;
z-index: 3;
margin-top: clamp(-56px, -5vw, -36px);
padding-bottom: clamp(28px, 4vw, 48px);
}
.coresvc {
background: var(--white);
border: 1px solid var(--line);
border-radius: var(--r-xl);
box-shadow: var(--shadow-lg);
overflow: hidden;
isolation: isolate;
}
.coresvc-viewport { position: relative; }
.coresvc-viewport::before,
.coresvc-viewport::after {
content: "";
position: absolute; top: 0; bottom: 0; width: clamp(24px, 5vw, 60px);
z-index: 2; pointer-events: none;
}
.coresvc-viewport::before { left: 0; background: linear-gradient(90deg, var(--white), rgba(255,255,255,0)); }
.coresvc-viewport::after { right: 0; background: linear-gradient(270deg, var(--white), rgba(255,255,255,0)); }
.coresvc-row {
display: flex;
gap: 0;
list-style: none;
margin: 0;
padding: clamp(20px, 3vw, 34px) clamp(8px, 2vw, 22px);
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: none;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
overscroll-behavior-x: contain;
}
.coresvc-row::-webkit-scrollbar { display: none; }
.coresvc-row:focus-visible {
outline: 3px solid var(--sky);
outline-offset: -3px;
border-radius: var(--r-lg);
}
.coresvc-item {
flex: 0 0 auto;
scroll-snap-align: start;
border-right: 1px solid var(--line);
}
.coresvc-item:last-child { border-right: 0; }
.coresvc-link {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
gap: 14px;
width: clamp(132px, 16vw, 168px);
padding: 18px 12px;
border-radius: var(--r-md);
color: var(--navy);
text-align: center;
transition: transform .25s ease, background .25s ease;
}
.coresvc-link:hover,
.coresvc-link:focus-visible { transform: translateY(-4px); background: var(--paper); outline: none; }
.coresvc-link:focus-visible { box-shadow: inset 0 0 0 2px var(--sky); }
.coresvc-ic {
display: flex; align-items: center; justify-content: center;
width: 56px; height: 56px;
color: var(--navy);
transition: color .25s ease, transform .35s cubic-bezier(.16,.84,.28,1);
}
.coresvc-ic svg { width: 100%; height: 100%; }
.coresvc-ic img { width: 100%; height: 100%; object-fit: contain; }
.coresvc-link:hover .coresvc-ic,
.coresvc-link:focus-visible .coresvc-ic {
color: var(--gold);
transform: scale(1.08);
}
.coresvc-label {
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
letter-spacing: .015em;
line-height: .96;
font-size: clamp(15px, 1.7vw, 18px);
color: var(--navy);
}
.coresvc-bar {
display: flex; align-items: center; justify-content: space-between; gap: 18px;
background: var(--navy);
color: #fff;
padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 34px);
}
.coresvc-bar-title {
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
letter-spacing: .04em;
line-height: 1;
font-size: clamp(18px, 2.4vw, 26px);
}
.coresvc-bar-title::before {
content: ""; display: inline-block; vertical-align: middle;
width: 26px; height: 3px; margin-right: 14px; margin-bottom: 4px;
background: var(--gold); border-radius: 2px;
}
.coresvc-nav { display: flex; gap: 12px; flex: none; }
.coresvc-arrow {
width: 48px; height: 48px;
display: flex; align-items: center; justify-content: center;
border-radius: 50%;
background: rgba(255,255,255,.1);
color: #fff;
box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease, opacity .2s ease;
}
.coresvc-arrow svg { width: 20px; height: 20px; }
.coresvc-arrow:hover { background: var(--gold); color: var(--navy); box-shadow: var(--shadow-gold); }
.coresvc-arrow:active { transform: scale(.92); }
.coresvc-arrow:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }
.coresvc-arrow[disabled] {
opacity: .32;
cursor: not-allowed;
background: rgba(255,255,255,.1);
color: #fff;
box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}
@media (max-width: 700px) {
.coresvc-band { margin-top: clamp(-40px, -8vw, -24px); }
.coresvc-bar { flex-direction: column; align-items: flex-start; gap: 14px; }
.coresvc-nav { align-self: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
.coresvc-row { scroll-behavior: auto; }
.coresvc-link, .coresvc-ic, .coresvc-arrow { transition: none; }
.coresvc-link:hover, .coresvc-link:focus-visible { transform: none; }
.coresvc-link:hover .coresvc-ic, .coresvc-link:focus-visible .coresvc-ic { transform: none; }
}
.qbar{
position: fixed; top: 0; left: 0; right: 0;
z-index: 65;
background: var(--navy);
color: #fff;
box-shadow: 0 10px 30px rgba(6,22,41,.32);
border-bottom: 1px solid rgba(255,255,255,.08);
transform: translateY(-100%);
visibility: hidden;
transition: transform .34s cubic-bezier(.22,.61,.36,1), visibility 0s linear .34s;
}
body.qbar-on .qbar{
transform: translateY(0);
visibility: visible;
transition: transform .34s cubic-bezier(.22,.61,.36,1), visibility 0s;
}
body.qbar-on .header{ visibility: hidden; pointer-events: none; }
.qbar-wrap{
display: flex; align-items: center; gap: clamp(14px, 2vw, 28px);
min-height: 66px; padding-block: 11px;
}
.qbar-lead{ display: flex; flex-direction: column; gap: 2px; flex: 0 0 auto; line-height: 1.05; }
.qbar-lead-title{
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(17px, 1.6vw, 21px); letter-spacing: .01em; color: var(--gold);
}
.qbar-lead-sub{
display: inline-flex; align-items: center; gap: 6px;
font-size: 12.5px; font-weight: 600; color: var(--sky-soft); letter-spacing: .01em;
}
.qbar-lead-sub svg{ width: 14px; height: 14px; color: var(--sky); }
.qbar-form{ display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; }
.qbar-field{ flex: 1 1 0; min-width: 0; }
.qbar-field input{
width: 100%; height: 46px; padding: 0 15px;
background: #fff; color: var(--ink);
border: 1px solid var(--line); border-radius: var(--r-sm);
font-family: var(--font-body); font-size: 15px; font-weight: 500;
transition: border-color .2s, box-shadow .2s;
}
.qbar-field input::placeholder{ color: var(--ink-soft); opacity: .85; }
.qbar-field input:focus{
outline: none; border-color: var(--sky);
box-shadow: 0 0 0 4px rgba(54,169,225,.28);
}
.qbar-field.err input{
border-color: #E5484D; box-shadow: 0 0 0 4px rgba(229,72,77,.22);
}
.qbar-submit{
flex: 0 0 auto; height: 46px; padding: 0 22px;
font-size: 13.5px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
}
.qbar-burger{ display: flex !important; flex: 0 0 auto; }
.qbar-vh{
position: absolute !important; width: 1px; height: 1px;
padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
white-space: nowrap; border: 0;
}
@media (max-width: 900px){
.qbar-form .qbar-field:nth-child(2){ display: none; }
}
@media (max-width: 740px){
.qbar-form{ flex: 0 0 auto; gap: 8px; }
.qbar-form .qbar-field{ display: none; }
.qbar-wrap{ justify-content: space-between; }
.qbar-lead{ flex: 1 1 auto; }
.qbar-submit{ padding: 0 16px; }
}
@media (max-width: 420px){
.qbar-lead-sub{ display: none; }
.qbar-submit{ font-size: 12.5px; padding: 0 13px; }
}
@media (prefers-reduced-motion: reduce){
.qbar{ transition: none; }
body.qbar-on .qbar{ transition: none; }
}
.whov { background: var(--paper); overflow: hidden; }
.whov-grid {
display: grid;
grid-template-columns: 1.04fr 1fr;
gap: clamp(34px, 5vw, 72px);
align-items: center;
}
.whov-title { margin-top: 14px; }
.whov-lead { max-width: 560px; }
.whov-lead + .whov-lead { margin-top: 16px; }
.whov-actions {
display: flex; align-items: center; flex-wrap: wrap;
gap: 18px 28px; margin-top: 34px;
}
.whov-rating {
display: inline-flex; align-items: center; gap: 13px;
padding: 6px 4px; border-radius: var(--r-sm);
}
.whov-stars { display: inline-flex; gap: 2px; color: var(--gold-deep); flex: none; }
.whov-stars svg { width: 20px; height: 20px; }
.whov-rating-txt { display: flex; flex-direction: column; line-height: 1.1; }
.whov-rating-txt b {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: 20px; letter-spacing: .02em; color: var(--navy); line-height: 1;
}
.whov-rating-txt span {
font-size: 13px; font-weight: 700; color: var(--ink-soft);
text-decoration: underline; text-decoration-color: var(--line);
text-underline-offset: 3px; transition: color .18s ease, text-decoration-color .18s ease;
}
.whov-rating:hover .whov-rating-txt span { color: var(--navy); text-decoration-color: var(--gold); }
.whov-rating:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }
.whov-media { position: relative; isolation: isolate; }
.whov-video {
position: relative; display: block; width: 100%;
aspect-ratio: 3 / 4;
border-radius: var(--r-lg); overflow: hidden;
background: var(--navy-deep);
box-shadow: var(--shadow-lg);
padding: 0;
transform: translateZ(0);
}
.whov-video-el {
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover; background: var(--navy-deep);
}
.whov-video:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.whov-video-img {
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover;
transition: transform .9s cubic-bezier(.16,.84,.28,1), filter .4s ease;
filter: saturate(.96) contrast(1.03);
}
.whov-video:hover .whov-video-img { transform: scale(1.05); }
.whov-video::after { content: none; }
.whov-play {
position: absolute; top: 50%; left: 50%; z-index: 2;
transform: translate(-50%, -50%);
width: clamp(76px, 11vw, 104px); height: clamp(76px, 11vw, 104px);
border-radius: 50%;
background: var(--gold); color: var(--navy);
display: flex; align-items: center; justify-content: center;
box-shadow: var(--shadow-gold);
transition: transform .25s ease, background .2s ease;
}
.whov-play::before {
content: ""; position: absolute; inset: 0; border-radius: 50%;
border: 2px solid var(--gold);
animation: whovPulse 2.4s cubic-bezier(.22,.61,.36,1) infinite;
}
.whov-play svg { width: 38%; height: 38%; margin-left: 8%; }
.whov-video:hover .whov-play { transform: translate(-50%, -50%) scale(1.08); background: var(--gold-bright); }
@keyframes whovPulse {
0% { transform: scale(1); opacity: .85; }
70% { transform: scale(1.7); opacity: 0; }
100% { transform: scale(1.7); opacity: 0; }
}
.whov-video-tag {
position: absolute; left: 24px; bottom: 22px; z-index: 2;
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(16px, 1.8vw, 21px); letter-spacing: .02em; line-height: 1;
color: #fff; text-shadow: 0 2px 16px rgba(5,17,33,.6);
padding-right: 16px; text-align: left;
}
.whov-peek {
position: absolute; right: -18px; bottom: -26px; z-index: 3;
width: 42%; max-width: 220px; aspect-ratio: 4 / 3;
border-radius: var(--r-md); overflow: hidden;
border: 6px solid var(--paper);
box-shadow: var(--shadow-lg);
}
.whov-peek img { width: 100%; height: 100%; object-fit: cover; }
.whov-badge {
position: absolute; top: -20px; left: -18px; z-index: 4;
background: var(--navy); color: #fff;
border-radius: var(--r-md); padding: 14px 18px;
box-shadow: var(--shadow-md); text-align: center; line-height: 1;
}
.whov-badge b {
display: block; font-family: var(--font-display); font-weight: 400;
text-transform: uppercase; font-size: 26px; letter-spacing: .01em; color: var(--gold);
}
.whov-badge span {
display: block; margin-top: 5px;
font-weight: 800; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #cfe0f5;
}
@media (max-width: 900px) {
.whov-grid { grid-template-columns: 1fr; gap: clamp(48px, 9vw, 70px); }
.whov-copy { order: 1; }
.whov-media { order: 2; max-width: 560px; margin-inline: auto; width: 100%; }
}
@media (max-width: 520px) {
.whov-actions { gap: 18px; }
.whov-peek { width: 40%; right: -10px; bottom: -18px; border-width: 5px; }
.whov-badge { top: -14px; left: -10px; padding: 11px 14px; }
.whov-badge b { font-size: 22px; }
.whov-video-tag { left: 18px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
.whov-play::before { animation: none; opacity: 0; }
.whov-video, .whov-video-img, .whov-play { transition: none !important; }
.whov-video:hover .whov-video-img { transform: none; }
.whov-video:hover .whov-play { transform: translate(-50%, -50%); }
}
.wave-divider {
position: relative;
display: block;
width: 100%;
line-height: 0;
overflow: hidden;
margin: 0;
background: var(--navy);
}
.wave-divider svg {
display: block;
width: 100%;
height: clamp(52px, 7vw, 110px);
}
.wave-divider {
--wave-fill: var(--cream);
--wave-back: transparent;
}
.wave-divider .wave-front { fill: var(--wave-fill); }
.wave-divider .wave-back { fill: var(--wave-back); }
.wave-divider--navy-to-cream { background: var(--navy); --wave-fill: var(--cream); }
.wave-divider--deep-to-white { background: var(--navy-deep); --wave-fill: var(--white); }
.wave-divider--navy-to-white { background: var(--navy); --wave-fill: var(--white); }
.wave-divider--cream-to-navy { background: var(--cream); --wave-fill: var(--navy); }
.wave-divider--flip svg { transform: scaleY(-1); }
.wave-divider { margin-top: -1px; margin-bottom: -1px; }
@media (prefers-reduced-motion: reduce) {
}
.services-grid.service-tiles {
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: auto;
gap: 16px;
}
.service-tiles .tile,
.service-tiles .tile--feature,
.service-tiles .tile--wide {
grid-column: span 1 !important;
grid-row: auto !important;
aspect-ratio: 4 / 5;
min-height: 0;
}
.service-tiles .tile-cap,
.service-tiles .tile--feature .tile-cap { padding: 20px; }
.service-tiles .tile-name,
.service-tiles .tile--feature .tile-name,
.service-tiles .tile--wide .tile-name {
font-size: clamp(24px, 2.4vw, 32px);
line-height: .88;
}
.service-tiles .tile-kicker,
.service-tiles .tile--feature .tile-kicker {
font-size: 11px; letter-spacing: .16em; margin-bottom: 8px;
}
.service-tiles .tile-lead { display: none !important; }
.service-tiles .tile .tile-go,
.service-tiles .tile--feature .tile-go {
position: absolute; right: 18px; bottom: 18px; margin: 0;
width: 46px; height: 46px; padding: 0; gap: 0;
align-items: center; justify-content: center;
border-radius: 14px;
max-height: none;
transform: translateY(14px) scale(.8); opacity: 0;
}
.service-tiles .tile:hover .tile-go,
.service-tiles .tile:focus-visible .tile-go,
.service-tiles .tile--feature:hover .tile-go,
.service-tiles .tile--feature:focus-visible .tile-go {
opacity: 1; transform: translateY(0) scale(1);
}
.service-tiles .tile--feature .tile-go { font-size: 0; letter-spacing: 0; }
.service-tiles .tile--feature .tile-go svg { width: 17px; height: 17px; }
.service-tiles .tile-badge,
.service-tiles .tile--feature .tile-badge {
top: 14px; left: 14px;
font-size: 10.5px; letter-spacing: .09em; padding: 6px 11px;
}
@media (max-width: 980px) {
.services-grid.service-tiles {
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: auto;
gap: 14px;
}
.service-tiles .tile,
.service-tiles .tile--feature,
.service-tiles .tile--wide {
grid-column: span 1 !important;
grid-row: auto !important;
aspect-ratio: 4 / 5;
min-height: 0;
}
}
@media (max-width: 560px) {
.services-grid.service-tiles { grid-template-columns: 1fr; gap: 12px; }
.service-tiles .tile,
.service-tiles .tile--feature,
.service-tiles .tile--wide {
grid-column: 1 / -1 !important;
aspect-ratio: 5 / 4;
min-height: 240px;
}
.service-tiles .tile img { filter: saturate(1) contrast(1.03) brightness(.96); transform: none; }
.service-tiles .tile .tile-go,
.service-tiles .tile--feature .tile-go { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
.service-tiles .tile,
.service-tiles .tile img,
.service-tiles .tile .tile-go { transition: none !important; }
.service-tiles .tile img { transform: none; }
}
.bac { position: relative; margin-top: 8px; }
.bac-viewport {
position: relative;
-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.bac-rail {
list-style: none; margin: 0; padding: 4px;
display: flex; gap: 26px;
overflow-x: auto; overflow-y: hidden;
scroll-snap-type: none;
scrollbar-width: none;
-ms-overflow-style: none;
touch-action: pan-y;
}
.bac-rail::-webkit-scrollbar { display: none; }
.bac-rail.is-dragging { scroll-snap-type: none; cursor: grabbing; scroll-behavior: auto; }
.bac-slide {
flex: 0 0 auto;
width: clamp(280px, 46%, 520px);
scroll-snap-align: center;
}
.bac-ba {
position: relative; border-radius: var(--r-lg); overflow: hidden;
box-shadow: var(--shadow-lg);
aspect-ratio: 3 / 4;
user-select: none; -webkit-user-select: none;
background: #000;
touch-action: pan-y;
}
.bac-ba img {
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover; pointer-events: none; -webkit-user-drag: none;
}
.bac-before {
filter: grayscale(.6) brightness(.7) contrast(.92) sepia(.22);
clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0);
}
.bac-lbl {
position: absolute; top: 16px; z-index: 4;
font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
padding: 7px 13px; border-radius: 999px; pointer-events: none;
}
.bac-lbl-bf { left: 16px; background: rgba(6,22,41,.78); color: #fff; }
.bac-lbl-af { right: 16px; background: var(--gold); color: var(--navy); }
.bac-handle {
position: absolute; top: 0; bottom: 0; z-index: 5;
left: var(--pos, 50%); transform: translateX(-50%);
width: 40px;
display: flex; align-items: center; justify-content: center;
cursor: ew-resize; touch-action: none;
}
.bac-handle::before {
content: ""; position: absolute; top: 0; bottom: 0; left: 50%;
width: 4px; transform: translateX(-50%);
background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.4);
}
.bac-knob {
position: relative; z-index: 1;
width: 54px; height: 54px; border-radius: 50%;
background: #fff; box-shadow: var(--shadow-md);
display: flex; align-items: center; justify-content: center;
}
.bac-knob svg { width: 26px; height: 26px; color: var(--navy); }
.bac-handle:focus-visible { outline: none; }
.bac-handle:focus-visible .bac-knob {
box-shadow: 0 0 0 3px var(--navy), 0 0 0 6px var(--gold);
}
.bac-cap {
position: absolute; left: 0; right: 0; bottom: 0; z-index: 4;
padding: 22px 20px 18px;
background: linear-gradient(0deg, rgba(6,22,41,.9), transparent);
color: #fff; pointer-events: none;
}
.bac-cap b { font-family: var(--font-display); text-transform: uppercase; font-size: 21px; letter-spacing: .01em; }
.bac-cap span { display: block; font-size: 13.5px; color: #cdddee; font-weight: 600; }
.bac-controls {
display: flex; align-items: center; justify-content: space-between;
gap: 16px; margin-top: 22px;
}
.bac-hint {
margin: 0; color: var(--ink-soft); font-weight: 700;
font-size: 13px; letter-spacing: .02em;
}
.bac-nav { display: flex; gap: 10px; flex: 0 0 auto; }
.bac-arrow {
width: 48px; height: 48px; border-radius: 50%;
border: 2px solid var(--line); background: #fff; color: var(--navy);
display: flex; align-items: center; justify-content: center;
cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .15s;
}
.bac-arrow svg { width: 22px; height: 22px; }
.bac-arrow:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.bac-arrow:active { transform: scale(.94); }
.bac-arrow:disabled { opacity: .3; cursor: default; pointer-events: none; }
.bac-arrow:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (max-width: 760px) {
.bac-slide { width: clamp(260px, 84%, 420px); }
.bac-rail { gap: 18px; }
.bac-controls { justify-content: center; }
.bac-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.bac-rail { scroll-behavior: auto; }
}
.steps.stepanim { position: relative; }
.stepanim-line {
position: absolute;
top: 50px;
left: 16%;
right: 16%;
height: 2px;
z-index: 0;
pointer-events: none;
}
.stepanim-line svg { display: block; width: 100%; height: 2px; overflow: visible; }
.stepanim-line-track {
stroke: var(--line);
stroke-width: 2;
stroke-dasharray: 2 6;
stroke-linecap: round;
vector-effect: non-scaling-stroke;
}
.stepanim-line-draw {
stroke: var(--gold);
stroke-width: 3;
stroke-linecap: round;
vector-effect: non-scaling-stroke;
stroke-dasharray: 100;
stroke-dashoffset: 100;
}
.steps.stepanim .step { position: relative; z-index: 1; }
.steps.stepanim .step:not(:last-child)::after {
content: "";
position: absolute;
top: 44px;
right: -14px;
width: 10px; height: 10px;
border-top: 3px solid var(--gold);
border-right: 3px solid var(--gold);
transform: rotate(45deg);
border-radius: 2px;
opacity: 0;
transition: opacity .4s ease;
z-index: 2;
}
html.js .stepanim.is-armed .step {
opacity: 0;
transform: translateY(34px);
transition:
opacity .6s cubic-bezier(.2,.7,.3,1),
transform .6s cubic-bezier(.2,.7,.3,1),
box-shadow .2s ease;
}
html.js .stepanim.is-armed.is-in .step { opacity: 1; transform: none; }
html.js .stepanim.is-armed .step:nth-child(2) { transition-delay: 0s; }
html.js .stepanim.is-armed .step:nth-child(3) { transition-delay: .14s; }
html.js .stepanim.is-armed .step:nth-child(4) { transition-delay: .28s; }
.stepanim.is-armed.is-in .stepanim-line-draw {
animation: stepanimDraw 1s cubic-bezier(.4,.1,.2,1) .25s forwards;
}
.stepanim.is-armed.is-in .step:not(:last-child)::after { opacity: 1; transition-delay: .9s; }
@keyframes stepanimDraw { to { stroke-dashoffset: 0; } }
html.js .stepanim.is-armed.is-in .step:nth-child(2) .step-ic { animation: stepanimPulse .7s ease .15s 1; }
html.js .stepanim.is-armed.is-in .step:nth-child(3) .step-ic { animation: stepanimPulse .7s ease .29s 1; }
html.js .stepanim.is-armed.is-in .step:nth-child(4) .step-ic { animation: stepanimPulse .7s ease .43s 1; }
@keyframes stepanimPulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255,194,26,.55); }
45% { transform: scale(1.08); box-shadow: 0 0 0 10px rgba(255,194,26,0); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255,194,26,0); }
}
.steps.stepanim .step-n { transition: color .5s ease; }
.stepanim.is-armed.is-in .step-n { color: var(--paper-2); }
.stepanim-num { font-variant-numeric: tabular-nums; }
.steps.stepanim .step { transition: opacity .6s cubic-bezier(.2,.7,.3,1); }
.steps.stepanim .step:hover { transform: none; box-shadow: none; }
.steps.stepanim .step:hover .step-ic { transform: translateY(-4px); }
.steps.stepanim .step-ic { transition: transform .25s cubic-bezier(.2,.7,.3,1); }
@media (max-width: 820px) {
.stepanim-line { display: none; }
.steps.stepanim { padding-left: 4px; }
.steps.stepanim .step:not(:last-child)::before {
content: "";
position: absolute;
left: 50%;
bottom: -24px;
width: 3px; height: 24px;
transform: translateX(-50%) scaleY(0);
transform-origin: top;
background: linear-gradient(var(--gold), var(--gold-deep));
border-radius: 3px;
opacity: .9;
z-index: 0;
}
.stepanim.is-armed.is-in .step:not(:last-child)::before {
animation: stepanimDrawV .5s ease forwards;
}
.steps.stepanim .step:nth-child(3):not(:last-child)::before { animation-delay: .2s; }
.steps.stepanim .step:nth-child(4):not(:last-child)::before { animation-delay: .4s; }
.steps.stepanim .step:not(:last-child)::after { display: none; }
}
@keyframes stepanimDrawV { to { transform: translateX(-50%) scaleY(1); } }
@media (prefers-reduced-motion: reduce) {
html.js .stepanim.is-armed .step { opacity: 1 !important; transform: none !important; transition: none !important; }
.stepanim .step-ic { animation: none !important; }
.stepanim-line-draw { animation: none !important; stroke-dashoffset: 0 !important; }
.steps.stepanim .step:not(:last-child)::after { opacity: 1 !important; transition: none !important; }
.steps.stepanim .step:not(:last-child)::before { transform: translateX(-50%) scaleY(1) !important; animation: none !important; }
.steps.stepanim .step:hover { transform: none; }
}
@media print {
html.js .stepanim.is-armed .step { opacity: 1 !important; transform: none !important; }
.stepanim-line-draw { stroke-dashoffset: 0 !important; }
}
.guar {
position: relative;
background: var(--navy-deep);
color: #fff;
overflow: hidden;
isolation: isolate;
padding: clamp(56px, 8vw, 104px) 0;
}
.guar-media { position: absolute; inset: 0; z-index: -2; }
.guar-media img {
width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%;
}
.guar-media::after {
content: ""; position: absolute; inset: 0;
background:
linear-gradient(180deg, var(--navy-deep) 0%, var(--navy-deep) 3%, rgba(6,22,41,0) 15%),
radial-gradient(120% 120% at 80% 16%, rgba(54,169,225,.18), transparent 52%),
linear-gradient(92deg, rgba(6,22,41,.92) 0%, rgba(7,26,51,.86) 46%, rgba(8,30,58,.72) 100%),
linear-gradient(0deg, rgba(6,22,41,.34), transparent 46%);
}
.guar-wave { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1; line-height: 0; pointer-events: none; }
.guar-wave svg { display: block; width: 100%; height: clamp(52px, 7vw, 110px); }
.guar .bubbles { z-index: 0; }
.guar-inner { position: relative; z-index: 2; max-width: 760px; text-align: center; margin: 0 auto; }
.guar-eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-weight: 800; font-size: clamp(12px, 1.4vw, 14px);
letter-spacing: .2em; text-transform: uppercase; color: var(--gold);
background: rgba(255,255,255,.08);
border: 1px solid rgba(255,255,255,.18);
border-radius: 999px; padding: 9px 16px 9px 13px;
backdrop-filter: blur(6px);
margin-bottom: 22px;
}
.guar-eyebrow svg { width: 17px; height: 17px; color: var(--gold); flex: none; }
.guar-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(40px, 7vw, 88px); line-height: .9; letter-spacing: .005em;
text-shadow: 0 6px 34px rgba(0,0,0,.4);
}
.guar-title-gold { color: var(--gold); }
.guar-sub {
font-size: clamp(16px, 1.9vw, 19px); line-height: 1.55; font-weight: 500;
color: #D5E2F2; max-width: 600px; margin: 22px auto 0;
}
.guar-actions {
display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 26px;
margin-top: 34px;
}
.guar-cta {
display: inline-flex; align-items: center; justify-content: center; gap: 11px;
font-weight: 800; font-size: 16px; letter-spacing: .04em; text-transform: uppercase;
line-height: 1; white-space: nowrap;
background: var(--gold); color: var(--navy);
padding: 19px 34px; border-radius: 999px; box-shadow: var(--shadow-gold);
transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.guar-cta svg { width: 18px; height: 18px; flex: none; transition: transform .25s ease; }
.guar-cta:hover { background: var(--gold-bright); transform: translateY(-2px); }
.guar-cta:hover svg { transform: translateX(3px); }
.guar-cta:active { transform: translateY(0) scale(.98); }
.guar-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.guar-call {
display: inline-flex; align-items: center; justify-content: center; gap: 13px; color: #fff;
transition: transform .15s ease;
}
.guar-call svg {
width: 20px; height: 20px; flex: none; color: var(--navy);
background: var(--gold); border-radius: 50%; padding: 10px; box-sizing: content-box;
box-shadow: var(--shadow-gold);
}
.guar-call-label {
display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em;
text-transform: uppercase; color: #B9CAE0;
}
.guar-call-num {
display: block; font-family: var(--font-display); font-weight: 400;
text-transform: uppercase; font-size: 24px; letter-spacing: .01em; line-height: 1.05;
}
.guar-call:hover { transform: translateY(-2px); }
.guar-call:hover .guar-call-num { color: var(--gold); }
.guar-call:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; border-radius: 8px; }
.guar-urgency {
display: inline-flex; align-items: center; gap: 11px; margin-top: 26px;
font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
color: #E7EFF9;
}
.guar-urgency svg { width: 16px; height: 16px; color: var(--gold); flex: none; }
.guar-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); flex: none; }
@media (max-width: 600px) {
.guar-actions { gap: 16px; }
.guar-cta { width: 100%; }
.guar-call { width: 100%; }
.guar-call-num { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
.guar-cta, .guar-cta svg, .guar-call { transition: none; }
}
.stats-band {
position: relative;
overflow: hidden;
isolation: isolate;
padding: clamp(28px, 4.5vw, 48px) 0;
background:
radial-gradient(120% 160% at 50% -40%, var(--navy-2) 0%, rgba(16,58,102,0) 60%),
var(--navy);
color: #fff;
border-top: 1px solid rgba(255,255,255,.06);
border-bottom: 1px solid rgba(255,255,255,.06);
}
.stats-vh {
position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.stats-row {
position: relative; z-index: 2;
list-style: none; margin: 0; padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(14px, 2.4vw, 30px);
text-align: center;
}
.stats-item {
position: relative;
display: flex; flex-direction: column; align-items: center;
padding: 4px clamp(8px, 1.6vw, 18px);
}
.stats-item + .stats-item::before {
content: "";
position: absolute; left: 0; top: 50%; transform: translateY(-50%);
width: 1px; height: 56%;
background: linear-gradient(180deg, transparent, rgba(255,194,26,.45), transparent);
}
.stats-num {
font-family: var(--font-display); font-weight: 400;
text-transform: uppercase; letter-spacing: .01em; line-height: .9;
font-size: clamp(40px, 6vw, 68px);
color: var(--gold);
text-shadow: 0 6px 22px rgba(242,169,0,.22);
font-variant-numeric: tabular-nums;
font-feature-settings: "tnum" 1;
}
.stats-num .stats-unit {
font-size: .56em; margin-left: .04em; color: var(--gold-bright);
}
.stats-num--pending { color: var(--gold); }
.stats-label {
font-family: var(--font-body); font-weight: 800;
font-size: clamp(13px, 1.5vw, 16px); letter-spacing: .04em;
text-transform: uppercase; color: #fff;
margin-top: 10px; line-height: 1.15;
}
.stats-sub {
font-size: clamp(11.5px, 1.2vw, 13px); font-weight: 600;
color: #9FB6D4; margin-top: 6px; line-height: 1.35;
max-width: 22ch;
}
@media (max-width: 720px) {
.stats-row { grid-template-columns: repeat(2, 1fr); gap: clamp(22px, 6vw, 34px) 14px; }
.stats-item + .stats-item::before { display: none; }
.stats-item:nth-child(-n+2)::after {
content: ""; position: absolute; left: 12%; right: 12%; bottom: calc(-1 * clamp(11px, 3vw, 17px));
height: 1px; background: linear-gradient(90deg, transparent, rgba(255,194,26,.3), transparent);
}
}
@media (max-width: 380px) {
.stats-num { font-size: clamp(36px, 12vw, 48px); }
}
@media (prefers-reduced-motion: reduce) {
.stats-num { text-shadow: none; }
}
.rev2-grid {
list-style: none;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin: 0;
padding: 0;
}
.rev2-card {
position: relative;
display: flex;
flex-direction: column;
background: var(--white);
border: 1px solid var(--line);
border-top: 4px solid var(--gold);
border-radius: var(--r-lg);
padding: 30px 28px 26px;
box-shadow: var(--shadow-sm);
overflow: hidden;
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rev2-card:hover,
.rev2-card:focus-within {
transform: translateY(-6px);
box-shadow: var(--shadow-lg);
border-color: #c9d6e6;
}
.rev2-quote {
position: absolute;
top: 6px;
right: 18px;
z-index: 0;
font-family: var(--font-display);
font-weight: 400;
font-size: 120px;
line-height: 1;
color: var(--cream);
pointer-events: none;
user-select: none;
}
.rev2-stars,
.rev2-body,
.rev2-by { position: relative; z-index: 1; }
.rev2-stars { display: flex; gap: 3px; color: var(--gold-deep); margin-bottom: 16px; }
.rev2-stars svg { width: 19px; height: 19px; }
.rev2-body {
margin: 0;
font-size: 16.5px;
line-height: 1.55;
font-weight: 500;
color: var(--ink);
flex: 1 1 auto;
}
.rev2-by {
display: flex;
align-items: center;
gap: 13px;
margin-top: 22px;
padding-top: 20px;
border-top: 1px solid var(--line);
}
.rev2-av {
flex: none;
width: 46px; height: 46px;
border-radius: 50%;
background: var(--navy);
color: #fff;
font-family: var(--font-display);
font-size: 22px; line-height: 1;
display: flex; align-items: center; justify-content: center;
}
.rev2-meta { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.rev2-name { font-weight: 800; font-size: 15px; color: var(--ink); }
.rev2-tag {
font-weight: 800; font-size: 11.5px; letter-spacing: .06em;
text-transform: uppercase; color: var(--gold-deep); margin-top: 3px;
}
.rev2-src { flex: none; display: inline-flex; align-items: center; }
.rev2-src svg { display: block; }
.rev2-foot {
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
flex-wrap: wrap;
margin-top: 40px;
text-align: center;
}
.rev2-foot-badge {
display: inline-flex; align-items: center; gap: 10px;
background: var(--white);
border: 1px solid var(--line);
border-radius: 999px;
padding: 11px 20px;
box-shadow: var(--shadow-sm);
font-weight: 800; font-size: 14px; color: var(--navy);
}
.rev2-cta svg { width: 18px; height: 18px; transition: transform .25s ease; }
.rev2-cta:hover svg { transform: translateX(3px); }
@media (max-width: 920px) {
.rev2-grid { grid-template-columns: repeat(2, 1fr); }
.rev2-grid > .rev2-card:nth-child(3) { grid-column: 1 / -1; max-width: 520px; margin-inline: auto; width: 100%; }
}
@media (max-width: 600px) {
.rev2-grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
.rev2-grid > .rev2-card:nth-child(3) { max-width: none; }
.rev2-quote { font-size: 96px; }
.rev2-foot { flex-direction: column; gap: 14px; }
.rev2-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
.rev2-card, .rev2-cta svg { transition: none; }
.rev2-card:hover, .rev2-card:focus-within { transform: none; }
}
.crew { overflow: hidden; }
.crew .wrap { position: relative; z-index: 2; }
.crew-grid {
display: grid;
grid-template-columns: 1fr 1.05fr;
gap: clamp(36px, 5vw, 72px);
align-items: center;
}
.crew-media { position: relative; min-width: 0; }
.crew-photo {
border-radius: var(--r-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
.crew-photo img { width: 100%; height: 100%; object-fit: cover; }
.crew-photo--main { aspect-ratio: 5/4; }
.crew-photo--main img {
filter: saturate(1.02) contrast(1.03);
transition: transform 1.1s cubic-bezier(.16,.84,.28,1);
}
.crew:hover .crew-photo--main img { transform: scale(1.04); }
.crew-photo--sub {
position: absolute;
width: 46%;
aspect-ratio: 4/3;
right: -5%;
bottom: -9%;
border: 6px solid var(--navy-deep);
border-radius: var(--r-md);
z-index: 3;
}
.crew-badge {
position: absolute;
top: -20px;
left: -18px;
z-index: 4;
background: var(--gold);
color: var(--navy);
border-radius: var(--r-md);
padding: 14px 20px;
box-shadow: var(--shadow-md);
text-align: center;
line-height: 1;
}
.crew-badge b {
display: block;
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
font-size: 26px;
letter-spacing: .01em;
}
.crew-badge span {
display: block;
margin-top: 5px;
font-weight: 800;
font-size: 10.5px;
letter-spacing: .12em;
text-transform: uppercase;
}
.crew-copy { min-width: 0; }
.crew-title { margin-bottom: 4px; }
.crew-lead { max-width: 560px; }
.crew-lead + .crew-lead { margin-top: 16px; }
.crew-trust {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: 12px 14px;
margin: 28px 0 4px;
}
.crew-trust li {
display: inline-flex;
align-items: center;
gap: 10px;
font-weight: 700;
font-size: 14px;
letter-spacing: .01em;
color: #E7EFF9;
background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.16);
border-radius: 999px;
padding: 9px 16px 9px 10px;
}
.crew-trust-ic {
flex: none;
width: 28px;
height: 28px;
border-radius: 50%;
background: rgba(255,194,26,.16);
display: flex;
align-items: center;
justify-content: center;
}
.crew-trust-ic svg { width: 17px; height: 17px; color: var(--gold); }
.crew-cta { margin-top: 30px; }
.crew-cta svg { width: 19px; height: 19px; flex: none; transition: transform .25s ease; }
.crew-cta:hover svg { transform: translateX(3px); }
@media (max-width: 880px) {
.crew-grid { grid-template-columns: 1fr; }
.crew-media { max-width: 480px; margin: 0 auto 16px; }
.crew-photo--sub { width: 44%; }
}
@media (max-width: 520px) {
.crew-badge { top: -14px; left: -10px; padding: 11px 15px; }
.crew-badge b { font-size: 22px; }
.crew-trust li { font-size: 13.5px; }
.crew-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
.crew-photo--main img, .crew-cta svg { transition: none; }
.crew:hover .crew-photo--main img { transform: none; }
}
.wave-divider--deep-to-white,
.wave-divider--navy-to-white { --wave-fill: var(--cream); }
.whytrust-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(28px, 5vw, 64px);
align-items: center;
}
.whytrust-media { min-width: 0; }
.whytrust-media img {
width: 100%;
height: 100%;
aspect-ratio: 4 / 5;
object-fit: cover;
border-radius: 24px;
box-shadow: 0 24px 60px rgba(15, 34, 56, .18);
}
.whytrust-copy { min-width: 0; }
.whytrust-heading {
font-family: var(--font-display);
color: var(--ink);
font-weight: 700;
font-size: clamp(30px, 4vw, 46px);
line-height: 1.03;
letter-spacing: .01em;
margin: 0 0 22px;
}
.whytrust-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 14px;
}
.whytrust-pill {
display: flex;
align-items: center;
gap: 16px;
background: var(--navy);
border-radius: 14px;
padding: 16px 22px;
box-shadow: 0 8px 22px rgba(15, 34, 56, .14);
color: #fff;
font-family: var(--font-body);
font-weight: 700;
font-size: clamp(15px, 1.35vw, 18px);
line-height: 1.2;
}
.whytrust-badge {
flex: none;
width: 30px;
height: 30px;
border-radius: 50%;
background: var(--gold);
display: grid;
place-items: center;
}
.whytrust-badge svg { width: 17px; height: 17px; display: block; }
.whytrust-text { min-width: 0; }
.whytrust-pill--no { opacity: .92; }
.whytrust-pill--no .whytrust-badge { background: #B5484A; }
.whytrust-pill--no .whytrust-text {
color: #C4D2E4;
text-decoration: line-through;
text-decoration-thickness: 2px;
}
@media (max-width: 820px) {
.whytrust-grid { grid-template-columns: 1fr; gap: 24px; }
.whytrust-media { max-width: 480px; margin: 0 auto; }
.whytrust-media img { aspect-ratio: 16 / 10; }
}
.page-hero {
position: relative; background: var(--navy); color: #fff; overflow: hidden; isolation: isolate;
padding: clamp(56px, 8vw, 110px) 0 clamp(44px, 6vw, 84px);
}
.page-hero--img .page-hero-media { position: absolute; inset: 0; z-index: -2; }
.page-hero--img .page-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.page-hero--img .page-hero-media::after {
content: ""; position: absolute; inset: 0;
background: linear-gradient(92deg, rgba(6,22,41,.94) 0%, rgba(7,26,51,.86) 48%, rgba(8,30,58,.62) 100%);
}
.crumbs { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; font-size: 13px; font-weight: 700; letter-spacing: .04em; color: #9FB4CF; text-transform: uppercase; margin-bottom: 18px; }
.crumbs a { color: #C8D6E8; }
.crumbs a:hover { color: var(--gold); }
.crumbs .crumb-sep { color: #5A7191; }
.page-hero .eyebrow { color: var(--gold); }
.page-hero-title {
font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
font-size: clamp(34px, 5.2vw, 64px); line-height: .96; letter-spacing: .005em; color: #fff;
max-width: 880px;
}
.page-hero-sub { margin-top: 18px; max-width: 720px; font-size: clamp(16px, 1.9vw, 19px); line-height: 1.6; color: #D5E2F2; font-weight: 500; }
.page-hero-actions { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; margin-top: 26px; }
.page-hero-trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; font-size: 13.5px; font-weight: 700; color: #C8D6E8; }
.page-hero-trust span { display: inline-flex; align-items: center; gap: 7px; }
.page-hero-trust svg { width: 15px; height: 15px; color: var(--gold); }
.prose { max-width: 780px; }
.prose > * + * { margin-top: 1.15em; }
.prose h2 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(24px, 3vw, 34px); line-height: 1.04; color: var(--navy); margin-top: 1.9em; }
.prose h3 { font-family: var(--font-body); font-weight: 800; font-size: clamp(18px, 2vw, 21px); color: var(--navy); margin-top: 1.6em; }
.prose p, .prose li { font-size: 16.5px; line-height: 1.72; color: var(--ink-soft); }
.prose ul, .prose ol { padding-left: 22px; }
.prose li + li { margin-top: .45em; }
.prose b, .prose strong { color: var(--ink); }
.prose a { color: var(--navy); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(237,194,60,.7); text-underline-offset: 3px; }
.prose a:hover { text-decoration-color: var(--gold); }
.prose img { border-radius: var(--r-lg); box-shadow: var(--shadow-md); }
.prose blockquote { border-left: 4px solid var(--gold); padding: 8px 0 8px 18px; font-weight: 600; color: var(--ink); }
.tldr {
background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--gold);
border-radius: var(--r-md); padding: 20px 22px; box-shadow: var(--shadow-sm);
}
.tldr p { font-size: 17px; line-height: 1.65; color: var(--ink); font-weight: 600; margin: 0; }
.tldr .tldr-label { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 8px; }
.ptable { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-sm); }
.ptable th { background: var(--navy); color: #fff; text-align: left; padding: 12px 16px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.ptable td { padding: 12px 16px; border-top: 1px solid var(--line); color: var(--ink-soft); }
.ptable tr:nth-child(even) td { background: var(--paper); }
.ptable td:first-child { font-weight: 700; color: var(--ink); }
.linkgrid { display: flex; flex-wrap: wrap; gap: 9px; }
.svc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.svc-card { display: block; background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px 18px 16px; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.svc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: rgba(237,194,60,.6); }
.svc-card b { display: block; font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 17px; letter-spacing: .02em; color: var(--navy); }
.svc-card span { display: block; margin-top: 6px; font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.hub-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 60px); align-items: start; }
.hub-side { position: sticky; top: 100px; }
.hub-side .form-card { box-shadow: var(--shadow-lg); }
@media (max-width: 920px){ .hub-split { grid-template-columns: 1fr; } .hub-side { position: static; } }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; }
.post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease; }
.post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.post-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.post-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.post-card-body .post-tag { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-deep); }
.post-card-body b { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 18px; line-height: 1.1; color: var(--navy); }
.post-card-body span { font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
.post-meta { font-size: 13px; color: var(--ink-soft); font-weight: 600; }
body.subpage .page-hero .wrap { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
body.subpage .page-hero-copy { min-width: 0; }
body.subpage .page-hero-copy .page-hero-actions { margin-top: 24px; }
body.subpage .page-hero .heroform-wrap { width: 100%; }
@media (max-width: 940px){
body.subpage .page-hero .wrap { grid-template-columns: 1fr; gap: 26px; }
body.subpage .page-hero { padding-top: clamp(40px,7vw,72px); }
body.subpage .page-hero .heroform-wrap { max-width: 540px; }
}
body.subpage .section > .wrap > .prose { margin-left: auto; margin-right: auto; }
body.subpage .section > .wrap > .sec-head { max-width: 780px; margin-left: auto; margin-right: auto; }
body.subpage .prose img { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; margin: 1.8em auto; border-radius: var(--r-lg); box-shadow: var(--shadow-md); }
@media (max-width: 860px){ .util-right .util-item.hide-sm { display: none; } }
@media (max-width: 600px){ .nav .nav-cta .btn-gold { display: none; } }
.prose a.btn { text-decoration: none; }
.prose a.btn-navy, .prose a.btn-navy:hover { color: #fff; }
.prose a.btn-gold, .prose a.btn-gold:hover { color: var(--navy); }
.prose a.btn-ghost-navy, .prose a.btn-ghost-navy:hover { color: var(--navy); }
.nav .brand { margin-right: clamp(16px, 2.4vw, 44px); }
body.subpage .section img:not(.tile img):not(.step-ic img) {
width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover;
}
.stepanim-line-draw { stroke-dashoffset: 0 !important; }
.steps.stepanim .step:not(:last-child)::after { opacity: 1; }
@media (max-width: 820px){ .stepanim-line { display: none; } .steps.stepanim .step::after { display: none; } }
@media (max-width: 980px){
.services-grid.service-tiles { grid-template-columns: repeat(2, 1fr) !important; grid-auto-rows: auto !important; grid-auto-flow: row !important; gap: 16px !important; }
.service-tiles .tile, .service-tiles .tile--wide, .service-tiles .tile--feature {
grid-column: auto !important; grid-row: auto !important; aspect-ratio: 1 / 1; min-height: 0 !important;
}
.service-tiles .tile--feature .tile-name,
.service-tiles .tile--wide .tile-name { font-size: clamp(24px, 6.4vw, 40px) !important; }
.service-tiles .tile--feature .tile-lead { display: none !important; }
.service-tiles .tile-go,
.service-tiles .tile-badge { display: none !important; }
}
@media (max-width: 380px){
.services-grid.service-tiles { grid-template-columns: 1fr !important; }
.service-tiles .tile, .service-tiles .tile--wide, .service-tiles .tile--feature { aspect-ratio: 16 / 10; }
}
.qbar-success { margin: 0; padding: 14px 8px; width: 100%; text-align: center; color: #fff; font-weight: 700; font-size: 15px; line-height: 1.4; }
@media (max-width: 640px){
.crew-cta { white-space: normal; text-align: center; font-size: 14px; padding: 15px 22px; }
.crew-cta-pre { display: none; }
}
#services .sec-head--stack { margin-bottom: clamp(20px, 3vw, 30px); }
.svcx-tabs {
position: relative;
display: flex;
gap: 6px;
width: max-content;
max-width: 100%;
margin: 4px auto clamp(30px, 4vw, 48px);
padding: 6px;
background: #fff;
border: 1px solid var(--line);
border-radius: 999px;
box-shadow: var(--shadow-sm);
}
.svcx-tab {
position: relative;
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
font-size: clamp(13px, 1.6vw, 17px);
letter-spacing: .02em;
color: var(--navy);
white-space: nowrap;
padding: 13px clamp(18px, 2.4vw, 30px);
border-radius: 999px;
transition: color .25s ease, background .3s ease, box-shadow .3s ease, transform .12s ease;
}
.svcx-tab[aria-selected="false"]:hover { color: var(--gold-deep); background: var(--paper); }
.svcx-tab[aria-selected="true"] {
color: #fff;
background: linear-gradient(135deg, var(--sky) 0%, #1E5FD0 100%);
box-shadow: 0 8px 20px rgba(46,123,240,.35);
}
.svcx-tab:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }
.svcx-tab:active { transform: scale(.96); }
.svcx-panel[hidden] { display: none; }
.svcx-panel:focus { outline: none; }
.svcx-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(18px, 2vw, 26px);
}
@media (max-width: 1040px){ .svcx-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .svcx-grid { grid-template-columns: 1fr; } }
.svcx-card {
position: relative;
display: flex;
flex-direction: column;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--r-lg);
box-shadow: var(--shadow-sm);
transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.svcx-card:hover,
.svcx-card:focus-within {
transform: translateY(-6px);
box-shadow: var(--shadow-lg);
border-color: rgba(46,123,240,.45);
}
.svcx-media {
position: relative;
aspect-ratio: 16 / 11;
overflow: hidden;
background: var(--navy);
border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.svcx-media img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(.2,.7,.3,1);
}
.svcx-card:hover .svcx-media img,
.svcx-card:focus-within .svcx-media img { transform: scale(1.08); }
.svcx-media::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(20,56,110,.12) 0%, rgba(20,56,110,.04) 42%, rgba(20,56,110,.46) 100%);
transition: opacity .35s ease;
}
.svcx-card:hover .svcx-media::after { opacity: .82; }
.svcx-body {
position: relative;
display: flex;
flex-direction: column;
flex: 1;
padding: 40px 22px 22px;
}
.svcx-badge {
position: absolute;
top: 0;
left: 22px;
transform: translateY(-50%);
z-index: 2;
width: 60px;
height: 60px;
display: grid;
place-items: center;
border-radius: 50%;
background: radial-gradient(circle at 32% 26%, #ffffff 0%, #E6F0FB 100%);
box-shadow: 0 12px 24px rgba(20,56,110,.28), inset 0 0 0 2px #fff;
transition: transform .3s ease, box-shadow .3s ease;
}
.svcx-badge img {
width: 33px;
height: 33px;
object-fit: contain;
}
.svcx-card:hover .svcx-badge,
.svcx-card:focus-within .svcx-badge {
transform: translateY(-50%) scale(1.08);
box-shadow: 0 16px 30px rgba(46,123,240,.42), inset 0 0 0 2px #fff;
}
.svcx-name {
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
font-size: clamp(19px, 1.7vw, 22px);
line-height: 1;
letter-spacing: .01em;
color: var(--navy);
margin: 0 0 10px;
}
.svcx-desc {
font-size: 14px;
line-height: 1.55;
color: var(--ink-soft);
margin: 0 0 18px;
}
.svcx-btn {
position: relative;
align-self: flex-start;
margin-top: auto;
display: inline-flex;
align-items: center;
gap: 10px;
padding: 10px 12px 10px 20px;
border-radius: 999px;
font-family: var(--font-display);
font-weight: 400;
text-transform: uppercase;
font-size: 13.5px;
letter-spacing: .03em;
color: var(--navy);
background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
box-shadow: 0 8px 18px rgba(31,178,51,.28);
transition: box-shadow .28s ease, transform .12s ease, filter .28s ease;
}
.svcx-btn::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
}
.svcx-arrow {
display: grid;
place-items: center;
width: 26px;
height: 26px;
border-radius: 50%;
background: var(--navy);
color: #fff;
transition: transform .28s cubic-bezier(.2,.7,.3,1);
}
.svcx-arrow svg { width: 15px; height: 15px; }
.svcx-card:hover .svcx-btn,
.svcx-card:focus-within .svcx-btn { box-shadow: 0 12px 24px rgba(31,178,51,.4); filter: brightness(1.04); }
.svcx-card:hover .svcx-arrow,
.svcx-card:focus-within .svcx-arrow { transform: translateX(4px); }
.svcx-btn:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }
.svcx-btn:active { transform: scale(.98); }
@media (prefers-reduced-motion: no-preference) {
.svcx-panel:not([hidden]) .svcx-card {
animation: svcxRise .5s cubic-bezier(.2,.7,.3,1) both;
}
.svcx-panel:not([hidden]) .svcx-card:nth-child(1) { animation-delay: .02s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(2) { animation-delay: .08s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(3) { animation-delay: .14s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(4) { animation-delay: .20s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(5) { animation-delay: .12s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(6) { animation-delay: .18s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(7) { animation-delay: .24s; }
.svcx-panel:not([hidden]) .svcx-card:nth-child(8) { animation-delay: .30s; }
}
@keyframes svcxRise {
from { opacity: 0; transform: translateY(22px); }
to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 560px){
.svcx-tabs { width: 100%; }
.svcx-tab { flex: 1; text-align: center; padding-inline: 10px; }
}
.promo-overlay{
position: fixed; inset: 0; z-index: 9999;
display: none;
align-items: center; justify-content: center;
padding: 20px;
background: rgba(6, 16, 34, .62);
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
}
.promo-overlay.is-open{ display: flex; }
.promo-card{
position: relative;
width: 100%;
max-width: 520px;
background: var(--white);
border-radius: 22px;
padding: 28px 28px 24px;
box-shadow: 0 30px 80px rgba(6,16,34,.45), 0 4px 14px rgba(6,16,34,.2);
text-align: center;
}
.promo-overlay.is-open .promo-card{
animation: promoPop .34s cubic-bezier(.2,.9,.3,1.2) both;
}
@keyframes promoPop{
from{ opacity: 0; transform: translateY(14px) scale(.9); }
to{ opacity: 1; transform: translateY(0) scale(1); }
}
.promo-close{
position: absolute; top: 12px; right: 12px;
width: 38px; height: 38px;
display: inline-flex; align-items: center; justify-content: center;
border: 0; border-radius: 50%;
background: transparent; color: var(--navy);
font-size: 20px; line-height: 1; cursor: pointer;
transition: background .18s ease, transform .18s ease;
}
.promo-close:hover{ background: var(--cream); transform: scale(1.08); }
.promo-truck{
display: block; width: 100%; max-width: 360px;
height: auto; margin: 4px auto 6px;
}
.promo-title{
font-family: var(--font-display, inherit);
color: var(--ink);
font-weight: 800;
font-size: clamp(20px, 4.4vw, 28px);
line-height: 1.08;
margin: 4px 0 2px;
}
.promo-headline{
font-family: var(--font-display, inherit);
color: var(--navy);
font-weight: 800;
font-size: clamp(30px, 6vw, 52px);
line-height: 1.02;
margin: 6px 0 10px;
}
.promo-code{
color: var(--ink-soft);
font-size: clamp(14px, 2.4vw, 16px);
font-weight: 600;
margin: 0 0 18px;
}
.promo-cta{
display: inline-flex; width: 100%;
justify-content: center; text-align: center;
font-size: clamp(15px, 2.6vw, 18px);
padding: 16px 22px;
border-radius: 14px;
}
.promo-dismiss{
display: inline-block;
margin-top: 14px;
background: none; border: 0; padding: 4px;
color: var(--ink-soft);
font-style: italic;
font-size: 13.5px;
text-decoration: underline;
cursor: pointer;
}
.promo-dismiss:hover{ color: var(--navy); }
@media (max-width: 480px){
.promo-card{ padding: 22px 18px 20px; border-radius: 18px; }
.promo-truck{ max-width: 78%; }
}
.nav{ height: 110px; gap: 18px; }
.brand{ gap: 0; flex: none; }
.brand img{ width:auto !important; height: 92px !important; max-width: 240px; object-fit: contain; display:block; }
.brand-txt{ display: none !important; }
.nav-links{ gap: 18px; flex-wrap: nowrap; }
.nav-links a{ font-size: 14.5px; }
.nav-cta{ gap: 12px; flex: none; }
.nav-phone{ font-size: 15px; }
@media (max-width:1180px){ .nav{ height: 92px; } .brand img{ height: 72px !important; } }
@media (max-width:900px){ .nav{ height: 78px; } .brand img{ height: 58px !important; } }
.areahero{
position:relative; width:100vw;
margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
margin-top:44px; margin-bottom:8px;
display:grid; grid-template-columns:1fr 1fr; gap:0;
min-height:780px; overflow:hidden; border-radius:0;
}
.areahero-map{ position:relative; min-height:780px; border-radius:0; box-shadow:none; }
.areahero-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.areahero-panel{
position:relative; background:var(--navy);
display:flex; flex-direction:column; justify-content:flex-start;
padding: clamp(44px,5vw,90px) clamp(28px,5vw,76px);
overflow:hidden; border-radius:0;
}
.areahero-panel::after{
content:""; position:absolute; right:-20%; bottom:-34%;
width:95%; height:130%; background:var(--navy-2);
transform:rotate(-18deg); border-radius:60px; opacity:.5; z-index:0;
}
.areahero-panel-inner{ position:relative; z-index:2; max-width:620px; }
.areahero-title{
font-family:var(--font-display); text-transform:uppercase; color:#fff;
font-size: clamp(34px,3.9vw,64px); line-height:1.03; letter-spacing:.005em; margin:0;
}
.areahero-cta{
margin-top:34px; align-self:flex-start; display:inline-flex; align-items:center; gap:10px;
font-size: clamp(17px,1.6vw,22px); padding:18px 34px;
}
.areahero-cta svg{ width:20px; height:20px; }
.areahero-truck{
position:absolute; right:-4%; bottom:-3%; width:72%;
max-width:none; height:auto; z-index:4; pointer-events:none;
filter: drop-shadow(0 26px 34px rgba(0,0,0,.45));
}
@media (max-width:900px){
.areahero{ grid-template-columns:1fr; min-height:0; margin-top:28px; }
.areahero-map{ min-height:340px; }
.areahero-panel{ min-height:520px; padding:40px 26px 220px; }
.areahero-panel::after{ opacity:.4; }
.areahero-truck{ width:96%; right:2%; bottom:0; }
}
.wt-intro{ max-width:900px; margin:0 auto clamp(34px,5vw,58px); text-align:center; }
.wt-intro-title{
font-family:var(--font-display); text-transform:uppercase; color:var(--ink);
font-size: clamp(30px,3.4vw,52px); line-height:1.04; letter-spacing:.005em; margin:0 0 22px;
}
.wt-intro p{ color:var(--ink-soft); font-size: clamp(15px,1.15vw,18px); line-height:1.7; margin:0 auto 16px; max-width:820px; }
:root{ --wt-fade: 20%; }
.whytrust-grid{
display:grid; grid-template-columns:60% 40%; gap:0; align-items:stretch;
width:100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
min-height:860px;
}
.whytrust-media{ position:relative; overflow:hidden; min-height:860px; }
.whytrust-media img.wt-house{
position:absolute; top:-135px; bottom:auto; left:-260px; right:auto;
width: calc(100% + 310px); max-width:none; height:auto;
aspect-ratio:auto; object-fit:contain; margin:0; box-shadow:none;
border-radius:15px 0 0 15px; filter:brightness(80%); z-index:0;
}
.whytrust-media img.wt-couple{
position:absolute; bottom:0; top:auto; right:36%; left:auto;
width:350px; max-width:350px; height:auto;
aspect-ratio:auto; object-fit:contain; margin:0; box-shadow:none; border-radius:0;
z-index:3; will-change:transform;
}
.whytrust-media::after{
content:""; position:absolute; left:0; right:0; bottom:0;
height: var(--wt-fade); pointer-events:none; z-index:5;
background: linear-gradient(to top,
var(--cream) 0%, var(--cream) 6%,
rgba(238,244,251,0.50) 35%, rgba(238,244,251,0) 100%);
}
.whytrust-copy{ display:flex; flex-direction:column; justify-content:center; padding:56px clamp(24px,3.5vw,60px); min-width:0; }
.whytrust-heading{
font-family:var(--font-display); text-transform:uppercase; color:var(--ink);
font-size: clamp(34px,3.8vw,60px); line-height:1.02; letter-spacing:.005em; margin:0 0 26px;
}
.whytrust-list{ display:flex; flex-direction:column; gap:15px; max-width:640px; margin:0; padding:0; list-style:none; }
.whytrust-pill{ display:flex; align-items:center; gap:18px; background:var(--navy); color:#fff; border-radius:16px; padding:17px 26px; box-shadow:0 12px 26px rgba(6,10,20,.14); }
.whytrust-badge{ flex:none; width:38px; height:38px; border-radius:50%; background:var(--gold); display:grid; place-items:center; }
.whytrust-badge svg{ width:20px; height:20px; }
.whytrust-text{ font-weight:800; font-size: clamp(15px,1.25vw,19px); }
.whytrust-pill--no .whytrust-badge{ background:#C0464A; }
.whytrust-pill--no .whytrust-text{ text-decoration:line-through; opacity:.85; }
#meet{ padding-bottom:0 !important; }
#meet + .guar{ margin-top:0; }
@media (max-width:1180px){
.whytrust-media img.wt-house{ top:-90px; left:-150px; width: calc(100% + 180px); }
.whytrust-media img.wt-couple{ width:280px; max-width:280px; right:30%; }
}
@media (max-width:900px){
.whytrust-grid{ grid-template-columns:1fr; min-height:0; }
.whytrust-media{ min-height:460px; }
.whytrust-media img.wt-house{ top:0; left:-12%; width: calc(100% + 24%); }
.whytrust-media img.wt-couple{ width:210px; max-width:210px; right:26%; }
.whytrust-copy{ padding:40px 24px; }
}
.whov .wrap{ max-width:1460px; }
.whov-grid{ grid-template-columns:44% 56%; gap: clamp(26px,3.2vw,54px); align-items:center; }
.whov-media{ display:flex; align-items:center; width:100%; max-width:none; }
.whov-stack{ position:relative; width:100%; padding:0; display:block; }
.whov-backpic{
position:absolute; right:-9%; top:-17%; bottom:auto; left:auto;
width:60%; height:152%; aspect-ratio:auto;
object-fit:cover; border-radius:16px; box-shadow:var(--shadow-lg); z-index:0;
}
.whov-stack .whov-video{
position:relative; z-index:2; width:92%; margin-left:0;
border:6px solid #fff; border-radius:15px; overflow:hidden;
box-shadow:0 0 35px rgba(0,0,0,.30);
}
@media (max-width:1180px){ .whov-backpic{ width:52%; right:-5%; } }
@media (max-width:900px){
.whov .wrap{ max-width:var(--maxw); }
.whov-grid{ grid-template-columns:1fr; }
.whov-stack .whov-video{ width:100%; }
.whov-backpic{ display:none; }
}
.a2p{ display:flex; align-items:flex-start; gap:9px; cursor:pointer; text-align:left; }
.a2p input[type="checkbox"]{
-webkit-appearance:checkbox; appearance:auto;
width:16px !important; height:16px !important; min-width:16px; flex:none;
padding:0 !important; margin:2px 0 0 !important; border-radius:3px !important;
background:#fff; border:1px solid var(--line); accent-color:var(--gold); cursor:pointer;
}
.a2p span{ font-size:11.5px; line-height:1.45; color:var(--ink-soft); }
.a2p a{ color:var(--blue-deep); text-decoration:underline; }
.heroform-consent{ margin-top:12px; }
.form-consent{ margin:6px 0 14px; }
.qbar-form{ align-items:flex-start; gap:14px; }
.qbar-main{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:7px; }
.qbar-row{ display:flex; gap:10px; }
.qbar-row .qbar-field{ flex:1 1 0; min-width:0; }
.qbar-consent{ flex-basis:auto; margin-top:0; }
.qbar-consent .a2p span{ color:rgba(255,255,255,.82); font-size:11px; line-height:1.4; }
.qbar-consent .a2p a{ color:#fff; }
.qbar-submit{ flex:none; align-self:flex-start; }
@media (max-width:980px){ .qbar-row{ flex-wrap:wrap; } .qbar-consent{ display:none; } }
.promobar{
position: relative;
z-index: 4;
display: block;
width: 100%;
background: var(--gold);
color: var(--navy);
border-bottom: 2px solid rgba(12,21,38,.10);
overflow: hidden;
}
.promobar[hidden]{ display: none !important; }
.promobar.is-gone{ display: none !important; }
.promobar:not(.is-gone) + .coresvc-band{ margin-top: 0; }
.promobar-inner{
min-height: 52px;
max-width: var(--maxw);
margin: 0 auto;
padding: 8px 44px 8px var(--gut);
padding-right: max(44px, var(--gut));
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 6px 14px;
text-align: center;
}
.promobar-icon{
font-size: 18px;
line-height: 1;
display: inline-block;
animation: promobarPulse 2.2s ease-in-out infinite;
}
@keyframes promobarPulse{
0%,100%{ transform: scale(1); opacity: 1; }
50% { transform: scale(1.18); opacity: .78; }
}
.promobar-copy{
margin: 0;
font-family: var(--font-body);
font-size: 14px;
line-height: 1.35;
font-weight: 600;
color: var(--navy);
}
.promobar-copy strong{
font-family: var(--font-display);
font-weight: 400;
letter-spacing: .03em;
text-transform: uppercase;
font-size: 15px;
}
.promobar-sep{ opacity: .6; margin: 0 2px; }
.promobar-offer{ font-weight: 700; }
.promobar-count{
display: inline-flex;
align-items: center;
font-family: var(--font-body);
font-size: 13px;
font-weight: 800;
letter-spacing: .02em;
color: var(--navy);
background: rgba(255,255,255,.55);
border: 1px solid rgba(12,21,38,.14);
border-radius: 999px;
padding: 4px 11px;
white-space: nowrap;
}
.promobar-cta{
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--navy);
color: var(--gold);
font-family: var(--font-body);
font-weight: 800;
font-size: 13px;
letter-spacing: .05em;
text-transform: uppercase;
padding: 8px 18px;
border-radius: 999px;
white-space: nowrap;
transition: transform .18s ease, background .18s ease, color .18s ease;
}
.promobar-cta:hover,
.promobar-cta:focus-visible{
background: var(--ink);
color: var(--gold-bright);
transform: translateY(-1px);
}
.promobar-x{
position: absolute;
top: 50%;
right: 8px;
transform: translateY(-50%);
width: 28px; height: 28px;
display: flex; align-items: center; justify-content: center;
background: transparent;
border: 0;
border-radius: 50%;
color: var(--navy);
font-size: 13px;
line-height: 1;
cursor: pointer;
opacity: .62;
transition: opacity .18s ease, background .18s ease;
}
.promobar-x:hover,
.promobar-x:focus-visible{ opacity: 1; background: rgba(12,21,38,.10); }
@media (max-width: 780px){
.promobar-inner{ padding: 10px 40px 10px 16px; gap: 5px 10px; }
.promobar-copy{ font-size: 12.5px; flex: 1 1 100%; }
.promobar-copy strong{ font-size: 13.5px; }
.promobar-count{ font-size: 12px; padding: 3px 9px; }
.promobar-cta{ font-size: 12px; padding: 7px 14px; }
}
@media (max-width: 420px){
.promobar-sep{ display: none; }
.promobar-offer{ display: block; font-weight: 600; }
}
@media (prefers-reduced-motion: reduce){
.promobar-icon{ animation: none; }
}
.textfab{
position: fixed;
right: 20px;
bottom: 20px;
z-index: 60;
display: inline-flex;
align-items: center;
gap: 9px;
padding: 13px 20px 13px 16px;
border-radius: 999px;
background: var(--gold);
color: var(--navy);
font-family: var(--font-body);
font-weight: 800;
font-size: 14px;
letter-spacing: .03em;
line-height: 1;
box-shadow: 0 10px 26px rgba(6,22,41,.28), 0 0 0 3px rgba(57,224,75,.22);
opacity: 0;
visibility: hidden;
transform: translateY(16px) scale(.92);
transition: opacity .45s ease, transform .45s cubic-bezier(.2,.9,.3,1.2),
visibility .45s, box-shadow .2s ease, background .2s ease;
}
.textfab.is-in{ opacity: 1; visibility: visible; transform: none; }
.textfab:hover,
.textfab:focus-visible{
background: var(--gold-bright);
box-shadow: 0 14px 32px rgba(6,22,41,.34), 0 0 0 5px rgba(57,224,75,.26);
}
.textfab.is-in:hover,
.textfab.is-in:focus-visible{ transform: translateY(-2px); }
.textfab-icon{ width: 20px; height: 20px; flex: none; }
.textfab-label{ white-space: nowrap; }
@media (max-width: 1000px){
.textfab{
right: 14px;
bottom: calc(56px + 14px + env(safe-area-inset-bottom));
}
}
@media (max-width: 480px){
.textfab{ padding: 0; width: 54px; height: 54px; justify-content: center; gap: 0; }
.textfab-label{
position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.textfab-icon{ width: 23px; height: 23px; }
}
@media (prefers-reduced-motion: reduce){
.textfab{ transition: opacity .01s linear, visibility .01s linear; transform: none; }
}
.bas{ display:grid; grid-template-columns: 1.35fr 1fr; gap: clamp(24px,3vw,48px); align-items:center; }
.bas-main{ min-width:0; }
.bas-stage{
position:relative; width:100%; aspect-ratio:4/3; overflow:hidden;
border-radius:18px; background:var(--navy-2);
box-shadow:0 26px 58px rgba(6,10,20,.28); cursor:ew-resize; user-select:none; touch-action:pan-y;
}
.bas-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.bas-beforewrap{ position:absolute; inset:0; width:50%; overflow:hidden; will-change:width; }
.bas-beforewrap .bas-img{ width:var(--bas-w,100%); max-width:none; }
.bas-tag{
position:absolute; top:14px; z-index:3; padding:6px 13px; border-radius:999px;
font-size:11.5px; font-weight:900; letter-spacing:.14em; text-transform:uppercase;
backdrop-filter:blur(4px);
}
.bas-tag--b{ left:14px; background:rgba(12,21,38,.72); color:#fff; }
.bas-tag--a{ right:14px; background:var(--gold); color:var(--navy); }
.bas-handle{
position:absolute; top:0; bottom:0; left:50%; width:4px; margin-left:-2px;
background:#fff; z-index:4; cursor:ew-resize; box-shadow:0 0 14px rgba(0,0,0,.4);
}
.bas-handle:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.bas-grip{
position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
width:48px; height:48px; border-radius:50%; background:#fff; color:var(--navy);
display:grid; place-items:center; box-shadow:0 8px 22px rgba(0,0,0,.34);
}
.bas-grip svg{ width:22px; height:22px; }
.bas-hint{ margin-top:14px; text-align:center; font-size:13px; font-weight:700; color:var(--ink-soft); letter-spacing:.02em; }
.bas-side{ min-width:0; }
.bas-caption b{ display:block; font-family:var(--font-display); text-transform:uppercase; color:var(--ink); font-size:clamp(24px,2.5vw,38px); line-height:1.05; }
.bas-caption span{ display:block; margin-top:8px; color:var(--ink-soft); font-size:clamp(15px,1.15vw,17px); }
.bas-thumbs{ display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 20px; }
.bas-thumb{
width:62px; height:48px; border-radius:9px; overflow:hidden; padding:0; border:2px solid transparent;
background:none; cursor:pointer; opacity:.62; transition:opacity .18s, border-color .18s, transform .18s;
}
.bas-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.bas-thumb:hover{ opacity:.9; transform:translateY(-2px); }
.bas-thumb[aria-selected="true"]{ opacity:1; border-color:var(--gold); }
.bas-nav{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.bas-arrow{
width:44px; height:44px; border-radius:50%; border:2px solid var(--line); background:#fff;
display:grid; place-items:center; color:var(--navy); cursor:pointer; transition:background .18s,border-color .18s;
}
.bas-arrow:hover{ background:var(--gold); border-color:var(--gold); }
.bas-arrow svg{ width:19px; height:19px; }
.bas-count{ font-weight:800; color:var(--ink-soft); font-size:14px; }
@media (max-width:900px){
.bas{ grid-template-columns:1fr; gap:26px; }
.bas-side{ text-align:center; }
.bas-thumbs{ justify-content:center; }
.bas-nav{ justify-content:center; }
}
.savex-grid{
display:grid; grid-template-columns:repeat(4,1fr); gap: clamp(16px,1.8vw,24px);
margin-top: clamp(28px,3.5vw,44px);
}
.savex-card{
background:#fff; border:1px solid var(--line); border-radius:18px;
padding: clamp(24px,2.2vw,32px); display:flex; flex-direction:column;
box-shadow:0 10px 26px rgba(6,10,20,.07);
transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.savex-card:hover{ transform:translateY(-6px); box-shadow:0 22px 46px rgba(6,10,20,.14); border-color:transparent; }
.savex-ic{
width:56px; height:56px; border-radius:50%; background:var(--gold);
display:grid; place-items:center; color:var(--navy); margin-bottom:18px; flex:none;
}
.savex-ic svg{ width:27px; height:27px; }
.savex-name{
font-family:var(--font-display); text-transform:uppercase; color:var(--ink);
font-size: clamp(19px,1.5vw,23px); line-height:1.1; margin:0 0 10px; letter-spacing:.01em;
}
.savex-desc{ color:var(--ink-soft); font-size:14.5px; line-height:1.6; margin:0 0 18px; flex:1; }
.savex-link{
display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:14px;
color:var(--blue-deep); margin-top:auto;
}
.savex-link:hover{ color:var(--gold-deep); }
.savex-arrow{
width:26px; height:26px; border-radius:50%; background:var(--paper-2);
display:grid; place-items:center; transition:background .2s, transform .2s;
}
.savex-link:hover .savex-arrow{ background:var(--gold); transform:translateX(3px); }
.savex-arrow svg{ width:14px; height:14px; }
.savex-fin{
margin-top: clamp(26px,3vw,40px); background:var(--navy); color:#fff;
border-radius:20px; padding: clamp(28px,3vw,44px) clamp(24px,3.4vw,52px);
display:flex; align-items:center; justify-content:space-between; gap: clamp(20px,3vw,44px);
flex-wrap:wrap;
}
.savex-fin-copy{ min-width:0; flex:1 1 420px; }
.savex-fin-title{
font-family:var(--font-display); text-transform:uppercase; color:#fff;
font-size: clamp(23px,2.3vw,34px); line-height:1.08; margin:0 0 10px;
}
.savex-fin-sub{ color:#C9D9F0; font-size: clamp(14px,1.05vw,16px); line-height:1.6; margin:0 0 18px; max-width:620px; }
.savex-pays{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
.savex-pay{
display:inline-flex; align-items:center; gap:9px;
background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18);
border-radius:999px; padding:9px 16px; font-size:13.5px; font-weight:700; color:#fff;
}
.savex-pay-ic{ display:grid; place-items:center; color:var(--gold); }
.savex-pay-ic svg{ width:18px; height:18px; }
.savex-fin-cta{ flex:none; }
@media (max-width:1080px){ .savex-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){
.savex-grid{ grid-template-columns:1fr; }
.savex-fin{ flex-direction:column; align-items:flex-start; }
.savex-fin-cta .btn{ width:100%; }
}
.bac-before{ filter: none !important; }
.est-grid{
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: clamp(28px, 4vw, 60px);
align-items: center;
}
.est-copy{ min-width: 0; }
.est-copy .section-title{ margin-bottom: 14px; }
.est-copy .section-intro{ margin: 0 0 22px; max-width: 46ch; }
.est-trust{
list-style: none; margin: 0; padding: 0;
display: flex; flex-direction: column; gap: 10px;
}
.est-trust-item{
display: flex; align-items: center; gap: 10px;
font-size: 15px; font-weight: 700; color: var(--ink);
}
.est-trust-dot{
flex: none; width: 10px; height: 10px; border-radius: 50%;
background: var(--gold);
box-shadow: 0 0 0 4px rgba(57, 224, 75, .18);
}
.est-card{
min-width: 0;
background: var(--white);
border: 1px solid var(--line);
border-radius: var(--r-lg);
box-shadow: var(--shadow-lg);
padding: clamp(22px, 3vw, 34px);
}
.est-form{ display: flex; flex-direction: column; gap: 20px; }
.est-field{ display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.est-label{
font-family: var(--font-body);
font-size: 13px; font-weight: 800;
letter-spacing: .08em; text-transform: uppercase;
color: var(--ink-soft);
}
.est-selectwrap{ position: relative; display: block; }
.est-selectwrap::after{
content: ""; position: absolute; right: 18px; top: 50%;
width: 10px; height: 10px; margin-top: -6px;
border-right: 2.5px solid var(--navy);
border-bottom: 2.5px solid var(--navy);
transform: rotate(45deg);
pointer-events: none;
}
.est-select{
-webkit-appearance: none; appearance: none;
width: 100%; max-width: 100%;
font-family: var(--font-body);
font-size: 16px; font-weight: 700; color: var(--ink);
background: var(--cream);
border: 2px solid var(--line);
border-radius: var(--r-md);
padding: 15px 44px 15px 16px;
cursor: pointer;
transition: border-color .18s ease, box-shadow .18s ease;
}
.est-select:focus-visible{
outline: none;
border-color: var(--sky);
box-shadow: 0 0 0 4px rgba(46, 123, 240, .18);
}
.est-chips{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.est-chips--row{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.est-chip{
display: flex; flex-direction: column; gap: 4px;
min-width: 0;
text-align: left;
font-family: var(--font-body);
background: var(--cream);
border: 2px solid var(--line);
border-radius: var(--r-md);
padding: 13px 14px;
cursor: pointer;
transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.est-chip:hover{ border-color: var(--sky-soft); transform: translateY(-1px); }
.est-chip:focus-visible{
outline: none;
border-color: var(--sky);
box-shadow: 0 0 0 4px rgba(46, 123, 240, .18);
}
.est-chip.is-on{
background: var(--white);
border-color: var(--gold);
box-shadow: 0 0 0 3px rgba(57, 224, 75, .20);
}
.est-chip-t{
font-size: 15px; font-weight: 800; color: var(--ink); line-height: 1.1;
}
.est-chip-h{
font-size: 12px; font-weight: 600; color: var(--ink-soft);
line-height: 1.28;
}
.est-chip--sm{
align-items: center; justify-content: center; text-align: center;
padding: 12px 10px;
}
.est-chip--sm .est-chip-t{ font-size: 17px; }
.est-stories[hidden]{ display: none !important; }
.est-error{
margin: -6px 0 0;
font-size: 14px; font-weight: 700; color: #B3261E;
}
.est-error[hidden]{ display: none !important; }
.est-submit{
width: 100%;
justify-content: center;
text-align: center;
}
.est-confirm{
margin: 0;
font-size: 14.5px; font-weight: 700; color: var(--ink);
text-align: center;
}
.est-confirm[hidden]{ display: none !important; }
.est-alt{
margin: 0;
text-align: center;
font-size: 14px; font-weight: 600; color: var(--ink-soft);
}
.est-alt a{ color: var(--navy); font-weight: 800; text-decoration: underline; }
.est-alt a:hover{ color: var(--sky); }
@media (max-width: 900px){
.est-grid{ grid-template-columns: minmax(0, 1fr); gap: 28px; }
.est-copy .section-intro{ max-width: none; }
}
@media (max-width: 520px){
.est-chips{ grid-template-columns: minmax(0, 1fr); }
.est-chips--row{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.est-chip{ flex-direction: row; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.est-chip--sm{ flex-direction: column; align-items: center; }
.est-chip-h{ flex: 1 1 100%; }
}
.exitm .promo-card{ padding-top: 34px; }
.exitm-title{
font-size: clamp(22px, 4.6vw, 32px);
color: var(--navy);
margin: 6px 0 8px;
}
.exitm-sub{
margin: 0 0 14px;
font-size: clamp(15px, 2.6vw, 17px);
font-weight: 600;
color: var(--ink-soft);
}
.exitm-offer{
margin: 0 0 18px;
font-weight: 700;
color: var(--ink);
}
.exitm-sms{
display: block;
margin-top: 14px;
font-size: 15px; font-weight: 800;
color: var(--navy);
text-decoration: underline;
}
.exitm-sms:hover{ color: var(--sky); }
.savex{ position:relative; overflow:hidden; background:var(--cream); }
.savex::before{
content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
background:
radial-gradient(720px 420px at 8% -10%, rgba(57,224,75,.16), transparent 62%),
radial-gradient(680px 460px at 96% 8%, rgba(46,123,240,.14), transparent 60%),
radial-gradient(circle at 22% 78%, rgba(46,123,240,.07), transparent 46%);
}
.savex > .wrap{ position:relative; z-index:1; }
.savex .sec-head .eyebrow{ color:var(--gold-deep); }
.savex-flag{
display:inline-flex; align-items:center; gap:9px; margin-bottom:14px;
background:var(--navy); color:#fff; border-radius:999px; padding:9px 18px;
font-size:12.5px; font-weight:900; letter-spacing:.12em; text-transform:uppercase;
}
.savex-flag b{ color:var(--gold); }
.savex-card{
position:relative; overflow:hidden;
background:linear-gradient(180deg,#fff 0%,#FBFDFF 100%);
border:1px solid #DCE8F6; border-radius:20px;
box-shadow:0 12px 30px rgba(6,10,20,.08);
}
.savex-card::before{
content:""; position:absolute; top:0; left:0; right:0; height:5px;
background:linear-gradient(90deg,var(--gold) 0%, var(--gold) 45%, var(--sky) 100%);
transform:scaleX(.34); transform-origin:left; transition:transform .3s ease;
}
.savex-card:hover::before{ transform:scaleX(1); }
.savex-card::after{
content:""; position:absolute; right:-46px; top:-46px; width:128px; height:128px;
border-radius:50%; background:rgba(46,123,240,.06); pointer-events:none;
}
.savex-card:hover{ transform:translateY(-8px); box-shadow:0 26px 54px rgba(6,10,20,.16); border-color:transparent; }
.savex-ic{
background:linear-gradient(145deg,var(--gold) 0%, #23C93A 100%);
box-shadow:0 10px 22px rgba(57,224,75,.34); position:relative; z-index:1;
}
.savex-name{ letter-spacing:.015em; }
.savex-fin{
position:relative; overflow:hidden;
background:linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 58%, var(--navy) 100%);
box-shadow:0 22px 50px rgba(6,10,20,.26);
}
.savex-fin::after{
content:""; position:absolute; right:-14%; top:-58%; width:62%; height:220%;
background:linear-gradient(90deg, rgba(57,224,75,.16), rgba(46,123,240,.10));
transform:rotate(-18deg); border-radius:80px; pointer-events:none;
}
.savex-fin-copy, .savex-fin-cta{ position:relative; z-index:1; }
.savex-fin-title b, .savex-fin-title span{ color:var(--gold); }
.savex-pay{ backdrop-filter:blur(3px); }
@media (max-width:620px){ .savex-card::after{ display:none; } }
.areas-below{ padding-top: clamp(34px,4vw,56px); }
.areas-grid{
display:grid; grid-template-columns:repeat(4,1fr);
gap: clamp(22px,2.6vw,38px) clamp(20px,2.4vw,34px);
}
.areas-group{ margin-bottom:0; min-width:0; }
.areas-group--wide{ grid-column:1 / -1; }
.areas-h3{ margin-bottom:14px; }
.areas-group--wide .areas-pills{ gap:10px; }
.areas-cta{
margin-top: clamp(30px,3.4vw,46px); padding-top: clamp(24px,2.6vw,34px);
border-top:1px solid var(--line);
display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.areas-note{ margin:0; max-width:560px; color:var(--ink-soft); font-size:15px; line-height:1.6; }
.areas-note a{ color:var(--blue-deep); font-weight:800; text-decoration:underline; }
@media (max-width:1080px){ .areas-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){
.areas-grid{ grid-template-columns:1fr; }
.areas-cta{ flex-direction:column; align-items:flex-start; }
.areas-cta .btn{ width:100%; text-align:center; }
}
@media (max-width: 900px){
.svcx-grid{ grid-template-columns: repeat(2,1fr) !important; gap:14px !important; }
.svcx-card{ border-radius:16px; }
.svcx-media{ aspect-ratio: 4/3; }
.svcx-body{ padding:14px 14px 18px !important; }
.svcx-badge{ width:48px !important; height:48px !important; margin-top:-34px !important; }
.svcx-badge img{ width:26px !important; height:26px !important; }
.svcx-name{ font-size:15px !important; line-height:1.15; }
.svcx-desc{ font-size:12.5px !important; line-height:1.5; }
.svcx-btn{ font-size:11.5px !important; padding:9px 12px !important; }
.svcx-btn-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.svcx-arrow{ width:22px !important; height:22px !important; }
.savex-grid{ grid-template-columns: repeat(2,1fr) !important; gap:14px !important; }
.savex-card{ padding:18px 16px !important; border-radius:16px; }
.savex-ic{ width:44px !important; height:44px !important; margin-bottom:12px !important; }
.savex-ic svg{ width:21px !important; height:21px !important; }
.savex-name{ font-size:15.5px !important; }
.savex-desc{ font-size:12.5px !important; }
.savex-link{ font-size:12.5px !important; }
.btn{ font-size:14px !important; padding:13px 20px !important; }
.btn-lg{ font-size:14.5px !important; padding:14px 22px !important; }
.btn,.btn-lg{ max-width:100%; white-space:normal; line-height:1.25; text-align:center; }
.areas-cta .btn, .savex-fin-cta .btn, .steps-cta .btn{ width:100%; }
.whytrust-grid{ display:flex !important; flex-direction:column; }
.whytrust-copy{ order:1; padding:34px 20px 26px !important; }
.whytrust-media{
order:2;
width:100% !important; max-width:none !important; margin:0 !important;
min-height:340px !important; position:relative; overflow:hidden;
}
.whytrust-media img.wt-house{
top:auto !important; bottom:56px !important; left:50% !important; right:auto !important;
width:132% !important; transform:translateX(-50%);
}
.whytrust-media img.wt-couple{
width:44% !important; max-width:210px !important;
left:50% !important; right:auto !important; bottom:0 !important; top:auto !important;
transform:translateX(-50%);
}
.whytrust-media::after{ height:26% !important; }
.wt-intro{ padding:0 4px; }
.wt-intro-title{ font-size:clamp(24px,7vw,32px) !important; }
.wt-intro p{ font-size:14.5px !important; }
.whytrust-heading{ font-size:clamp(26px,7.5vw,36px) !important; }
.whytrust-pill{ padding:13px 16px !important; gap:12px !important; border-radius:13px; }
.whytrust-badge{ width:30px !important; height:30px !important; }
.whytrust-badge svg{ width:16px !important; height:16px !important; }
.whytrust-text{ font-size:14px !important; }
}
@media (max-width: 900px){
.whytrust-media img.wt-couple{ transform:translateX(-50%) !important; }
}
@media (max-width: 420px){
.svcx-name{ font-size:14px !important; }
.svcx-desc{ display:none; }
.savex-desc{ font-size:12px !important; }
}
@media (max-width:900px){ .whytrust-media img.wt-house{ transform:translateX(-50%) !important; } }
@media (max-width: 900px){
.steps-cta{
display:flex !important; flex-direction:column; align-items:stretch;
gap:12px !important; margin-top:26px;
}
.steps-cta .btn{ width:100%; margin:0 !important; }
.btn-sub{ display:none; }
.savex-fin{
display:block !important;
padding:24px 20px !important;
border-radius:16px;
}
.savex-fin-copy{ flex:none !important; width:100% !important; }
.savex-fin-title{ font-size:clamp(20px,5.5vw,26px) !important; margin-bottom:8px !important; }
.savex-fin-sub{ font-size:14px !important; margin-bottom:14px !important; }
.savex-pays{ gap:8px !important; }
.savex-pay{ padding:7px 12px !important; font-size:12.5px !important; }
.savex-pay-ic svg{ width:15px !important; height:15px !important; }
.savex-fin-cta{ width:100%; margin-top:16px !important; }
.savex-fin-cta .btn{ width:100%; }
.savex-fin::after{ width:120%; right:-40%; opacity:.55; }
.areas-cta{ gap:14px !important; }
}
.whov .wrap{ max-width: var(--maxw); }
@media (min-width: 1400px){
.whov-media{ margin-right: -110px; }
}
@media (min-width: 1400px){
.whov-grid{ grid-template-columns: 40% 60%; }
.whov-media{ margin-right: -170px; }
.whov-stack .whov-video{ width: 100% !important; }
}
body.subpage .section .bac-ba img,
body.subpage .bac-ba img{
position:absolute; inset:0; width:100%; height:100%;
aspect-ratio:auto !important; object-fit:cover;
}
body.subpage .section .whytrust-media img,
body.subpage .whytrust-media img{ aspect-ratio:auto !important; height:auto; width:auto; }
body.subpage .section .whytrust-media img.wt-house,
body.subpage .whytrust-media img.wt-house{ width:calc(100% + 310px); height:auto; }
body.subpage .section .whytrust-media img.wt-couple,
body.subpage .whytrust-media img.wt-couple{ width:350px; max-width:350px; height:auto; }
body.subpage .section .whov-backpic,
body.subpage .whov-backpic{ aspect-ratio:auto !important; height:152%; object-fit:cover; }
body.subpage .section .whov-stack .whov-video img,
body.subpage .whov-video img{ aspect-ratio:auto !important; }
body.subpage .section .guar-media img,
body.subpage .guar img{ aspect-ratio:auto !important; height:100%; object-fit:cover; }
body.subpage .section .endcta-media img,
body.subpage .endcta-media img{ aspect-ratio:auto !important; height:100%; object-fit:cover; }
body.subpage .section .crew-photo img,
body.subpage .crew-photo img{ aspect-ratio:auto !important; height:100%; object-fit:cover; }
body.subpage .section .areahero-truck,
body.subpage .areahero-truck{ aspect-ratio:auto !important; height:auto; }
body.subpage .section .step-ic img{ aspect-ratio:auto !important; height:auto; width:auto; }
@media (max-width:1180px){
body.subpage .whytrust-media img.wt-house{ width:calc(100% + 180px); }
body.subpage .whytrust-media img.wt-couple{ width:280px; max-width:280px; }
}
@media (max-width:900px){
body.subpage .whytrust-media img.wt-house{ width:calc(100% + 24%); }
body.subpage .whytrust-media img.wt-couple{ width:44%; max-width:210px; }
}
body.subpage .bac-ba img,
body.subpage .section .bac-ba img,
.bac-ba img{
position:absolute !important; top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
width:100% !important; height:100% !important; min-height:100% !important;
aspect-ratio:auto !important; object-fit:cover !important;
}
body.subpage .section .whytrust-media img.wt-house,
body.subpage .whytrust-media img.wt-house,
.whytrust-media img.wt-house{
width: calc(100% + 310px) !important;
max-width: none !important;
height: auto !important;
}
body.subpage .section .whytrust-media img.wt-couple,
body.subpage .whytrust-media img.wt-couple,
.whytrust-media img.wt-couple{
width: 350px !important;
max-width: 350px !important;
height: auto !important;
}
@media (max-width:1180px){
body.subpage .section .whytrust-media img.wt-house,
body.subpage .whytrust-media img.wt-house,
.whytrust-media img.wt-house{ width: calc(100% + 180px) !important; }
body.subpage .section .whytrust-media img.wt-couple,
body.subpage .whytrust-media img.wt-couple,
.whytrust-media img.wt-couple{ width:280px !important; max-width:280px !important; }
}
@media (max-width:900px){
body.subpage .section .whytrust-media img.wt-house,
body.subpage .whytrust-media img.wt-house,
.whytrust-media img.wt-house{ width:132% !important; }
body.subpage .section .whytrust-media img.wt-couple,
body.subpage .whytrust-media img.wt-couple,
.whytrust-media img.wt-couple{ width:44% !important; max-width:210px !important; }
}
body.subpage .section .whov-backpic, .whov-backpic{ width:60% !important; max-width:none !important; }
body.subpage .section .areahero-truck, .areahero-truck{ width:72% !important; max-width:none !important; }
.areas-layout--single{ display:block !important; }
.areas-layout--single .areas-lists{ max-width:none; }
.pwrev-head{ margin-bottom:22px; }
.pwrev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:26px; }
.pwrev-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; margin:0; box-shadow:0 10px 26px rgba(6,10,20,.07); display:flex; flex-direction:column; gap:12px; }
.pwrev-card .rev2-stars{ display:inline-flex; gap:3px; color:#F5B301; }
.pwrev-card .rev2-stars svg{ width:17px; height:17px; }
.pwrev-body{ margin:0; font-size:14.5px; line-height:1.6; color:var(--ink); }
.pwrev-src{ font-size:12.5px; font-weight:800; color:var(--ink-soft); letter-spacing:.04em; text-transform:uppercase; }
.pwrev-more{ grid-column:1/-1; margin:4px 0 0; }
@media (max-width:900px){ .pwrev-grid{ grid-template-columns:1fr; } }
.calc{ display:grid; grid-template-columns: 1.35fr .95fr; gap: clamp(20px,2.6vw,38px); align-items:start; margin-top: clamp(26px,3vw,42px); }
.calc-form{ background:#fff; border:1px solid var(--line); border-radius:20px; padding: clamp(20px,2.4vw,32px); box-shadow:0 12px 30px rgba(6,10,20,.08); }
.calc-block{ border:0; padding:0; margin:0 0 26px; }
.calc-block:last-of-type{ margin-bottom:0; }
.calc-legend{ font-family:var(--font-display); text-transform:uppercase; font-size:clamp(15px,1.4vw,18px); color:var(--ink); margin-bottom:14px; letter-spacing:.01em; }
.calc-checks{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.calc-chk{ display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; cursor:pointer; font-size:14px; font-weight:700; color:var(--ink); background:var(--paper); transition:border-color .15s, background .15s; }
.calc-chk:hover{ border-color:var(--sky); }
.calc-chk input{ accent-color:var(--gold); width:16px; height:16px; flex:none; }
.calc-chk:has(input:checked){ background:#fff; border-color:var(--gold); box-shadow:0 0 0 2px rgba(57,224,75,.22); }
.calc-chk--wide{ margin-top:12px; width:100%; }
.calc-chips{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:9px; }
.calc-chips--sm{ grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.calc-chip{ position:relative; cursor:pointer; }
.calc-chip input{ position:absolute; opacity:0; pointer-events:none; }
.calc-chip span{ display:block; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); transition:border-color .15s, box-shadow .15s, background .15s; }
.calc-chip b{ display:block; font-size:14.5px; color:var(--ink); }
.calc-chip i{ display:block; font-style:normal; font-size:12px; color:var(--ink-soft); margin-top:3px; line-height:1.35; }
.calc-chip input:checked + span{ background:#fff; border-color:var(--gold); box-shadow:0 0 0 2px rgba(57,224,75,.22); }
.calc-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.calc-field{ min-width:0; }
.calc-label{ display:block; font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.calc-input{ width:100%; height:46px; padding:0 14px; border:1px solid var(--line); border-radius:10px; font-family:var(--font-body); font-size:15px; background:var(--paper); color:var(--ink); }
.calc-input:focus{ outline:none; border-color:var(--sky); box-shadow:0 0 0 3px rgba(46,123,240,.2); }
.calc-zone{ display:block; margin-top:6px; font-size:12.5px; font-weight:700; color:var(--blue-deep); min-height:16px; }
.calc-err{ margin:10px 0 0; font-size:13px; font-weight:700; color:#C0464A; }
.calc-detail{ margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.calc-detail-head{ margin:0 0 12px; font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.calc-qtys{ display:grid; gap:9px; }
.calc-qty{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; font-weight:700; color:var(--ink); }
.calc-qty-in{ display:inline-flex; align-items:center; gap:8px; }
.calc-qty-in input{ width:104px; height:40px; padding:0 10px; border:1px solid var(--line); border-radius:9px; font-family:var(--font-body); font-size:14.5px; background:var(--paper); color:var(--ink); }
.calc-qty-in i{ font-style:normal; font-size:12px; color:var(--ink-soft); }
.calc-out{ position:sticky; top:96px; background:var(--navy); color:#fff; border-radius:20px; padding: clamp(22px,2.4vw,30px); box-shadow:0 22px 50px rgba(6,10,20,.26); }
.calc-out-flag{ display:inline-block; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:6px 13px; font-size:11.5px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.calc-total{ font-family:var(--font-display); font-size:clamp(30px,3.6vw,46px); line-height:1.05; margin:14px 0 16px; color:var(--gold); }
.calc-lines{ list-style:none; margin:0 0 16px; padding:0; display:grid; gap:7px; }
.calc-lines li{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; color:#D6E3F5; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:7px; }
.calc-lines small{ color:#9FB6D4; }
.calc-line-save span, .calc-line-save small{ color:var(--gold) !important; font-weight:700; }
.calc-note{ font-size:13px; color:#C9D9F0; margin:0 0 14px; }
.calc-cta{ width:100%; text-align:center; }
.calc-text{ display:block; text-align:center; margin-top:12px; font-size:13.5px; font-weight:800; color:#fff; text-decoration:underline; }
.calc-fine{ margin:14px 0 0; font-size:11.5px; line-height:1.5; color:#9FB6D4; }
@media (max-width:980px){
.calc{ grid-template-columns:1fr; }
.calc-out{ position:static; }
.calc-row{ grid-template-columns:1fr; }
}
@media (max-width: 900px){
.areahero-panel{
min-height: 0 !important;
padding: 34px 22px calc(49.2vw + 12px) !important;
}
.areahero-panel-inner{ max-width: none; }
.areahero-cta{ margin-top: 20px !important; }
body.subpage .section .areahero-truck,
body.subpage .areahero-truck,
.areahero .areahero-truck{
position: absolute !important;
right: 2% !important; bottom: 0 !important;
width: 96% !important; max-width: none !important;
margin: 0 !important;
filter: drop-shadow(0 16px 24px rgba(0,0,0,.38));
}
.areahero-panel::after{ opacity:.35; }
.areahero-map{ min-height: 300px !important; }
}
.quickans{
background: var(--paper);
border: 1px solid var(--line);
border-left: 5px solid var(--gold);
border-radius: var(--r-md);
padding: 18px 22px;
margin: 0 0 26px;
box-shadow: var(--shadow-sm);
}
.quickans p{
margin: 0;
font-size: 17px;
line-height: 1.68;
color: var(--ink);
font-weight: 500;
}
.quickans strong{
color: var(--gold-deep);
font-weight: 800;
letter-spacing: .01em;
}
@media (max-width: 700px){
.quickans{ padding: 15px 17px; margin-bottom: 20px; }
.quickans p{ font-size: 15.5px; line-height: 1.6; }
}
picture { display: contents; }
.promo-applied{
margin: 0 0 12px; padding: 9px 13px;
background: rgba(57,224,75,.12);
border: 1px solid rgba(57,224,75,.45);
border-radius: var(--r-sm, 10px);
color: var(--navy); font-size: 13.5px; font-weight: 700; text-align: center;
}
.exitm .promo-truck{ max-width: 62%; margin: 0 auto 6px; }
.wiz{ background:#fff; border:1px solid var(--line); border-radius: var(--r-lg);
box-shadow: var(--shadow-md); padding: 26px 24px 22px; max-width: 640px; margin: 0 auto; }
.wiz-head{ margin-bottom: 20px; }
.wiz-bar{ height:6px; background:var(--paper); border-radius:999px; overflow:hidden; }
.wiz-fill{ display:block; height:100%; width:16%; background:var(--gold);
border-radius:999px; transition: width .28s cubic-bezier(.2,.7,.3,1); }
.wiz-count{ margin:9px 0 0; font-size:12.5px; font-weight:700; letter-spacing:.08em;
text-transform:uppercase; color:var(--ink-soft); }
.wiz-title{ font-family:var(--font-display); text-transform:uppercase; color:var(--navy);
font-size: clamp(23px,3.4vw,31px); line-height:1.1; margin:0 0 8px; }
.wiz-hint{ margin:0 0 18px; color:var(--ink-soft); font-size:14.5px; line-height:1.55; }
.wiz-select, .wiz-input{
width:100%; padding:15px 16px; font-size:16px; font-weight:600; color:var(--ink);
background:var(--paper); border:1.5px solid var(--line); border-radius: var(--r-md);
appearance:none; -webkit-appearance:none;
}
.wiz-select:focus, .wiz-input:focus{ outline:none; border-color:var(--gold); background:#fff; }
.wiz-unit{ margin:8px 0 0; font-size:13px; color:var(--ink-soft); }
.wiz-opts{ display:grid; gap:10px; }
.wiz-opts--row{ grid-template-columns: repeat(3,1fr); }
.wiz-opt{ text-align:left; background:var(--paper); border:1.5px solid var(--line);
border-radius: var(--r-md); padding:15px 16px; cursor:pointer; font:inherit;
transition: border-color .15s ease, background .15s ease, transform .12s ease; }
.wiz-opt b{ display:block; color:var(--navy); font-size:16px; font-weight:800; }
.wiz-opt span{ display:block; margin-top:3px; color:var(--ink-soft); font-size:13px; line-height:1.45; }
.wiz-opt:hover{ border-color:var(--sky); background:#fff; }
.wiz-opt.is-on{ border-color:var(--gold); background:#fff; box-shadow:0 0 0 3px rgba(57,224,75,.18); }
.wiz-opts--row .wiz-opt{ text-align:center; }
.wiz-check{ display:flex; align-items:center; gap:10px; margin-top:14px;
font-size:14.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.wiz-check input{ width:19px; height:19px; accent-color: var(--gold); }
.wiz-range{ font-family:var(--font-display); color:var(--navy);
font-size: clamp(34px,6vw,52px); line-height:1; margin:4px 0 8px; }
.wiz-disc{ margin:0 0 16px; font-size:13px; color:var(--ink-soft); line-height:1.5; }
.wiz-summary{ list-style:none; margin:0 0 20px; padding:16px 18px; background:var(--paper);
border-radius: var(--r-md); border:1px solid var(--line); }
.wiz-summary li{ font-size:14px; color:var(--ink); padding:3px 0; }
.wiz-sms{ display:block; text-align:center; background:var(--gold); color:var(--navy);
font-family:var(--font-display); text-transform:uppercase; font-size:19px;
letter-spacing:.02em; padding:17px 22px; border-radius:999px; text-decoration:none;
box-shadow:0 10px 22px rgba(57,224,75,.32); }
.wiz-sms:hover{ filter:brightness(1.05); }
.wiz-call{ display:block; text-align:center; margin-top:12px; color:var(--navy);
font-weight:700; font-size:15px; text-decoration:none; }
.wiz-call:hover{ color:var(--sky); }
.wiz-restart{ display:block; margin:16px auto 0; background:none; border:none;
color:var(--ink-soft); font-size:13.5px; text-decoration:underline; cursor:pointer; }
.wiz-nav{ display:flex; gap:12px; margin-top:22px; }
.wiz-btn{ flex:1; padding:14px 20px; border-radius:999px; font-family:var(--font-display);
text-transform:uppercase; font-size:16px; letter-spacing:.02em; cursor:pointer;
border:1.5px solid var(--line); background:#fff; color:var(--navy); }
.wiz-btn--go{ background:var(--navy); border-color:var(--navy); color:#fff; }
.wiz-btn--go:hover{ background:var(--sky); border-color:var(--sky); }
.wiz-btn:disabled{ opacity:.4; cursor:not-allowed; }
@media (max-width: 600px){
.wiz{ padding:20px 16px 18px; }
.wiz-opts--row{ grid-template-columns: repeat(3,1fr); gap:8px; }
.wiz-opts--row .wiz-opt{ padding:13px 8px; }
.wiz-opts--row .wiz-opt b{ font-size:14px; }
}
.rev2-when{
display:block; font-size:12px; font-weight:600; color:var(--ink-soft);
opacity:.72; margin-top:2px; letter-spacing:.01em;
}
.calc{
display: block !important;
grid-template-columns: none !important;
}
.calc > .wiz{
max-width: 760px;
margin-inline: auto;
}
.calc > noscript{ display: block; }