:root {
  --bg: #07080b;
  --panel: #0f1117;
  --panel-2: #141721;
  --text: #f6f7fb;
  --muted: #a4a9b6;
  --line: rgba(255,255,255,.10);
  --accent: #46b8d3;
  --accent-2: #1f73c9;
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px clamp(18px,4vw,56px); background: rgba(7,8,11,.78); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.06); }
.brand { display:flex; align-items:center; gap:10px; font-weight:900; letter-spacing:.08em; font-size:.9rem; }
.brand img { width: 42px; height:42px; object-fit:contain; }
nav { display:flex; align-items:center; gap:26px; font-size:.92rem; color:#d9dce4; }
nav a:hover { color:white; }
.nav-cta { padding:10px 16px; background:linear-gradient(135deg,var(--accent-2),var(--accent)); color:white; border-radius:999px; font-weight:800; box-shadow:0 8px 24px rgba(31,115,201,.18); }
.hero { min-height: 100svh; position:relative; display:grid; align-items:end; overflow:hidden; padding: 140px clamp(20px,6vw,86px) 74px; }
.hero-media { position:absolute; inset:0; background-image:url('https://static.wixstatic.com/media/92639e_66b34fa891044795ac3bf6875bd9ad30~mv2.jpg'); background-size:cover; background-position:center 82%; transform:scale(1.03); }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,6,9,.94) 0%, rgba(5,6,9,.72) 44%, rgba(5,6,9,.22) 75%), linear-gradient(0deg, rgba(5,6,9,.82) 0%, transparent 52%); }
.hero-content { position:relative; max-width:780px; }
.eyebrow { margin:0 0 14px; color:#75d2e5; font-size:.78rem; font-weight:900; letter-spacing:.16em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(3rem,7vw,6.6rem); line-height:.94; letter-spacing:-.055em; margin-bottom:24px; max-width:920px; }
h2 { font-size:clamp(2.15rem,4.6vw,4.4rem); line-height:1.02; letter-spacing:-.045em; margin-bottom:18px; }
h3 { font-size:1.35rem; letter-spacing:-.02em; }
.hero-copy { max-width:640px; color:#d0d4de; font-size:clamp(1.05rem,1.8vw,1.28rem); margin-bottom:30px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border-radius:999px; border:1px solid transparent; font-weight:850; font-size:.97rem; cursor:pointer; transition:.2s ease; }
.btn-primary { background:linear-gradient(135deg,var(--accent-2),var(--accent)); color:white; box-shadow:0 10px 34px rgba(70,184,211,.26); }
.btn-primary:hover { background:#5dc5dd; transform:translateY(-1px); }
.btn-secondary { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:white; }
.hero-badges { display:flex; gap:9px; flex-wrap:wrap; margin-top:38px; }
.hero-badges span { padding:9px 13px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:#d4d7df; background:rgba(11,12,17,.45); font-size:.82rem; }
.section { padding:110px clamp(20px,6vw,86px); }
.section-heading { max-width:780px; margin-bottom:48px; }
.section-heading p:last-child { color:var(--muted); max-width:680px; font-size:1.05rem; }
.compact { margin-bottom:36px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-card { padding:28px; min-height:330px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg,#11141b,#0c0e13); display:flex; flex-direction:column; }
.service-card.featured { border-color:rgba(70,184,211,.65); background:radial-gradient(circle at top right,rgba(31,115,201,.19),transparent 42%),linear-gradient(180deg,#101821,#0d1117); }
.service-topline { display:flex; justify-content:space-between; color:#858b99; font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:44px; }
.service-card p { color:var(--muted); }
.price { margin-top:auto; font-size:1.65rem; font-weight:900; padding:22px 0 14px; }
.price small { font-size:.76rem; font-weight:650; color:#8d93a1; }

.price-stack { display:grid; gap:4px; }
.price-stack span { display:flex; align-items:baseline; gap:8px; }
.price-stack small { text-transform:uppercase; letter-spacing:.06em; }
.service-card a { color:#77d5e8; font-weight:800; }
.results-section { display:grid; grid-template-columns:.9fr 1.1fr; min-height:760px; background:#0c0e13; }
.results-copy { padding:110px clamp(20px,6vw,86px); display:flex; flex-direction:column; justify-content:center; }
.results-copy p:not(.eyebrow) { color:var(--muted); max-width:560px; font-size:1.05rem; }
.text-link { margin-top:14px; color:#77d5e8; font-weight:850; }
.results-images { min-height:720px; display:grid; grid-template-columns:1.15fr .85fr; gap:2px; background:#111; }
.results-images figure { margin:0; overflow:hidden; }
.results-images img { height:100%; object-fit:cover; }
.result-main img { object-position:center; }
.result-side img { object-position:center; }
.process { background:var(--bg); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.step { border-top:1px solid var(--line); padding-top:22px; }
.step span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent); font-weight:900; margin-bottom:28px; }
.step p { color:var(--muted); }
.quote-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding:110px clamp(20px,6vw,86px); background:radial-gradient(circle at 20% 20%,rgba(31,115,201,.20),transparent 36%),#0c0e13; }
.quote-copy { align-self:start; position:sticky; top:120px; }
.quote-copy p:not(.eyebrow) { color:var(--muted); font-size:1.05rem; }
.quote-copy ul { padding-left:18px; color:#c9cdd7; display:grid; gap:10px; }
.quote-card { background:#11141b; border:1px solid var(--line); border-radius:30px; padding:clamp(22px,4vw,38px); box-shadow:0 24px 70px rgba(0,0,0,.22); }
form { display:grid; gap:17px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:grid; gap:7px; font-size:.86rem; font-weight:750; color:#d9dce4; }
.optional { color:#777e8c; font-weight:500; }
input,select,textarea { width:100%; border:1px solid rgba(255,255,255,.12); background:#090b10; color:white; border-radius:14px; padding:14px 15px; font:inherit; outline:none; transition:.15s; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(70,184,211,.16); }
.form-submit { width:100%; margin-top:5px; border:none; }
.form-submit:disabled { opacity:.6; cursor:wait; }
.form-status { min-height:22px; margin:0; font-size:.9rem; color:#b9bfcb; }
.form-status.success { color:#9ae6b4; }
.form-status.error { color:#ff9b9b; }
.faq { background:#08090c; }
.faq-list { max-width:900px; display:grid; gap:10px; }
details { border:1px solid var(--line); border-radius:16px; background:#0e1016; padding:0 18px; }
summary { cursor:pointer; list-style:none; padding:20px 0; font-weight:800; display:flex; justify-content:space-between; gap:18px; }
summary::after { content:'+'; color:#75d2e5; font-size:1.3rem; font-weight:500; }
details[open] summary::after { content:'–'; }
details p { color:var(--muted); padding:0 0 20px; max-width:760px; }
.final-cta { text-align:center; padding:120px 20px; background:linear-gradient(180deg,#0b0d12,#0d1620); }
.final-cta h2 { max-width:850px; margin-left:auto; margin-right:auto; }
footer { padding:30px clamp(20px,6vw,86px); border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:26px; color:#aeb3bf; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:48px; height:48px; object-fit:contain; }
.footer-brand strong,.footer-brand span { display:block; }
.footer-brand strong { color:white; letter-spacing:.06em; }
.footer-brand span { font-size:.8rem; margin-top:2px; }
.footer-links { display:flex; gap:20px; align-items:center; font-size:.85rem; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width: 900px) {
  nav a:not(.nav-cta) { display:none; }
  .hero { min-height:92svh; padding-bottom:56px; }
  .hero-media { background-position:52% center; }
  .hero-overlay { background:linear-gradient(0deg,rgba(5,6,9,.96) 0%,rgba(5,6,9,.72) 52%,rgba(5,6,9,.24) 100%); }
  .service-grid,.steps { grid-template-columns:1fr; }
  .results-section { grid-template-columns:1fr; }
  .results-images { min-height:560px; }
  .quote-section { grid-template-columns:1fr; gap:40px; }
  .quote-copy { position:static; }
}
@media (max-width: 620px) {
  .site-header { padding:11px 15px; }
  .brand span { font-size:.76rem; }
  .brand img { width:36px; height:36px; }
  .nav-cta { padding:9px 13px; font-size:.82rem; }
  .hero { padding-left:18px; padding-right:18px; }
  h1 { font-size:3.25rem; }
  .hero-copy { font-size:1rem; }
  .section,.quote-section { padding:82px 18px; }
  .service-card { min-height:290px; }
  .results-copy { padding:82px 18px 42px; }
  .results-images { grid-template-columns:1fr 1fr; min-height:430px; }
  .form-row { grid-template-columns:1fr; }
  footer { padding:26px 18px; align-items:flex-start; flex-direction:column; }
  .footer-links { justify-content:flex-start; }
}


/* Fully self-contained mobile detailing */
.self-contained {
  position: relative;
  overflow: hidden;
  padding: 88px 20px;
  background:
    radial-gradient(circle at 85% 10%, rgba(67, 190, 221, .16), transparent 32%),
    linear-gradient(180deg, rgba(12, 18, 28, .98), rgba(7, 11, 18, 1));
}
.self-contained::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(28, 111, 190, .10), transparent 42%);
}
.self-contained .section-inner {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 34px;
  align-items: stretch;
}
.self-contained-copy,
.self-contained-card {
  border: 1px solid rgba(118, 212, 236, .18);
  background: rgba(255,255,255,.035);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
  border-radius: 24px;
}
.self-contained-copy {
  padding: 42px;
}
.self-contained-card {
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.self-contained .eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  color: #67d2ec;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
}
.self-contained h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 5vw, 3.7rem);
  line-height: .98;
  letter-spacing: -.035em;
}
.self-contained h3 {
  margin: 14px 0 10px;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}
.self-contained p {
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 700px;
}
.location-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 28px;
}
.location-pills span {
  border: 1px solid rgba(103, 210, 236, .34);
  background: rgba(31, 125, 201, .11);
  padding: 9px 13px;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 700;
}
.self-contained-badge {
  width: fit-content;
  padding: 10px 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f7dc9, #43bedc);
  color: #fff;
  font-weight: 800;
  font-size: .9rem;
}
@media (max-width: 760px) {
  .self-contained { padding: 64px 16px; }
  .self-contained .section-inner { grid-template-columns: 1fr; gap: 18px; }
  .self-contained-copy, .self-contained-card { padding: 26px 22px; border-radius: 20px; }
}



/* Wyvern Wash brand: midnight black, electric blue, cyan, white. No purple. */
:root {
 --bg:#070b11;--panel:#0c1520;--panel-2:#101c2a;
 --text:#f6fbff;--muted:#a9bbca;--line:rgba(132,211,255,.14);
 --accent:#38c8f5;--accent-2:#1177d4;
}
#services {position:relative;isolation:isolate;background:radial-gradient(circle at 75% 0%,rgba(10,102,176,.11),transparent 40%),#07101a;}
#services .section-heading{position:relative;z-index:1;}
#services .section-heading .eyebrow{color:#61d9ff;}
#services .section-heading p:last-child{color:#bdd0db;}
#services .service-grid{position:relative;z-index:1;gap:18px;align-items:stretch;}
#services .service-card{
 position:relative;isolation:isolate;overflow:hidden;
 display:flex;flex-direction:column;min-height:405px;padding:30px;
 background:#0b1722;border:1px solid rgba(102,202,252,.3);
 border-radius:24px;box-shadow:0 18px 42px rgba(0,0,0,.24);
 transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
#services .service-card.featured{
 min-height:430px;background:#091a29;
 border-color:rgba(43,204,255,.82);
 box-shadow:0 18px 48px rgba(12,112,192,.22);
}
#services .service-card-media,#services .service-card-shade{
 position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
}
#services .service-card-media{z-index:0;background:#08131e;}
#services .service-card-media video{
 width:100%;height:100%;object-fit:cover;object-position:center;
 display:block;background:#08131e;
}
#services .service-card-shade{
 z-index:1;
 background:linear-gradient(180deg,rgba(3,13,23,.38) 0%,rgba(3,15,28,.43) 36%,rgba(3,12,23,.93) 100%),
 linear-gradient(115deg,rgba(0,42,86,.18),transparent 64%);
}
#services .service-card.featured .service-card-shade{
 background:linear-gradient(180deg,rgba(3,17,32,.40),rgba(3,16,28,.48) 47%,rgba(3,12,22,.94));
}
#services .service-card>:not(.service-card-media):not(.service-card-shade){
 position:relative;z-index:2;
}
#services .service-card h3,#services .service-card .price{
 color:white;text-shadow:0 2px 12px rgba(0,0,0,.72);
}
#services .service-card p{
 color:#eef7fc;text-shadow:0 1px 8px rgba(0,0,0,.85);line-height:1.65;
}
#services .service-card .service-topline{
 color:#dbefff;margin-bottom:42px;text-shadow:0 1px 9px rgba(0,0,0,.8);
}
#services .service-card .price small{color:#bdddec;}
#services .service-card a{color:#69d8ff;text-shadow:0 2px 8px #02080f;}
#services .service-card:hover{
 border-color:rgba(57,206,255,.9);box-shadow:0 25px 56px rgba(0,0,0,.38);
}
@media(hover:hover) and (min-width:821px){
 #services .service-card:hover{transform:translateY(-4px)}
}
@media(max-width:820px){
 #services .service-card{min-height:385px;padding:26px}
 #services .service-card.featured{min-height:420px}
 #services .service-card .service-topline{margin-bottom:40px}
}
@media(prefers-reduced-motion:reduce){
 #services .service-card{transition:none}
 /* Posters stay visible even when playback is paused. */
}

/* Preferred booking date for Wix quote requests */
.quote-card input[type="date"] { color-scheme: dark; width: 100%; min-width: 0; }
.preferred-date-note { margin: -4px 0 18px; font-size: .85rem; color: #a9c7d9; }

/* Accessible, mobile-friendly multi-service selection */
.service-selector { border: 0; padding: 0; margin: 4px 0 18px; min-width: 0; }
.service-selector legend { padding: 0; margin: 0 0 7px; font-size: .89rem; font-weight: 800; color: #e3eef7; }
.service-legend-hint { color: #70d1f3; font-size: .8rem; font-weight: 550; }
.service-choice-help { margin: 0 0 15px; color: #a7b8c8; font-size: .88rem; }
.service-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.service-option { display: flex; flex-direction: row; align-items: center; gap: 11px; padding: 14px 12px; min-height: 64px; border: 1px solid rgba(102,183,229,.25); border-radius: 14px; background: #0a121d; cursor: pointer; font-size: .85rem; font-weight: 650; color: #e0ebf3; transition: background .15s ease, border-color .15s ease; }
.service-option input[type="checkbox"] { width: 19px; height: 19px; flex: 0 0 19px; padding: 0; margin: 0; border: 0; box-shadow: none; accent-color: #20b9e9; cursor: pointer; }
.service-option span { line-height: 1.35; }
.service-option:has(input:checked) { border-color: #38c7f2; background: #0a273b; }
.service-option:focus-within { outline: 2px solid #3ccffa; outline-offset: 2px; }
.service-choice-error { margin: 7px 0 0; color: #ffb2b2; font-size: .85rem; min-height: 1px; }
@media(max-width:460px) { .service-options { grid-template-columns: 1fr; } .service-option { min-height: 52px; } }

/* Direct contact options */
.btn-text-us{background:#09283c;color:#8ce0ff;border:1px solid #43c9f8}.btn-call-us{background:#122437;color:#e5f6ff;border:1px solid rgba(98,194,237,.35)}.direct-contact{padding:19px 21px;border:1px solid rgba(62,181,239,.35);background:linear-gradient(130deg,#0b1a2a,#10151f);border-radius:18px;margin-bottom:24px}.direct-contact strong{color:#e9f7ff;font-size:1.03rem}.direct-contact p{color:#b6cbdc;font-size:.92rem;line-height:1.5;margin:7px 0 15px}.direct-contact-actions{display:flex;gap:10px;flex-wrap:wrap}.footer-contact{color:#b7c9d7;margin-top:15px;font-size:.9rem}.footer-contact a{color:#70d6ff;text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.direct-contact-actions .btn{flex:1;text-align:center;justify-content:center}.direct-contact{padding:16px}}

/* Premium refinements retaining original logo-blue brand */
body{letter-spacing:.005em}.site-header{background:rgba(7,8,11,.88);border-bottom:1px solid rgba(64,190,240,.13)}
.hero-content{max-width:800px}.hero h1{letter-spacing:-.06em}
.hero-badges span{border-color:rgba(88,194,237,.24)}
#services .service-card{box-shadow:0 20px 44px rgba(0,0,0,.24)}
.quote-card{box-shadow:0 35px 90px rgba(0,0,0,.26)}
.contact-after-form{margin-top:25px;padding-top:18px;border-top:1px solid rgba(102,183,229,.18)}
.contact-after-form .direct-contact{margin:0;background:rgba(12,26,40,.5);border:1px solid rgba(92,174,221,.22);text-align:center;padding:17px}
.contact-after-form .direct-contact strong{font-size:.9rem;color:#c0d7e8}
.contact-after-form .direct-contact p{font-size:.81rem;margin:5px 0 12px}
.contact-after-form .direct-contact-actions{justify-content:center;gap:10px}
.contact-after-form .direct-contact-actions .btn{min-height:40px;font-size:.85rem;padding:0 17px;background:transparent;color:#9fddf7;border:1px solid rgba(105,200,242,.3);box-shadow:none}
.footer-contact a{color:#70d6ff}
@media(max-width:600px){.hero{padding-bottom:88px}.quote-section{scroll-margin-top:70px}.contact-after-form .direct-contact-actions .btn{flex:1}}
/* Preferred time and consent */
.preferred-time-field{display:block;margin:0 0 16px}.preferred-time-field select{width:100%;min-height:50px;border-radius:12px;background:#0d1825;color:#f3f9ff;border:1px solid rgba(102,183,229,.35);padding:12px;font:inherit}.sms-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px;margin:14px 0 20px;font-size:.78rem!important;line-height:1.5;color:#b8cbd9}.sms-consent input{width:19px!important;height:19px!important;min-width:19px;margin:2px 0 0!important;accent-color:#27b9e9}.sms-consent span{display:block}

#our-work{text-align:center;background:linear-gradient(145deg,rgba(11,26,38,.9),rgba(8,12,18,.98));border-top:1px solid rgba(91,194,234,.15);border-bottom:1px solid rgba(91,194,234,.15)}#our-work .section-heading{max-width:720px;margin:0 auto}#our-work .btn{margin-top:18px}#our-work h2{letter-spacing:-.035em}

.service-detail-note{font-size:.83rem!important;line-height:1.55;color:#a9cfe2;margin-top:10px!important;border-top:1px solid rgba(115,199,237,.18);padding-top:11px}
