/* Titan Auto LA — modern visual system — refreshed 2026-09-17.
   Scope: presentation only. Controlled business facts, pricing, service scope,
   appointment rules, intake semantics, and customer authorization remain unchanged. */
:root{
  --titan-bg:#070B10;
  --titan-bg-2:#0B1119;
  --titan-surface:#101821;
  --titan-surface-2:#151F2A;
  --titan-surface-soft:rgba(16,24,33,.78);
  --titan-text:#F7FAFC;
  --titan-muted:#AAB8C7;
  --titan-muted-strong:#C9D4DF;
  --titan-line:rgba(143,166,190,.18);
  --titan-line-strong:rgba(96,165,250,.34);
  --titan-blue:#3B82F6;
  --titan-blue-strong:#2563EB;
  --titan-blue-soft:#7CB5FF;
  --titan-cyan:#38BDF8;
  --titan-focus:rgba(96,165,250,.26);
  --titan-shadow:0 24px 70px rgba(0,0,0,.28);
  --titan-shadow-deep:0 38px 110px rgba(0,0,0,.42);
  --titan-radius:20px;
  --titan-radius-sm:14px;
  --titan-max:1180px;
}

html{
  color-scheme:dark;
  scroll-behavior:smooth;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  color:var(--titan-text);
  background:
    radial-gradient(1100px 720px at 96% -12%,rgba(59,130,246,.17),transparent 62%),
    radial-gradient(760px 520px at -10% 34%,rgba(56,189,248,.065),transparent 70%),
    linear-gradient(180deg,var(--titan-bg) 0%,var(--titan-bg-2) 46%,var(--titan-bg) 100%);
  overflow-x:hidden;
}

body::before{
  opacity:.11;
  background-image:
    linear-gradient(rgba(124,181,255,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(124,181,255,.035) 1px,transparent 1px);
  background-size:84px 84px;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 36%,transparent 78%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 36%,transparent 78%);
}

