
:root{
  --bg:#07101a;
  --bg2:#0b1521;
  --panel:#0f1b28;
  --line:rgba(255,255,255,.12);
  --text:#f5f4ee;
  --muted:#aab1b9;
  --gold:#d8aa55;
  --gold2:#f1cf89;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px clamp(20px,4vw,64px);
  background:linear-gradient(to bottom, rgba(3,8,14,.82), rgba(3,8,14,.18));
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.site-header.scrolled{background:rgba(5,12,20,.94)}
.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",serif;font-size:1.2rem;letter-spacing:.02em}
.brand img{width:44px;height:44px;object-fit:contain;border-radius:6px}
.brand span{color:var(--gold2)}
.nav{display:flex;align-items:center;gap:28px;font-size:.9rem}
.nav a:not(.btn){color:#dbe0e5}
.nav a:not(.btn):hover{color:var(--gold2)}
.menu-toggle{display:none;background:none;border:0;color:#fff;width:42px;height:42px}
.menu-toggle span{display:block;height:1px;background:#fff;margin:8px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid transparent;border-radius:2px;font-weight:600;font-size:.9rem;transition:.25s ease}
.btn-nav{border-color:var(--gold);color:var(--gold2)}
.btn-gold{background:linear-gradient(135deg,var(--gold2),#b88735);color:#0b0d10}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-ghost{border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.12)}
.hero{
  min-height:100svh; position:relative; display:flex; align-items:flex-end;
  background:url("assets/hero.jpg") center 44%/cover no-repeat;
  padding:150px clamp(20px,5vw,72px) 80px;
}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(3,8,14,.92) 0%, rgba(3,8,14,.64) 38%, rgba(3,8,14,.18) 68%, rgba(3,8,14,.28) 100%),
  linear-gradient(0deg, rgba(3,8,14,.88) 0%, transparent 42%);
}
.hero-content{position:relative;z-index:2;max-width:760px}
.eyebrow{
  color:var(--gold2); text-transform:uppercase; letter-spacing:.24em;
  font-size:.72rem; font-weight:700; margin-bottom:18px;
}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin:0}
h1{font-size:clamp(3rem,6vw,6.4rem);max-width:1000px}
h2{font-size:clamp(2.4rem,4vw,4.4rem)}
h3{font-size:1.7rem}
.hero p{max-width:660px;color:#d7dce0;font-size:1.08rem;margin:24px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{margin-top:28px;color:#d9dce0;font-size:.88rem}
.hero-mark{
  position:absolute; right:5vw; bottom:56px; z-index:2;
  text-transform:uppercase;letter-spacing:.28em;font-size:.62rem;color:#d3d7dc;
}
.section{padding:110px clamp(20px,5vw,72px)}
.section-dark{background:var(--bg2)}
.section-head{max-width:var(--max);margin:0 auto 44px}
.section-head p{color:var(--muted);max-width:650px}
.split{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.gallery-note{color:#888f96;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;padding-bottom:8px}
.services-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
  padding:34px;min-height:390px;display:flex;flex-direction:column
}
.service-index{color:var(--gold);font-size:.72rem;letter-spacing:.2em;margin-bottom:42px}
.service-card p{color:var(--muted);margin:18px 0}
.price{margin-top:auto;padding-top:16px;color:#f1f0ea;border-top:1px solid var(--line);font-size:.9rem}
.text-link{color:var(--gold2);margin-top:22px;font-weight:600}
.text-link span{margin-left:8px}
.gallery{
  max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:10px
}
.g{position:relative;overflow:hidden;background:#111}
.g img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.g:hover img{transform:scale(1.035)}
.g figcaption{
  position:absolute;left:14px;bottom:12px;background:rgba(5,10,16,.72);padding:6px 9px;
  font-size:.66rem;text-transform:uppercase;letter-spacing:.12em
}
.g-wide{grid-column:span 2}
.g-tall{grid-row:span 2}
.about{
  max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center
}
.about-image{position:relative;min-height:620px;overflow:hidden}
.about-image img{width:100%;height:100%;min-height:620px;object-fit:cover}
.about-overlay{position:absolute;left:26px;bottom:24px;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}
.about-copy p{color:var(--muted)}
.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.feature-list div{border-top:1px solid var(--line);padding-top:18px}
.feature-list strong{display:block;color:var(--gold2);font-size:.9rem;margin-bottom:8px}
.feature-list span{font-size:.78rem;color:var(--muted)}
.contact{
  background:#07111c;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start
}
.contact-intro{max-width:520px}
.contact-intro>p{color:var(--muted)}
.contact-visual{position:relative;margin-top:34px;height:430px;overflow:hidden}
.contact-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.85)}
.contact-visual span{position:absolute;left:26px;bottom:24px;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem}
.quote-form{background:var(--panel);padding:32px;border:1px solid var(--line)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-size:.77rem;color:#d8dde2;display:flex;flex-direction:column;gap:8px}
.full{grid-column:1/-1}
input,select,textarea{
  background:#0a1520;border:1px solid #263442;color:#f7f7f4;padding:13px 14px;outline:none;border-radius:2px
}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
textarea{resize:vertical}
.submit-btn{width:100%;margin-top:20px;cursor:pointer}
.form-status{min-height:1.5em;color:var(--gold2);margin:.9rem 0 0}
.form-help{font-size:.72rem;color:#7e8993}
.footer{
  padding:34px clamp(20px,5vw,72px);border-top:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;background:#050c13
}
.footer-links{display:flex;justify-content:center;gap:20px;font-size:.78rem;color:#bcc4ca}
.footer-copy{font-size:.68rem;color:#808a93}
.footer-brand img{width:38px;height:38px}
.lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;
  display:none;align-items:center;justify-content:center;padding:30px
}
.lightbox.open{display:flex}
.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}
.lightbox-close{position:absolute;right:24px;top:18px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width: 980px){
  .menu-toggle{display:block}
  .nav{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    padding:12px 20px 22px;background:rgba(5,12,20,.98);border-bottom:1px solid var(--line)
  }
  .nav.open{display:flex}
  .nav a{padding:13px 4px}
  .nav .btn{margin-top:10px}
  .services-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .about,.contact{grid-template-columns:1fr;gap:36px}
  .about-image,.about-image img{min-height:520px}
  .footer{grid-template-columns:1fr;text-align:center}
  .footer-links{flex-wrap:wrap}
}
@media (max-width: 640px){
  .site-header{padding:12px 16px}
  .brand span{font-size:1rem}
  .hero{padding:120px 20px 52px;min-height:92svh;background-position:58% center}
  h1{font-size:clamp(2.65rem,13vw,4rem)}
  .hero-mark{display:none}
  .section{padding:76px 18px}
  .split{display:block}
  .gallery{grid-template-columns:1fr;grid-auto-rows:320px}
  .g-wide,.g-tall{grid-column:auto;grid-row:auto}
  .feature-list{grid-template-columns:1fr}
  .field-grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .quote-form{padding:20px}
  .about-image,.about-image img{min-height:440px}
}


.hidden-field{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.submit-btn:disabled{
  opacity:.65;
  cursor:wait;
  transform:none!important;
}
.footer-copy a{
  color:var(--gold2);
}


.vehicle-select-label{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:#d8dde2;
  font-size:.76rem;
}
.vehicle-price-select{
  margin-top:8px;
  width:100%;
  background:#0a1520;
  border:1px solid #263442;
  color:#f7f7f4;
  padding:12px 14px;
}
.dynamic-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-top:14px;
  color:#d9dde2;
}
.dynamic-price span{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
}
.dynamic-price strong{
  font-family:"Playfair Display",serif;
  font-size:1.65rem;
  color:var(--gold2);
  font-weight:500;
}
.maintenance-copy{
  font-size:.9rem;
}
.footer{
  grid-template-columns:auto 1fr auto;
  grid-template-areas:
    "brand links social"
    "copy copy copy";
}
.footer-brand{grid-area:brand}
.footer-links{grid-area:links}
.footer-social{
  grid-area:social;
  display:flex;
  gap:16px;
  justify-content:flex-end;
  font-size:.78rem;
}
.footer-social a{
  color:var(--gold2);
}
.footer-copy{
  grid-area:copy;
  text-align:center;
  padding-top:18px;
  border-top:1px solid var(--line);
}
@media (max-width: 980px){
  .footer{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "links"
      "social"
      "copy";
  }
  .footer-social{
    justify-content:center;
  }
}


.hero-title-smaller{
  font-size:clamp(2.65rem,4.7vw,5.1rem);
  max-width:900px;
  line-height:1.05;
  letter-spacing:-0.025em;
}

.service-card p{
  margin-bottom:26px;
}

.vehicle-select-label{
  margin-top:18px;
}

.dynamic-price{
  margin-top:16px;
}

.dynamic-price strong{
  font-size:1.8rem;
}

.terms-section{
  background:#09131e;
  border-top:1px solid var(--line);
}

.terms-wrap{
  max-width:var(--max);
  margin:0 auto;
}

.terms-intro{
  color:var(--muted);
  max-width:760px;
  margin:18px 0 42px;
}

.terms-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.terms-grid > div{
  border:1px solid var(--line);
  padding:24px;
  background:rgba(255,255,255,.018);
}

.terms-grid h3{
  font-size:1.15rem;
  margin-bottom:12px;
  color:var(--gold2);
}

.terms-grid p{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.7;
}

.terms-business{
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  color:var(--muted);
  font-size:.8rem;
}

.terms-business strong{
  color:var(--text);
}

@media (max-width:980px){
  .terms-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:640px){
  .hero-title-smaller{
    font-size:clamp(2.35rem,11vw,3.45rem);
    line-height:1.08;
  }
  .terms-grid{
    grid-template-columns:1fr;
  }
}


/* ===== AzureDetails premium refinement ===== */

.hero-title-premium{
  font-size:clamp(2.05rem,3.45vw,3.85rem) !important;
  max-width:780px;
  line-height:1.09;
  letter-spacing:-0.025em;
}

.hero{
  background-image:url("assets/hero.jpg") !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center 57% !important;
}

/* More polished overall section rhythm */
.section{
  padding-top:118px;
  padding-bottom:118px;
}
.section-head{
  margin-bottom:54px;
}
.services-grid{
  gap:24px;
}

/* Premium cards */
.service-card{
  border-radius:16px;
  border-color:rgba(255,255,255,.105);
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.012));
  box-shadow:0 18px 45px rgba(0,0,0,.12);
  transition:
    transform .36s cubic-bezier(.2,.7,.2,1),
    border-color .36s ease,
    box-shadow .36s ease,
    background .36s ease;
}
.service-card:hover{
  transform:translateY(-7px);
  border-color:rgba(216,170,85,.34);
  box-shadow:0 26px 64px rgba(0,0,0,.22);
  background:linear-gradient(180deg,rgba(216,170,85,.045),rgba(255,255,255,.012));
}

/* Rounded premium service selectors */
.vehicle-price-select{
  border-radius:13px !important;
  min-height:50px;
  padding:12px 42px 12px 15px;
  border:1px solid rgba(255,255,255,.14);
  background-color:#0b1722;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 9px 24px rgba(0,0,0,.10);
  cursor:pointer;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background-color .25s ease;
}
.vehicle-price-select:hover{
  border-color:rgba(216,170,85,.5);
  background-color:#0e1b28;
  box-shadow:0 11px 28px rgba(0,0,0,.16);
}
.vehicle-price-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(216,170,85,.11),0 12px 28px rgba(0,0,0,.15);
}

/* All site buttons receive a polished hover interaction */
.btn,
.submit-btn,
.text-link{
  transition:
    transform .28s cubic-bezier(.2,.7,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease,
    color .28s ease,
    filter .28s ease;
}

.btn,
.submit-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.btn::after,
.submit-btn::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.22) 48%,transparent 75%);
  transform:translateX(-145%);
  transition:transform .62s cubic-bezier(.2,.7,.2,1);
}

.btn:hover,
.submit-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}

.btn:hover::after,
.submit-btn:hover::after{
  transform:translateX(145%);
}

.btn:active,
.submit-btn:active{
  transform:translateY(-1px) scale(.99);
}

.btn-gold:hover{
  filter:brightness(1.08) saturate(1.03);
  box-shadow:0 14px 36px rgba(216,170,85,.18);
}

.btn-ghost:hover,
.btn-nav:hover{
  border-color:var(--gold2);
  color:var(--gold2);
  background:rgba(216,170,85,.07);
}

.text-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
}
.text-link span{
  transition:transform .25s ease;
}
.text-link:hover{
  color:#f5d99f;
  transform:translateY(-1px);
}
.text-link:hover span{
  transform:translateX(5px);
}