::selection{background:rgba(59,130,246,.38);color:#fff}

.shell{position:relative}

.site-header{
  background:rgba(7,11,16,.76);
  border-bottom-color:rgba(143,166,190,.14);
  box-shadow:0 12px 40px rgba(0,0,0,.24),0 1px 0 rgba(255,255,255,.025) inset;
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}

.brand-mark,.footer-mark{
  image-rendering:auto;
  transform:translateZ(0);
  filter:drop-shadow(0 9px 22px rgba(59,130,246,.22));
}
.brand-copy strong,.footer-brand strong{color:var(--titan-text);letter-spacing:.035em}
.brand-copy small{color:#AEBCCC;letter-spacing:.01em}
.desktop-nav a:not(.nav-cta){color:#C9D4DF}
.desktop-nav a:not(.nav-cta):hover{color:#fff}

.nav-cta,.button,.home-quote button,.mobile-bar a{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease;
}
.nav-cta,.button.primary,.home-quote button{
  background:linear-gradient(135deg,#4A8CF7 0%,var(--titan-blue-strong) 100%);
  border-color:rgba(255,255,255,.2);
  color:#fff;
  box-shadow:0 14px 34px rgba(37,99,235,.26),inset 0 1px rgba(255,255,255,.18);
}
.nav-cta:hover,.button.primary:hover,.home-quote button:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 48px rgba(37,99,235,.34),inset 0 1px rgba(255,255,255,.2);
}
.button.dark{
  background:rgba(20,30,41,.72);
  border-color:rgba(143,166,190,.24);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.button.dark:hover{transform:translateY(-2px);border-color:var(--titan-line-strong);background:#182431}
.button:focus-visible,.nav-cta:focus-visible,.desktop-nav a:focus-visible,.mobile-bar a:focus-visible,.service-rows a:focus-visible{
  outline:3px solid var(--titan-blue-soft);
  outline-offset:4px;
}

.new-hero{
  isolation:isolate;
  position:relative;
}
.new-hero::before{
  content:"";
  position:absolute;
  inset:14px 24px auto;
  height:1px;
  z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(124,181,255,.42),transparent);
}
.new-hero::after{
  content:"";
  position:absolute;
  z-index:-2;
  width:min(58vw,720px);
  aspect-ratio:1;
  right:-20%;
  top:-18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.14),rgba(56,189,248,.035) 42%,transparent 70%);
  filter:blur(8px);
  pointer-events:none;
}
.hero-copy{position:relative}
.hero-copy h1{
  color:var(--titan-text);
  letter-spacing:-.052em;
  line-height:.96;
  text-wrap:balance;
  text-shadow:0 16px 46px rgba(0,0,0,.32);
}
.hero-copy h1 span{
  color:var(--titan-blue-soft);
  text-shadow:0 0 38px rgba(59,130,246,.18);
}
.lede{
  color:#D5DFE9;
  max-width:760px;
  text-wrap:pretty;
  line-height:1.65;
}
.hero-copy .actions{gap:12px}

.trust-strip{
  border-color:var(--titan-line);
  background:linear-gradient(135deg,rgba(17,25,35,.9),rgba(9,14,20,.84));
  box-shadow:0 22px 64px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.028);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.trust-strip>div{border-right-color:rgba(143,166,190,.13);transition:background-color .18s ease}
.trust-strip>div:hover{background:rgba(59,130,246,.055)}
.trust-strip>div>span{
  border-color:rgba(124,181,255,.3);
  color:var(--titan-blue-soft);
  background:rgba(59,130,246,.09);
  box-shadow:0 8px 22px rgba(37,99,235,.09);
}
.trust-strip strong{color:#EAF1F8;font-weight:650}

.home-quote{
  position:relative;
  overflow:hidden;
  border-color:rgba(124,181,255,.28);
  background:linear-gradient(150deg,rgba(22,32,44,.96),rgba(8,13,19,.97));
  box-shadow:var(--titan-shadow-deep),0 0 0 1px rgba(255,255,255,.02) inset;
}
.home-quote::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(124,181,255,.62),transparent);
  pointer-events:none;
}
.home-quote-head h2{color:var(--titan-text);font-size:clamp(1.45rem,2.2vw,1.8rem);letter-spacing:-.025em}
.home-quote-head p{margin:8px 0 0;color:#AFC0D1;font-size:13px;line-height:1.6;max-width:720px}
.home-quote label{color:#DCE5EE;font-weight:620}
.home-quote input,.home-quote select{
  min-height:52px;
  border-color:#3D5064;
  background:#080E15;
  color:#F7FAFC;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.home-quote input:hover,.home-quote select:hover{border-color:#536B83;background:#0A1119}
.home-quote input:focus,.home-quote select:focus{
  outline:none;
  border-color:var(--titan-blue-soft);
  box-shadow:0 0 0 4px var(--titan-focus);
}
.home-launcher-status{color:#A8B8C8}

.section{position:relative}
.section-heading{align-items:flex-start}
.section-index,.service-rows b,.page-code,.prose a{color:var(--titan-blue-soft)}
.section-heading .section-index{
  font-variant-numeric:tabular-nums;
  letter-spacing:.08em;
  opacity:.92;
}
.section-heading h2{
  color:var(--titan-text);
  letter-spacing:-.035em;
  text-wrap:balance;
}
.section-heading p{color:#B7C4D1;text-wrap:pretty;line-height:1.65}

.service-rows{border-top-color:var(--titan-line)}
.service-rows>a{
  position:relative;
  border-bottom-color:var(--titan-line);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,padding-left .18s ease;
}
.service-rows>a::before{
  content:"";
  position:absolute;
  left:0;
  top:22%;
  bottom:22%;
  width:2px;
  background:linear-gradient(var(--titan-blue-soft),var(--titan-cyan));
  opacity:0;
  transform:scaleY(.45);
  transition:opacity .18s ease,transform .18s ease;
}
.service-rows>a:hover{
  transform:translateX(2px);
  background:linear-gradient(90deg,rgba(59,130,246,.09),rgba(56,189,248,.018),transparent 70%);
  border-bottom-color:rgba(124,181,255,.27);
}
.service-rows>a:hover::before{opacity:1;transform:scaleY(1)}
.service-rows h3{letter-spacing:-.02em;color:#EEF4FA}
.service-rows p{color:#AEBCCC;line-height:1.6}

.price-table{
  border-top-color:var(--titan-line);
  border-bottom-color:var(--titan-line);
}
.price-table article{
  position:relative;
  border-bottom-color:var(--titan-line);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.price-table article:hover{
  transform:translateX(2px);
  background:linear-gradient(90deg,rgba(59,130,246,.065),transparent 72%);
  border-bottom-color:rgba(124,181,255,.28);
}
.price-table h3{color:#EEF4FA;letter-spacing:-.015em}
.price-table p,.fine{color:#AEBCCC;line-height:1.65}
.price-table strong{
  color:#F9FCFF;
  letter-spacing:-.035em;
  text-shadow:0 0 30px rgba(59,130,246,.14);
}

.process-line{
  border-color:var(--titan-line);
  background:linear-gradient(135deg,rgba(17,25,35,.76),rgba(8,13,19,.72));
  box-shadow:var(--titan-shadow);
  overflow:hidden;
}
.process-line>div{border-color:rgba(143,166,190,.13)}
.process-line b{color:var(--titan-blue-soft)}
.process-line strong{color:#EEF4FA;letter-spacing:-.015em}
.process-line span{color:#AEBCCC;line-height:1.55}

.hours-table{border-top-color:var(--titan-line)}
.hours-table>div{border-bottom-color:var(--titan-line)}
.hours-table strong{color:#EEF4FA}
.hours-table span{color:#B5C2CF}

.service-area-band,.cta-band{
  position:relative;
  overflow:hidden;
  border-color:rgba(124,181,255,.22);
  background:
    radial-gradient(680px 280px at 100% 0%,rgba(59,130,246,.12),transparent 72%),
    linear-gradient(120deg,rgba(20,30,41,.95),rgba(8,13,19,.97));
  box-shadow:0 30px 86px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025);
}
.service-area-band::before,.cta-band::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,var(--titan-blue),var(--titan-cyan),transparent);
  opacity:.78;
}
.service-area-band h2,.cta-band h2{letter-spacing:-.035em;color:var(--titan-text);text-wrap:balance}
.service-area-band p,.cta-band p{color:#B8C5D2;line-height:1.62}

.request-form input,.request-form select,.request-form textarea,.form-grid input,.form-grid select,.form-grid textarea{
  background:#080E15;
  border-color:#3D5064;
  color:#F7FAFC;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.request-form input:hover,.request-form select:hover,.request-form textarea:hover,.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:#536B83;background:#0A1119}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{
  outline:none;
  border-color:var(--titan-blue-soft);
  box-shadow:0 0 0 4px var(--titan-focus);
}
.form-step,.request-aside,.notice,.optional-details{border-color:var(--titan-line)}

.site-footer{border-top-color:var(--titan-line)}
.footer-brand span,.legal{color:#9FAFBE}
.footer-links a{color:#C4D0DC}
.footer-links a:hover,.legal a:hover{color:#fff}

.mobile-bar{
  background:rgba(7,11,16,.88);
  border-top-color:rgba(143,166,190,.18);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 -12px 36px rgba(0,0,0,.28);
}

img,svg{image-rendering:auto}
svg{shape-rendering:geometricPrecision}

@media (min-width:901px){
  .new-hero{padding-top:clamp(76px,8vw,118px)}
  .hero-copy{max-width:940px}
  .hero-copy h1{max-width:900px;font-size:clamp(4rem,7vw,6.7rem)}
  .lede{font-size:clamp(1.05rem,1.4vw,1.2rem)}
  .home-quote{border-radius:var(--titan-radius)}
  .trust-strip{border-radius:var(--titan-radius-sm)}
  .process-line{border-radius:var(--titan-radius)}
  .service-area-band,.cta-band{border-radius:var(--titan-radius)}
}

@media (max-width:900px){
  .hero-copy h1{letter-spacing:-.045em}
  .new-hero::before{inset-left:18px;inset-right:18px}
  .trust-strip{box-shadow:0 16px 44px rgba(0,0,0,.18)}
  .service-rows>a:hover,.price-table article:hover{transform:none}
}

@media (max-width:640px){
  body{
    background:
      radial-gradient(540px 390px at 104% -4%,rgba(59,130,246,.15),transparent 66%),
      linear-gradient(180deg,var(--titan-bg),var(--titan-bg-2) 52%,var(--titan-bg));
  }
  body::before{background-size:64px 64px;opacity:.075}
  .site-header{-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%)}
  .hero-copy h1{font-size:clamp(2.75rem,13.6vw,4rem);line-height:.96;letter-spacing:-.045em}
  .lede{font-size:1rem;line-height:1.64}
  .hero-copy .actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-copy .button{width:100%;justify-content:center;min-height:50px}
  .trust-strip{border-radius:16px}
  .home-quote{border-radius:18px;box-shadow:0 26px 66px rgba(0,0,0,.32)}
  .home-quote input,.home-quote select,.request-form input,.request-form select,.request-form textarea,.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}
  .section-heading h2{letter-spacing:-.03em}
  .service-rows p,.price-table p,.fine{line-height:1.58}
  .process-line{border-radius:18px}
  .service-area-band,.cta-band{border-radius:18px}
  .mobile-bar a{min-height:48px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
  .nav-cta:hover,.button:hover,.home-quote button:hover,.service-rows>a:hover,.price-table article:hover{transform:none!important}
}


/* System optimization pass — 2026-09-17. */
html{scroll-behavior:smooth;overscroll-behavior-x:none}
body{font-kerning:normal;font-optical-sizing:auto}
img{max-width:100%;height:auto}
svg{shape-rendering:geometricPrecision}
button,input,select,textarea{font:inherit;accent-color:var(--psych-blue)}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:rgba(59,130,246,.16)}
.button,.nav-cta,.mobile-bar a,.home-quote button{touch-action:manipulation}
@media (hover:hover) and (pointer:fine){
  .service-rows>a,.footer-links a,.legal a{transition:transform .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease}
}
@media (max-width:760px){
  input,select,textarea{font-size:16px!important}
  .button,.nav-cta,.mobile-bar a,button{min-height:48px}
  .actions{gap:10px}
  .home-quote,.form-step,.request-aside{box-shadow:none}
}
@supports (content-visibility:auto){
  .home-page main>.section:nth-of-type(n+4),
  .home-page .service-area-band,
  .home-page .cta-band,
  .site-footer{content-visibility:auto;contain-intrinsic-size:1px 640px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .nav-cta:hover,.button:hover,.home-quote button:hover{transform:none!important}
}
@media (prefers-contrast:more){
  :root{--psych-line:rgba(255,255,255,.4)}
  .lede,.section-heading p,.service-rows p,.hours-table span,.fine{color:#E6EDF5}
  .button.dark{border-color:#8291A1}
}