/* Refined form styling */
.quote-form{
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
input,select,textarea{
  border-radius:10px;
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
input:hover,select:hover,textarea:hover{
  border-color:rgba(216,170,85,.28);
}
input:focus,select:focus,textarea:focus{
  box-shadow:0 0 0 3px rgba(216,170,85,.09);
}

/* Gallery refinement */
.g{
  border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.g img{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.g:hover img{
  transform:scale(1.045);
  filter:brightness(1.035);
}

/* Header/nav polish */
.site-header{
  transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.site-header.scrolled{
  box-shadow:0 10px 36px rgba(0,0,0,.16);
}
.nav a:not(.btn){
  position:relative;
}
.nav a:not(.btn)::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:7px;
  height:1px;
  background:var(--gold2);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav a:not(.btn):hover::after{
  transform:scaleX(1);
}

@media (max-width:980px){
  .hero{
    background-position:center 59% !important;
  }
}

@media (max-width:640px){
  .hero-title-premium{
    font-size:clamp(1.95rem,8.7vw,2.8rem) !important;
    max-width:94%;
    line-height:1.11;
  }
  .hero{
    background-position:60% center !important;
  }
  .section{
    padding-top:84px;
    padding-bottom:84px;
  }
}


/* ===== Final requested fixes ===== */

/* Standard single-stroke $ styling for all displayed service prices */
.dynamic-price,
.dynamic-price strong,
.price,
.vehicle-price-select,
.vehicle-price-select option{
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-variant-numeric: lining-nums tabular-nums;
}

.dynamic-price strong{
  font-weight:600;
  letter-spacing:-0.02em;
}

/* Use the user's final pre-cropped Ferrari image and keep the complete car visible */
.hero{
  background-image:url("assets/hero.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* Desktop framing tuned to the supplied 4:3 crop */
@media (min-width:981px){
  .hero{
    min-height:82svh !important;
    background-position:center 52% !important;
  }
}

/* Tablet */
@media (min-width:641px) and (max-width:980px){
  .hero{
    min-height:84svh !important;
    background-position:center center !important;
  }
}

/* Mobile keeps the car centred while retaining the image proportions as much as possible */
@media (max-width:640px){
  .hero{
    min-height:86svh !important;
    background-position:center center !important;
  }
}
