:root{--lime:#79ff00;--orange:#ff7417;--black:#070908;--ink:#101311;--white:#fff;--paper:#f2f2ee;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;color:#000;padding:12px}.site-header nav a,.header-phone{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.78rem;letter-spacing:.035em;position:relative}.header-phone{color:var(--lime)}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;text-transform:uppercase;font-weight:950;letter-spacing:.025em;text-decoration:none;transition:.18s;border:2px solid transparent}.btn:hover,.btn:focus-visible{transform:translateY(-3px);box-shadow:0 12px 25px #0006}.btn-orange{background:var(--orange);color:#0a0a0a;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.btn-orange:hover,.btn-orange:focus-visible{background:#fff}.btn-outline{border-color:#fff;color:#fff}.btn-outline:hover,.btn-outline:focus-visible{background:#fff;color:#000}.hero{min-height:710px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:radial-gradient(circle at 70% 42%,#303830 0,#111811 28%,#080a09 58%,#030403 100%)}.hero-photo:after{content:"";position:absolute;right:7%;top:12%;width:46%;height:64%;border:2px solid #323a32;background:linear-gradient(145deg,#171c18,#070807);clip-path:polygon(18% 0,100% 0,100% 82%,75% 100%,0 83%,0 25%)}.photo-label{position:absolute;z-index:2;right:18%;top:43%;text-align:center;color:#5f6a61;font-weight:900;letter-spacing:.12em}.photo-label small{font-weight:400}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050605 0%,#050605e8 33%,transparent 70%)}.hero-copy{position:relative;z-index:3;width:min(720px,55vw);margin-left:max(42px,calc((100vw - var(--max))/2));margin-top:-55px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.78rem;color:var(--lime)}.eyebrow.dark{color:#242824}.hero h1,.section h2,.bgsu-band h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-style:italic;line-height:.86;letter-spacing:-.02em;margin:.15em 0}.hero h1{font-size:clamp(4.5rem,7vw,8rem)}h1 em,h2 em{font-style:inherit;color:var(--lime)}.hero-sub{font-size:1.35rem;max-width:590px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.service-strip{position:absolute;bottom:0;left:0;right:0;z-index:4;display:grid;grid-template-columns:repeat(8,1fr);background:#090b0aee;border-top:1px solid #4b514c}.service-strip a{padding:19px 8px;text-align:center;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.69rem;border-right:1px solid #272b28}.service-strip b{display:block;color:var(--lime);font-size:1.65rem;margin-bottom:5px}.service-strip a:hover,.service-strip a:focus-visible{background:var(--orange);color:#080808}.service-strip a:hover b{color:#080808}.section{padding:88px max(32px,calc((100vw - var(--max))/2))}.service-intro{background:#0b0d0c;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;padding-top:0;padding-bottom:0}.service-image{min-height:430px;margin-left:calc(max(32px,calc((100vw - var(--max))/2))*-1);background:linear-gradient(135deg,#242a25,#0a0c0a);display:grid;place-items:center;color:#606861;font-weight:900;letter-spacing:.12em}.service-copy{padding:75px 70px}.service-copy h2,.trust-section h2,.location h2{font-size:clamp(3.3rem,5vw,6rem)}.service-copy p{font-size:1.12rem;line-height:1.7;max-width:700px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);background:#050605}.service-cards>a{min-height:350px;position:relative;color:#fff;text-decoration:none;border-right:1px solid #333;overflow:hidden}.card-photo{height:55%;background:linear-gradient(145deg,#313732,#0a0c0a);transition:.3s}.p2{background:linear-gradient(145deg,#444,#111)}.p3{background:linear-gradient(145deg,#222a25,#080908)}.p4{background:linear-gradient(145deg,#353535,#0b0b0b)}.service-cards>a>div:last-child{padding:22px 28px}.service-cards small{color:#c5cac6;text-transform:uppercase;letter-spacing:.14em}.service-cards h3{font:italic 2.1rem Impact;margin:.15em 0;text-transform:uppercase}.service-cards p{color:#c4c9c5}.service-cards b{position:absolute;right:24px;bottom:25px;color:var(--orange);font-size:1.8rem}.service-cards a:hover .card-photo,.service-cards a:focus-visible .card-photo{transform:scale(1.04);filter:brightness(1.25)}.service-cards a:hover h3,.service-cards a:focus-visible h3{color:var(--lime)}.trust-section{background:var(--paper);color:#111}.trust-section h2 em,.location h2 em{color:#54b900}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.trust-grid article{padding:30px;border-right:1px solid #ccc}.trust-grid b{font:3rem Impact;color:#54b900}.trust-grid h3{text-transform:uppercase}.trust-section blockquote{margin:48px auto 0;max-width:850px;font-size:1.55rem;font-weight:800;text-align:center}.trust-section cite{display:block;font-size:.75rem;margin-top:12px;color:#555}.bgsu-band{padding:70px max(32px,calc((100vw - var(--max))/2));background:linear-gradient(90deg,#0a0d0a 0,#172117 50%,#0a0d0a);display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:6px solid var(--lime)}.bgsu-band h2{font-size:clamp(3rem,5vw,5.5rem)}.bgsu-band p{max-width:720px;color:#d4d8d4}.location{background:#fff;color:#111;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.map-placeholder{min-height:360px;background:linear-gradient(135deg,#d8dbd5,#a9afa8);display:grid;place-items:center;text-align:center;font:italic 3rem Impact;color:#596159}.map-placeholder small{display:block;font:1rem Arial}.text-link{color:#111;font-weight:900;text-transform:uppercase}.text-link:hover,.text-link:focus-visible{color:#e85f00}footer{padding:48px max(32px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#050605;border-top:1px solid #333}footer img{width:105px;background:#fff}footer p{color:#aeb4af}footer nav{display:flex;gap:20px}footer a{color:#fff;text-decoration:none;font-weight:800}footer a:hover,footer a:focus-visible{color:var(--orange)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:1000px){.header-phone{display:none}.service-strip{grid-template-columns:repeat(4,1fr)}.hero{padding-bottom:120px}.service-cards{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.menu{display:block;margin-left:auto;background:#111;color:#fff;border:1px solid #555;padding:10px 14px}.site-header nav.open{display:flex}.hero{min-height:700px}.hero-copy{width:auto;margin:0 24px}.hero h1{font-size:4.4rem}.hero-photo:after{opacity:.45;right:-20%;width:80%}.service-strip{grid-template-columns:repeat(4,1fr)}.service-intro,.location{grid-template-columns:1fr}.service-image{margin:0;min-height:250px}.service-copy{padding:55px 28px}.service-cards{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.bgsu-band{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}}@media(max-width:520px){.hero h1{font-size:3.5rem}.service-strip{grid-template-columns:repeat(2,1fr);position:relative}.hero{display:block;padding:90px 0 0}.hero-copy{margin-bottom:60px}.trust-grid{grid-template-columns:1fr}.service-copy h2,.trust-section h2,.location h2{font-size:3.4rem}}

/* Typography + contrast foundation */
:root{
  --display:"Arial Narrow","Roboto Condensed","Helvetica Neue Condensed",Arial,sans-serif;
  --ui:Inter,"Helvetica Neue",Arial,sans-serif;
  --dark-bg:#070908;
  --dark-panel:#0b0d0c;
  --light-bg:#f4f4ef;
  --light-bg-2:#ffffff;
  --text-on-dark:#f7f8f5;
  --muted-on-dark:#c9cfca;
  --text-on-light:#111411;
  --muted-on-light:#4d554f;
}
body{font-family:var(--ui);color:var(--text-on-dark)}
.site-header nav a,.header-phone,.btn,.service-strip a{font-family:var(--ui);font-weight:800;letter-spacing:.06em}
.hero h1,.section h2,.bgsu-band h2,.service-cards h3,.map-placeholder{
  font-family:var(--display);
  font-style:italic;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.hero h1{font-size:clamp(4rem,5.65vw,6.65rem);line-height:.91;max-width:670px;margin:.22em 0 .16em}
.hero h1 em{display:block;letter-spacing:-.045em}
.eyebrow{font-family:var(--ui);font-size:.76rem;line-height:1.35;letter-spacing:.22em;font-weight:850}
.hero-sub{font-family:var(--ui);font-size:clamp(1.05rem,1.25vw,1.28rem);line-height:1.55;font-weight:450;letter-spacing:-.01em;color:var(--text-on-dark)}
.service-copy h2,.trust-section h2,.location h2{font-size:clamp(3rem,4.3vw,5.15rem);line-height:.94;letter-spacing:-.035em}
.bgsu-band h2{font-size:clamp(2.8rem,4.3vw,4.9rem);line-height:.94}
.service-cards h3{font-size:1.85rem;line-height:1;letter-spacing:-.02em}

/* Contrast contract: dark surfaces always receive light copy. */
.site-header,.hero,.service-strip,.service-intro,.service-cards,.bgsu-band,footer{color:var(--text-on-dark)}
.site-header p,.hero p,.service-intro p,.service-cards p,.bgsu-band p,footer p{color:var(--muted-on-dark)}
.hero-sub{color:var(--text-on-dark)}

/* Light surfaces always receive dark copy. */
.trust-section{background:var(--light-bg);color:var(--text-on-light)}
.location{background:var(--light-bg-2);color:var(--text-on-light)}
.trust-section p,.trust-section cite,.location p{color:var(--muted-on-light)}
.trust-section h1,.trust-section h2,.trust-section h3,.trust-section h4,.location h1,.location h2,.location h3,.location h4{color:var(--text-on-light)}

/* CTA contrast: orange is reserved for action and always carries dark ink. */
.btn-orange,.service-strip a:hover,.service-strip a:focus-visible{color:#080a08}

@media(max-width:780px){
  .hero h1{font-size:clamp(3.7rem,13vw,5.25rem);line-height:.92;max-width:620px}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(3.15rem,16vw,4.35rem);letter-spacing:-.045em}
  .hero-sub{font-size:1.05rem}
}


/* HERO TYPE REFINEMENT — two deliberate lines, calmer rhythm */
.hero-copy{width:min(760px,52vw)}
.hero h1{
  max-width:none;
  margin:.28em 0 .18em;
  font-family:"Arial Narrow","Aptos Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(4.15rem,5.35vw,6.15rem);
  line-height:.86;
  font-style:normal;
  font-weight:900;
  letter-spacing:-.058em;
  text-transform:uppercase;
}
.hero-line{display:block;white-space:nowrap}
.hero-line-primary{color:#f7f8f5}
.hero-line-accent{color:var(--lime);font-size:.94em;letter-spacing:-.065em;margin-top:.08em}
.hero .eyebrow{margin:0 0 1.2rem;color:#dce3dd;font-size:.72rem;letter-spacing:.24em}
.hero-sub{max-width:560px;margin-top:1.15rem;color:#eef1ee;font-size:1.12rem;line-height:1.55}
.actions{margin-top:1.6rem}
@media(max-width:1100px){
  .hero-copy{width:min(650px,55vw)}
  .hero h1{font-size:clamp(3.55rem,5.8vw,5.15rem)}
}
@media(max-width:780px){
  .hero-copy{width:auto}
  .hero h1{font-size:clamp(3.2rem,12vw,4.75rem);line-height:.88;letter-spacing:-.055em}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(2.7rem,13.5vw,3.7rem);letter-spacing:-.06em}
  .hero-line{white-space:normal}
}

/* stronger typographic hierarchy: setup line vs flavored payoff */
.hero-line-primary{
  font-size:.72em;
  letter-spacing:-.025em;
  line-height:1;
  margin-bottom:.12em;
}
.hero-line-accent{
  font-size:1.04em;
  letter-spacing:-.055em;
  line-height:.88;
  margin-top:0;
}
@media(max-width:780px){
  .hero-line-primary{font-size:.74em;letter-spacing:-.02em}
  .hero-line-accent{font-size:1em;letter-spacing:-.05em}
}


/* Global title hierarchy
   Every major title uses a quieter setup line and a larger flavored/payoff line. */
.section h2,.bgsu-band h2{
  font-style:normal;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:.94;
}
.section h2 em,.bgsu-band h2 em{
  display:block;
  font-style:normal;
  font-size:1.22em;
  line-height:.86;
  letter-spacing:-.055em;
  margin-top:.08em;
}
/* Dark sections: payoff can use brand lime. */
.service-intro h2 em,.bgsu-band h2 em{color:var(--lime)}
/* Light sections: use darker accessible green rather than neon lime. */
.trust-section h2 em,.location h2 em{color:#397d00}

/* Supporting eyebrow stays much quieter than either title line. */
.section .eyebrow,.bgsu-band .eyebrow{
  font-size:.7rem;
  letter-spacing:.23em;
  line-height:1.4;
  margin-bottom:1rem;
}

/* Card titles use the same principle at a smaller scale. */
.service-cards h3{
  font-style:normal;
  font-size:1.55rem;
  line-height:1.02;
  letter-spacing:-.015em;
}
.service-cards h3 em{
  display:block;
  font-style:normal;
  font-size:1.2em;
  line-height:.92;
  color:var(--lime);
  letter-spacing:-.04em;
}

@media(max-width:780px){
  .section h2 em,.bgsu-band h2 em{font-size:1.16em}
}


/* disciplined global title scale
   Hero is the ceiling. Section titles can never visually outgrow it. */
:root{
  --hero-title-max:6.15rem;
  --section-setup-max:3.25rem;
  --section-payoff-max:4.35rem;
}

/* Generic interior-page headings are capped below the homepage hero. */
main h1:not(.hero h1){
  font-size:clamp(2.65rem,4.6vw,4.85rem);
  line-height:.96;
  letter-spacing:-.035em;
}
main h2{
  max-width:100%;
}

/* Homepage section title system: setup is quieter; payoff is dominant,
   but both remain comfortably below the hero scale. */
.service-copy h2,.trust-section h2,.location h2,.bgsu-band h2{
  font-size:1rem;
  line-height:1;
  margin:.35rem 0 1.15rem;
}
.title-setup{
  display:block;
  font-family:"Arial Narrow","Aptos Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(2.05rem,2.75vw,var(--section-setup-max));
  line-height:.98;
  font-weight:900;
  letter-spacing:-.025em;
  text-transform:uppercase;
  color:inherit;
}
.service-copy h2 em,.trust-section h2 em,.location h2 em,.bgsu-band h2 em{
  display:block;
  font-family:"Arial Narrow","Aptos Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(2.7rem,3.7vw,var(--section-payoff-max));
  line-height:.9;
  font-weight:900;
  letter-spacing:-.05em;
  text-transform:uppercase;
  margin-top:.12em;
}
@media(max-width:1000px){
  :root{--section-setup-max:2.85rem;--section-payoff-max:3.75rem}
}
@media(max-width:780px){
  .title-setup{font-size:clamp(1.8rem,7vw,2.65rem);white-space:normal}
  .service-copy h2 em,.trust-section h2 em,.location h2 em,.bgsu-band h2 em{
    font-size:clamp(2.35rem,9vw,3.35rem);
  }
}

/* concept-faithful oversized transparent brand mark */

.site-header 
.site-header 
footer img{
  width:145px;
  height:auto;
  object-fit:contain;
  background:transparent !important;
  border-radius:0;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.35));
}
@media(max-width:1100px){
  .site-header 
  .site-header 
  
}
@media(max-width:780px){
  .site-header 
  .site-header 
}

/* eyebrow contrast contract
   Eyebrows are semantic context labels and must never rely on low-opacity color.
   Dark surfaces => light eyebrow. Light surfaces => dark eyebrow. */
:root{
  --eyebrow-on-dark:#e8ede8;
  --eyebrow-on-light:#263129;
}
.eyebrow{color:var(--eyebrow-on-dark);opacity:1}
.trust-section .eyebrow,
.location .eyebrow,
.light-surface .eyebrow,
[data-surface="light" ] .eyebrow{color:var(--eyebrow-on-light);opacity:1}
.dark .eyebrow,
.hero .eyebrow,
.service-intro .eyebrow,
.bgsu-band .eyebrow,
footer .eyebrow,
[data-surface="dark" ] .eyebrow{color:var(--eyebrow-on-dark);opacity:1}

/* V7 PHASE 1 — CONCEPT CONVERGENCE
   Match the approved concept's density, layering and automotive visual rhythm. */
:root{--content-max:1480px;--header-h:82px}

.site-header 
.site-header 
.site-header nav a,.header-phone{font-size:.72rem}
.hero{min-height:640px;align-items:flex-start;padding-top:110px}
.hero-photo{background:linear-gradient(90deg,#050706 0 36%,rgba(5,7,6,.82) 50%,rgba(5,7,6,.22) 76%),linear-gradient(135deg,#101511,#1a241a 62%,#0a0d0b)}
.hero-photo:before{display:none}
.hero-photo:after{right:4%;top:6%;width:53%;height:75%;border:1px solid #39443a;background:linear-gradient(145deg,#1a211b,#080a08);clip-path:polygon(11% 0,100% 0,100% 82%,74% 100%,0 82%,0 23%)}
.hero-copy{margin-top:0;width:min(700px,49vw);margin-left:max(42px,calc((100vw - var(--content-max))/2))}
.hero .eyebrow{margin-bottom:1rem}.hero h1{font-size:clamp(4rem,5.2vw,5.85rem)}.hero-sub{font-size:1.18rem;margin-top:.9rem}.actions{margin-top:1.35rem}
.service-strip{max-width:none}.service-strip a{padding:16px 8px}.service-strip b{font-size:1.4rem}.service-strip span{font-size:.67rem}
.section{padding-inline:max(32px,calc((100vw - var(--content-max))/2))}
.service-intro{grid-template-columns:46% 54%;min-height:420px}.service-image{min-height:420px;position:relative;overflow:hidden}.service-image:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#27302a,#0b0e0c)}.service-image:after{content:"FRONT END / DETAIL PHOTOGRAPHY";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#8d988f;font:800 .7rem var(--ui);letter-spacing:.18em;white-space:nowrap}.service-image>span{display:none}.service-copy{padding:62px 7vw 62px 58px}.service-copy>p:not(.eyebrow){max-width:650px;margin-top:1rem}
.service-cards>a{min-height:300px}.card-photo{height:54%;position:relative}.card-photo:after{content:"CONCEPT SERVICE PHOTOGRAPHY";position:absolute;inset:0;display:grid;place-items:center;color:#7f8981;font:800 .62rem var(--ui);letter-spacing:.14em}.service-cards>a>div:last-child{padding:18px 24px}.service-cards h3{font-size:1.45rem;margin:.25em 0}.service-cards p{font-size:.9rem;line-height:1.45;margin:.35rem 0}
.trust-section{padding-top:66px;padding-bottom:66px;background:linear-gradient(135deg,#f4f3ee,#fff)}.trust-title{display:flex;align-items:end;justify-content:space-between;gap:35px}.trust-grid{margin-top:28px}.trust-grid article{padding:22px 26px}.trust-grid b{font-size:2.4rem}.trust-grid h3{font-size:.9rem;margin:.45rem 0}.trust-grid p{font-size:.85rem}.trust-section blockquote{margin-top:30px;font-size:1.3rem}
.bgsu-band{min-height:250px;padding-top:52px;padding-bottom:52px;background:linear-gradient(90deg,rgba(7,9,8,.98),rgba(19,28,20,.94)),linear-gradient(135deg,#111,#243225);border-top:0;position:relative;overflow:hidden}.bgsu-band:before{content:"BGSU";position:absolute;right:4%;top:50%;transform:translateY(-50%);font:900 9rem/1 var(--display);letter-spacing:-.06em;color:rgba(255,116,23,.08)}.bgsu-band>*{position:relative;z-index:1}.bgsu-band h2{margin:.3rem 0 .8rem}.bgsu-band p{font-size:1rem}
.location{padding-top:60px;padding-bottom:60px}.map-placeholder{min-height:280px;font-size:2.5rem}
footer{padding-top:34px;padding-bottom:34px}
@media(max-width:1100px){.site-header .site-header .hero{padding-top:105px}.hero-copy{width:min(610px,54vw)}}
@media(max-width:780px){.site-header .site-header .hero{padding-top:90px}.hero-copy{width:auto}.service-intro{grid-template-columns:1fr}.service-copy{padding:50px 28px}.bgsu-band:before{font-size:6rem}}


/* StoryBrand/Voss conversion layer */
.symptom-section{background:#101411;color:var(--text-on-dark);border-top:1px solid #303630;border-bottom:1px solid #303630}
.symptom-head{max-width:860px}.symptom-head>p:last-child{max-width:390px;color:var(--muted-on-dark);font-size:1.08rem;line-height:1.65}
.symptom-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;margin-top:38px;align-items:stretch}
.symptom-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:84px;gap:10px}
.symptom-grid button{height:100%;min-height:0;padding:16px 20px;text-align:left;border:1px solid #343b35;background:#090b0a;color:#f7f8f5;font:800 .9rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;cursor:pointer;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}
.symptom-grid button:hover,.symptom-grid button:focus-visible,.symptom-grid button[aria-pressed="true"]{background:var(--orange);color:#090909;border-color:var(--orange)}
.symptom-result{padding:34px;background:#080a09;border-left:5px solid var(--lime);display:flex;flex-direction:column;justify-content:center}
.symptom-result>span{font-size:.72rem;letter-spacing:.19em;font-weight:900;color:var(--eyebrow-on-dark)}
.symptom-result h3{margin:.35rem 0 .65rem;font:900 clamp(2rem,3vw,3.2rem)/.98 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;color:var(--lime)}
.symptom-result p{color:var(--muted-on-dark);line-height:1.65;max-width:580px}
@media(max-width:780px){.symptom-layout{grid-template-columns:1fr}.symptom-grid{grid-template-columns:1fr 1fr}.symptom-result{padding:26px}}
@media(max-width:480px){.symptom-grid{grid-template-columns:1fr}}

/* visual-density + concept convergence pass */
.hero{min-height:590px;padding-top:86px}
.hero-copy{width:min(690px,48vw)}
.hero h1{margin:.08em 0 .12em}
.hero-sub{max-width:650px}
.hero-photo:after{width:56%;height:82%;top:2%;right:1%;clip-path:polygon(12% 0,100% 0,100% 86%,76% 100%,0 84%,0 22%)}
.photo-label{right:16%;top:41%;font-size:.78rem}
.service-strip a{min-height:82px;display:flex;flex-direction:column;justify-content:center}

/* concept-like dark service story block */
.service-intro{position:relative;background:#0a0c0b;border-top:1px solid #222722}
.service-copy{background:linear-gradient(110deg,#0b0d0c,#111512);position:relative}
.service-copy:after{content:"✓  Maintenance   ✓  Brakes   ✓  Diagnostics   ✓  Engine   ✓  Electrical";display:block;margin-top:24px;padding-top:20px;border-top:1px solid #303630;color:#d9ded9;font-size:.78rem;font-weight:800;letter-spacing:.04em;word-spacing:.35em}
.service-cards{border-top:1px solid #2a2f2b;border-bottom:1px solid #2a2f2b}
.service-cards>a{min-height:250px}.card-photo{height:50%}

/* proof ribbon echoes the concept without making unsupported promises */
.proof-ribbon{background:#f5f4ef;color:#111;display:grid;grid-template-columns:1.1fr repeat(3,1fr) 1.35fr;border-bottom:1px solid #d4d4ce}
.proof-ribbon>*{padding:24px 28px;border-right:1px solid #d4d4ce;display:flex;flex-direction:column;justify-content:center;min-height:116px}
.proof-ribbon .proof-label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:#313731}
.proof-ribbon strong{font-size:1rem;text-transform:uppercase;line-height:1.15;margin-top:7px}
.proof-ribbon .proof-review{font-size:1rem;line-height:1.35;font-weight:750}
.proof-ribbon .proof-review span{color:#397d00;font-size:1.45rem;line-height:1}

/* simple StoryBrand plan — visible before asking for the sale again */
.plan-section{background:#fff;color:#111;padding-top:64px;padding-bottom:64px}
.plan-head{max-width:820px}.plan-head .eyebrow{color:var(--eyebrow-on-light)}
.plan-head h2{font-size:1rem;margin:.35rem 0 1rem}.plan-head .title-setup{font-size:clamp(1.9rem,2.5vw,2.8rem)}.plan-head h2 em{display:block;font:900 clamp(2.55rem,3.4vw,3.85rem)/.9 var(--display);font-style:normal;letter-spacing:-.05em;text-transform:uppercase;color:#397d00}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border:1px solid #d7d8d2}
.plan-grid article{padding:30px;border-right:1px solid #d7d8d2}.plan-grid article:last-child{border-right:0}
.plan-grid b{display:grid;place-items:center;width:42px;height:42px;background:#111;color:#fff;font-size:1.1rem;margin-bottom:18px}
.plan-grid h3{margin:0 0 8px;text-transform:uppercase;font-size:1rem}.plan-grid p{margin:0;color:#454b46;line-height:1.55}

/* tighter trust band; proof before adjectives */
.trust-section{padding-top:58px;padding-bottom:58px}.trust-grid{margin-top:24px}.trust-section blockquote{max-width:720px}

/* BGSU now reads like a campaign band, not a generic section */
.bgsu-band{min-height:300px;background:linear-gradient(90deg,#070908 0 46%,rgba(7,9,8,.82) 66%,rgba(7,9,8,.45)),linear-gradient(135deg,#142016,#263629)}
.bgsu-band>div{max-width:880px}.bgsu-band:after{content:"STUDENT + PARENT";position:absolute;right:4%;bottom:20px;color:rgba(255,255,255,.13);font:900 1rem var(--ui);letter-spacing:.24em}

/* footer closer to concept proportions */
footer{grid-template-columns:170px 1fr auto;min-height:150px}footer img{width:150px}

@media(max-width:1000px){.proof-ribbon{grid-template-columns:repeat(2,1fr)}.proof-ribbon>*{border-bottom:1px solid #d4d4ce}.plan-grid{grid-template-columns:1fr}}
@media(max-width:780px){.hero{min-height:650px;padding-top:90px}.proof-ribbon{grid-template-columns:1fr 1fr}.proof-ribbon>*{padding:20px}.plan-grid article{border-right:0;border-bottom:1px solid #d7d8d2}.plan-grid article:last-child{border-bottom:0}}
@media(max-width:520px){.proof-ribbon{grid-template-columns:1fr}.bgsu-band{min-height:340px}}

/* TEMPORARY CINEMATIC PHOTOGRAPHY PASS
   Crops are concept-only visual studies. Replace with approved/original J&T photography before production. */
.hero-photo{
  background-image:linear-gradient(90deg,#050706 0 34%,rgba(5,7,6,.90) 43%,rgba(5,7,6,.18) 73%),linear-gradient(0deg,rgba(0,0,0,.14),rgba(0,0,0,.14)),url('assets/image-audit/homepage-evening-sedan-ai.png');
  background-size:cover;background-position:center right;
}
.hero-photo:after{display:none}.photo-label{display:none}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68) 0,rgba(0,0,0,.48) 39%,transparent 70%)}
.service-image{background:url('https://images.pexels.com/photos/38901700/pexels-photo-38901700/free-photo-of-close-up-of-car-wheel-and-tire-in-garage.jpeg?auto=compress&cs=tinysrgb&w=1800') center/cover no-repeat}
.service-image:before{background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.2))}.service-image:after{display:none}
.card-photo:after{display:none}
.card-photo.p1{background:url('https://images.pexels.com/photos/13065690/pexels-photo-13065690.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat}
.card-photo.p2{background:url('https://images.pexels.com/photos/4022545/pexels-photo-4022545.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat}
.card-photo.p3{background:url('https://images.pexels.com/photos/8478213/pexels-photo-8478213.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat}
.card-photo.p4{background:url('https://images.pexels.com/photos/38901700/pexels-photo-38901700/free-photo-of-close-up-of-car-wheel-and-tire-in-garage.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat}
.bgsu-band{background-image:linear-gradient(90deg,#070908 0 42%,rgba(7,9,8,.88) 57%,rgba(7,9,8,.38) 100%),url('https://images.pexels.com/photos/7972653/pexels-photo-7972653.jpeg?auto=compress&cs=tinysrgb&w=2200');background-size:cover;background-position:center}
.bgsu-band:before{display:none}.bgsu-band:after{color:rgba(255,255,255,.20)}
.map-placeholder{background-color:#111713;background-image:linear-gradient(28deg,transparent 46%,rgba(124,255,0,.10) 47% 49%,transparent 50%),linear-gradient(118deg,transparent 43%,rgba(255,255,255,.08) 44% 46%,transparent 47%),radial-gradient(circle at 68% 42%,#ff711c 0 8px,transparent 9px),radial-gradient(circle at 68% 42%,rgba(255,113,28,.24) 0 24px,transparent 25px);background-size:130px 130px,170px 170px,100% 100%,100% 100%;color:#fff;text-shadow:0 2px 16px #000;position:relative;overflow:hidden}
.map-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,8,5,.35),rgba(4,8,5,.08));pointer-events:none}.map-placeholder>*{position:relative}

/* stronger concept-style image treatment */
.hero:before{display:none}
.hero-copy{z-index:3}.service-strip{z-index:4}
.service-cards>a{overflow:hidden}.card-photo{transition:transform .35s ease,filter .35s ease;filter:saturate(.9) contrast(1.08)}.service-cards>a:hover .card-photo,.service-cards>a:focus-visible .card-photo{transform:scale(1.035);filter:saturate(1.08) contrast(1.08)}

/* Eyebrows remain legible over photographic surfaces. */
.hero .eyebrow,.bgsu-band .eyebrow{color:#f4f7f4;text-shadow:0 2px 10px rgba(0,0,0,.9)}


/* conversion + interaction pass */
.decision-bridge{background:#0b0e0c;color:var(--text-on-dark);display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:end;border-top:1px solid #303630;border-bottom:1px solid #303630}
.decision-copy{max-width:670px}.decision-copy>p:last-child{color:var(--muted-on-dark);font-size:1.05rem;line-height:1.65}
.decision-bridge h2{font-size:1rem;margin:.35rem 0 1rem}.decision-bridge h2 em{color:var(--lime)}
.decision-questions{display:grid;grid-template-columns:1fr 1fr;border:1px solid #343a35;background:#080a09}
.decision-questions article{min-height:120px;padding:24px;border-right:1px solid #343a35;border-bottom:1px solid #343a35;display:flex;gap:16px;align-items:flex-start}
.decision-questions article:nth-child(2n){border-right:0}.decision-questions article:nth-last-child(-n+2){border-bottom:0}
.decision-questions span{color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.decision-questions p{margin:0;color:#fff;font-weight:850;font-size:1.02rem;line-height:1.35}
.symptom-grid button[aria-pressed="true"]{box-shadow:inset 5px 0 0 #111}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
.homeMobileBar{display:none}
@media(max-width:780px){
  .decision-bridge{grid-template-columns:1fr;gap:32px}.decision-questions{grid-template-columns:1fr}.decision-questions article,.decision-questions article:nth-child(2n){border-right:0;border-bottom:1px solid #343a35}.decision-questions article:last-child{border-bottom:0}
  .homeMobileBar{display:grid;position:fixed;z-index:80;left:0;right:0;bottom:0;grid-template-columns:repeat(3,1fr);background:#070908;border-top:1px solid #414741;box-shadow:0 -10px 28px rgba(0,0,0,.35)}
  .homeMobileBar a{padding:14px 8px;color:#fff;text-align:center;text-decoration:none;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.06em;border-right:1px solid #2f342f}
  .homeMobileBar a:nth-child(2){background:var(--orange);color:#080808}.homeMobileBar a:last-child{border-right:0}
  body{padding-bottom:49px}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* desktop composition + finish pass */
@media (min-width:1200px){
  
  .site-header 
  .site-header 
  
  .site-header nav a,.header-phone{font-size:.74rem}
  
  .hero{min-height:625px}
  .hero-copy{width:min(690px,47vw);margin-top:-18px}
  .hero h1{font-size:clamp(4.2rem,4.75vw,5.65rem)}
  .hero-sub{max-width:600px;font-size:1.08rem}
  .service-strip a{padding:15px 8px}
  .service-strip b{font-size:1.45rem}
  .service-intro{min-height:365px}
  .service-image{min-height:365px}
  .service-copy{padding:54px 60px}
  .service-cards>a{min-height:290px}
  .service-cards>a>div:last-child{padding:18px 24px}
  .section{padding-top:68px;padding-bottom:68px}
}

/* clearer layered hero: copy remains HTML; photography is decoration only */
.hero-copy:before{content:"";position:absolute;inset:-34px -40px -34px -70px;background:linear-gradient(90deg,rgba(4,6,5,.92),rgba(4,6,5,.70) 68%,transparent);z-index:-1;clip-path:polygon(0 0,100% 0,90% 100%,0 100%);pointer-events:none}
.hero .actions .btn{min-width:205px}
.hero .btn-outline{background:rgba(5,7,6,.42);backdrop-filter:blur(3px)}

/* service rail: consistent visual rhythm and stronger hover target */
.service-strip a{position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}
.service-strip a:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:3px;background:var(--lime);transform:scaleX(0);transition:transform .18s ease}
.service-strip a:hover:after,.service-strip a:focus-visible:after{transform:scaleX(1)}

/* cards read as one designed strip rather than four unrelated blocks */
.service-cards>a{background:#090b0a;display:grid;grid-template-rows:55% 45%}
.card-photo{height:100%;position:relative}
.card-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,4,.64),transparent 58%);pointer-events:none}
.service-cards small{font-size:.66rem;font-weight:800}
.service-cards p{margin:.35rem 2.5rem 0 0;line-height:1.42;font-size:.91rem}

/* proof ribbon becomes scannable proof, not another content section */
.proof-ribbon{border-top:1px solid #d3d5d1;border-bottom:1px solid #d3d5d1}
.proof-ribbon>div{min-height:88px;display:flex;flex-direction:column;justify-content:center}
.proof-ribbon strong{font-size:.92rem;line-height:1.25}
.proof-review{font-size:.88rem;line-height:1.35}

/* more deliberate section rhythm */
.symptom-section,.decision-bridge{position:relative;overflow:hidden}
.symptom-section:before,.decision-bridge:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 18%,rgba(121,255,0,.07),transparent 31%);pointer-events:none}
.symptom-head,.symptom-layout,.decision-copy,.decision-questions{position:relative}
.plan-grid article{transition:transform .2s ease,border-color .2s ease,background .2s ease}
.plan-grid article:hover{transform:translateY(-4px);border-color:#596159;background:#101411}
.trust-grid article{position:relative}
.trust-grid article:after{content:"";position:absolute;left:30px;right:30px;bottom:0;height:3px;background:#397d00;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.trust-grid article:hover:after{transform:scaleX(1)}

/* BGSU treatment: keep copy legible regardless of photo crop */
.bgsu-band{position:relative;overflow:hidden;min-height:320px}
.bgsu-band>div,.bgsu-band>.btn{position:relative;z-index:2}
.bgsu-band>div{max-width:760px;padding:22px 28px 22px 0}
.bgsu-band h2{margin-bottom:14px}

/* footer becomes a compact closing utility bar */
footer{padding-top:34px;padding-bottom:34px;grid-template-columns:150px 1fr auto}
footer img{width:132px}
footer>div b{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
footer>div p{margin:.35rem 0 0;font-size:.86rem}
footer nav{gap:16px;align-items:center}
footer nav a{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}

/* mobile refinements */
@media(max-width:780px){
  .hero-copy:before{inset:-28px -18px -30px -24px;clip-path:none;background:rgba(4,6,5,.74)}
  .hero .actions .btn{min-width:0;flex:1 1 190px}
  .service-cards>a{grid-template-rows:220px auto;min-height:0}
  .proof-ribbon>div{min-height:72px}
  .bgsu-band>div{padding:0}
}

/* request flow + BGSU handoff */
.requestExperience{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:72px;align-items:start;background:#0a0d0b;border-top:1px solid #313631}.requestGuide{position:sticky;top:108px}.requestExperience h2{font-size:clamp(2.7rem,3.7vw,4.5rem);line-height:.94;margin:.25rem 0 1.1rem}.requestExperience h2 span,.studentHandoff h2 span{color:var(--lime)}.requestLead{max-width:650px;color:#c7ccc8;font-size:1.05rem;line-height:1.65}.requestAssurance{margin-top:34px;border-top:1px solid #343a35}.requestAssurance article{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #343a35}.requestAssurance b{color:var(--orange);font-size:.72rem;letter-spacing:.14em}.requestAssurance strong{display:block;color:#fff;margin-bottom:4px}.requestAssurance span{display:block;color:#aeb5af;font-size:.9rem;line-height:1.45}.requestPrompt{margin-top:28px;padding:18px 20px;border-left:4px solid var(--orange);background:#111512}.requestPrompt span{display:block;color:#fff;font-weight:900;margin-bottom:5px}.requestPrompt a{color:#ff9a55;font-weight:850;text-decoration:none}
.serviceRequestForm{background:#f3f3ef;color:#111;padding:34px;border-top:5px solid var(--orange);box-shadow:0 20px 60px rgba(0,0,0,.28)}.formHeader{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #cfd2cc}.formHeader span{font-size:.7rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:#555}.formHeader strong{font-size:1.05rem}.serviceRequestForm>label,.fieldPair>label,.parentFields label{display:grid;gap:8px;font-weight:850;font-size:.84rem}.serviceRequestForm input,.serviceRequestForm textarea{width:100%;border:1px solid #b7bcb6;background:#fff;color:#111;padding:13px 14px;font:inherit;border-radius:0}.serviceRequestForm textarea{resize:vertical;min-height:126px}.fieldPair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.serviceRequestForm>label{margin-bottom:18px}.serviceRequestForm label small{font-weight:500;color:#646964}.fieldHint{font-size:.76rem!important;line-height:1.4}.driveQuestion,.parentFields{border:0;padding:0;margin:0 0 20px}.driveQuestion legend,.parentFields legend{font-weight:900;font-size:.84rem;margin-bottom:10px}.choiceRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choiceRow label{cursor:pointer}.choiceRow input{position:absolute;opacity:0;pointer-events:none}.choiceRow span{display:block;text-align:center;padding:12px;border:1px solid #aeb4ae;background:#fff;font-weight:900}.choiceRow input:checked+span{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -4px 0 var(--orange)}.choiceRow input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}.parentFields{padding:18px;border:1px solid #c7cbc6;background:#e8eae6}.parentFields .check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.parentFields .check input{width:auto}.parentFields #parentContact{margin-top:18px}.requestSummary{margin:20px 0;padding:16px 18px;background:#101310;color:#fff;border-left:4px solid var(--lime)}.requestSummary span{display:block;color:var(--lime);font-size:.64rem;font-weight:950;letter-spacing:.15em}.requestSummary p{margin:5px 0 0;color:#fff;font-size:.9rem;line-height:1.45}.serviceRequestForm .cta{border:0;cursor:pointer;width:100%;padding:16px;background:var(--orange);color:#080808;font-weight:950;text-transform:uppercase}.formFine{font-size:.72rem;color:#676c67;text-align:center;margin:10px 0 0}
.studentHandoff{background:#f2f2ee;color:#111}.studentHandoff>div:first-child{max-width:850px}.studentHandoff h2{font-size:clamp(2.7rem,4vw,4.7rem);line-height:.94;margin:.25rem 0 1rem}.studentHandoff>div:first-child>p:last-child{max-width:760px;line-height:1.65}.handoffFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-top:38px}.handoffFlow article{min-height:170px;padding:26px;background:#fff;border-top:4px solid #222;box-shadow:0 12px 30px rgba(0,0,0,.07)}.handoffFlow article:nth-of-type(2){border-color:var(--lime);background:#0d100e;color:#fff}.handoffFlow article:nth-of-type(3){border-color:var(--orange)}.handoffFlow span{display:block;font-size:.66rem;font-weight:950;letter-spacing:.16em;color:#555;margin-bottom:14px}.handoffFlow article:nth-of-type(2) span{color:var(--lime)}.handoffFlow strong{display:block;font-size:1.15rem;line-height:1.25}.handoffFlow p{font-size:.88rem;line-height:1.5;color:#5b615c}.handoffFlow article:nth-of-type(2) p{color:#c5cbc6}.handoffFlow>b{font-size:1.8rem;color:#747a75}.handoffFine{margin-top:18px}.studentCallout{margin-top:30px;padding:22px;border:1px solid #3c433d;background:#101411}.studentCallout strong{color:#fff}.studentCallout p{color:#bfc6c0;margin:.5rem 0}.studentCallout a{color:#ff9a55;font-weight:900;text-decoration:none}
@media(max-width:980px){.requestExperience{grid-template-columns:1fr;gap:38px}.requestGuide{position:static}.handoffFlow{grid-template-columns:1fr}.handoffFlow>b{transform:rotate(90deg);justify-self:center}.serviceRequestForm{max-width:760px;width:100%}}@media(max-width:600px){.serviceRequestForm{padding:24px 18px}.fieldPair{grid-template-columns:1fr}.choiceRow{grid-template-columns:1fr}.formHeader{display:block}.formHeader strong{display:block;margin-top:6px}.requestExperience h2,.studentHandoff h2{font-size:2.7rem}.handoffFlow article{min-height:0}}

/* portfolio case study */
.caseStudyPage{background:#080a09;color:#f5f7f4}
.caseStudyNav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(22px,5vw,84px);border-bottom:1px solid #303630;background:rgba(8,10,9,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.caseStudyNav .caseBrand{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.caseStudyNav .caseBrand img{width:92px;height:50px;object-fit:contain}.caseStudyNav nav{display:flex;gap:22px;align-items:center}.caseStudyNav nav a{color:#d8ddd9;text-decoration:none;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.caseStudyNav nav a:hover,.caseStudyNav nav a:focus-visible{color:#fff}.caseStudyNav .btn{padding:12px 18px}
.caseHero{min-height:690px;position:relative;display:grid;align-items:end;overflow:hidden;padding:110px clamp(24px,7vw,118px) 86px;background:#0a0d0b}
.caseHero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080a09 0 42%,rgba(8,10,9,.82) 57%,rgba(8,10,9,.28) 100%),url('https://images.pexels.com/photos/4489737/pexels-photo-4489737.jpeg?auto=compress&cs=tinysrgb&w=2200') 72% center/cover no-repeat;filter:saturate(.8) contrast(1.08)}
.caseHero:after{content:"";position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,var(--lime) 0 66%,var(--orange) 66%)}
.caseHeroInner{position:relative;z-index:2;max-width:870px}.caseKicker{display:flex;align-items:center;gap:12px;color:#f1f4f1;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.caseKicker:before{content:"";width:42px;height:3px;background:var(--orange)}
.caseHero h1{margin:.55rem 0 1.1rem;font-size:clamp(4rem,7vw,7.8rem);line-height:.84;letter-spacing:-.055em;text-transform:uppercase}.caseHero h1 span{display:block;color:var(--lime)}.caseHero .caseLead{max-width:720px;color:#d3d8d4;font-size:clamp(1.05rem,1.35vw,1.28rem);line-height:1.6}.caseMeta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.caseMeta span{border:1px solid #485048;background:rgba(8,10,9,.72);padding:9px 12px;color:#f4f6f4;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.caseSection{padding:clamp(70px,8vw,120px) clamp(24px,7vw,118px);border-bottom:1px solid #2c312d}.caseSection.light{background:#f2f3ef;color:#111}.caseSection.dark{background:#0b0e0c}.caseSection.greenWash{background:linear-gradient(135deg,#10170f,#0a0d0b 68%)}
.caseGrid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(44px,7vw,110px);align-items:start}.caseSection h2{font-size:clamp(2.7rem,4.4vw,5.2rem);line-height:.93;letter-spacing:-.045em;text-transform:uppercase;margin:.3rem 0 1.2rem}.caseSection h2 em{display:block;color:var(--lime);font-style:normal}.caseSection.light h2 em{color:#397d00}.caseSection p{font-size:1.02rem;line-height:1.7;color:#c4cbc5;max-width:760px}.caseSection.light p{color:#3e443f}.caseIntro{font-size:1.2rem!important;color:#fff!important}.caseSection.light .caseIntro{color:#161916!important}
.caseProblemList{display:grid;gap:1px;background:#313631;border:1px solid #313631}.caseProblemList article{background:#0b0e0c;padding:26px 28px}.caseProblemList b{color:var(--orange);font-size:.7rem;letter-spacing:.15em}.caseProblemList h3{font-size:1.25rem;margin:.45rem 0 .45rem;color:#fff}.caseProblemList p{margin:0;font-size:.92rem;line-height:1.55;color:#adb5ae}
.caseStrategy{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9cdc8;border:1px solid #c9cdc8;margin-top:48px}.caseStrategy article{background:#f8f8f5;padding:32px}.caseStrategy b{display:block;color:#b54b00;font-size:.72rem;letter-spacing:.14em;margin-bottom:16px}.caseStrategy h3{font-size:1.35rem;margin:0 0 .7rem;text-transform:uppercase}.caseStrategy p{font-size:.94rem;margin:0;line-height:1.55}
.caseQuote{margin:0;padding:clamp(34px,5vw,64px);border-left:6px solid var(--orange);background:#111512;color:#fff;font-size:clamp(1.65rem,2.8vw,3.2rem);line-height:1.15;font-weight:850;letter-spacing:-.025em}.caseQuote span{display:block;color:var(--lime);margin-top:.25em}
.caseScreens{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:48px}.caseScreen{min-height:390px;border:1px solid #343a35;background:#111713;position:relative;overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.25)}.caseScreen.heroStudy{background:linear-gradient(90deg,rgba(6,8,7,.94),rgba(6,8,7,.25)),url('https://images.pexels.com/photos/4489737/pexels-photo-4489737.jpeg?auto=compress&cs=tinysrgb&w=1800') center/cover}.caseScreen.studentStudy{background:linear-gradient(0deg,rgba(6,8,7,.9),rgba(6,8,7,.2)),url('https://images.pexels.com/photos/7972653/pexels-photo-7972653.jpeg?auto=compress&cs=tinysrgb&w=1400') center/cover}.caseScreenCopy{position:absolute;left:30px;right:30px;bottom:30px}.caseScreenCopy small{color:#fff;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.caseScreenCopy strong{display:block;color:var(--lime);font-size:clamp(1.7rem,3vw,3.6rem);line-height:.9;text-transform:uppercase;margin-top:8px}.caseScreenCopy p{font-size:.9rem;color:#fff;margin:.7rem 0 0;max-width:480px}
.caseFlow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}.caseFlow article{border-top:4px solid var(--lime);background:#121613;padding:26px 22px;min-height:190px}.caseFlow b{color:var(--orange);font-size:.72rem;letter-spacing:.13em}.caseFlow h3{font-size:1.15rem;margin:.7rem 0;color:#fff}.caseFlow p{font-size:.88rem;line-height:1.5;margin:0;color:#adb5ae}
.caseFeature{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}.caseFeature article{border:1px solid #cdd1cc;background:#fff;padding:30px}.caseFeature h3{margin:0 0 .7rem;font-size:1.25rem;text-transform:uppercase}.caseFeature p{margin:0;font-size:.94rem}
.caseOutcome{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.caseOutcome .caseStat{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#343a35;border:1px solid #343a35}.caseOutcome .caseStat div{background:#0b0e0c;padding:28px}.caseOutcome .caseStat strong{display:block;color:var(--lime);font-size:2rem;line-height:1}.caseOutcome .caseStat span{display:block;color:#c6ccc7;font-size:.82rem;line-height:1.4;margin-top:8px}.caseDisclaimer{font-size:.78rem!important;color:#919a92!important;margin-top:24px!important}
.caseCTA{text-align:center;padding:clamp(80px,9vw,140px) 24px;background:#0b0e0c}.caseCTA h2{font-size:clamp(3rem,6vw,6.5rem);line-height:.88;text-transform:uppercase;letter-spacing:-.05em;margin:0 auto 24px;max-width:1000px}.caseCTA h2 span{color:var(--lime)}.caseCTA p{max-width:660px;margin:0 auto 28px;color:#c1c8c2;line-height:1.65}.caseCTA .actions{justify-content:center}
.caseFooter{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px clamp(24px,7vw,118px);border-top:1px solid #303630;background:#070908;color:#b7beb8;font-size:.8rem}.caseFooter a{color:#fff;text-decoration:none;font-weight:800}
@media(max-width:900px){.caseStudyNav nav{display:none}.caseHero{min-height:610px}.caseHero:before{background:linear-gradient(0deg,rgba(8,10,9,.95),rgba(8,10,9,.42)),url('https://images.pexels.com/photos/4489737/pexels-photo-4489737.jpeg?auto=compress&cs=tinysrgb&w=1400') center/cover}.caseGrid,.caseOutcome{grid-template-columns:1fr}.caseStrategy{grid-template-columns:1fr}.caseScreens{grid-template-columns:1fr}.caseFlow{grid-template-columns:1fr 1fr}.caseFeature{grid-template-columns:1fr}.caseStudyNav .caseBrand span{display:none}}
@media(max-width:560px){.caseHero{min-height:560px;padding-top:80px}.caseHero h1{font-size:clamp(3.4rem,16vw,5rem)}.caseFlow{grid-template-columns:1fr}.caseOutcome .caseStat{grid-template-columns:1fr}.caseStudyNav .btn{font-size:.68rem;padding:10px 12px}.caseFooter{align-items:flex-start;flex-direction:column}}

/* BRAND IDENTITY SYSTEM */
.brandHero{min-height:640px;padding:150px max(32px,calc((100vw - 1440px)/2)) 90px;display:flex;align-items:end;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 30%,#24351d 0,#0b100c 26%,#070908 58%)}
.brandHero:before{content:"";position:absolute;right:-5%;top:8%;width:46%;height:80%;border:1px solid #2d3a2e;transform:skewX(-12deg);background:repeating-linear-gradient(90deg,transparent 0 58px,#182018 59px 60px)}
.brandHero>div{position:relative;z-index:2;max-width:1050px}.brandHero h1{font-family:var(--display);font-size:clamp(4.2rem,7vw,8.2rem);line-height:.84;letter-spacing:-.06em;margin:.45rem 0 1rem;text-transform:uppercase}.brandHero h1 span{display:block;color:var(--lime)}
.brandPrinciples{display:grid;gap:1px;background:#c9cdc8;border:1px solid #c9cdc8}.brandPrinciples article{background:#fff;padding:25px}.brandPrinciples b,.messageStack span,.voiceCompare span,.typeSpec span,.appCard small{display:block;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:950;color:#397d00}.brandPrinciples h3{margin:.45rem 0 0;font-size:1.15rem;line-height:1.4}
.messageStack{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-top:40px}.messageStack article{padding:25px;background:#111512;border-top:3px solid #3b433c}.messageStack .primaryMessage{grid-row:span 2;border-top-color:var(--lime);display:flex;flex-direction:column;justify-content:end;min-height:310px}.messageStack span{color:var(--orange)}.messageStack strong{display:block;font-family:var(--display);font-size:clamp(1.3rem,2vw,2.35rem);line-height:.98;margin-top:12px}.messageStack .primaryMessage strong{font-size:clamp(2.4rem,4vw,4.7rem);color:var(--lime)}.messageStack p{font-size:.9rem!important;color:#bfc6c0!important}
.voiceCompare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voiceCompare article{padding:24px;background:#fff;border-top:4px solid #397d00}.voiceCompare article:last-child{border-top-color:#777}.voiceCompare strong{display:block;padding:12px 0;border-bottom:1px solid #ddd;font-size:1rem}.voiceCompare article:last-child strong{color:#6a6f6b}
.swatchGrid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:38px;border:1px solid #333}.swatch{min-height:180px;padding:18px;display:flex;flex-direction:column;justify-content:end}.swatch b{font-size:1rem}.swatch span{font-size:.72rem;margin-top:5px}.swatch.lime{background:#79ff00;color:#071006}.swatch.orange{background:#ff7417;color:#080808}.swatch.asphalt{background:#070908;color:#fff}.swatch.charcoal{background:#101311;color:#fff}.swatch.paper{background:#f2f2ee;color:#111}.swatch.deepgreen{background:#397d00;color:#fff}.brandRule{margin-top:18px;padding:20px 24px;border-left:5px solid var(--orange);background:#111512;display:grid;grid-template-columns:240px 1fr;gap:20px}.brandRule strong{font-size:1.25rem;color:#fff}.brandRule p{margin:0!important}
.typeSpec{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:42px}.typeSpec>div{padding:30px;background:#0b0e0c;border:1px solid #333}.typeSpec strong{display:block;font-family:var(--display);font-size:clamp(2.6rem,4vw,4.8rem);line-height:.88;margin:14px 0;color:var(--lime)}.typeSpec h3{font-size:1.7rem;margin:14px 0}.typeSpec p{font-size:.9rem!important}.typeSpec span{color:var(--orange)}
.logoRules{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:42px;align-items:center}.logoStage{min-height:320px;display:grid;place-items:center;padding:55px;position:relative}.darkStage{background:#070908;border:1px solid #343a35}.logoStage img{width:min(100%,430px);height:auto;background:transparent!important}.logoStage span{position:absolute;bottom:18px;left:20px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#b8c0b9}.logoNotes h3{font-size:2rem;margin:0 0 12px}.logoNotes p{font-size:1rem!important}
.graphicDemo{min-height:330px;background:#080a09;position:relative;overflow:hidden;padding:32px;color:#fff;display:flex;flex-direction:column;justify-content:end}.graphicDemo:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 45%,#79ff00 45% 47%,transparent 47% 68%,#ff7417 68% 70%,transparent 70%)}.graphicDemo i{position:absolute;top:35px;height:1px;background:#394039;width:70%}.graphicDemo i:nth-child(2){top:55px;width:54%}.graphicDemo i:nth-child(3){top:75px;width:38%}.graphicDemo strong,.graphicDemo span,.graphicDemo b{position:relative;z-index:2}.graphicDemo strong{font-family:var(--display);font-size:2.2rem}.graphicDemo span{color:var(--lime);margin-top:8px}.graphicDemo b{color:var(--orange);margin-top:14px}
.shotList{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#343a35;border:1px solid #343a35}.shotList span{background:#0b0e0c;padding:18px;color:#d8ded9;font-weight:800}.applicationGrid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:18px;margin-top:40px}.appCard{min-height:330px;padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:end}.appCard.social{background:#080a09;color:#fff;border-top:6px solid var(--lime)}.appCard.social:after{content:"";position:absolute;right:-70px;top:-40px;width:220px;height:390px;background:#79ff00;opacity:.1;transform:skewX(-18deg)}.appCard strong{font-family:var(--display);font-size:clamp(1.8rem,2.7vw,3.2rem);line-height:.92;margin:12px 0}.appCard.social strong{color:var(--lime)}.appCard b{display:inline-block;margin-top:20px;color:var(--orange)}.appCard.card{background:#fff;border:1px solid #cfd2cc;color:#111;justify-content:flex-start}.appCard.card img{width:150px;height:auto;background:transparent;margin:24px 0}.appCard.card p{font-size:.9rem!important}.appCard.bgsuApp{background:linear-gradient(145deg,#111912,#080a09);color:#fff;border-top:6px solid var(--orange)}.appCard.bgsuApp strong{color:#fff}.appCard.bgsuApp p{color:#cbd2cc!important;font-size:.9rem!important}
@media(max-width:900px){.messageStack{grid-template-columns:1fr 1fr}.messageStack .primaryMessage{grid-column:1/-1;grid-row:auto}.swatchGrid{grid-template-columns:repeat(3,1fr)}.typeSpec,.logoRules,.applicationGrid{grid-template-columns:1fr}.brandRule{grid-template-columns:1fr}}
@media(max-width:600px){.brandHero{min-height:560px;padding-top:120px}.brandHero h1{font-size:clamp(3.3rem,15vw,5rem)}.messageStack,.voiceCompare,.swatchGrid,.shotList{grid-template-columns:1fr}.swatch{min-height:125px}}


/* V8 SALES-READY FINISHING PASS */
.pageHero{position:relative;isolation:isolate;overflow:hidden}.pageHero:after{content:"";position:absolute;z-index:-1;right:-7vw;bottom:-9rem;width:min(48vw,720px);height:150%;border-left:1px solid rgba(121,255,0,.22);background:linear-gradient(130deg,transparent 0 38%,rgba(121,255,0,.06) 38% 40%,transparent 40% 62%,rgba(255,116,23,.07) 62% 64%,transparent 64%);transform:skewX(-10deg);pointer-events:none}
.serviceCards.wide .serviceCard{position:relative;overflow:hidden;min-height:250px;display:flex;flex-direction:column}.serviceCards.wide .serviceCard:after{content:"";position:absolute;right:-46px;bottom:-70px;width:130px;height:190px;border:1px solid rgba(57,125,0,.18);transform:rotate(18deg)}.serviceCards.wide .serviceCard b{margin-top:auto;padding-top:22px;color:#397d00}.serviceCards.wide .serviceCard:hover b{transform:translateX(4px)}
.teamIdentity article{background:#111512;border:1px solid #303830;padding:32px;min-height:260px;display:flex;flex-direction:column;justify-content:end}.teamIdentity strong{font-family:var(--display);font-size:1.55rem;color:#fff;margin-top:20px}.teamIdentity small{color:#b8c0b9;margin-top:5px}.teamInitial{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#071006!important;font-family:var(--display);font-size:1.55rem!important;font-weight:950}.teamIdentity .shopIdentity{border-top:4px solid var(--orange)}.teamIdentity .shopIdentity .teamInitial{background:var(--orange)}
.reputation .reviewStats.big{box-shadow:0 22px 60px rgba(0,0,0,.08)}.themeGrid article{position:relative;overflow:hidden}.themeGrid article:after{content:"";position:absolute;right:-28px;bottom:-44px;width:90px;height:120px;border:1px solid rgba(57,125,0,.14);transform:rotate(20deg)}
.deliverableGrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cfd3ce;border:1px solid #cfd3ce}.deliverableGrid article{background:#fff;padding:25px;min-height:175px}.deliverableGrid b{display:block;color:#397d00;font-size:.72rem;letter-spacing:.15em}.deliverableGrid strong{display:block;font-size:1.15rem;text-transform:uppercase;margin:16px 0 8px}.deliverableGrid span{font-size:.88rem;line-height:1.5;color:#535a54}
.identityChecklist{display:grid;grid-template-columns:1fr 1fr;gap:10px}.identityChecklist span{position:relative;background:#111512;border:1px solid #303830;padding:18px 18px 18px 48px;color:#e8ece9;font-weight:800}.identityChecklist span:before{content:"✓";position:absolute;left:18px;color:var(--lime);font-weight:950}
@media(max-width:760px){.deliverableGrid,.identityChecklist{grid-template-columns:1fr}.serviceCards.wide .serviceCard{min-height:220px}.teamIdentity article{min-height:220px}}

/* private presenter + completion layer */
.presenterPage{background:#0a0d0b;color:#f4f6f1}.presenterTop{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:12px clamp(18px,4vw,64px);background:rgba(8,11,9,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.presenterLogo img{width:112px;height:54px;object-fit:contain}.presenterTop>div{display:flex;flex-direction:column}.presenterTop b{font-size:.76rem;letter-spacing:.14em;color:#b9ee34}.presenterTop span{font-size:.8rem;color:#aab0ab}.presenterShell{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1500px;margin:auto}.presenterNav{position:sticky;top:79px;height:calc(100vh - 79px);padding:42px 22px;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:5px}.presenterNav a{padding:10px 12px;color:#aab0ab;text-decoration:none;font-size:.82rem;border-left:2px solid transparent}.presenterNav a:hover,.presenterNav a:focus-visible{color:#fff;border-color:#b9ee34;background:rgba(255,255,255,.04)}.presenterDeck{min-width:0}.presenterSlide{position:relative;min-height:78vh;padding:clamp(64px,8vw,120px) clamp(28px,7vw,110px);background:#f2f1eb;color:#111712;border-bottom:1px solid #d9ddd7;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.presenterSlide:nth-child(even){background:#e8ebe5}.presenterSlide.darkSlide,.presenterSlide.heroSlide,.presenterSlide.bgsuPresenter{background:#0c120e;color:#f5f6f2}.presenterSlide.heroSlide{background:radial-gradient(circle at 85% 25%,rgba(185,238,52,.12),transparent 28%),linear-gradient(135deg,#111813,#070907 70%)}.presenterSlide.bgsuPresenter{background:linear-gradient(135deg,#111a13,#071008)}.presenterSlide h1,.presenterSlide h2{max-width:900px;margin:.12em 0 .35em;line-height:.92;letter-spacing:-.04em}.presenterSlide h1{font-size:clamp(3.4rem,7vw,7rem)}.presenterSlide h2{font-size:clamp(2.5rem,5vw,5.2rem)}.presenterSlide h1 em,.presenterSlide h2 em{font-style:normal;color:#73c900}.darkSlide h2 em,.heroSlide h1 em,.bgsuPresenter h2 em{color:#b9ee34}.presenterLead{font-size:clamp(1.08rem,1.7vw,1.45rem);line-height:1.55;max-width:820px}.presenterNum{position:absolute;right:clamp(24px,5vw,70px);top:34px;font-weight:900;font-size:clamp(3rem,8vw,7rem);line-height:1;color:rgba(0,0,0,.06)}.darkSlide .presenterNum,.bgsuPresenter .presenterNum{color:rgba(255,255,255,.07)}.presenterGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0;max-width:1100px}.presenterGrid.four{grid-template-columns:repeat(4,1fr)}.presenterGrid article{padding:24px;background:#fff;border:1px solid #d9ddd7;border-top:4px solid #73c900}.darkSlide .presenterGrid article{background:#151c17;border-color:#273029;border-top-color:#b9ee34}.presenterGrid b{font-size:1.05rem}.presenterGrid p{margin-bottom:0;color:#4d554f}.darkSlide .presenterGrid p{color:#c3c8c4}.presenterPath{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:28px 0}.presenterPath span{padding:14px 18px;border:1px solid rgba(255,255,255,.18);font-weight:800}.presenterPath i{color:#b9ee34;font-style:normal}.presenterActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.presenterNote{margin-top:34px;max-width:820px;padding:18px 20px;border-left:3px solid #f58220;background:rgba(245,130,32,.08);font-size:.95rem}.presenterFooter{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,64px);background:#050706;color:#8f9690;font-size:.8rem}.presenterFooter a{color:#b9ee34}.errorPage{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,rgba(185,238,52,.12),transparent 30%),#080b09;color:#f5f6f2;padding:30px}.errorPage main{max-width:760px}.errorPage img{width:min(250px,60vw);height:auto;margin-bottom:28px}.errorPage h1{font-size:clamp(3rem,8vw,6.5rem);line-height:.92;margin:.1em 0 .3em}.errorPage h1 em{font-style:normal;color:#b9ee34}.errorPage p{max-width:600px;font-size:1.1rem}.errorPage .actions{margin-top:28px}@media(max-width:900px){.presenterTop{grid-template-columns:auto 1fr}.presenterTop>.btn{display:none}.presenterShell{display:block}.presenterNav{position:sticky;top:79px;height:auto;z-index:40;overflow:auto;flex-direction:row;padding:8px 14px;background:#0a0d0b;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.presenterNav a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.presenterGrid,.presenterGrid.four{grid-template-columns:1fr 1fr}.presenterSlide{min-height:auto;padding:72px 24px}.presenterPath i{display:none}}@media(max-width:600px){.presenterGrid,.presenterGrid.four{grid-template-columns:1fr}.presenterTop span{display:none}.presenterLogo img{width:88px}.presenterSlide h1{font-size:clamp(3rem,16vw,4.6rem)}.presenterSlide h2{font-size:clamp(2.4rem,12vw,3.6rem)}}

/* CONFIDENCE THROUGH SUBTRACTION */
/* Orange is action-only in the customer experience. Lime identifies the brand. */


.site-header .btn{margin-left:4px}
.hero{min-height:625px}.hero-copy{width:min(760px,55vw)}
.hero-line-primary{font-size:.72em;letter-spacing:-.018em}.hero-line-accent{font-size:.92em;letter-spacing:-.055em}
.hero-sub{max-width:620px}
.service-strip{grid-template-columns:repeat(6,1fr)}
.service-strip a{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 10px}
.service-strip svg{width:25px;height:25px;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:.18s}
.service-strip a:hover,.service-strip a:focus-visible{background:#121713;color:#fff}.service-strip a:hover svg,.service-strip a:focus-visible svg{stroke:var(--orange)}
/* editorial service composition */
.service-cards{grid-template-columns:1.65fr repeat(3,1fr);align-items:stretch}
.service-cards>a:first-child{min-height:410px;grid-row:span 1}.service-cards>a:not(:first-child){min-height:410px}
.service-cards>a:first-child h3{font-size:2.2rem}.service-cards>a:first-child .card-photo{height:62%}
.service-cards>a:first-child{grid-template-rows:62% 38%}.service-cards>a:not(:first-child){grid-template-rows:48% 52%}
/* one proof moment, not two competing trust sections */
.proof-ribbon.proof-edited{display:grid;grid-template-columns:.85fr 1.5fr auto;align-items:center;background:#f5f4ef;color:#111;padding:0 max(28px,calc((100vw - var(--content-max))/2));border:0}
.proof-ribbon.proof-edited>*{min-height:130px;padding:26px 32px;border-right:1px solid #d4d4ce;display:flex;justify-content:center;flex-direction:column}
.proof-ribbon.proof-edited blockquote{margin:0;font-size:1.08rem;line-height:1.45;font-weight:800}.proof-ribbon.proof-edited cite{display:block;margin-top:8px;font-size:.7rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#555}
.proof-ribbon.proof-edited>a{border-right:0;color:#111;text-decoration:none;font-weight:950;text-transform:uppercase;font-size:.76rem;letter-spacing:.04em}.proof-ribbon.proof-edited>a:hover,.proof-ribbon.proof-edited>a:focus-visible{color:#397d00}
.symptom-section{padding-top:72px;padding-bottom:72px}.symptom-mini-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#303630;margin:22px 0 4px;border:1px solid #303630}.symptom-mini-plan div{background:#0c0f0d;padding:13px 12px;display:flex;align-items:center;gap:9px}.symptom-mini-plan b{display:grid;place-items:center;width:26px;height:26px;background:var(--lime);color:#071006;font-size:.75rem}.symptom-mini-plan span{font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.04em}
/* BGSU becomes a campaign moment */
.bgsu-band.bgsu-campaign{min-height:440px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);position:relative;padding-top:72px;padding-bottom:72px;border-top:0;background:radial-gradient(circle at 85% 45%,rgba(121,255,0,.10),transparent 26%),linear-gradient(115deg,#070908 0 55%,#111a13 100%)}
.bgsu-campaign .bgsu-kicker{position:absolute;top:0;left:max(32px,calc((100vw - var(--content-max))/2));right:max(32px,calc((100vw - var(--content-max))/2));padding:14px 0;border-bottom:1px solid #343a35;color:#cbd2cc;text-transform:uppercase;font-size:.68rem;font-weight:900;letter-spacing:.18em}
.bgsu-message{max-width:780px}.bgsu-message h2{font-size:clamp(3rem,4.7vw,5.2rem)}.bgsu-message p:not(.eyebrow){max-width:650px;font-size:1.05rem;line-height:1.6}.bgsu-message .btn{margin-top:14px}
.bgsu-poster{align-self:stretch;border-left:1px solid #344036;display:flex;flex-direction:column;justify-content:center;padding-left:clamp(34px,5vw,80px);transform:skewX(-3deg)}.bgsu-poster>*{transform:skewX(3deg)}.bgsu-poster span{font-size:.78rem;font-weight:900;letter-spacing:.18em;color:#c8cec9}.bgsu-poster strong{font:900 clamp(2.5rem,4.3vw,4.8rem)/.9 var(--display);letter-spacing:-.05em;color:var(--lime);margin-top:12px}
/* stronger closing loop */
.final-cta{background:#101411;color:#fff;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center;border-top:1px solid #303630}.final-cta h2{font-size:clamp(3rem,4.5vw,5.2rem)}.final-cta h2 em{color:var(--lime)}.final-cta>div>p:not(.eyebrow){font-size:1.08rem;color:#cbd2cc}.final-cta aside{border-left:1px solid #3b423c;padding:34px 0 34px 44px}.final-cta aside span{font-size:.68rem;letter-spacing:.18em;font-weight:900;color:#cbd2cc}.final-cta aside strong{display:block;font:900 2rem var(--display);margin-top:13px}.final-cta aside p{color:#cbd2cc}.final-cta aside a{color:var(--lime);font-weight:900;text-transform:uppercase;font-size:.78rem;text-decoration:none}.final-cta aside a:hover,.final-cta aside a:focus-visible{color:#fff}
/* quieter support typography */
.service-cards h3,.symptom-result h3{font-style:normal}.service-cards small{letter-spacing:.1em}.proof-label{letter-spacing:.13em}
@media(max-width:1050px){.service-cards{grid-template-columns:1.25fr 1fr}.service-cards>a{min-height:340px!important}.proof-ribbon.proof-edited{grid-template-columns:1fr 1.5fr}.proof-ribbon.proof-edited>a{grid-column:1/-1;min-height:auto;border-top:1px solid #d4d4ce}.bgsu-band.bgsu-campaign{grid-template-columns:1fr}.bgsu-poster{border-left:0;border-top:1px solid #344036;padding:38px 0 0;margin-top:12px}.final-cta{grid-template-columns:1fr .65fr}}
@media(max-width:780px){.hero{min-height:650px}.hero-copy{width:auto}.hero-line-primary{font-size:.74em}.hero-line-accent{font-size:.92em}.service-strip{grid-template-columns:repeat(3,1fr)}.service-strip a{flex-direction:column;gap:5px}.service-cards{grid-template-columns:1fr}.service-cards>a{min-height:320px!important}.proof-ribbon.proof-edited{grid-template-columns:1fr;padding:0}.proof-ribbon.proof-edited>*{min-height:auto;border-right:0;border-bottom:1px solid #d4d4ce}.symptom-mini-plan{grid-template-columns:1fr}.bgsu-band.bgsu-campaign{padding-top:86px}.final-cta{grid-template-columns:1fr;gap:28px}.final-cta aside{border-left:0;border-top:1px solid #3b423c;padding:28px 0 0}}
@media(max-width:520px){.service-strip{grid-template-columns:repeat(2,1fr)}.hero{padding-bottom:0}.hero-line-primary{font-size:.72em}.hero-line-accent{font-size:.88em}}

/* INTERIOR PAGE COMPLETION */
.navPhone{color:var(--lime)!important;font-weight:900!important;white-space:nowrap}.navPhone:after{display:none!important}
.pageHero{position:relative;overflow:hidden}.pageHero:after{content:"";position:absolute;right:-7vw;bottom:-10vw;width:34vw;height:34vw;border:1px solid rgba(185,238,52,.11);transform:rotate(28deg);pointer-events:none}.pageHero> *{position:relative;z-index:1}
.servicesHero,.aboutHero{background:radial-gradient(circle at 82% 40%,rgba(185,238,52,.11),transparent 27%),linear-gradient(120deg,#0a0d0b,#111813);color:#fff}.servicesHero h1 span,.aboutHero h1 span{color:var(--lime)}
.serviceDirectoryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cfd3cc;border:1px solid #cfd3cc}.serviceDirectoryGrid a{background:#fff;color:#111;text-decoration:none;padding:30px 26px;min-height:255px;display:flex;flex-direction:column;transition:.2s}.serviceDirectoryGrid a:hover,.serviceDirectoryGrid a:focus-visible{background:#111713;color:#fff;transform:translateY(-3px)}.serviceDirectoryGrid b{font:900 .75rem var(--display);color:#397d00;letter-spacing:.12em}.serviceDirectoryGrid h3{font:900 1.6rem/1 var(--display);margin:28px 0 12px}.serviceDirectoryGrid p{line-height:1.5;margin:0 0 24px}.serviceDirectoryGrid span{margin-top:auto;font-size:.75rem;font-weight:900;text-transform:uppercase;color:#397d00}.serviceDirectoryGrid a:hover span,.serviceDirectoryGrid a:focus-visible span{color:var(--lime)}
.serviceUnknown{display:grid;grid-template-columns:1fr 1fr auto;gap:48px;align-items:center}.serviceUnknown h2 span,.aboutPrinciples h2 span{color:var(--lime)}.unknownExamples{display:grid;gap:8px}.unknownExamples span{padding:12px 16px;border-left:2px solid var(--lime);background:#151a16;font-weight:800}.vehicleFit{display:flex;align-items:center;justify-content:space-between;gap:50px}.vehicleFit>div{max-width:760px}
.aboutOrigin,.reputationStory{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.aboutOrigin h2 span,.reputationStory h2 span{color:#397d00}.principleGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343a35}.principleGrid article{background:#111713;padding:34px}.principleGrid b{color:var(--lime);font-size:.72rem}.principleGrid h3{font:900 1.55rem/1.05 var(--display);margin:28px 0 12px}.principleGrid p{color:#cbd2cc;line-height:1.55}.reputationNumber{border-left:1px solid #c9cec7;padding:25px 0 25px 55px}.reputationNumber strong{display:block;font:900 clamp(5rem,9vw,8rem)/.8 var(--display);color:#397d00}.reputationNumber span{display:block;font-weight:900;text-transform:uppercase;margin-top:20px}.reputationNumber small{display:block;margin-top:7px;color:#626862}
.serviceDetailPage{align-items:start}.serviceProof{position:sticky;top:120px}.serviceHero h1{max-width:950px}.serviceHero .lede{max-width:760px}.faq details{transition:.18s}.faq details:hover{border-color:#9ba29c}
.reviewStats.big{border-top:4px solid var(--lime)}.themeGrid article{transition:.18s}.themeGrid article:hover{transform:translateY(-4px)}
@media(max-width:1100px){.serviceDirectoryGrid{grid-template-columns:repeat(2,1fr)}.serviceUnknown{grid-template-columns:1fr 1fr}.serviceUnknown>.cta{grid-column:1/-1;width:max-content}.aboutOrigin,.reputationStory{gap:45px}}
@media(max-width:780px){.navPhone{display:none!important}.serviceDirectoryGrid{grid-template-columns:1fr}.serviceDirectoryGrid a{min-height:210px}.serviceUnknown,.aboutOrigin,.reputationStory{grid-template-columns:1fr}.vehicleFit{display:block}.vehicleFit .secondary{display:inline-flex;margin-top:18px}.principleGrid{grid-template-columns:1fr}.reputationNumber{border-left:0;border-top:1px solid #c9cec7;padding:30px 0 0}.serviceProof{position:static}.pageHero:after{width:70vw;height:70vw}}


/* service-page completion */
.serviceClues{position:relative;overflow:hidden}
.serviceClues:after{content:"";position:absolute;right:-8rem;top:-9rem;width:28rem;height:28rem;border:1px solid rgba(183,255,46,.12);transform:rotate(32deg);pointer-events:none}
.clueGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2a2c2c;border:1px solid #2a2c2c;max-width:1180px;margin:2rem auto 0}
.clueGrid article{background:#101212;padding:2rem;min-height:190px;position:relative}
.clueGrid b{display:block;color:var(--lime,#b7ff2e);font-size:.8rem;letter-spacing:.16em;margin-bottom:2.5rem}
.clueGrid h3{color:#fff;font-size:clamp(1.15rem,1.5vw,1.55rem);line-height:1.05;margin:0 0 .8rem;max-width:18ch}
.clueGrid p{color:#c8cccc;margin:0;max-width:34ch}
.serviceDetailPage .symptomList li{padding:.8rem 0;border-bottom:1px solid rgba(0,0,0,.12)}
.serviceDetailPage .symptomList li::marker{color:var(--lime,#5d8f00)}
@media(max-width:800px){.clueGrid{grid-template-columns:1fr}.clueGrid article{min-height:0}.clueGrid b{margin-bottom:1rem}}

/* BGSU + request experience */
.studentHero{min-height:620px;position:relative;overflow:hidden;background:radial-gradient(circle at 82% 42%,rgba(183,255,46,.13),transparent 26%),linear-gradient(118deg,#070908 0 58%,#101811 100%)}
.studentHero:after{content:"BG";position:absolute;right:-.02em;bottom:-.22em;font:900 clamp(15rem,31vw,34rem)/.8 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(183,255,46,.09);pointer-events:none}
.studentHero>div{position:relative;z-index:1}.studentHero h1{max-width:880px}.studentHero h1 span{color:var(--lime)}
.panicStrip{position:relative;z-index:2}.studentIntro{padding-top:86px;padding-bottom:86px}.parentNote{border-top:4px solid var(--lime)}
.studentProof{background:#f3f3ee}.studentProof .proofLead h2{max-width:680px}.proofStack>div{border-left:3px solid #397d00}
.studentScenario{min-height:520px;background:linear-gradient(115deg,#101411,#070908);color:#fff}.studentScenario h2{max-width:800px}.phoneMock{box-shadow:0 30px 80px rgba(0,0,0,.35)}
.locationSection{background:#fff}.arrival{background:#f3f3ee}.studentHandoff{background:#101411;color:#fff}.studentHandoff h2 span{color:var(--lime)}
.requestExperience{position:relative}.requestExperience:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--lime),transparent)}
.serviceRequestForm{box-shadow:0 24px 70px rgba(0,0,0,.12)}.requestCall{display:flex!important;margin-top:10px;justify-content:center}.formFine{max-width:58ch}
.contactGrid{position:relative}.contactGrid:after{content:"419";position:absolute;right:4%;bottom:-.12em;font:900 clamp(7rem,16vw,15rem)/.8 var(--display);color:rgba(17,20,18,.035);pointer-events:none}
@media(max-width:780px){.studentHero{min-height:auto}.studentHero:after{font-size:18rem;right:-3rem}.studentIntro{padding-top:60px;padding-bottom:60px}.studentScenario{min-height:0}.serviceRequestForm{box-shadow:none}}

/* Interior shell + layout
   Interior pages use .top/.brand while the homepage uses the legacy .site-header/.logo shell.
   These rules intentionally normalize the interior shell and prevent the transparent source logo
   from rendering at its native 1536px width when a page-specific header class is used. */
.top{
  height:92px;min-height:92px;
  padding:0 max(28px,calc((100vw - var(--content-max,1440px))/2));
  display:flex;align-items:center;gap:22px;
  background:rgba(5,7,6,.98);border-bottom:1px solid #303631;
  position:relative;z-index:100;overflow:visible;
}
.top .brand{position:relative;display:block;flex:0 0 190px;height:92px;z-index:3}
.top .brand img{position:absolute;display:block;width:188px;height:auto;max-width:none;top:5px;left:0;background:transparent!important;border-radius:0!important;filter:drop-shadow(0 7px 8px rgba(0,0,0,.42))}
.top nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.top nav a{position:relative;color:#fff;text-decoration:none;text-transform:uppercase;font-family:var(--ui,Arial,sans-serif);font-size:.72rem;font-weight:850;letter-spacing:.06em;white-space:nowrap}
.top nav a:not(.navPhone):after{content:"";position:absolute;left:0;right:100%;bottom:-12px;height:3px;background:var(--orange);transition:right .18s ease}
.top nav a:not(.navPhone):hover:after,.top nav a:not(.navPhone):focus-visible:after,.top nav a[aria-current="page"]:after{right:0}
.top nav a:hover,.top nav a:focus-visible{color:var(--lime)}
.top .navPhone{color:var(--lime)!important}
.top .desktop-cta{flex:0 0 auto;padding:14px 21px;font-size:.75rem}
.top .menu{display:none}

.proofBar{min-height:62px;padding:0 max(28px,calc((100vw - var(--content-max,1440px))/2));display:grid;grid-template-columns:repeat(4,1fr);background:#0c0f0d;border-bottom:1px solid #303631;position:relative;z-index:30}
.proofBar>a,.proofBar>div{min-width:0;padding:13px 20px;border-right:1px solid #2b302c;text-decoration:none;display:flex;flex-direction:column;justify-content:center}
.proofBar>*:first-child{padding-left:0}.proofBar>*:last-child{border-right:0}
.proofBar strong{color:#fff;font-size:.82rem;line-height:1.2}.proofBar span{color:#9ea69f;font-size:.66rem;line-height:1.25;margin-top:3px}
.proofBar a:hover strong,.proofBar a:focus-visible strong{color:var(--lime)}

/* The flagship BGSU hero is not a generic .section, so give it its own content frame. */
.studentHero{padding:100px max(32px,calc((100vw - var(--content-max,1440px))/2)) 86px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.7fr);gap:70px;align-items:center}
.studentHero .lede{max-width:680px;color:#cbd1cc;font-size:1.1rem;line-height:1.65}

/* Shared interior footer used by the completed customer-facing pages. */
footer:has(.footerBrand){padding:42px max(32px,calc((100vw - var(--content-max,1440px))/2));display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.9fr);gap:26px 55px;align-items:center;background:#050605;border-top:1px solid #333}
.footerBrand{display:flex;align-items:center;gap:22px;min-width:0}.footerBrand img{display:block;width:128px!important;height:auto;background:transparent!important;border-radius:0!important}.footerBrand strong{color:#fff}.footerBrand p{margin:.25rem 0;color:#aeb4af;font-size:.82rem}.footerBrand a,.footerLinks a{color:#fff;text-decoration:none}.footerBrand a:hover,.footerLinks a:hover,.footerBrand a:focus-visible,.footerLinks a:focus-visible{color:var(--orange)}
.footerLinks{display:flex;justify-content:flex-end;gap:14px 20px;flex-wrap:wrap}.footerLinks a{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
footer:has(.footerBrand)>.fine{grid-column:1/-1;margin:0;padding-top:16px;border-top:1px solid #242824;color:#7f8780;font-size:.7rem}

.mobileBar{display:none}
.stickyIntent{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;background:#0b0e0c;border:1px solid #353b36;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.stickyIntent span{padding:12px 15px;color:#c4cac5;font-size:.72rem;font-weight:800}.stickyIntent a{padding:12px 15px;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:900}.stickyIntent .call{color:#fff;border-left:1px solid #353b36}.stickyIntent .callAgain{background:var(--orange);color:#080808}

@media(max-width:1050px){
  .top{gap:14px}.top .brand{flex-basis:155px}.top .brand img{width:158px;top:11px}.top nav{gap:14px}.top .desktop-cta{padding-inline:15px}
  .proofBar{grid-template-columns:1fr 1fr}.proofBar>*:nth-child(2){border-right:0}.proofBar>*:nth-child(-n+2){border-bottom:1px solid #2b302c}
  .studentHero{grid-template-columns:1fr;gap:36px}.dashCard{max-width:520px}
}
@media(max-width:780px){
  .top{height:78px;min-height:78px;padding-inline:20px}.top .brand{height:78px;flex-basis:132px}.top .brand img{width:132px;top:9px}.top .menu{display:block;margin-left:auto}.top nav{display:none;position:absolute;top:78px;left:0;right:0;margin:0;padding:22px;background:#080a09;border-bottom:1px solid #333;flex-direction:column;align-items:flex-start;gap:18px}.top nav.open{display:flex}.top .desktop-cta{display:none}
  .proofBar{padding-inline:20px}.proofBar>a,.proofBar>div{padding:11px 10px}.proofBar>*:first-child{padding-left:0}
  .studentHero{padding:70px 24px 58px}
  footer:has(.footerBrand){grid-template-columns:1fr;padding:38px 24px 92px}.footerLinks{justify-content:flex-start}
  .stickyIntent{display:none}.mobileBar{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);left:0;right:0;bottom:0;z-index:120;background:#090b0a;border-top:1px solid #424842}.mobileBar a{padding:14px 8px;text-align:center;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.72rem;font-weight:900;border-right:1px solid #303530}.mobileBar a:nth-child(2){background:var(--orange);color:#080808}.mobileBar a:last-child{border-right:0}
}
@media(max-width:520px){
  .proofBar{grid-template-columns:1fr 1fr}.proofBar strong{font-size:.72rem}.proofBar span{font-size:.6rem}
  .studentHero{padding-top:58px}.footerBrand{align-items:flex-start}.footerBrand img{width:105px!important}
}

/* Interior components + BGSU polish */
/* Core action components used by the interior templates. */
.cta,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;text-decoration:none!important;text-transform:uppercase;font:900 .74rem/1 var(--ui,Arial,sans-serif);letter-spacing:.055em;border:1px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.cta{background:var(--orange);color:#090a09!important}.cta:hover,.cta:focus-visible{background:#fff;color:#090a09!important;transform:translateY(-2px)}
.secondary{background:transparent;color:#fff!important;border-color:#727a73}.secondary:hover,.secondary:focus-visible{border-color:var(--lime);color:var(--lime)!important;transform:translateY(-2px)}
.darkSecondary{color:#111!important;border-color:#555}.darkSecondary:hover,.darkSecondary:focus-visible{color:#285f00!important;border-color:#397d00}
.cta.small{min-height:42px;padding:12px 18px;font-size:.68rem}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* BGSU hero dashboard card */
.dashCard{position:relative;z-index:2;min-height:330px;padding:34px;background:linear-gradient(155deg,rgba(18,24,19,.98),rgba(5,8,6,.98));border:1px solid #354036;box-shadow:0 28px 70px rgba(0,0,0,.36);overflow:hidden}
.dashCard:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(121,255,0,.12);border-radius:50%;right:-150px;bottom:-190px;box-shadow:0 0 0 38px rgba(121,255,0,.025),0 0 0 76px rgba(121,255,0,.018)}
.dashTop{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #303831;color:#b9c1ba;font-size:.68rem;font-weight:900;letter-spacing:.16em}.dashTop b{color:var(--lime);font-size:1rem}
.warning{display:grid;place-items:center;width:48px;height:48px;margin:38px 0 18px;border:2px solid var(--orange);color:var(--orange);font-size:1.45rem;font-weight:950;transform:rotate(45deg)}.warning::first-line{transform:rotate(-45deg)}
.dashCard>strong{display:block;max-width:330px;color:#fff;font-size:1.2rem;line-height:1.15}.dashCard>p{color:#bfc6c0}.dashLine{display:flex;gap:8px;margin-top:34px}.dashLine i{display:block;height:4px;background:#39413a;flex:1}.dashLine i:first-child{background:var(--lime);flex:1.7}

/* Safety strip should read as a deliberate system component, not a text run-on. */
.panicStrip{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;align-items:center;gap:0;padding:0 max(28px,calc((100vw - var(--content-max,1440px))/2));background:#f1f2ed;color:#111;border-top:1px solid #d0d4cf;border-bottom:1px solid #c8ccc7}
.panicStrip>*{padding:17px 18px;border-right:1px solid #cfd3ce;font-size:.74rem;line-height:1.3}.panicStrip strong{padding-left:0;font-weight:950;letter-spacing:.06em}.panicStrip span{color:#4e554f}.panicStrip a{border-right:0;color:#111;text-decoration:none;font-weight:950;white-space:nowrap}.panicStrip a:hover,.panicStrip a:focus-visible{color:#b94b00}

/* Student + parent editorial sections */
.studentIntro{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:80px;align-items:start;background:#fff;color:#111}.studentIntro h2,.studentProof h2,.locationSection h2,.arrival h2{font-size:clamp(2.8rem,4vw,4.8rem);line-height:.94;letter-spacing:-.045em;margin:.25rem 0 1rem}.studentIntro>div>p:not(.eyebrow){max-width:680px;color:#4d554f;line-height:1.65}.parentNote{padding:34px;background:#101411;color:#fff;box-shadow:0 22px 55px rgba(0,0,0,.12)}.parentNote .noteLabel{display:block;color:var(--lime);font-size:.66rem;font-weight:950;letter-spacing:.16em;margin-bottom:18px}.parentNote h3{font-size:1.55rem;line-height:1.15;margin:0 0 16px}.parentNote p{color:#c1c8c2;line-height:1.6;margin:0}
.studentProof{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;color:#111}.proofLead p:not(.eyebrow){color:#525a53;line-height:1.6}.proofStack{border-top:1px solid #cbd0ca}.proofStack>div{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:24px 0 24px 20px;border-bottom:1px solid #cbd0ca}.proofStack span{color:#397d00;font-weight:950;font-size:.75rem}.proofStack strong{display:block;font-size:1.05rem}.proofStack p{grid-column:2;color:#565d57;margin:.35rem 0 0;line-height:1.5}
.studentScenario{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.62fr);gap:80px;align-items:center;padding:88px max(32px,calc((100vw - var(--content-max,1440px))/2))}.studentScenario h2{font-size:clamp(3rem,4.4vw,5rem);line-height:.92;letter-spacing:-.05em;margin:.25rem 0 1rem}.studentScenario>div:first-child>p:not(.eyebrow){max-width:650px;color:#c4cbc5;line-height:1.6}.safetyNote{margin-top:28px;padding:18px 20px;border-left:4px solid var(--orange);background:#141916}.safetyNote strong{color:#fff}.safetyNote p{margin:.35rem 0 0;color:#bec5bf}.phoneMock{max-width:430px;width:100%;justify-self:end;padding:22px;background:#f1f2ee;color:#111;border-radius:24px;border:7px solid #202420}.phoneBar{text-align:center;padding:5px 0 17px;color:#606760;font-size:.65rem;font-weight:950;letter-spacing:.12em}.msg{width:82%;padding:11px 14px;border-radius:15px;margin:9px 0;font-size:.9rem;line-height:1.35}.msg.them{background:#fff}.msg.me{background:#dfffc1;margin-left:auto}.phoneMock small{display:block;color:#6a716b;text-align:center;margin-top:18px}

/* Location / arrival */
.locationSection{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;color:#111}.locationSection>div>p:not(.eyebrow){color:#515851;line-height:1.6}.mapFrame{width:100%;min-height:390px;border:0;background:#e6e8e3}.arrivalGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:start;color:#111}.arrivalGrid>div>p:not(.eyebrow){color:#535a54;line-height:1.6}.trustChecklist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:#cfd3cd;border:1px solid #cfd3cd}.trustChecklist article{background:#fff;padding:18px}.trustChecklist strong,.trustChecklist span{display:block}.trustChecklist span{margin-top:7px;color:#5d655e;font-size:.84rem;line-height:1.45}.arrivalSteps{border-top:1px solid #c9cec8}.arrivalSteps article{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #c9cec8}.arrivalSteps b{display:grid;place-items:center;width:34px;height:34px;background:#101411;color:var(--lime)}.arrivalSteps h3{margin:0 0 6px}.arrivalSteps p{margin:0;color:#59615a;line-height:1.5}

/* Request flow and form */
.requestExperience{padding-top:92px;padding-bottom:92px}.requestGuide{align-self:start}.serviceRequestForm{background:#fff;color:#111;padding:32px;border-top:5px solid var(--orange)}.formHeader{margin-bottom:22px}.formHeader span{display:block;color:#555;font-size:.68rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.formHeader strong{display:block;margin-top:5px;font-size:1.35rem}.serviceRequestForm label{display:block;margin:15px 0 7px;font-size:.76rem;font-weight:900}.serviceRequestForm input,.serviceRequestForm select,.serviceRequestForm textarea{width:100%;padding:13px 14px;border:1px solid #aeb4ae;background:#fff;color:#111;font:inherit;border-radius:0}.serviceRequestForm textarea{min-height:118px;resize:vertical}.fieldPair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fieldHint,.formFine{color:#626963;font-size:.78rem;line-height:1.45}.choiceRow{display:flex;gap:8px;flex-wrap:wrap}.choiceRow label{margin:0}.choiceRow input{position:absolute;opacity:0;pointer-events:none}.choiceRow span{display:inline-flex;padding:10px 13px;border:1px solid #9fa69f;font-size:.75rem;font-weight:850}.choiceRow input:checked+span{background:#101411;color:#fff;border-color:#101411}.requestSummary{margin-top:22px;padding:18px;background:#f1f2ed;border-left:4px solid #397d00}.requestSummary strong{display:block;margin-bottom:6px}.requestSummary p{margin:0;color:#4f5650;line-height:1.5}.parentFields{padding:14px 0}.driveQuestion{margin-top:18px}.check{display:flex!important;gap:9px;align-items:flex-start!important;font-weight:600!important}.check input{width:auto!important;margin-top:2px}.faqList details{border-top:1px solid #353b36;padding:16px 0}.faqList summary{cursor:pointer;font-weight:900}.faqList p{color:#bfc6c0;line-height:1.55}

/* Footer shell */
footer.footerBrand{grid-template-columns:minmax(180px,.65fr) minmax(260px,1fr) auto;align-items:start}.footerBrand>div:first-child img{display:block;width:140px;height:auto;background:transparent!important}.footerBrand>div:first-child p{max-width:270px}.footerLinks{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px 26px}.footerLinks a{font-size:.78rem}.footerBrand>div:last-child{text-align:right}.footerBrand>div:last-child strong{display:block;color:#fff}.footerBrand>div:last-child a{display:block;margin-top:7px;color:var(--lime)}

/* Sticky intent bar is useful on desktop, mobileBar owns small screens. */
.stickyIntent{position:fixed;right:28px;bottom:22px;z-index:90;display:flex;align-items:stretch;background:#0b0e0c;border:1px solid #414842;box-shadow:0 14px 40px rgba(0,0,0,.3)}
.mobileBar{display:none}

@media(max-width:1050px){
  .panicStrip{grid-template-columns:auto 1fr 1fr}.panicStrip span:nth-of-type(3){display:none}.studentIntro,.studentProof,.studentScenario,.locationSection,.arrivalGrid{grid-template-columns:1fr}.phoneMock{justify-self:start}.proofStack{margin-top:0}.mapFrame{min-height:340px}.trustChecklist{grid-template-columns:1fr 1fr}.top nav{gap:12px}.top nav a{font-size:.67rem}
}
@media(max-width:780px){
  .panicStrip{display:flex;flex-wrap:wrap;padding:10px 20px}.panicStrip>*{border:0;padding:6px 8px}.panicStrip span{display:none}.studentIntro,.studentProof,.studentScenario,.locationSection,.arrival{padding-left:24px;padding-right:24px}.studentProof{gap:34px}.studentScenario{padding-top:64px;padding-bottom:64px}.fieldPair{grid-template-columns:1fr}.trustChecklist{grid-template-columns:1fr}.stickyIntent{display:none}.mobileBar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:1fr 1.2fr;background:#090b0a;border-top:1px solid #343a35}.mobileBar a{display:flex;justify-content:center;padding:14px 8px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:950}.mobileBar a:last-child{background:var(--orange);color:#080808}body{padding-bottom:48px}footer.footerBrand{grid-template-columns:1fr}.footerBrand>div:last-child{text-align:left}.footerLinks{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.studentHero h1{font-size:clamp(3rem,13vw,4.1rem)}.dashCard{min-height:280px;padding:24px}.studentIntro h2,.studentProof h2,.locationSection h2,.arrival h2{font-size:clamp(2.5rem,12vw,3.5rem)}.phoneMock{border-width:5px;border-radius:18px}.serviceRequestForm{padding:22px}.footerLinks{grid-template-columns:1fr}}

/* Sticky navigation + interior art direction */
:root{--shell-pad:max(32px,calc((100vw - var(--content-max,1480px))/2));--nav-h:84px}
html{scroll-padding-top:calc(var(--nav-h) + 24px)}
.top{
  position:sticky;top:0;z-index:1000;height:var(--nav-h);min-height:var(--nav-h);
  background:rgba(5,7,6,.94);border-bottom:1px solid rgba(255,255,255,.11);
  box-shadow:0 8px 28px rgba(0,0,0,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.top .brand{height:var(--nav-h);flex-basis:176px}.top .brand img{width:172px;top:4px}
.top nav{gap:27px}.top nav a{font-size:.69rem;letter-spacing:.075em}.top nav a:not(.navPhone):after{bottom:-10px}
.top .desktop-cta{min-height:44px;padding:13px 20px}
.proofBar{min-height:54px;background:#0a0d0b}.proofBar>a,.proofBar>div{padding-top:10px;padding-bottom:10px}.proofBar strong{font-size:.78rem}.proofBar span{font-size:.62rem}

/* Every interior hero gets the same deliberate content frame. */
.pageHero{
  min-height:390px;padding:86px var(--shell-pad) 78px;
  display:flex;flex-direction:column;justify-content:center;
  border-bottom:1px solid #2a302b
}
.pageHero .eyebrow{margin:0 0 25px;color:#e9eee9;font-size:.69rem}
.pageHero h1{max-width:900px;margin:0;font-family:var(--display);font-size:clamp(3.8rem,5.25vw,5.85rem);line-height:.88;letter-spacing:-.055em;font-weight:950;text-transform:none}
.pageHero h1 span{display:block}.pageHero .lede{max-width:760px;margin:28px 0 0;color:#c8cec9;font-size:1.02rem;line-height:1.65}
.pageHero .actions{margin-top:28px}
.pageHero:before{content:"";position:absolute;inset:0 0 0 auto;width:min(48vw,760px);background:linear-gradient(135deg,transparent 0 28%,rgba(121,255,0,.035) 28% 29%,transparent 29% 52%,rgba(255,116,23,.04) 52% 53%,transparent 53%);pointer-events:none}

/* Interior sections: calmer measure and stronger hierarchy. */
.section{padding-top:96px;padding-bottom:96px}
.sectionHead{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:28px 72px;align-items:end;margin-bottom:42px}
.sectionHead .eyebrow{grid-column:1/-1;margin:0}.sectionHead h2{margin:0;font-size:clamp(2.5rem,3.25vw,3.85rem);line-height:.92;letter-spacing:-.045em}.sectionHead h2 span{color:var(--lime)}
.sectionHead>p:not(.eyebrow){margin:0 0 3px;color:#c5cbc6;max-width:650px;line-height:1.62}

/* Services directory becomes an automotive control panel instead of a white card grid. */
.serviceDirectory{background:#080a09}.serviceDirectoryGrid{grid-template-columns:repeat(4,1fr);gap:0;background:transparent;border:1px solid #323832}
.serviceDirectoryGrid a{position:relative;background:#0e120f;color:#f7f8f5;padding:28px 27px 26px;min-height:270px;border-right:1px solid #323832;border-bottom:1px solid #323832;overflow:hidden}
.serviceDirectoryGrid a:nth-child(4n){border-right:0}.serviceDirectoryGrid a:nth-last-child(-n+4){border-bottom:0}
.serviceDirectoryGrid a:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--lime);transition:height .2s ease}.serviceDirectoryGrid a:hover:before,.serviceDirectoryGrid a:focus-visible:before{height:100%}
.serviceDirectoryGrid a:hover,.serviceDirectoryGrid a:focus-visible{background:#151b16;color:#fff;transform:none}
.serviceDirectoryGrid b{color:var(--lime);font-size:.68rem}.serviceDirectoryGrid h3{margin:38px 0 13px;color:#fff;font-size:1.55rem;letter-spacing:-.025em}.serviceDirectoryGrid p{color:#bfc6c0;font-size:.9rem;line-height:1.55}.serviceDirectoryGrid span{color:#f39a5d;font-size:.68rem;letter-spacing:.045em}.serviceDirectoryGrid a:hover span,.serviceDirectoryGrid a:focus-visible span{color:var(--orange)}

.serviceUnknown{background:#111612;border-top:1px solid #303630;border-bottom:1px solid #303630}.serviceUnknown h2{margin:.25rem 0 .8rem;font-size:clamp(2.7rem,3.6vw,4.2rem);line-height:.92}.serviceUnknown p{color:#c4cbc5;line-height:1.6}.unknownExamples span{background:#0a0d0b;border-left-color:var(--lime);color:#eef1ee}
.vehicleFit{background:#f3f3ee;color:#111}.vehicleFit .eyebrow{color:#397d00}.vehicleFit h2{font-size:clamp(2.5rem,3.3vw,3.9rem);line-height:.94;margin:.25rem 0 1rem}.vehicleFit p{color:#4f5750;line-height:1.65}
.final-cta{padding-top:86px;padding-bottom:86px}.final-cta h2{margin:.2rem 0 .8rem;line-height:.9}

/* Buttons: more deliberate, less generic. */
.cta,.secondary{min-height:46px;padding:14px 21px;font-size:.69rem;letter-spacing:.07em}.cta{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cta:hover,.cta:focus-visible{background:#ff8a3c;transform:translateY(-1px)}.secondary:hover,.secondary:focus-visible{background:rgba(255,255,255,.04);transform:translateY(-1px)}

@media(max-width:1100px){
  .top nav{gap:14px}.top nav a{font-size:.64rem}.top .brand{flex-basis:150px}.top .brand img{width:148px;top:9px}
  .sectionHead{grid-template-columns:1fr;gap:16px}.sectionHead .eyebrow{grid-column:auto}.serviceDirectoryGrid{grid-template-columns:repeat(2,1fr)}.serviceDirectoryGrid a:nth-child(4n){border-right:1px solid #323832}.serviceDirectoryGrid a:nth-child(2n){border-right:0}.serviceDirectoryGrid a:nth-last-child(-n+4){border-bottom:1px solid #323832}.serviceDirectoryGrid a:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:780px){
  :root{--nav-h:76px}.top{height:var(--nav-h);min-height:var(--nav-h)}.top .brand{height:var(--nav-h)}.top nav{top:var(--nav-h)}
  .pageHero{min-height:auto;padding:64px 24px 58px}.pageHero h1{font-size:clamp(3.1rem,12vw,4.4rem)}.pageHero .lede{font-size:.98rem;margin-top:22px}.pageHero:before{width:82vw;opacity:.65}
  .section{padding:70px 24px}.serviceDirectoryGrid{grid-template-columns:1fr}.serviceDirectoryGrid a{min-height:220px;border-right:0!important;border-bottom:1px solid #323832!important}.serviceDirectoryGrid a:last-child{border-bottom:0!important}.serviceDirectoryGrid h3{margin-top:28px}
}

/* Services page system */
body:has(.servicesConceptHero) .top{position:sticky;top:0;z-index:1000;background:rgba(3,5,4,.96);backdrop-filter:blur(14px)}
body:has(.servicesConceptHero) .brand{align-self:start}
body:has(.servicesConceptHero) .brand img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.servicesFactBar{min-height:52px;padding-left:max(calc((100vw - 1280px)/2 + 330px),330px);padding-right:max(calc((100vw - 1280px)/2),24px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#0b0f0d;border-top:1px solid #252c28;border-bottom:1px solid #252c28;color:#fff}
.servicesFactBar>*{padding:10px 24px;border-left:1px solid #2b332e;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:center}
.servicesFactBar strong{font-size:.82rem}.servicesFactBar span{font-size:.7rem;color:#b9c0bc;margin-top:2px}
.servicesConceptHero{position:relative;min-height:470px;display:grid;grid-template-columns:minmax(430px,43%) 1fr 235px;overflow:hidden;background:#070a08;border-bottom:1px solid #28312b;color:#fff}
.servicesConceptHero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(4,8,6,.98) 0%,rgba(4,8,6,.9) 37%,rgba(4,8,6,.18) 64%,rgba(4,8,6,.48) 100%);z-index:2;pointer-events:none}
.servicesConceptHero:after{content:"";position:absolute;left:-70px;top:40px;width:190px;height:360px;border-left:24px solid rgba(105,255,0,.36);transform:skewX(-29deg);z-index:3;pointer-events:none}
.servicesHeroCopy{position:relative;z-index:4;padding:70px 30px 62px max(calc((100vw - 1280px)/2),32px);align-self:center}
.servicesHeroCopy .eyebrow{color:#fff;letter-spacing:.2em;margin-bottom:18px}.servicesHeroCopy h1{font-size:clamp(3.3rem,5.25vw,5.75rem);line-height:.88;letter-spacing:-.045em;margin:0 0 24px;max-width:760px}.servicesHeroCopy h1 span{color:#72ff00}.servicesHeroCopy .lede{max-width:620px;color:#e1e5e2;font-size:1.03rem;line-height:1.65}.servicesHeroCopy .actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.servicesHeroPhoto{position:absolute;inset:0 0 0 37%;background-image:linear-gradient(90deg,#070a08 0%,transparent 24%,transparent 80%,rgba(4,7,5,.72) 100%),url('https://images.unsplash.com/photo-1714434087805-1147b7d37c0a?auto=format&fit=crop&fm=jpg&q=82&w=2400');background-size:cover;background-position:center 57%;filter:saturate(.78) contrast(1.08);z-index:1}
.servicesHeroSignals{position:relative;z-index:5;grid-column:3;align-self:stretch;background:linear-gradient(90deg,rgba(4,8,6,.18),rgba(4,8,6,.82));display:flex;flex-direction:column;justify-content:center;padding:35px 26px 35px 0}
.servicesHeroSignals div{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:18px 8px;border-bottom:1px solid rgba(255,255,255,.17);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.servicesHeroSignals div:last-child{border-bottom:0}.servicesHeroSignals i{width:38px;height:38px;border:1px solid #72ff00;color:#72ff00;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900}.servicesHeroSignals strong{display:block;color:#fff;font-size:.9rem}.servicesHeroSignals span{color:#d8ddd9}
body:has(.servicesConceptHero) .serviceDirectory{padding-top:56px;padding-bottom:62px;background:radial-gradient(circle at 80% 10%,rgba(114,255,0,.05),transparent 28%),#070908}
body:has(.servicesConceptHero) .serviceDirectory .sectionHead{max-width:1280px;margin:0 auto 28px;padding:0 24px}.serviceDirectory .sectionHead h2{max-width:none;font-size:clamp(2rem,3vw,3.3rem);line-height:.95}.serviceDirectory .sectionHead h2 span{color:#72ff00}
body:has(.servicesConceptHero) .serviceDirectoryGrid{max-width:1280px;margin:auto;padding:0 24px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard{position:relative;min-height:178px;padding:24px 22px 20px 110px;background:linear-gradient(120deg,rgba(15,20,17,.96),rgba(8,11,9,.96));border:1px solid #39413c;color:#fff;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:88px;background:linear-gradient(145deg,#182019,#080b09);border-right:1px solid #303832}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard:after{content:"";position:absolute;left:25px;top:48px;width:38px;height:38px;border:3px solid #72ff00;border-radius:50%;box-shadow:0 0 0 7px rgba(114,255,0,.06)}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard:hover{transform:translateY(-3px);border-color:#72ff00;background:linear-gradient(120deg,#121914,#090d0a)}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard b{position:absolute;left:12px;top:12px;color:#72ff00;font-size:.65rem;letter-spacing:.14em}body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard h3{font-size:1.1rem;margin:3px 0 8px;color:#fff}body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard p{font-size:.82rem;line-height:1.45;color:#c7ceca;margin:0 0 15px}body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard span{font-size:.68rem;color:#72ff00;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
.serviceCard--brakes:after{border-radius:4px!important;transform:rotate(45deg)}.serviceCard--diagnostics:after{border-radius:8px!important}.serviceCard--engine:after{border-radius:50% 35% 50% 35%!important}.serviceCard--electrical:after{border-radius:3px!important;box-shadow:inset 0 0 0 7px #070908,0 0 0 7px rgba(114,255,0,.06)!important}.serviceCard--climate:after{border-style:dashed!important}.serviceCard--suspension:after{height:44px!important;width:22px!important;left:33px!important;border-radius:12px!important}.serviceCard--alignment:after{border-width:6px!important;box-shadow:inset 0 0 0 4px #070908,0 0 0 7px rgba(114,255,0,.06)!important}
.servicesSymptomStrip{display:grid;grid-template-columns:80px 1.15fr minmax(280px,.8fr) 1fr;align-items:center;gap:24px;max-width:1440px;margin:0 auto 64px;padding:28px max(calc((100vw - 1280px)/2),28px);background:linear-gradient(100deg,#0c110e,#111812);border-top:1px solid #29332d;border-bottom:1px solid #29332d;color:#fff}.symptomMark{width:64px;height:64px;border:4px solid #72ff00;border-radius:50%;display:grid;place-items:center;color:#72ff00;font-size:2rem;font-weight:900}.symptomCopy .eyebrow{color:#72ff00;margin:0 0 5px}.symptomCopy h2{font-size:clamp(1.45rem,2vw,2.25rem);margin:0 0 5px}.symptomCopy p{margin:0;color:#c8cfcb}.symptomAction{background:#72ff00;color:#071007;text-decoration:none;padding:22px 26px;min-height:86px;display:flex;flex-direction:column;justify-content:center;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%,5% 50%)}.symptomAction span{font-size:.66rem;letter-spacing:.13em;font-weight:800}.symptomAction strong{font-size:1rem;margin-top:4px}.symptomProof{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.symptomProof span{font-size:.72rem;text-transform:uppercase;font-weight:800;border-left:1px solid #39433d;padding-left:12px}.symptomProof b{display:block;color:#72ff00;margin-bottom:4px}
@media(max-width:1100px){.servicesConceptHero{grid-template-columns:1fr}.servicesHeroSignals{display:none}.servicesHeroPhoto{left:40%}.servicesFactBar{padding-left:220px}.servicesSymptomStrip{grid-template-columns:70px 1fr 1fr}.symptomProof{grid-column:2/-1}.serviceDirectoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.servicesFactBar{display:none}.servicesConceptHero{min-height:600px}.servicesHeroPhoto{left:0;opacity:.48;background-position:60% center}.servicesConceptHero:before{background:linear-gradient(180deg,rgba(4,8,6,.74),rgba(4,8,6,.98) 72%)}.servicesHeroCopy{padding:90px 22px 44px}.servicesHeroCopy h1{font-size:clamp(2.7rem,13vw,4.2rem)}body:has(.servicesConceptHero) .serviceDirectoryGrid{grid-template-columns:1fr!important;padding:0 18px}body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard{padding-left:102px}.servicesSymptomStrip{grid-template-columns:60px 1fr;margin-bottom:38px;padding:24px 20px}.symptomAction,.symptomProof{grid-column:1/-1}.symptomAction{clip-path:none}.vehicleFit{padding-left:22px!important;padding-right:22px!important}}

/* ============================================================
   UNIVERSAL TITLE SYSTEM
   Homepage rules are now the site-wide typography contract.
   Hero is the ceiling. Every major title = setup + payoff.
   ============================================================ */
:root{
  --title-hero-setup:clamp(2.65rem,4.25vw,4.9rem);
  --title-hero-payoff:clamp(3.15rem,5.15vw,5.85rem);
  --title-page-setup:clamp(2.25rem,3.65vw,4.15rem);
  --title-page-payoff:clamp(2.7rem,4.35vw,4.85rem);
  --title-section-setup:clamp(1.55rem,2.35vw,2.55rem);
  --title-section-payoff:clamp(2rem,3.1vw,3.45rem);
}
.title-pair{font-family:var(--display);font-weight:950;letter-spacing:-.045em;line-height:.91;margin:0;text-wrap:balance}
.title-pair .title-setup,.title-pair .title-payoff{display:block;font-style:normal;text-transform:uppercase}
.title-pair .title-setup{color:#f2f2ee}
.title-pair .title-payoff{color:var(--lime,#79ff00)}
.title-pair.title-hero .title-setup{font-size:var(--title-hero-setup)}
.title-pair.title-hero .title-payoff{font-size:var(--title-hero-payoff)}
.title-pair.title-page .title-setup{font-size:var(--title-page-setup)}
.title-pair.title-page .title-payoff{font-size:var(--title-page-payoff)}
.title-pair.title-section .title-setup{font-size:var(--title-section-setup);letter-spacing:-.025em}
.title-pair.title-section .title-payoff{font-size:var(--title-section-payoff)}
/* light surfaces: never use neon lime as body/display text */
.section:not(.dark):not(.final-cta) .title-pair .title-setup,
.vehicleFit .title-pair .title-setup{color:#111411}
.section:not(.dark):not(.final-cta) .title-pair .title-payoff,
.vehicleFit .title-pair .title-payoff{color:#397d00}
/* Existing homepage title pairs now obey the same tokens. */
.hero h1{font-size:inherit!important;line-height:.91!important}
.hero h1 .hero-line-primary{font-size:var(--title-hero-setup)!important}
.hero h1 .hero-line-accent{font-size:var(--title-hero-payoff)!important}
.service-copy h2,.symptom-head h2,.bgsu-message h2,.final-cta h2{font-size:inherit!important;line-height:.93!important}
.service-copy h2 .title-setup,.symptom-head h2 .title-setup,.bgsu-message h2 .title-setup,.final-cta h2 .title-setup{font-size:var(--title-section-setup)!important}
.service-copy h2 em,.symptom-head h2 em,.bgsu-message h2 em,.final-cta h2 em{display:block;font-size:var(--title-section-payoff)!important;font-style:normal}
/* Defeat legacy page-specific title sizing. */
.pageHero h1.title-pair,.servicesConceptHero h1.title-pair,.sectionHead h2.title-pair,.serviceDetailPage h2.title-pair,.serviceClues h2.title-pair,.faq h2.title-pair,.related h2.title-pair,.symptomCopy h2.title-pair,.vehicleFit h2.title-pair{font-size:inherit!important;line-height:.91!important;max-width:980px}
@media(max-width:780px){
  :root{--title-hero-setup:clamp(2.15rem,10vw,3.2rem);--title-hero-payoff:clamp(2.55rem,12vw,3.75rem);--title-page-setup:clamp(1.95rem,8.5vw,2.7rem);--title-page-payoff:clamp(2.25rem,10vw,3.2rem);--title-section-setup:clamp(1.25rem,5.8vw,1.7rem);--title-section-payoff:clamp(1.7rem,7.5vw,2.3rem)}
  .title-pair{letter-spacing:-.035em}
}

/* ============================================================
   TITLE SYSTEM CONTRACT
   One visual grammar everywhere: quieter setup + larger payoff.
   Page/section sizes may step down, but the relationship never changes.
   ============================================================ */
:root{
  --title-hero-setup:clamp(2.75rem,4.05vw,4.75rem);
  --title-hero-payoff:clamp(3.45rem,5.15vw,5.95rem);
  --title-page-setup:clamp(2.2rem,3.25vw,3.7rem);
  --title-page-payoff:clamp(2.75rem,4.05vw,4.55rem);
  --title-section-setup:clamp(1.35rem,1.85vw,2rem);
  --title-section-payoff:clamp(1.9rem,2.65vw,2.95rem);
}
.title-pair{font-family:var(--display);font-weight:950;line-height:.9;letter-spacing:-.045em;margin:0;text-wrap:balance}
.title-pair>.title-setup,.title-pair>.title-payoff{display:block;font-style:normal}
.title-pair>.title-setup{font-weight:900;letter-spacing:-.025em}
.title-pair>.title-payoff{font-weight:950;letter-spacing:-.05em}
.title-hero>.title-setup{font-size:var(--title-hero-setup)!important}
.title-hero>.title-payoff{font-size:var(--title-hero-payoff)!important}
.title-page>.title-setup{font-size:var(--title-page-setup)!important}
.title-page>.title-payoff{font-size:var(--title-page-payoff)!important}
.title-section>.title-setup{font-size:var(--title-section-setup)!important}
.title-section>.title-payoff{font-size:var(--title-section-payoff)!important}
/* Homepage now uses the exact same title markup/system as interiors. */
.hero h1.title-pair{font-size:inherit!important;line-height:.9!important}
.hero h1.title-pair>.title-setup{color:#f2f2ee!important}
.hero h1.title-pair>.title-payoff{color:var(--lime,#79ff00)!important}
.service-copy h2.title-pair,.symptom-head h2.title-pair,.bgsu-message h2.title-pair,.final-cta h2.title-pair{font-size:inherit!important;line-height:.92!important}
/* Services hero keeps the homepage grammar while stepping down enough to preserve the payoff line. */
.servicesConceptHero{grid-template-columns:minmax(560px,49%) 1fr 220px}
.servicesHeroCopy{padding-left:clamp(56px,6.5vw,112px);padding-right:34px}
.servicesHeroCopy h1.title-pair{max-width:760px!important;font-size:inherit!important}
.servicesHeroCopy h1.title-pair>.title-setup{color:#f2f2ee!important}
.servicesHeroCopy h1.title-pair>.title-payoff{color:#72ff00!important;white-space:nowrap}
/* Section titles get enough horizontal room to read as setup -> payoff, not a tall poster stack. */
body:has(.servicesConceptHero) .serviceDirectory .sectionHead{grid-template-columns:minmax(500px,.95fr) minmax(420px,1.05fr);column-gap:64px}
body:has(.servicesConceptHero) .serviceDirectory .sectionHead h2.title-pair{max-width:680px!important}
body:has(.servicesConceptHero) .serviceDirectory .sectionHead h2.title-pair>.title-setup{white-space:nowrap}
/* Dark/light title color contract. */
:is(.hero,.pageHero,.servicesConceptHero,.dark,.final-cta,.studentHero,.studentScenario,.studentHandoff,.serviceDirectory,.servicesSymptomStrip) .title-pair>.title-setup{color:#f2f2ee}
:is(.hero,.pageHero,.servicesConceptHero,.dark,.final-cta,.studentHero,.studentScenario,.studentHandoff,.serviceDirectory,.servicesSymptomStrip) .title-pair>.title-payoff{color:var(--lime,#79ff00)}
:is(.vehicleFit,.locationSection,.studentProof,.arrival) .title-pair>.title-setup{color:#111411}
:is(.vehicleFit,.locationSection,.studentProof,.arrival) .title-pair>.title-payoff{color:#397d00}
@media(max-width:1180px){
  .servicesConceptHero{grid-template-columns:minmax(500px,54%) 1fr}.servicesHeroSignals{display:none}
  .servicesHeroCopy h1.title-pair>.title-payoff{white-space:normal}
  body:has(.servicesConceptHero) .serviceDirectory .sectionHead{grid-template-columns:1fr;gap:16px}
  body:has(.servicesConceptHero) .serviceDirectory .sectionHead h2.title-pair>.title-setup{white-space:normal}
}
@media(max-width:780px){
  :root{
    --title-hero-setup:clamp(2.05rem,9vw,2.9rem);--title-hero-payoff:clamp(2.55rem,11vw,3.55rem);
    --title-page-setup:clamp(1.8rem,7.8vw,2.4rem);--title-page-payoff:clamp(2.2rem,9.5vw,2.95rem);
    --title-section-setup:clamp(1.15rem,5vw,1.5rem);--title-section-payoff:clamp(1.6rem,7vw,2.15rem)
  }
  .servicesConceptHero{grid-template-columns:1fr}
}

/* ============================================================
   CONTRAST CONTRACT
   Rule: readable contrast is non-negotiable. Dark surfaces use
   off-white setup + lime payoff; light surfaces use near-black
   setup + accessible dark-green payoff. Never inherit title color
   from a generic .section rule.
   ============================================================ */
:root{
  --title-on-dark:#f2f2ee;
  --payoff-on-dark:#79ff00;
  --title-on-light:#111411;
  --payoff-on-light:#397d00;
}
/* Explicit dark title surfaces — intentionally later than legacy section rules. */
:is(.hero,.pageHero,.servicesConceptHero,.serviceDirectory,.servicesSymptomStrip,.dark,.final-cta,.studentHero,.studentScenario,.studentHandoff) .title-pair>.title-setup{color:var(--title-on-dark)!important}
:is(.hero,.pageHero,.servicesConceptHero,.serviceDirectory,.servicesSymptomStrip,.dark,.final-cta,.studentHero,.studentScenario,.studentHandoff) .title-pair>.title-payoff{color:var(--payoff-on-dark)!important}
/* Explicit light title surfaces. */
:is(.vehicleFit,.locationSection,.studentProof,.arrival,.section.light) .title-pair>.title-setup{color:var(--title-on-light)!important}
:is(.vehicleFit,.locationSection,.studentProof,.arrival,.section.light) .title-pair>.title-payoff{color:var(--payoff-on-light)!important}
/* Service directory itself is a dark surface even though it also carries .section. */
.serviceDirectory{background:#070b08;color:#f2f2ee}
.serviceDirectory .sectionHead>p:not(.eyebrow){color:#d0d6d1}

/* ============================================================
   RENDERED CONTRAST CONTRACT
   Dark homepage service intro is an explicit dark title surface.
   This rule is intentionally last so generic .section light-surface
   selectors can never turn the setup line dark on this panel.
   ============================================================ */
.service-intro,
.service-intro .service-copy{background:#0b0d0c;color:#fff}
.service-intro .title-pair>.title-setup{color:var(--title-on-dark,#f2f2ee)!important}
.service-intro .title-pair>.title-payoff{color:var(--payoff-on-dark,#79ff00)!important}
.service-intro .eyebrow{color:var(--lime,#79ff00)!important}
.service-intro .service-copy>p:not(.eyebrow){color:#e0e5e1}

/* =========================================================
   INTERACTION STATE CONTRACT
   Rule: interactive text must remain readable in every state.
   ========================================================= */
.hero .btn-outline:hover,
.hero .btn-outline:focus-visible,
.pageHero .btn-outline:hover,
.pageHero .btn-outline:focus-visible,
.servicesConceptHero .btn-outline:hover,
.servicesConceptHero .btn-outline:focus-visible,
.dark .btn-outline:hover,
.dark .btn-outline:focus-visible {
  background:#f2f2ee !important;
  color:#070908 !important;
  border-color:#f2f2ee !important;
}

/* Preserve a clear non-hover state on dark surfaces. */
.hero .btn-outline,
.pageHero .btn-outline,
.servicesConceptHero .btn-outline,
.dark .btn-outline {
  color:#f2f2ee;
  border-color:#f2f2ee;
}

/* Keyboard focus remains visible independently of hover styling. */
.btn:focus-visible,
.cta:focus-visible,
.secondary:focus-visible,
.site-header a:focus-visible,
.top a:focus-visible {
  outline:3px solid #ff7417;
  outline-offset:4px;
}

/* =========================================================
   GUTTER + SIBLING COMPONENT CONTRACT
   Rule: no primary content may visually collide with a viewport,
   panel, or section edge. Repeated sibling cards share one anatomy.
   ========================================================= */
:root{
  --gutter-desktop: clamp(32px, 4vw, 72px);
  --gutter-tablet: clamp(24px, 4vw, 40px);
  --gutter-mobile: 20px;
}

/* BGSU campaign poster: preserve breathing room on both edges. */
.bgsu-poster{
  box-sizing:border-box;
  padding-left:clamp(42px,5vw,80px);
  padding-right:clamp(42px,5vw,80px);
}
.bgsu-poster strong,
.bgsu-poster span{
  max-width:100%;
}

/* Repetition/alignment QA correction: the four homepage service cards
   are peers, not a featured-card + three-card mixture. */
.service-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.service-cards>a,
.service-cards>a:first-child,
.service-cards>a:not(:first-child){
  min-height:410px;
  grid-row:auto;
  grid-template-rows:48% 52%;
}
.service-cards>a:first-child .card-photo,
.service-cards>a:not(:first-child) .card-photo{
  height:auto;
}
.service-cards h3,
.service-cards>a:first-child h3{
  font-size:1.45rem;
  line-height:1.02;
  margin:.25em 0;
}
.service-cards>a>div:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:18px 24px;
}
.service-cards>a .card-arrow,
.service-cards>a>div:last-child > span:last-child{
  margin-top:auto;
}

@media(max-width:1050px){
  .bgsu-poster{padding:38px var(--gutter-tablet) 0;}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-cards>a,.service-cards>a:first-child,.service-cards>a:not(:first-child){min-height:340px!important;grid-template-rows:52% 48%;}
}
@media(max-width:780px){
  .bgsu-poster{padding:34px var(--gutter-mobile) 0;}
  .service-cards{grid-template-columns:1fr;}
  .service-cards>a,.service-cards>a:first-child,.service-cards>a:not(:first-child){min-height:320px!important;grid-template-rows:200px auto;}
}

/* Homepage service-card density
   CRAP / Proximity: related card content stays compact; arrows no longer create
   a large artificial void between description and action. */
.service-cards>a,
.service-cards>a:first-child,
.service-cards>a:not(:first-child){
  min-height:330px;
  grid-template-rows:52% 48%;
}
.service-cards>a>div:last-child{
  padding:14px 20px 15px;
}
.service-cards small{
  line-height:1.15;
}
.service-cards h3,
.service-cards>a:first-child h3{
  margin:.18em 0 .22em;
}
.service-cards p{
  margin:.2rem 2.25rem .55rem 0;
  line-height:1.35;
}
.service-cards>a>div:last-child > b{
  position:static;
  align-self:flex-end;
  margin-top:.35rem;
  line-height:1;
  font-size:1.55rem;
}
@media(max-width:1050px){
  .service-cards>a,.service-cards>a:first-child,.service-cards>a:not(:first-child){min-height:310px!important;grid-template-rows:54% 46%;}
}
@media(max-width:780px){
  .service-cards>a,.service-cards>a:first-child,.service-cards>a:not(:first-child){min-height:0!important;grid-template-rows:180px auto;}
  .service-cards>a>div:last-child{padding:16px 20px 18px;}
}

/* =========================================================
   DARK-SURFACE TITLE CONTRACT
   Explicit component-level title colors prevent generic .section
   rules from overriding titles on visually dark sections.
   ========================================================= */
.symptom-section .title-pair > .title-setup{
  color:var(--title-on-dark,#f2f2ee)!important;
}
.symptom-section .title-pair > .title-payoff{
  color:var(--payoff-on-dark,#79ff00)!important;
}

/* =========================================================
   DIVIDER BREATHING-ROOM CONTRACT
   Structural dividers separate groups; content must not hug the rule.
   Decorative accent bars are excluded from this contract.
   ========================================================= */
:root{
  --divider-gap: clamp(48px, 5vw, 76px);
  --divider-gap-wide: clamp(64px, 6.5vw, 104px);
}

/* Homepage BGSU split: draw the angle independently so text never gets
   transformed back toward the divider. */
.bgsu-poster{
  position:relative;
  border-left:0;
  transform:none;
  padding-left:var(--divider-gap-wide);
  padding-right:var(--gutter-desktop);
}
.bgsu-poster::before{
  content:"";
  position:absolute;
  left:18px;
  top:7%;
  bottom:7%;
  width:1px;
  background:#344036;
  transform:skewX(-3deg);
  transform-origin:center;
}
.bgsu-poster>*{transform:none;}

/* Other structural vertical splits across customer-facing pages. */
.final-cta aside{
  padding-left:var(--divider-gap);
}
.reputationNumber{
  padding-left:var(--divider-gap);
}
.proofStack>div{
  padding-left:clamp(28px,3vw,44px);
}

@media(max-width:1050px){
  .bgsu-poster{
    padding:38px var(--gutter-tablet) 0;
  }
  .bgsu-poster::before{display:none;}
}
@media(max-width:780px){
  .final-cta aside,
  .reputationNumber{
    padding-left:0;
  }
}

/* =========================================================
   VERTICAL DIVIDER SAFE-ZONE CONTRACT
   A structural divider owns its own lane. Content begins only after
   that lane plus the required gutter, so type can never hug the rule.
   ========================================================= */
:root{
  --divider-lane: 24px;
  --divider-content-gap: clamp(56px, 5vw, 84px);
}

/* Homepage BGSU campaign split */
.bgsu-band.bgsu-campaign .bgsu-poster{
  position:relative;
  transform:none!important;
  border-left:0!important;
  padding-left:calc(var(--divider-lane) + var(--divider-content-gap))!important;
  padding-right:var(--gutter-desktop)!important;
}
.bgsu-band.bgsu-campaign .bgsu-poster::before{
  content:"";
  position:absolute;
  left:0!important;
  top:8%;
  bottom:8%;
  width:1px;
  background:#344036;
  transform:none!important;
}
.bgsu-band.bgsu-campaign .bgsu-poster>*{transform:none!important;}

/* Closing CTA/address split uses the same safe-zone principle. */
.final-cta aside{
  padding-left:var(--divider-content-gap)!important;
}

@media(max-width:1050px){
  .bgsu-band.bgsu-campaign .bgsu-poster{
    padding-left:0!important;
    padding-right:0!important;
  }
  .bgsu-band.bgsu-campaign .bgsu-poster::before{display:none!important;}
}


/* =========================================================
   BGSU CAMPAIGN — RECOMPOSED
   One editorial composition, not two panels fighting each other.
   The campaign phrase is locked to two intentional lines on desktop.
   ========================================================= */
.bgsu-band.bgsu-campaign{
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
  column-gap:clamp(72px,7vw,118px)!important;
  row-gap:34px!important;
  align-items:center!important;
}
.bgsu-band.bgsu-campaign .bgsu-kicker{
  grid-column:1/-1;
  margin-bottom:0!important;
}
.bgsu-band.bgsu-campaign .bgsu-message{
  max-width:760px;
  padding-right:0!important;
}
.bgsu-band.bgsu-campaign .bgsu-poster{
  min-width:0!important;
  min-height:0!important;
  padding:34px 0 34px clamp(12px,1.5vw,24px)!important;
  border:0!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:transparent!important;
}
.bgsu-band.bgsu-campaign .bgsu-poster::before{display:none!important;}
.bgsu-band.bgsu-campaign .bgsu-poster>span{
  display:block;
  margin:0 0 14px;
  color:#d9dfda;
}
.bgsu-band.bgsu-campaign .bgsu-poster>strong{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  font:900 clamp(2.75rem,3.75vw,4.35rem)/.9 var(--display);
  letter-spacing:-.045em;
  color:var(--lime);
}
.bgsu-band.bgsu-campaign .bgsu-poster>strong>i{
  display:block;
  font:inherit;
  white-space:nowrap;
}

@media(max-width:1180px){
  .bgsu-band.bgsu-campaign{
    grid-template-columns:minmax(0,1fr) minmax(380px,.8fr)!important;
    column-gap:56px!important;
  }
  .bgsu-band.bgsu-campaign .bgsu-poster>strong{
    font-size:clamp(2.45rem,3.55vw,3.7rem);
  }
}
@media(max-width:1050px){
  .bgsu-band.bgsu-campaign{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .bgsu-band.bgsu-campaign .bgsu-poster{
    padding:28px 0 0!important;
    border-top:1px solid #344036!important;
  }
  .bgsu-band.bgsu-campaign .bgsu-poster>strong{
    font-size:clamp(2.6rem,7vw,4.2rem);
  }
}
@media(max-width:560px){
  .bgsu-band.bgsu-campaign .bgsu-poster>strong{
    font-size:clamp(2.15rem,10.2vw,3rem);
  }
}

/* Footer brand mark — transparent asset must remain transparent on dark footer. */
body > footer > img[src*="jt-logo"] {
  display: block;
  width: 132px;
  height: auto;
  object-fit: contain;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.35));
}
@media (max-width: 780px) {
  body > footer > img[src*="jt-logo"] { width: 112px; }
}

/* BGSU campaign alignment contract: kicker and both content columns share one grid. */
.bgsu-band.bgsu-campaign{
  --bgsu-left:minmax(0,1.08fr);
  --bgsu-right:minmax(430px,.92fr);
  --bgsu-gap:clamp(72px,7vw,118px);
  grid-template-columns:var(--bgsu-left) var(--bgsu-right)!important;
  column-gap:var(--bgsu-gap)!important;
}
.bgsu-band.bgsu-campaign .bgsu-kicker{
  position:relative!important;
  inset:auto!important;
  grid-column:1 / -1!important;
  grid-row:1!important;
  width:100%!important;
  padding:0 0 14px!important;
  margin:0!important;
  border-bottom:1px solid #343a35;
  align-self:end;
}
.bgsu-band.bgsu-campaign .bgsu-message{
  grid-column:1!important;
  grid-row:2!important;
  justify-self:stretch;
}
.bgsu-band.bgsu-campaign .bgsu-poster{
  grid-column:2!important;
  grid-row:2!important;
}
@media(max-width:1050px){
  .bgsu-band.bgsu-campaign .bgsu-kicker,
  .bgsu-band.bgsu-campaign .bgsu-message,
  .bgsu-band.bgsu-campaign .bgsu-poster{grid-column:1!important;}
  .bgsu-band.bgsu-campaign .bgsu-kicker{grid-row:1!important;}
  .bgsu-band.bgsu-campaign .bgsu-message{grid-row:2!important;}
  .bgsu-band.bgsu-campaign .bgsu-poster{grid-row:3!important;}
}


/* SERVICE ICON COMPONENT — canonical V8.6.9
   Real SVG replaces the retired geometric pseudo-icon. */
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard::before{
  width:88px;
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceIcon{
  position:absolute;
  z-index:2;
  left:24px;
  top:50%;
  width:40px;
  height:40px;
  transform:translateY(-50%);
  display:block;
  color:var(--lime);
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px rgba(121,255,0,.16));
  transition:transform .2s ease,filter .2s ease;
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceIcon *{
  fill:none !important;
  stroke:currentColor !important;
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard:hover .serviceIcon,
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard:focus-visible .serviceIcon{
  transform:translateY(-50%) scale(1.06);
  filter:drop-shadow(0 0 8px rgba(121,255,0,.3));
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard b{z-index:3}
@media(max-width:760px){
  body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceIcon{left:25px;width:38px;height:38px}
}

/* Vehicle-fit composition: keep related content visually grouped. */
.vehicleFit{
  display:grid;
  grid-template-columns:minmax(0,760px) auto;
  justify-content:space-between;
  align-items:center;
  column-gap:clamp(40px,6vw,88px);
  padding-top:58px;
  padding-bottom:58px;
}
.vehicleFit>div{max-width:760px}
.vehicleFit .secondary{justify-self:end;white-space:nowrap}
@media(max-width:900px){
  .vehicleFit{grid-template-columns:1fr;row-gap:24px;padding-top:52px;padding-bottom:52px}
  .vehicleFit .secondary{justify-self:start;margin-top:0}
}
@media(max-width:520px){
  .vehicleFit{padding-top:42px;padding-bottom:42px}
}

/* V8.6.11 — Vehicle-fit proximity correction
   CRAP: related copy + action must read as one composition, not opposite ends of the section. */
.vehicleFit{
  grid-template-columns:minmax(0,680px) max-content;
  justify-content:start;
  column-gap:clamp(44px,5vw,72px);
  padding-top:46px;
  padding-bottom:46px;
}
.vehicleFit>div{max-width:680px}
.vehicleFit .secondary{justify-self:start;align-self:center}
@media(max-width:900px){
  .vehicleFit{grid-template-columns:1fr;row-gap:22px;padding-top:44px;padding-bottom:44px}
}
@media(max-width:520px){
  .vehicleFit{padding-top:38px;padding-bottom:38px}
}

/* V8.6.12 — Services lower-page composition refinement
   CRAP / Alignment + Proximity: keep the vehicle question and its action in one
   left-aligned reading column; give the symptom bridge more horizontal rhythm. */
body:has(.servicesConceptHero) .servicesSymptomStrip{
  grid-template-columns:72px minmax(260px,1.05fr) minmax(300px,.95fr) minmax(330px,1.05fr);
  column-gap:clamp(34px,3.25vw,58px);
  padding-left:max(calc((100vw - 1240px)/2),28px);
  padding-right:max(calc((100vw - 1240px)/2),28px);
}
body:has(.servicesConceptHero) .symptomCopy{max-width:330px}
body:has(.servicesConceptHero) .symptomAction{min-width:300px}
body:has(.servicesConceptHero) .symptomProof{gap:18px}

body:has(.servicesConceptHero) .vehicleFit{
  display:block;
  padding-top:48px;
  padding-bottom:48px;
}
body:has(.servicesConceptHero) .vehicleFit>div{
  max-width:720px;
}
body:has(.servicesConceptHero) .vehicleFit .title-pair{
  max-width:720px;
}
body:has(.servicesConceptHero) .vehicleFit p{
  max-width:650px;
  margin-bottom:20px;
}
body:has(.servicesConceptHero) .vehicleFit .secondary{
  display:inline-flex;
  margin-top:0;
}
@media(max-width:1100px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:64px minmax(240px,1fr) minmax(280px,1fr);
    column-gap:30px;
  }
  body:has(.servicesConceptHero) .symptomProof{grid-column:2/-1}
}
@media(max-width:760px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:54px 1fr;
    column-gap:18px;
  }
  body:has(.servicesConceptHero) .symptomAction,
  body:has(.servicesConceptHero) .symptomProof{grid-column:1/-1}
  body:has(.servicesConceptHero) .vehicleFit{padding-top:40px;padding-bottom:40px}
}

/* V8.6.13 — Symptom bridge rebalance
   CRAP: balance visual mass across the strip while preserving clear proximity groups. */
body:has(.servicesConceptHero) .servicesSymptomStrip{
  grid-template-columns:58px minmax(300px,1.15fr) minmax(300px,.92fr) minmax(290px,.88fr);
  column-gap:clamp(28px,2.8vw,48px);
  align-items:center;
  padding-top:34px;
  padding-bottom:34px;
}
body:has(.servicesConceptHero) .symptomMark{
  width:58px;
  height:58px;
  justify-self:end;
}
body:has(.servicesConceptHero) .symptomCopy{
  max-width:360px;
}
body:has(.servicesConceptHero) .symptomCopy .title-pair{
  margin-bottom:8px;
}
body:has(.servicesConceptHero) .symptomAction{
  width:100%;
  min-width:0;
  max-width:330px;
  justify-self:center;
}
body:has(.servicesConceptHero) .symptomProof{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}
body:has(.servicesConceptHero) .symptomProof span{
  min-height:58px;
  padding:7px 14px 7px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
@media(max-width:1100px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:58px minmax(280px,1fr) minmax(300px,1fr);
    column-gap:28px;
  }
  body:has(.servicesConceptHero) .symptomProof{
    grid-column:2/-1;
    max-width:620px;
  }
}
@media(max-width:760px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:48px minmax(0,1fr);
    column-gap:18px;
    row-gap:20px;
  }
  body:has(.servicesConceptHero) .symptomMark{width:48px;height:48px}
  body:has(.servicesConceptHero) .symptomAction,
  body:has(.servicesConceptHero) .symptomProof{grid-column:1/-1;max-width:none}
}

/* V8.6.14 — Services CRAP composition correction
   The strip is already a centered max-width container, so it must not receive a second
   viewport-derived inner gutter. That double gutter was pushing the composition right. */
body:has(.servicesConceptHero) .servicesSymptomStrip{
  box-sizing:border-box;
  grid-template-columns:64px minmax(300px,1.15fr) minmax(290px,.92fr) minmax(300px,.95fr);
  gap:clamp(30px,2.8vw,48px);
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
  padding:34px clamp(34px,3.2vw,52px);
  align-items:center;
}
body:has(.servicesConceptHero) .symptomMark{
  justify-self:start;
  align-self:center;
}
body:has(.servicesConceptHero) .symptomCopy{
  max-width:390px;
  justify-self:start;
}
body:has(.servicesConceptHero) .symptomCopy .title-payoff{
  max-width:360px;
}
body:has(.servicesConceptHero) .symptomAction{
  max-width:320px;
  justify-self:center;
}
body:has(.servicesConceptHero) .symptomProof{
  max-width:330px;
  justify-self:end;
}
body:has(.servicesConceptHero) .symptomProof span{
  padding-left:14px;
  padding-right:10px;
}
@media(max-width:1100px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:58px minmax(280px,1fr) minmax(290px,1fr);
    padding-left:30px;
    padding-right:30px;
  }
  body:has(.servicesConceptHero) .symptomProof{
    grid-column:2/-1;
    justify-self:start;
    max-width:640px;
  }
}
@media(max-width:760px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:48px minmax(0,1fr);
    padding:28px 22px;
    row-gap:20px;
  }
  body:has(.servicesConceptHero) .symptomAction,
  body:has(.servicesConceptHero) .symptomProof{
    grid-column:1/-1;
    justify-self:stretch;
    max-width:none;
  }
}

/* ==========================================================
   V8.6.15 — UNIVERSAL CTA SYSTEM
   Homepage header Request Service button is the visual source of truth.
   All action controls use the same rectangular geometry, typography,
   spacing rhythm, and interaction language. Orange remains action-only.
   ========================================================== */
:root{
  --action-min-h:44px;
  --action-pad-y:13px;
  --action-pad-x:20px;
  --action-font:.72rem;
  --action-track:.07em;
}

/* Primary + secondary CTA geometry */
.btn,
.cta,
.secondary,
.top .desktop-cta{
  min-height:var(--action-min-h)!important;
  padding:var(--action-pad-y) var(--action-pad-x)!important;
  border-radius:0!important;
  clip-path:none!important;
  font-family:var(--ui,Arial,sans-serif)!important;
  font-size:var(--action-font)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:var(--action-track)!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.45em;
}

/* Primary action = homepage header Request Service */
.btn-orange,
.cta,
.top .desktop-cta{
  background:var(--orange)!important;
  color:#090a09!important;
  border:1px solid var(--orange)!important;
  box-shadow:none!important;
}
.btn-orange:hover,.btn-orange:focus-visible,
.cta:hover,.cta:focus-visible,
.top .desktop-cta:hover,.top .desktop-cta:focus-visible{
  background:#ff8a3c!important;
  border-color:#ff8a3c!important;
  color:#090a09!important;
  transform:translateY(-1px)!important;
}

/* Secondary actions keep the same box/size system, only hierarchy changes. */
.btn-outline,
.secondary{
  background:transparent!important;
  color:#f7f8f5!important;
  border:1px solid #f7f8f5!important;
  box-shadow:none!important;
}
.btn-outline:hover,.btn-outline:focus-visible,
.secondary:hover,.secondary:focus-visible{
  background:#f7f8f5!important;
  color:#090a09!important;
  border-color:#f7f8f5!important;
  transform:translateY(-1px)!important;
}

/* Small is now a density variant, not a different design language. */
.cta.small{
  min-height:var(--action-min-h)!important;
  padding:var(--action-pad-y) var(--action-pad-x)!important;
  font-size:var(--action-font)!important;
}

/* Keep paired CTAs visually aligned. */
.actions{align-items:stretch!important}
.actions>.btn,.actions>.cta,.actions>.secondary{min-height:var(--action-min-h)!important}

/* Light-surface secondary controls need dark ink/border while retaining geometry. */
.section:not(.dark):not(.final-cta) .secondary,
.trust-section .secondary,
.location .secondary,
.vehicle-fit .secondary,
.vehicleFit .secondary{
  color:#111!important;
  border-color:#666!important;
}
.section:not(.dark):not(.final-cta) .secondary:hover,
.section:not(.dark):not(.final-cta) .secondary:focus-visible,
.trust-section .secondary:hover,.trust-section .secondary:focus-visible,
.location .secondary:hover,.location .secondary:focus-visible,
.vehicle-fit .secondary:hover,.vehicle-fit .secondary:focus-visible,
.vehicleFit .secondary:hover,.vehicleFit .secondary:focus-visible{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

/* ==========================================================
   V8.6.16 — SERVICES SYMPTOM BRIDGE RECOMPOSITION
   CRAP: three intentional proximity groups, shared baseline,
   no label wrapping, and one universal orange action language.
   ========================================================== */
body:has(.servicesConceptHero) .servicesSymptomStrip{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.78fr) minmax(330px,.95fr);
  gap:clamp(34px,3.4vw,58px);
  max-width:1240px;
  padding:38px clamp(38px,3.4vw,54px);
  align-items:center;
}
body:has(.servicesConceptHero) .symptomIntro{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:26px;
  align-items:center;
  min-width:0;
}
body:has(.servicesConceptHero) .symptomMark{
  width:58px;height:58px;
  justify-self:start;
  margin:0;
}
body:has(.servicesConceptHero) .symptomCopy{
  max-width:370px;
  min-width:0;
}
body:has(.servicesConceptHero) .symptomCopy .title-pair{margin:0 0 8px}
body:has(.servicesConceptHero) .symptomCopy .title-payoff{max-width:none}
body:has(.servicesConceptHero) .symptomAction{
  box-sizing:border-box;
  width:100%;
  max-width:310px;
  min-width:0;
  min-height:76px;
  padding:16px 20px;
  justify-self:center;
  background:var(--orange)!important;
  color:#090a09!important;
  border:1px solid var(--orange)!important;
  clip-path:none!important;
  text-decoration:none;
  transition:.18s ease;
}
body:has(.servicesConceptHero) .symptomAction:hover,
body:has(.servicesConceptHero) .symptomAction:focus-visible{
  background:#ff8a3c!important;
  border-color:#ff8a3c!important;
  transform:translateY(-1px);
}
body:has(.servicesConceptHero) .symptomProof{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:0;
  width:100%;
  max-width:none;
  min-width:0;
}
body:has(.servicesConceptHero) .symptomProof span{
  flex:1 1 auto;
  min-width:0;
  min-height:58px;
  padding:7px 14px;
  border-left:1px solid #39433d;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
body:has(.servicesConceptHero) .symptomProof b{
  display:block;
  margin:0 0 5px;
  color:var(--lime);
  line-height:1;
}
body:has(.servicesConceptHero) .symptomProof em{
  display:block;
  color:#fff;
  font-style:normal;
  font-size:.69rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(max-width:1100px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);
    row-gap:26px;
  }
  body:has(.servicesConceptHero) .symptomProof{
    grid-column:1/-1;
    justify-self:start;
    max-width:520px;
    margin-left:90px;
  }
}
@media(max-width:760px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:1fr;
    padding:30px 22px;
    gap:22px;
  }
  body:has(.servicesConceptHero) .symptomIntro{grid-template-columns:48px 1fr;gap:16px}
  body:has(.servicesConceptHero) .symptomMark{width:48px;height:48px}
  body:has(.servicesConceptHero) .symptomAction{justify-self:stretch;max-width:none}
  body:has(.servicesConceptHero) .symptomProof{grid-column:auto;margin-left:0;max-width:none}
  body:has(.servicesConceptHero) .symptomProof span{padding-left:10px;padding-right:10px}
  body:has(.servicesConceptHero) .symptomProof em{font-size:.62rem}
}
@media(max-width:480px){
  body:has(.servicesConceptHero) .symptomProof{display:grid;grid-template-columns:1fr;gap:0}
  body:has(.servicesConceptHero) .symptomProof span{min-height:42px;border-left:0;border-top:1px solid #39433d;flex-direction:row;align-items:center;gap:10px}
  body:has(.servicesConceptHero) .symptomProof b{margin:0}
}

/* ==========================================================
   V8.6.17 — SYMPTOM BRIDGE CONTEXTUAL CTA
   Deliberate exception to universal CTA geometry: this control
   is a directional bridge inside the 3-step process, not a
   global conversion CTA. Lime + arrow reinforces progression.
   ========================================================== */
body:has(.servicesConceptHero) .symptomAction{
  width:100%;
  max-width:310px;
  min-height:76px;
  padding:16px 34px 16px 24px;
  justify-self:center;
  background:var(--lime)!important;
  color:#071006!important;
  border:0!important;
  clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,6% 50%)!important;
  transform:none;
}
body:has(.servicesConceptHero) .symptomAction:hover,
body:has(.servicesConceptHero) .symptomAction:focus-visible{
  background:#8dff2a!important;
  color:#071006!important;
  transform:translateX(3px);
}
body:has(.servicesConceptHero) .symptomAction span,
body:has(.servicesConceptHero) .symptomAction strong{
  color:inherit!important;
}
@media (max-width:780px){
  body:has(.servicesConceptHero) .symptomAction{
    max-width:none;
    clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%,4% 50%)!important;
  }
}

/* V8.6.18 — visual rhythm / mechanical editorial breaks */
body:has(.servicesConceptHero) .serviceVisualBreak{
  position:relative; overflow:hidden; max-width:1440px; margin:0 auto;
  min-height:210px; padding:42px clamp(34px,7vw,108px);
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:64px; align-items:center;
  border-block:1px solid #2d3731;
  background:
    linear-gradient(100deg,rgba(121,255,0,.09),transparent 34%),
    repeating-linear-gradient(135deg,transparent 0 46px,rgba(255,255,255,.018) 46px 47px),
    #080b09;
}
body:has(.servicesConceptHero) .visualBreakCopy{position:relative;z-index:2}
body:has(.servicesConceptHero) .visualBreakCopy .eyebrow{margin:0 0 12px;color:#79ff00}
body:has(.servicesConceptHero) .visualBreakStatement{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 12px}
body:has(.servicesConceptHero) .visualBreakStatement strong{font-family:var(--display);font-size:clamp(2rem,3.2vw,3.8rem);line-height:.9;color:#f4f4ef;letter-spacing:-.025em}
body:has(.servicesConceptHero) .visualBreakStatement strong:nth-child(even){color:#79ff00}
body:has(.servicesConceptHero) .visualBreakCopy>p:last-child{margin:0;max-width:600px;color:#d6ddd8;font-size:1rem}
body:has(.servicesConceptHero) .visualBreakGauge{justify-self:end;width:min(100%,330px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:18px 20px;border:1px solid #344039;background:#050706}
body:has(.servicesConceptHero) .visualBreakGauge span{font-family:var(--display);font-size:.75rem;letter-spacing:.11em;color:#f4f4ef;text-align:center}
body:has(.servicesConceptHero) .visualBreakGauge b{font-size:1.7rem;color:#79ff00}
body:has(.servicesConceptHero) .visualBreakTrack{position:absolute;inset:auto 0 18px;display:grid;grid-template-columns:14px 1fr 14px 1fr 14px;align-items:center;opacity:.38}
body:has(.servicesConceptHero) .visualBreakTrack span{width:10px;height:10px;border:2px solid #79ff00;border-radius:50%;justify-self:center}
body:has(.servicesConceptHero) .visualBreakTrack i{height:1px;background:linear-gradient(90deg,#79ff00,#354039)}

body:has(.servicesConceptHero) .vehicleFit{position:relative;grid-template-columns:minmax(270px,.55fr) minmax(0,1fr);column-gap:56px;align-items:center;overflow:hidden}
body:has(.servicesConceptHero) .vehicleFitGraphic{align-self:stretch;min-height:210px;display:flex;flex-direction:column;justify-content:center;padding:28px 36px;border-right:1px solid #c7cbc5;background:linear-gradient(135deg,#e6e8e2,#f5f5f1);position:relative}
body:has(.servicesConceptHero) .vehicleFitGraphic:after{content:"";position:absolute;right:24px;top:26px;bottom:26px;width:8px;background:#79ff00}
body:has(.servicesConceptHero) .vehicleFitGraphic span,body:has(.servicesConceptHero) .vehicleFitGraphic i{font-family:var(--display);font-style:normal;letter-spacing:.12em;color:#445047;font-size:.72rem}
body:has(.servicesConceptHero) .vehicleFitGraphic strong{font-family:var(--display);font-size:clamp(2.8rem,5vw,5.8rem);line-height:.82;color:#101411;letter-spacing:-.045em}
body:has(.servicesConceptHero) .vehicleFitGraphic i{margin-top:14px}
body:has(.servicesConceptHero) .vehicleFitContent{max-width:660px}
body:has(.servicesConceptHero) .vehicleFitContent .title-pair{margin-bottom:14px}
body:has(.servicesConceptHero) .vehicleFitContent>p:last-child{max-width:620px}
body:has(.servicesConceptHero) .vehicleFit>.secondary{grid-column:2;justify-self:start;margin-top:-2px}

@media(max-width:900px){
 body:has(.servicesConceptHero) .serviceVisualBreak{grid-template-columns:1fr;gap:26px;padding-block:36px}
 body:has(.servicesConceptHero) .visualBreakGauge{justify-self:start}
 body:has(.servicesConceptHero) .vehicleFit{grid-template-columns:1fr;gap:0;padding-left:0;padding-right:0}
 body:has(.servicesConceptHero) .vehicleFitGraphic{min-height:150px;border-right:0;border-bottom:1px solid #c7cbc5;padding-inline:clamp(24px,6vw,48px)}
 body:has(.servicesConceptHero) .vehicleFitContent,body:has(.servicesConceptHero) .vehicleFit>.secondary{margin-left:clamp(24px,6vw,48px);margin-right:clamp(24px,6vw,48px)}
 body:has(.servicesConceptHero) .vehicleFitContent{padding-top:34px}
 body:has(.servicesConceptHero) .vehicleFit>.secondary{grid-column:1;margin-top:20px;margin-bottom:34px}
}
@media(max-width:560px){
 body:has(.servicesConceptHero) .serviceVisualBreak{padding-inline:24px}
 body:has(.servicesConceptHero) .visualBreakStatement{gap:6px 14px}
 body:has(.servicesConceptHero) .visualBreakGauge{width:100%;padding-inline:12px}
}

/* ==========================================================
   SERVICES — FINAL RHYTHM + FRAME SYSTEM
   Consolidated from the V8.6.19–V8.6.22 refinement passes.
   Major chapters breathe; related panels stay close; card and
   vehicle bands use deliberate edge/gutter logic.
   ========================================================== */
@media (min-width:901px){
  body:has(.servicesConceptHero){
    --services-chapter-gap:72px;
    --services-related-gap:18px;
    --services-handoff-gap:56px;
  }

  body:has(.servicesConceptHero) .serviceDirectory{
    padding-top:64px;
    padding-bottom:var(--services-chapter-gap);
  }

  body:has(.servicesConceptHero) .serviceVisualBreak,
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    width:min(1240px,calc(100% - 48px));
    margin-left:auto;
    margin-right:auto;
    border-color:#2d3731;
  }
  body:has(.servicesConceptHero) .serviceVisualBreak{
    margin-top:0;
    margin-bottom:var(--services-related-gap);
  }
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    margin-top:0;
    margin-bottom:var(--services-handoff-gap);
  }

  body:has(.servicesConceptHero) .vehicleFit{
    box-sizing:border-box;
    padding-top:34px;
    padding-right:32px;
    padding-bottom:34px;
  }
  body:has(.servicesConceptHero) .vehicleFitContent .eyebrow{margin-bottom:10px}
  body:has(.servicesConceptHero) .vehicleFitContent .title-pair{margin-bottom:12px}
  body:has(.servicesConceptHero) .vehicleFitContent>p:last-child{margin-top:0}
  body:has(.servicesConceptHero) .vehicleFit>.secondary{margin-right:0}

  body:has(.servicesConceptHero) .final-cta.section{
    margin-top:0;
    padding-top:58px;
    padding-bottom:58px;
  }
}

@media (min-width:761px){
  body:has(.servicesConceptHero) .serviceDirectoryGrid{
    padding-left:0;
    padding-right:0;
    border:0;
  }
}

@media (max-width:900px){
  body:has(.servicesConceptHero) .serviceDirectory{padding-top:48px;padding-bottom:52px}
  body:has(.servicesConceptHero) .serviceVisualBreak{margin-bottom:16px}
  body:has(.servicesConceptHero) .servicesSymptomStrip{margin-top:0;margin-bottom:42px}
  body:has(.servicesConceptHero) .vehicleFit{padding-top:0;padding-bottom:0}
  body:has(.servicesConceptHero) .vehicleFit>.secondary{margin-right:clamp(24px,6vw,48px)}
  body:has(.servicesConceptHero) .final-cta.section{padding-top:48px;padding-bottom:48px}
}

/* ============================================================
   V8.6.24 — ABOUT PAGE CRAP + QA PASS
   A single rhythm/rail system for the customer-facing About page.
   ============================================================ */
body:has(.aboutHero){--about-rail:min(1240px,calc(100vw - 64px));--about-section-y:clamp(72px,6.5vw,104px);--about-paired-y:clamp(58px,5vw,78px)}
body:has(.aboutHero) main{overflow:hidden}
body:has(.aboutHero) .pageHero,
body:has(.aboutHero) .section{padding-left:max(32px,calc((100vw - 1240px)/2));padding-right:max(32px,calc((100vw - 1240px)/2))}

/* Hero: one focal statement, tighter relationship between label/title/copy. */
body:has(.aboutHero) .aboutHero{min-height:430px;padding-top:78px;padding-bottom:76px;background:radial-gradient(circle at 82% 44%,rgba(121,255,0,.105),transparent 27%),linear-gradient(118deg,#070a08 0 58%,#101712 100%)}
body:has(.aboutHero) .aboutHero .eyebrow{margin-bottom:18px}
body:has(.aboutHero) .aboutHero h1{max-width:820px}
body:has(.aboutHero) .aboutHero .lede{max-width:690px;margin-top:22px}

/* Major sections share the same vertical cadence. */
body:has(.aboutHero) .aboutOrigin,
body:has(.aboutHero) .aboutPrinciples,
body:has(.aboutHero) .reputationStory,
body:has(.aboutHero) .locationSection{padding-top:var(--about-section-y);padding-bottom:var(--about-section-y)}

/* Origin: text and shop stamp now behave as one composition. */
body:has(.aboutHero) .aboutOrigin{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(56px,7vw,112px);align-items:center;background:#f3f3ee;color:#111}
body:has(.aboutHero) .aboutOrigin>div:first-child{max-width:700px}
body:has(.aboutHero) .aboutOrigin .eyebrow{color:#397d00;margin-bottom:16px}
body:has(.aboutHero) .aboutOrigin h2{margin:0 0 24px;font-size:clamp(2.7rem,3.65vw,4.25rem);line-height:.91}
body:has(.aboutHero) .aboutOrigin p:not(.eyebrow){max-width:660px;color:#424a43;line-height:1.68;margin:0}
body:has(.aboutHero) .aboutOrigin p:not(.eyebrow)+p{margin-top:15px}
body:has(.aboutHero) .shopStamp{justify-self:end;width:min(100%,380px);min-height:300px;padding:42px;border:1px solid #bcc4bc;position:relative;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f7f7f2,#e9ede7);overflow:hidden}
body:has(.aboutHero) .shopStamp:before{content:"LOCAL / INDEPENDENT";position:absolute;left:42px;top:30px;color:#397d00;font-size:.65rem;font-weight:950;letter-spacing:.16em}
body:has(.aboutHero) .shopStamp:after{content:"";position:absolute;right:-34px;bottom:-50px;width:170px;height:170px;border:18px solid rgba(57,125,0,.08);transform:rotate(32deg)}
body:has(.aboutHero) .shopStamp strong{font:950 clamp(4.5rem,7vw,7rem)/.8 var(--display);letter-spacing:-.06em;color:#111;position:relative;z-index:1}
body:has(.aboutHero) .shopStamp span{font-size:.78rem;font-weight:900;letter-spacing:.08em;margin-top:11px;position:relative;z-index:1}
body:has(.aboutHero) .shopStamp small{margin-top:25px;color:#397d00;font-weight:950;letter-spacing:.16em;position:relative;z-index:1}

/* Principles: eliminate the floating section-head/card relationship. */
body:has(.aboutHero) .aboutPrinciples{background:linear-gradient(115deg,#080b09,#111713);color:#fff}
body:has(.aboutHero) .aboutPrinciples .sectionHead{display:block;margin:0 0 38px}
body:has(.aboutHero) .aboutPrinciples .sectionHead .eyebrow{margin:0 0 14px;color:#d9dfda}
body:has(.aboutHero) .aboutPrinciples .sectionHead h2{max-width:760px;font-size:clamp(2.7rem,3.65vw,4.2rem)}
body:has(.aboutHero) .principleGrid{gap:0;border:1px solid #343a35;background:transparent}
body:has(.aboutHero) .principleGrid article{min-height:250px;padding:32px 34px 34px;border-right:1px solid #343a35;display:flex;flex-direction:column}
body:has(.aboutHero) .principleGrid article:last-child{border-right:0}
body:has(.aboutHero) .principleGrid b{font-size:.68rem;letter-spacing:.14em}
body:has(.aboutHero) .principleGrid h3{margin:44px 0 12px;font-size:clamp(1.45rem,1.7vw,1.8rem)}
body:has(.aboutHero) .principleGrid p{margin:0;max-width:320px}

/* Reputation: large number is proof, not a detached ornament. */
body:has(.aboutHero) .reputationStory{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(58px,7vw,110px);align-items:center;background:#f3f3ee;color:#111}
body:has(.aboutHero) .reputationStory>div:first-child{max-width:700px}
body:has(.aboutHero) .reputationStory .eyebrow{color:#397d00;margin-bottom:16px}
body:has(.aboutHero) .reputationStory h2{margin:0 0 22px;font-size:clamp(2.7rem,3.65vw,4.2rem);line-height:.91}
body:has(.aboutHero) .reputationStory p:not(.eyebrow){max-width:670px;color:#424a43;line-height:1.68;margin:0}
body:has(.aboutHero) .reputationStory .secondary{margin-top:26px}
body:has(.aboutHero) .reputationNumber{justify-self:end;width:min(100%,390px);padding:36px 0 36px 54px;border-left:1px solid #b9c1b9}
body:has(.aboutHero) .reputationNumber strong{font-size:clamp(5.5rem,8vw,8rem)}
body:has(.aboutHero) .reputationNumber span{margin-top:18px}

/* Location closes the story with an intentional dark chapter and equal gutters. */
body:has(.aboutHero) .locationSection{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:clamp(52px,6vw,92px);align-items:center;background:#0d120f;color:#fff;border-top:1px solid #303630}
body:has(.aboutHero) .locationSection>div{max-width:520px}
body:has(.aboutHero) .locationSection .eyebrow{color:#dbe1dc;margin-bottom:15px}
body:has(.aboutHero) .locationSection h2{font:950 clamp(2.8rem,3.7vw,4.3rem)/.92 var(--display);letter-spacing:-.045em;margin:0 0 18px;color:var(--lime)}
body:has(.aboutHero) .locationSection p:not(.eyebrow){color:#c8cec9;line-height:1.65;margin:0}
body:has(.aboutHero) .locationSection .actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
body:has(.aboutHero) .locationSection .mapFrame{width:100%;height:330px;border:1px solid #343b35;filter:grayscale(.9) contrast(1.08)}

/* About footer should read as utility, not another full content chapter. */
body:has(.aboutHero) footer{border-top:1px solid #2d332e}

@media(max-width:900px){
 body:has(.aboutHero){--about-section-y:68px}
 body:has(.aboutHero) .aboutOrigin,body:has(.aboutHero) .reputationStory,body:has(.aboutHero) .locationSection{grid-template-columns:1fr;gap:38px}
 body:has(.aboutHero) .shopStamp,body:has(.aboutHero) .reputationNumber{justify-self:start;width:min(100%,520px)}
 body:has(.aboutHero) .locationSection .mapFrame{height:300px}
}
@media(max-width:780px){
 body:has(.aboutHero) .pageHero,body:has(.aboutHero) .section{padding-left:24px;padding-right:24px}
 body:has(.aboutHero) .aboutHero{padding-top:58px;padding-bottom:58px}
 body:has(.aboutHero) .principleGrid{grid-template-columns:1fr}
 body:has(.aboutHero) .principleGrid article{min-height:auto;border-right:0;border-bottom:1px solid #343a35}
 body:has(.aboutHero) .principleGrid article:last-child{border-bottom:0}
 body:has(.aboutHero) .principleGrid h3{margin-top:26px}
 body:has(.aboutHero) .reputationNumber{border-left:0;border-top:1px solid #b9c1b9;padding:28px 0 0}
 body:has(.aboutHero) .shopStamp{min-height:250px;padding:34px}
 body:has(.aboutHero) .shopStamp:before{left:34px;top:24px}
}

/* V8.6.25 — About concept implementation */
body:has(.aboutConceptPage){background:#080b09}
body:has(.aboutConceptPage) .top{border-bottom:1px solid #242a25}
.aboutConceptPage{overflow:hidden}
.aboutConceptHero{max-width:1500px;margin:0 auto;min-height:470px;display:grid;grid-template-columns:minmax(430px,.8fr) minmax(620px,1.2fr);background:#050706;color:#fff}
.aboutHeroCopy{position:relative;z-index:2;padding:72px 0 66px max(42px,calc((100vw - 1240px)/2));align-self:center}
.aboutHeroCopy .eyebrow{margin-bottom:18px}.aboutHeroCopy h1{font-size:clamp(3.6rem,5.2vw,6.3rem);line-height:.88;margin:0;max-width:660px}.aboutHeroCopy .title-payoff{color:var(--lime)}
.aboutHeroCopy .lede{max-width:590px;margin:24px 0 0;color:#e0e4e0;font-size:1.08rem;line-height:1.55}
.aboutHeroVisual{min-height:470px;background:linear-gradient(90deg,#050706 0%,rgba(5,7,6,.58) 17%,rgba(5,7,6,.08) 45%),url('assets/image-audit/about-technician-engine-ai.png') center/cover no-repeat}
.aboutStoryBand{background:#f3f3ee;color:#111;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:64px;padding:70px max(42px,calc((100vw - 1240px)/2));align-items:center}
.aboutStoryCopy{max-width:620px}.aboutStoryCopy .eyebrow,.aboutProofBand .eyebrow{color:#397d00}.aboutStoryCopy h2{font-size:clamp(2.5rem,3.4vw,4rem);line-height:.9;margin:14px 0 24px}.aboutStoryCopy .title-payoff{color:#397d00}.aboutStoryCopy p{color:#414841;line-height:1.65;margin:0 0 14px}.aboutStoryCopy .secondary{margin-top:14px}
.aboutIdentity{display:grid;grid-template-columns:minmax(230px,.62fr) minmax(300px,1.38fr);border:1px solid #c7ccc5;min-height:310px;background:#f7f7f2}
.aboutStamp{padding:38px 30px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #c7ccc5}.aboutStamp span{color:#397d00;font-weight:950;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;margin-bottom:22px}.aboutStamp strong{font:950 clamp(4.4rem,6vw,6.8rem)/.75 var(--display);letter-spacing:-.06em}.aboutStamp b{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;margin-top:9px}.aboutStamp small{color:#397d00;font-weight:950;letter-spacing:.16em;margin-top:24px}.aboutIdentity img{width:100%;height:100%;min-height:310px;object-fit:cover;display:block}
.aboutValuesBand{padding:66px max(42px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:minmax(360px,.85fr) minmax(620px,1.15fr);gap:68px;align-items:center;background:linear-gradient(120deg,#080b09,#111713);color:#fff}
.aboutValuesLead h2{font-size:clamp(2.35rem,3.15vw,3.7rem);line-height:.91;margin:14px 0 18px}.aboutValuesLead .title-payoff{color:var(--lime)}.aboutValuesLead>p:last-child{max-width:520px;color:#cbd2cc;line-height:1.55}
.aboutValueGrid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #3b433c}.aboutValueGrid article{padding:18px 28px 22px;border-right:1px solid #3b433c;min-height:210px}.aboutValueIcon{display:block;color:var(--lime);font-size:2.2rem;font-weight:900;line-height:1;margin-bottom:26px}.aboutValueGrid h3{font:900 1.18rem/1.05 var(--display);text-transform:uppercase;margin:0 0 12px}.aboutValueGrid p{color:#cbd2cc;line-height:1.5;margin:0;font-size:.94rem}
.aboutProofBand{background:#f3f3ee;color:#111;padding:54px max(42px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr .85fr .85fr 1.2fr;align-items:center;gap:0}.aboutProofBand>div{min-height:170px;padding:12px 34px;border-right:1px solid #c7ccc5;display:flex;flex-direction:column;justify-content:center}.aboutProofBand>div:first-child{padding-left:0}.aboutProofLead h2{font-size:clamp(2.3rem,3vw,3.5rem);line-height:.9;margin:12px 0}.aboutProofLead .title-payoff{color:#397d00}.aboutRating strong{font:950 clamp(3.7rem,5vw,5.8rem)/.8 var(--display)}.aboutRating span{font-weight:950;text-transform:uppercase;margin-top:14px}.aboutRating small{color:#606760;margin-top:5px}.aboutRating a,.aboutFind a{color:#397d00;text-transform:uppercase;font-weight:950;font-size:.76rem;letter-spacing:.04em;margin-top:16px}.aboutFind h3{font:950 clamp(1.8rem,2.3vw,2.7rem)/1 var(--display);margin:10px 0 8px}.aboutFind p{margin:0;color:#444}.aboutMap{width:100%;height:190px;border:0;filter:grayscale(.85) contrast(1.05)}
@media(max-width:1100px){.aboutConceptHero{grid-template-columns:1fr 1fr}.aboutStoryBand,.aboutValuesBand{grid-template-columns:1fr;gap:38px}.aboutIdentity{max-width:800px}.aboutProofBand{grid-template-columns:1fr 1fr}.aboutProofBand>div:nth-child(2){border-right:0}.aboutMap{height:240px}}
@media(max-width:760px){.aboutConceptHero{grid-template-columns:1fr;min-height:auto}.aboutHeroCopy{padding:54px 24px 38px}.aboutHeroCopy h1{font-size:clamp(3.1rem,15vw,5rem)}.aboutHeroVisual{min-height:280px;background-position:center}.aboutStoryBand,.aboutValuesBand,.aboutProofBand{padding-left:24px;padding-right:24px}.aboutStoryBand{grid-template-columns:1fr}.aboutIdentity{grid-template-columns:1fr}.aboutStamp{border-right:0;border-bottom:1px solid #c7ccc5}.aboutValueGrid{grid-template-columns:1fr;border:1px solid #3b433c}.aboutValueGrid article{border-right:0;border-bottom:1px solid #3b433c;min-height:auto}.aboutValueGrid article:last-child{border-bottom:0}.aboutProofBand{grid-template-columns:1fr}.aboutProofBand>div,.aboutProofBand>div:first-child{padding:28px 0;border-right:0;border-bottom:1px solid #c7ccc5;min-height:auto}.aboutMap{height:260px}}


/* V8.6.27 — editorial differentiation pass */
body:has(.servicesConceptHero) .servicesSymptomStrip{margin-top:54px;margin-bottom:54px;}
body:has(.servicesConceptHero) .servicesSymptomStrip .symptomCopy{max-width:410px;}
body:has(.servicesConceptHero) .servicesSymptomStrip .symptomCopy>p:last-child{max-width:390px;}
@media(max-width:760px){body:has(.servicesConceptHero) .servicesSymptomStrip{margin-top:36px;margin-bottom:36px;}}

/* V8.6.28 — Phase 2: composition + CRAP rhythm */
/* One shared desktop rhythm for the three lead pages. Quiet sections get more air;
   utility bands stay compact. */
@media (min-width:901px){
  body:has(.hero) .service-intro.section{padding-top:72px;padding-bottom:72px}
  body:has(.hero) .proof-ribbon{margin-top:0}
  body:has(.hero) .symptom-section.section{padding-top:76px;padding-bottom:76px}
  body:has(.hero) .bgsu-band.bgsu-campaign{padding-top:76px!important;padding-bottom:76px!important}
  body:has(.hero) .final-cta.section{padding-top:66px;padding-bottom:66px}

  body:has(.servicesConceptHero) .serviceDirectory{padding-top:68px;padding-bottom:64px}
  body:has(.servicesConceptHero) .servicesSymptomStrip{margin-top:44px;margin-bottom:44px}
  body:has(.servicesConceptHero) .vehicleFit{margin-top:0;margin-bottom:0}
  body:has(.servicesConceptHero) .final-cta.section{padding-top:62px;padding-bottom:62px}

  body:has(.aboutConceptPage) .aboutConceptHero{min-height:500px}
  body:has(.aboutConceptPage) .aboutStoryBand{padding-top:74px;padding-bottom:74px}
  body:has(.aboutConceptPage) .aboutValuesBand{padding-top:72px;padding-bottom:72px}
  body:has(.aboutConceptPage) .aboutProofBand{padding-top:58px;padding-bottom:58px}
}
/* Keep About's light chapter from becoming visually busier than its story. */
.aboutStoryBand{column-gap:clamp(48px,5vw,76px)}
.aboutStoryCopy{padding-right:clamp(0px,2vw,24px)}
.aboutStoryCopy p{max-width:590px}
.aboutIdentity{align-self:stretch}
/* Make the values read as one connected mechanism, not three floating cards. */
.aboutValueGrid article{justify-content:flex-start}
.aboutValueGrid h3{max-width:220px}
.aboutValueGrid p{max-width:250px}
/* Proof is the quietest chapter on About. */
.aboutProofBand{border-top:1px solid #d3d7d1}
.aboutProofBand .aboutRating,.aboutProofBand .aboutFind{padding-left:clamp(24px,2.4vw,38px);padding-right:clamp(24px,2.4vw,38px)}
/* Services: align the three-step proof as a single baseline and protect labels. */
body:has(.servicesConceptHero) .symptomProof{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));align-items:stretch}
body:has(.servicesConceptHero) .symptomProof span{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:8px 14px}
body:has(.servicesConceptHero) .symptomProof em{white-space:nowrap}
/* Vehicle utility band should feel compact and intentional, not like a second hero. */
body:has(.servicesConceptHero) .vehicleFit{min-height:0}
body:has(.servicesConceptHero) .vehicleFitGraphic{min-height:190px}
/* Services symptom desk: the visitor's observations are the intake, not decoration. */
body:has(.servicesConceptHero) .servicesSymptomStrip{
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr)!important;
  gap:clamp(38px,6vw,88px)!important;
  padding:clamp(34px,4vw,54px)!important;
}
body:has(.servicesConceptHero) .symptomIntro{grid-template-columns:58px minmax(0,1fr)!important;gap:18px!important;align-self:start}
body:has(.servicesConceptHero) .symptomMark{width:54px!important;height:54px!important}
body:has(.servicesConceptHero) .symptomCopy{max-width:420px!important}
body:has(.servicesConceptHero) .symptomCopy .title-setup{font-size:clamp(1.55rem,2vw,2.1rem)!important}
body:has(.servicesConceptHero) .symptomCopy .title-payoff{font-size:clamp(2.35rem,3.2vw,3.3rem)!important;white-space:normal!important}
body:has(.servicesConceptHero) .symptomDesk{display:grid;align-self:stretch;border-top:1px solid #374137;border-bottom:1px solid #374137}
body:has(.servicesConceptHero) .symptomDesk article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid #374137}
body:has(.servicesConceptHero) .symptomDesk article>b{padding-top:2px;color:var(--lime);font:900 .7rem/1 var(--ui);letter-spacing:.1em}
body:has(.servicesConceptHero) .symptomDesk strong{display:block;color:#f7f8f5;font:900 .9rem/1 var(--display);letter-spacing:.02em}
body:has(.servicesConceptHero) .symptomDesk p{margin:5px 0 0;color:#c6cec8;line-height:1.42;font-size:.86rem}
body:has(.servicesConceptHero) .symptomDesk .symptomAction{display:flex!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:16px 0!important;justify-content:center!important;background:transparent!important;border:0!important;color:var(--lime)!important;clip-path:none!important}
body:has(.servicesConceptHero) .symptomDesk .symptomAction span{font-size:.68rem!important;letter-spacing:.12em!important}
body:has(.servicesConceptHero) .symptomDesk .symptomAction strong{margin:4px 0 0!important;color:#f7f8f5!important;font-size:1rem!important}
body:has(.servicesConceptHero) .symptomProof{display:none!important}
@media(max-width:760px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{grid-template-columns:1fr!important;gap:28px!important;padding:30px 22px!important}
  body:has(.servicesConceptHero) .symptomDesk article{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px 0}
}
/* The contained site frame is narrower than the browser viewport on large
   screens. Let the proof steps take a full, deliberate row before their text
   can crowd a divider. */
@media (min-width:761px) and (max-width:2000px){
  body:has(.servicesConceptHero) .servicesSymptomStrip{
    grid-template-columns:minmax(0,1.32fr) minmax(220px,.68fr);
    row-gap:22px;
    padding-top:30px;
    padding-bottom:30px;
  }
  body:has(.servicesConceptHero) .symptomIntro{
    grid-template-columns:52px minmax(0,1fr);
    gap:18px;
  }
  body:has(.servicesConceptHero) .symptomMark{
    width:50px;
    height:50px;
    font-size:1.65rem;
  }
  body:has(.servicesConceptHero) .symptomCopy{
    max-width:480px;
  }
  body:has(.servicesConceptHero) .symptomCopy .title-setup{
    font-size:clamp(1.55rem,2.1vw,2.1rem)!important;
  }
  body:has(.servicesConceptHero) .symptomCopy .title-payoff{
    font-size:clamp(2.35rem,3.15vw,3.15rem)!important;
    white-space:nowrap;
  }
  body:has(.servicesConceptHero) .symptomCopy>p:last-child{
    max-width:440px;
    margin-top:10px;
    line-height:1.48;
  }
  body:has(.servicesConceptHero) .symptomAction{
    max-width:260px;
    min-height:70px;
  }
  body:has(.servicesConceptHero) .symptomProof{
    grid-column:1/-1;
    width:100%;
    max-width:none;
    justify-self:stretch;
    margin:0;
  }
  body:has(.servicesConceptHero) .symptomProof span{
    min-height:64px;
    padding:12px 22px;
  }
}
/* The service desk owns its layout; keep legacy proof-rail rules from changing it. */
@media (min-width:761px){
  body:has(.servicesConceptHero) .servicesSymptomStrip:has(.symptomDesk){
    grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr)!important;
    gap:clamp(38px,6vw,88px)!important;
    padding:clamp(34px,4vw,54px)!important;
  }
  body:has(.servicesConceptHero) .servicesSymptomStrip:has(.symptomDesk) .symptomIntro{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:18px!important;
  }
  body:has(.servicesConceptHero) .servicesSymptomStrip:has(.symptomDesk) .symptomCopy .title-payoff{white-space:normal!important}
}
/* Shared footer becomes a utility finish, with no oversized dead zone. */
body>footer{padding-top:30px!important;padding-bottom:26px!important}
body>footer .footerBrand img{max-height:78px;width:auto}
@media(max-width:900px){
body:has(.hero) .service-intro.section,body:has(.hero) .symptom-section.section,body:has(.hero) .final-cta.section{padding-top:54px;padding-bottom:54px}
  body:has(.hero) .bgsu-band.bgsu-campaign{padding-top:54px!important;padding-bottom:54px!important}
  .aboutStoryBand,.aboutValuesBand,.aboutProofBand{padding-top:54px;padding-bottom:54px}
}
@media(max-width:760px){
  body:has(.servicesConceptHero) .symptomProof{grid-template-columns:1fr}
  body:has(.servicesConceptHero) .symptomProof span{padding:12px 0;border-left:0;border-top:1px solid #354036}
  body:has(.servicesConceptHero) .symptomProof em{white-space:normal}
}

/* ==========================================================
   V8.6.31 — SERVICES / VEHICLE-FIT RECOMPOSITION
   Treat the light panel as one intentional horizontal composition:
   identifier → question/context → action. Removes the loose two-row
   flow and gives the CTA a real right gutter.
   ========================================================== */
@media (min-width: 901px){
  body:has(.servicesConceptHero) .vehicleFit{
    width:min(1240px,calc(100% - 48px));
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(250px,.72fr) minmax(420px,1.28fr) auto;
    gap:0;
    align-items:stretch;
    padding:0!important;
    overflow:hidden;
  }
  body:has(.servicesConceptHero) .vehicleFitGraphic{
    min-height:190px;
    padding:30px 42px 30px 30px;
    border-right:1px solid #c7cbc5;
  }
  body:has(.servicesConceptHero) .vehicleFitGraphic:after{
    right:20px;
    top:28px;
    bottom:28px;
    width:6px;
  }
  body:has(.servicesConceptHero) .vehicleFitGraphic strong{
    font-size:clamp(3rem,4.2vw,4.8rem);
  }
  body:has(.servicesConceptHero) .vehicleFitContent{
    max-width:none;
    align-self:center;
    padding:30px 38px;
  }
  body:has(.servicesConceptHero) .vehicleFitContent .title-pair{
    max-width:620px;
  }
  body:has(.servicesConceptHero) .vehicleFitContent>p:last-child{
    max-width:600px;
    margin-bottom:0;
  }
  body:has(.servicesConceptHero) .vehicleFit>.secondary{
    grid-column:auto;
    justify-self:end;
    align-self:center;
    margin:0 30px 0 0!important;
    white-space:nowrap;
  }
}

/* V8.6.32 — About hero: full-bleed composition */
body:has(.aboutConceptPage) .aboutConceptHero{
  width:100%;
  max-width:none;
  margin:0;
  grid-template-columns:minmax(0,42%) minmax(0,58%);
}
body:has(.aboutConceptPage) .aboutHeroCopy{
  padding-left:max(42px,calc((100vw - 1240px)/2));
  padding-right:clamp(28px,3.2vw,58px);
}
body:has(.aboutConceptPage) .aboutHeroVisual{
  background-position:center;
}
@media(max-width:1100px){
  body:has(.aboutConceptPage) .aboutConceptHero{grid-template-columns:minmax(0,46%) minmax(0,54%)}
}
@media(max-width:760px){
  body:has(.aboutConceptPage) .aboutConceptHero{grid-template-columns:1fr}
  body:has(.aboutConceptPage) .aboutHeroCopy{padding-left:24px;padding-right:24px}
}

/* V8.6.34 — About story identity recompose + hero crop correction */
body:has(.aboutConceptPage) .aboutHeroVisual{
  /* The unbranded technician image reserves the left side for the page copy. */
  background-size:cover;
  background-position:42% center;
  background-repeat:no-repeat;
  background-color:#050706;
}
body:has(.aboutConceptPage) .aboutIdentity{
  grid-template-columns:minmax(0,42%) minmax(0,58%);
  overflow:hidden;
}
body:has(.aboutConceptPage) .aboutStamp{
  min-width:0;
  overflow:hidden;
  padding:34px clamp(22px,2.1vw,30px);
}
body:has(.aboutConceptPage) .aboutStamp strong{
  display:block;
  max-width:100%;
  font-size:clamp(3.7rem,4.7vw,5.6rem);
  line-height:.78;
  letter-spacing:-.075em;
  white-space:nowrap;
}
body:has(.aboutConceptPage) .aboutIdentity img{
  min-width:0;
  width:100%;
  object-position:center;
}
@media(max-width:1100px){
  body:has(.aboutConceptPage) .aboutHeroVisual{background-size:cover;background-position:38% center}
}
@media(max-width:760px){
  body:has(.aboutConceptPage) .aboutHeroVisual{background-size:cover;background-position:36% center}
  body:has(.aboutConceptPage) .aboutIdentity{grid-template-columns:1fr}
  body:has(.aboutConceptPage) .aboutStamp strong{font-size:clamp(4rem,18vw,6rem)}
}

/* V8.6.36 — Reviews page concept implementation */
.reviewsPage main{background:#f3f3ee}
.reviewsHero{position:relative;overflow:hidden;background:#080b09;color:#f4f5f1;border-bottom:1px solid #273028}
.reviewsHero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(121,255,0,.035),transparent 34%),repeating-linear-gradient(120deg,transparent 0 54px,rgba(255,255,255,.018) 55px 56px);pointer-events:none}
.reviewsHeroInner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.85fr);min-height:520px;max-width:1440px;margin:auto}
.reviewsHeroCopy{display:flex;flex-direction:column;justify-content:center;padding:76px 64px 76px max(42px,calc((100vw - 1440px)/2))}
.reviewsHeroCopy .eyebrow{color:#f2f2ee;margin:0 0 18px}.reviewsHeroCopy h1{margin:0;font:950 clamp(4rem,6.2vw,6.7rem)/.83 var(--display);letter-spacing:-.055em}.reviewsHeroCopy h1 span{display:block}.reviewsHeroCopy>p:not(.eyebrow){max-width:600px;margin:28px 0 0;color:#c9d0ca;font-size:1.02rem;line-height:1.65}.reviewsHeroCopy .actions{margin-top:30px}
.reviewsHeroGraphic{position:relative;overflow:hidden;border-left:1px solid #29312b;background:radial-gradient(circle at 58% 40%,rgba(121,255,0,.16),transparent 0 22%,transparent 42%),linear-gradient(145deg,#101612,#080a09 70%);min-width:0}
.reviewsHeroGraphic:before,.reviewsHeroGraphic:after{content:"";position:absolute;border:1px solid rgba(121,255,0,.24);transform:rotate(-13deg)}.reviewsHeroGraphic:before{width:420px;height:420px;right:-80px;top:35px}.reviewsHeroGraphic:after{width:290px;height:290px;right:65px;top:100px}
.reviewMark{position:absolute;right:52px;top:10px;color:var(--lime);font:900 17rem/.8 Georgia,serif;opacity:.14}.heroScore{position:absolute;left:58px;bottom:72px}.heroScore strong{display:block;color:#fff;font:950 clamp(6rem,9vw,9rem)/.72 var(--display);letter-spacing:-.07em}.heroScore span{display:block;margin-top:22px;color:#d5dbd6;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.heroLines{position:absolute;left:58px;right:58px;top:78px;display:grid;gap:12px}.heroLines i{display:block;height:5px;background:#252c27}.heroLines i:nth-child(1){width:68%;background:var(--lime)}.heroLines i:nth-child(2){width:88%}.heroLines i:nth-child(3){width:55%}.heroLines i:nth-child(4){width:76%}.reviewsHeroGraphic>b{position:absolute;right:44px;bottom:22px;color:#151c17;font:950 10rem/.8 var(--display)}
.reviewMetricRail{display:grid;grid-template-columns:repeat(4,1fr);max-width:1440px;margin:auto;border-bottom:1px solid #cdd1cb;background:#f3f3ee}.reviewMetricRail>div{min-height:160px;padding:34px 38px;border-right:1px solid #cdd1cb;display:flex;flex-direction:column;justify-content:center}.reviewMetricRail>div:last-child{border-right:0}.reviewMetricRail strong{font:950 clamp(2.8rem,4.2vw,4.8rem)/.8 var(--display);letter-spacing:-.05em;color:#111}.reviewMetricRail span{margin-top:15px;color:#4c544d;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;line-height:1.35}
.reviewThemes{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.55fr);gap:clamp(50px,6vw,100px);padding:86px max(42px,calc((100vw - 1240px)/2));background:#f3f3ee;color:#111}.reviewThemesIntro{max-width:440px}.reviewThemesIntro .eyebrow,.reviewTransparency .eyebrow{color:#397d00}.reviewThemesIntro h2,.reviewTransparency h2{margin:14px 0 22px;font-size:clamp(2.8rem,4vw,4.6rem);line-height:.89}.reviewThemesIntro>p:last-child,.reviewTransparencyCopy>p:not(.eyebrow){color:#485048;line-height:1.65}.reviewThemeGrid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #bcc2bb;border-left:1px solid #bcc2bb}.reviewThemeGrid article{min-height:220px;padding:30px;border-right:1px solid #bcc2bb;border-bottom:1px solid #bcc2bb}.reviewThemeGrid b{color:#397d00;font-size:.72rem;letter-spacing:.12em}.reviewThemeGrid h3{margin:32px 0 12px;font:900 1.45rem/1 var(--display);text-transform:uppercase}.reviewThemeGrid p{margin:0;color:#4c544d;line-height:1.55}
.reviewVoices{padding:86px max(42px,calc((100vw - 1240px)/2));background:#0b100d;color:#f3f3ee}.reviewVoicesHead{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:end;margin-bottom:42px}.reviewVoicesHead .eyebrow{color:#f2f2ee}.reviewVoicesHead h2{margin:14px 0 0;font-size:clamp(3rem,4.3vw,4.8rem);line-height:.88}.reviewVoicesHead>p{margin:0;color:#bfc7c0;line-height:1.6}.reviewQuoteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#354038;border:1px solid #354038}.reviewQuoteGrid article{display:flex;flex-direction:column;min-height:330px;padding:32px;background:#101612}.reviewQuoteGrid article.featured{background:#151d17}.quoteSource{display:flex;justify-content:space-between;gap:16px;align-items:center}.quoteSource span{color:var(--lime);font-weight:900;letter-spacing:.05em}.quoteSource b{font-size:.66rem;letter-spacing:.08em;color:#aeb8b0}.reviewQuoteGrid blockquote{margin:48px 0 35px;font:800 clamp(1.45rem,2vw,2rem)/1.15 var(--display);letter-spacing:-.02em}.reviewQuoteGrid a{margin-top:auto;color:var(--lime);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.reviewTransparency{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(70px,8vw,120px);padding:86px max(42px,calc((100vw - 1240px)/2));background:#f3f3ee;color:#111}.reviewTransparencyCopy{max-width:690px}.reviewTransparencyCopy>p:not(.eyebrow){max-width:650px}.reviewSources{border-left:1px solid #bfc5be;padding-left:42px}.reviewSources h3{margin:10px 0 24px;font:950 2.2rem/1 var(--display);text-transform:uppercase}.reviewSources>a{display:grid;gap:5px;padding:17px 0;border-top:1px solid #c8cdc7;color:#111;text-decoration:none}.reviewSources>a strong{font:900 1rem/1 var(--display);text-transform:uppercase}.reviewSources>a span{color:#397d00;font-size:.78rem;font-weight:850;text-transform:uppercase}.reviewSources small{display:block;margin-top:20px;color:#697069;line-height:1.45}
.reviewsClose{display:flex;justify-content:space-between;gap:60px;align-items:center;padding:72px max(42px,calc((100vw - 1240px)/2));background:#090d0a;color:#f3f3ee;border-top:1px solid #2b332d}.reviewsClose .eyebrow{color:#f3f3ee}.reviewsClose h2{margin:12px 0 18px;font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:.88}.reviewsClose p:last-child{color:#bec7bf;margin:0}.reviewsClose .actions{flex:0 0 auto}
@media(max-width:1000px){.reviewsHeroInner{grid-template-columns:1fr}.reviewsHeroCopy{padding:68px 42px}.reviewsHeroGraphic{min-height:300px;border-left:0;border-top:1px solid #29312b}.reviewMetricRail{grid-template-columns:repeat(2,1fr)}.reviewMetricRail>div:nth-child(2){border-right:0}.reviewThemes,.reviewTransparency{grid-template-columns:1fr}.reviewThemesIntro{max-width:700px}.reviewVoicesHead{grid-template-columns:1fr}.reviewQuoteGrid{grid-template-columns:1fr}.reviewQuoteGrid article{min-height:250px}.reviewsClose{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.reviewsHeroCopy{padding:58px 24px}.reviewsHeroCopy h1{font-size:clamp(3.35rem,16vw,4.7rem)}.reviewsHeroGraphic{min-height:260px}.heroScore{left:24px;bottom:48px}.heroLines{left:24px;right:24px;top:50px}.reviewMetricRail{grid-template-columns:1fr}.reviewMetricRail>div{min-height:125px;padding:26px 24px;border-right:0}.reviewMetricRail>div:not(:last-child){border-bottom:1px solid #cdd1cb}.reviewThemes,.reviewVoices,.reviewTransparency,.reviewsClose{padding:62px 24px}.reviewThemeGrid{grid-template-columns:1fr}.reviewVoicesHead{gap:24px}.reviewSources{border-left:0;border-top:1px solid #bfc5be;padding:28px 0 0}.reviewsClose .actions{width:100%}.reviewsClose .actions a{width:100%}}

/* V8.6.39 — Reviews visual rhythm: evidence should feel like a signal, not a spreadsheet */
.reviewSignal{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
  align-items:stretch;
  min-height:190px;
  overflow:hidden;
  background:#090d0a;
  border-top:1px solid #273028;
  border-bottom:1px solid #273028;
}
.reviewSignal:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(110deg,rgba(121,255,0,.08),transparent 35%),
    repeating-linear-gradient(120deg,transparent 0 72px,rgba(255,255,255,.025) 73px 74px);
}
.reviewSignalLabel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px 46px 42px max(42px,calc((100vw - 1240px)/2));
  border-right:1px solid #303832;
}
.reviewSignalLabel span{color:var(--lime);font-size:.68rem;font-weight:900;letter-spacing:.16em}
.reviewSignalLabel b{max-width:230px;margin-top:12px;color:#f3f3ee;font:900 1.2rem/1.05 var(--display);letter-spacing:.015em}
.reviewSignalWords{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:stretch;
  padding-right:max(42px,calc((100vw - 1240px)/2));
}
.reviewSignalWords strong{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:34px 22px;
  border-right:1px solid #303832;
  color:#f3f3ee;
  font:950 clamp(1.45rem,2.2vw,2.55rem)/.9 var(--display);
  letter-spacing:-.035em;
}
.reviewSignalWords strong:last-child{border-right:0;color:var(--lime)}

/* Let the review excerpts become the page's second visual landmark. */
.reviewVoices{position:relative;overflow:hidden}
.reviewVoices:before{
  content:"“";
  position:absolute;
  right:-.02em;
  top:-.22em;
  color:rgba(121,255,0,.055);
  font:900 34rem/.8 Georgia,serif;
  pointer-events:none;
}
.reviewVoicesHead,.reviewQuoteGrid{position:relative;z-index:1}
.reviewQuoteGrid article.featured{position:relative}
.reviewQuoteGrid article.featured:before{content:"MOST REPEATED THEME";position:absolute;right:20px;bottom:18px;color:rgba(121,255,0,.18);font:900 .6rem/1 var(--ui);letter-spacing:.13em;writing-mode:vertical-rl}

/* Make the source panel read as a distinct verification object. */
.reviewSources{position:relative;background:#e9ece6;padding:34px 36px;border-left:6px solid #397d00}
.reviewSources:before{content:"VERIFY";position:absolute;right:18px;top:14px;color:rgba(17,20,17,.055);font:950 4.2rem/.8 var(--display);letter-spacing:-.05em;pointer-events:none}
.reviewSources>*{position:relative;z-index:1}

@media(max-width:1000px){
  .reviewSignal{grid-template-columns:1fr}
  .reviewSignalLabel{padding:30px 42px;border-right:0;border-bottom:1px solid #303832}
  .reviewSignalLabel b{max-width:none}
  .reviewSignalWords{padding:0 42px}
}
@media(max-width:700px){
  .reviewSignal{min-height:0}
  .reviewSignalLabel{padding:28px 24px}
  .reviewSignalWords{grid-template-columns:repeat(2,1fr);padding:0 24px}
  .reviewSignalWords strong{min-height:86px;padding:20px 12px;border-bottom:1px solid #303832}
  .reviewSignalWords strong:nth-child(2){border-right:0}
  .reviewSignalWords strong:nth-child(3),.reviewSignalWords strong:nth-child(4){border-bottom:0}
  .reviewSources{padding:30px 24px;border-left:0;border-top:6px solid #397d00}
}

/* V8.6.40 — Reviews lock pass: CRAP, evidence hierarchy, and unsupported-decoration cleanup */
.reviewQuoteGrid article.featured:before{content:none!important}
/* Keep the metric rail visually connected to the full-width page shell. */
.reviewMetricRail{max-width:none;padding-left:max(0px,calc((100vw - 1440px)/2));padding-right:max(0px,calc((100vw - 1440px)/2))}
/* Stronger separation between evidence chapters without adding decorative clutter. */
.reviewThemes{border-top:1px solid #d3d7d1;border-bottom:1px solid #d3d7d1}
.reviewVoices{border-bottom:1px solid #29312b}
.reviewTransparency{border-bottom:1px solid #d3d7d1}
/* Source links should visibly behave like links, not static labels. */
.reviewSources>a:hover,.reviewSources>a:focus-visible{background:rgba(57,125,0,.06);padding-left:10px;padding-right:10px;margin-left:-10px;margin-right:-10px}
.reviewQuoteGrid a:hover,.reviewQuoteGrid a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:620px){
  .reviewMetricRail{padding-left:0;padding-right:0}
}

/* V8.6.51 — BGSU flagship: the distance problem */
.campusHero{min-height:610px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);background:#070908;color:#fff;border-bottom:1px solid #293129;overflow:hidden}
.campusHeroCopy{padding:88px 54px 78px max(42px,calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center;min-width:0}
.campusHero h1{margin:14px 0 24px;font-family:var(--display,Impact,sans-serif);font-style:normal;text-transform:uppercase;line-height:.88;letter-spacing:-.025em;font-size:clamp(3.3rem,5vw,5.9rem)}
.campusHero h1 span,.campusHero h1 strong,.campusHero h1 em{display:block;font:inherit;font-style:normal}.campusHero h1 span{font-size:.63em;color:#fff}.campusHero h1 strong{color:#fff}.campusHero h1 em{color:var(--lime)}
.campusHero .lede{max-width:650px;font-size:1.02rem;line-height:1.6;color:#d6dbd7}.campusHero .actions{margin-top:28px}
.distanceMap{position:relative;min-width:0;overflow:hidden;background:linear-gradient(135deg,#0a110a,#101711 55%,#080a08);border-left:1px solid #263126}
.routeGrid{position:absolute;inset:0;background-image:linear-gradient(rgba(121,255,0,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(121,255,0,.055) 1px,transparent 1px);background-size:58px 58px;transform:skewX(-8deg) scale(1.15)}
.distanceMap:after{content:"BG";position:absolute;right:-20px;bottom:-52px;font:900 13rem/1 var(--display,Impact,sans-serif);color:rgba(121,255,0,.045)}
.routeNode{position:absolute;width:190px;padding:18px 20px;background:#0c100d;border:1px solid #4a5a4a;box-shadow:8px 8px 0 rgba(121,255,0,.07);z-index:2}.routeNode span{display:block;color:var(--lime);font-weight:900;font-size:.66rem;letter-spacing:.15em}.routeNode b{display:block;font-size:1.35rem;margin:5px 0}.routeNode small{color:#aeb7b0}.studentNode{left:9%;top:16%}.shopNode{left:42%;top:43%;border-color:var(--lime)}.familyNode{right:8%;top:19%}
.routeLeg{position:absolute;height:1px;background:var(--lime);transform-origin:left center;z-index:1}.routeLeg:after{content:"";position:absolute;right:-2px;top:-4px;width:8px;height:8px;border-top:1px solid var(--lime);border-right:1px solid var(--lime);transform:rotate(45deg)}.routeLeg span{position:absolute;top:-22px;color:#8e9a90;font-size:.58rem;font-weight:900;letter-spacing:.11em;white-space:nowrap}.legOne{left:28%;top:37%;width:25%;transform:rotate(20deg)}.legTwo{left:58%;top:39%;width:24%;transform:rotate(-22deg)}
.routeCar{position:absolute;left:49%;top:68%;z-index:2;border:1px solid #415041;color:var(--lime);font-size:.65rem;font-weight:900;letter-spacing:.18em;padding:8px 13px}.distanceMap>p{position:absolute;left:9%;bottom:8%;z-index:2;font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#aeb7b0}.distanceMap>p i{color:var(--lime);font-style:normal;margin:0 8px}
.distanceProblem{display:grid;grid-template-columns:1fr .9fr 1fr;padding:0 max(42px,calc((100vw - 1240px)/2));background:#f2f2ee;color:#111}.distanceVoice,.distanceAnswer{min-height:250px;padding:48px 36px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #cbd0c9}.distanceVoice:first-child{border-left:1px solid #cbd0c9}.distanceVoice span,.distanceAnswer span{color:#397d00;font-size:.66rem;font-weight:900;letter-spacing:.15em}.distanceVoice blockquote{margin:15px 0 0;font:900 clamp(1.7rem,2.4vw,2.7rem)/1 var(--display,Impact,sans-serif);text-transform:uppercase}.distanceAnswer{background:#e7e9e3}.distanceAnswer strong{font:900 clamp(2rem,3vw,3.4rem)/.92 var(--display,Impact,sans-serif);color:#397d00;margin:12px 0}.distanceAnswer p{margin:0;color:#444b44;line-height:1.5}
.handoffSystem{padding:76px max(42px,calc((100vw - 1240px)/2));background:#0b0f0c;color:#fff}.handoffIntro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:52px}.handoffIntro h2,.symptomIntro h2,.studentSafety h2,.parentPanel h2,.requestGuide h2{margin:10px 0 0;font:900 clamp(2.4rem,3.5vw,4.4rem)/.9 var(--display,Impact,sans-serif);text-transform:uppercase}.handoffIntro h2 span,.handoffIntro h2 strong,.symptomIntro h2 span,.symptomIntro h2 strong,.studentSafety h2 span,.studentSafety h2 strong,.parentPanel h2 span,.parentPanel h2 strong,.requestGuide h2 span,.requestGuide h2 strong{display:block}.handoffIntro h2 strong,.studentSafety h2 strong{color:var(--lime)}.handoffIntro>p:last-child{color:#cbd2cc;line-height:1.65;max-width:560px}
.handoffTrack{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;border:1px solid #313a32}.handoffTrack article{padding:30px 25px;min-width:0}.handoffTrack article b{color:var(--lime);font-size:.66rem;letter-spacing:.15em}.handoffTrack article span{display:block;color:#aeb7b0;font-size:.62rem;font-weight:900;letter-spacing:.12em;margin:22px 0 8px}.handoffTrack article strong{display:block;font-size:1.15rem;line-height:1.05;text-transform:uppercase}.handoffTrack article p{font-size:.82rem;color:#bfc7c0;line-height:1.45}.handoffTrack>i{align-self:stretch;display:grid;place-items:center;color:var(--lime);font-style:normal;border-left:1px solid #313a32;border-right:1px solid #313a32;padding:0 10px}
.symptomBoard{padding:78px max(42px,calc((100vw - 1240px)/2));background:#f2f2ee;color:#111}.symptomIntro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:42px}.symptomIntro h2 strong,.parentPanel h2 strong,.requestGuide h2 strong{color:#397d00}.symptomIntro>p:last-child{color:#485048;line-height:1.6;max-width:570px}.symptomTiles{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #c9cec7}.symptomTiles article{min-height:160px;padding:25px 18px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #c9cec7}.symptomTiles article:last-child{border:0}.symptomTiles svg{width:46px;height:46px;fill:none;stroke:#397d00;stroke-width:1.7}.symptomTiles strong{font-size:.9rem;text-transform:uppercase}.symptomStart{display:block;margin-top:22px;color:#397d00;font-weight:900;font-size:.74rem;letter-spacing:.06em;text-decoration:none}
.studentSafety{display:grid;grid-template-columns:150px 1.3fr .7fr;gap:42px;align-items:center;padding:62px max(42px,calc((100vw - 1240px)/2));background:#0a0e0b;color:#fff}.safetyMark{font:900 8rem/1 var(--display,Impact,sans-serif);color:var(--lime);text-align:center;border:1px solid #344034}.studentSafety>aside{border-left:1px solid #394239;padding-left:34px}.studentSafety>aside>strong{color:var(--lime);font-size:.7rem;letter-spacing:.15em}.studentSafety>aside p{color:#c5ccc6;line-height:1.5}.studentSafety .btn{margin-top:10px}
.parentPanel{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding:78px max(42px,calc((100vw - 1240px)/2));background:#f2f2ee;color:#111}.parentPanelLead>p:last-child{color:#4c544d;line-height:1.6;max-width:570px}.parentQuestions{border:1px solid #c7ccc5}.parentQuestions article{display:grid;grid-template-columns:80px 1fr;align-items:center;min-height:105px;border-bottom:1px solid #c7ccc5}.parentQuestions article:last-child{border:0}.parentQuestions span{height:100%;display:grid;place-items:center;color:#397d00;font-size:.68rem;font-weight:900;border-right:1px solid #c7ccc5}.parentQuestions strong{padding:0 28px;font-size:1.35rem}
.studentProofRail{display:grid;grid-template-columns:repeat(4,1fr) auto;padding:0 max(42px,calc((100vw - 1240px)/2));background:#0b0f0c;color:#fff}.studentProofRail>div{padding:30px 24px;border-left:1px solid #303831}.studentProofRail span{display:block;color:var(--lime);font-size:.61rem;font-weight:900;letter-spacing:.14em}.studentProofRail strong{display:block;font-size:1.55rem;margin:7px 0}.studentProofRail small{color:#aeb7b0}.studentProofRail>a{align-self:stretch;display:flex;align-items:center;padding:0 26px;color:#090a09;background:var(--orange);font-weight:900;font-size:.72rem;text-transform:uppercase;text-decoration:none}
.studentCallSection{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:82px max(42px,calc((100vw - 1240px)/2));background:#f2f2ee;color:#111}.requestGuide>p{color:#485048;line-height:1.6}.requestFamilyNote{margin-top:34px;padding:25px;border-left:5px solid #397d00;background:#e6e9e2}.requestFamilyNote span{color:#397d00;font-size:.62rem;font-weight:900;letter-spacing:.14em}.requestFamilyNote strong{display:block;margin:8px 0}.requestFamilyNote p{margin:0;color:#4a514b;line-height:1.5}.studentCallSection .serviceRequestForm{margin:0;max-width:none}
.studentIndependence{padding:30px max(42px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.45fr .7fr 1.4fr;gap:30px;align-items:center;border-top:1px solid #c7ccc5;background:#e8eae5;color:#111}.studentIndependence span{color:#397d00;font-size:.65rem;font-weight:900;letter-spacing:.14em}.studentIndependence strong{font-size:1.05rem}.studentIndependence p{margin:0;color:#505751;font-size:.84rem;line-height:1.5}
@media(max-width:1180px){.campusHero{grid-template-columns:1fr}.campusHeroCopy{padding-right:max(42px,calc((100vw - 1240px)/2))}.distanceMap{min-height:500px;border-left:0;border-top:1px solid #263126}.handoffTrack{grid-template-columns:1fr 1fr}.handoffTrack>i{display:none}.handoffTrack article{border:1px solid #313a32}.symptomTiles{grid-template-columns:repeat(3,1fr)}.symptomTiles article{border-bottom:1px solid #c9cec7}.studentProofRail{grid-template-columns:repeat(4,1fr)}.studentProofRail>a{grid-column:1/-1;justify-content:center;padding:18px}}
@media(max-width:900px){.distanceProblem,.handoffIntro,.symptomIntro,.parentPanel,.studentCallSection{grid-template-columns:1fr}.distanceVoice,.distanceAnswer{min-height:auto;border-left:1px solid #cbd0c9;padding:34px}.studentSafety{grid-template-columns:90px 1fr}.studentSafety>aside{grid-column:1/-1;border-left:0;border-top:1px solid #394239;padding:24px 0 0}.studentProofRail{grid-template-columns:1fr 1fr}.studentIndependence{grid-template-columns:1fr}.handoffIntro,.symptomIntro{gap:20px}.parentPanel,.studentCallSection{gap:38px}}
@media(max-width:620px){.campusHeroCopy{padding:60px 22px 52px}.campusHero h1{font-size:clamp(2.7rem,14vw,4.2rem)}.distanceMap{min-height:590px}.routeNode{width:160px;padding:14px}.studentNode{left:6%;top:10%}.shopNode{left:28%;top:39%}.familyNode{right:6%;top:68%}.legOne{left:30%;top:31%;width:32%;transform:rotate(49deg)}.legTwo{left:52%;top:61%;width:28%;transform:rotate(45deg)}.routeLeg span{display:none}.distanceMap>p{left:6%;bottom:3%;font-size:.58rem}.handoffSystem,.symptomBoard,.studentSafety,.parentPanel,.studentCallSection{padding-left:22px;padding-right:22px}.handoffTrack{grid-template-columns:1fr}.symptomTiles{grid-template-columns:1fr 1fr}.symptomTiles article{min-height:135px}.studentSafety{grid-template-columns:1fr}.safetyMark{text-align:left;font-size:5rem}.parentQuestions article{grid-template-columns:55px 1fr}.parentQuestions strong{font-size:1rem;padding:0 18px}.studentProofRail{grid-template-columns:1fr 1fr;padding:0}.studentProofRail>div{padding:22px 18px}.studentProofRail strong{font-size:1.25rem}.studentIndependence{padding:26px 22px}.studentCallSection .fieldPair{grid-template-columns:1fr}}

/* V8.6.52 — BGSU CRAP pass + photographic visual breaks */
.studentPhotoBreak{position:relative;overflow:hidden;min-width:0}
.studentPhotoBreak img{display:block;width:100%;height:100%;object-fit:cover}
.studentPhotoBreak--service{height:clamp(240px,29vw,430px);background:#090b09}
.studentPhotoBreak--service img{object-position:center 55%;filter:saturate(.8) contrast(1.04) brightness(.72)}
.studentPhotoBreak--service:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,5,.88) 0%,rgba(5,7,5,.42) 42%,rgba(5,7,5,.12) 70%),linear-gradient(0deg,rgba(5,7,5,.4),transparent 45%)}
.studentPhotoCaption{position:absolute;z-index:2;left:max(42px,calc((100vw - 1240px)/2));bottom:clamp(34px,5vw,72px);max-width:590px;color:#fff}
.studentPhotoCaption span,.studentShopMessage span{display:block;color:var(--lime);font-size:.66rem;font-weight:900;letter-spacing:.16em;margin-bottom:12px}
.studentPhotoCaption strong{display:block;font:900 clamp(2rem,3.6vw,4rem)/.92 var(--display,Impact,sans-serif);text-transform:uppercase;max-width:12ch}
.studentPhotoBreak--shop{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);min-height:390px;background:#111;color:#fff}
.studentPhotoBreak--shop img{min-height:390px;object-position:center}
.studentShopMessage{display:flex;flex-direction:column;justify-content:center;padding:60px max(42px,calc((100vw - 1240px)/2)) 60px max(42px,calc((100vw - 1240px)/2));padding-right:55px;background:linear-gradient(135deg,#0b0e0b,#121712)}
.studentShopMessage strong{font:900 clamp(2rem,3.2vw,3.6rem)/.92 var(--display,Impact,sans-serif);text-transform:uppercase;max-width:12ch}
.studentShopMessage p{max-width:440px;color:#c3cac4;line-height:1.55;margin:18px 0 0}
/* tighten the typography-only chapters now that photography carries some visual weight */
.handoffSystem{padding-top:68px!important;padding-bottom:68px!important}
.parentPanel{padding-top:70px!important;padding-bottom:70px!important}
.studentCallSection{padding-top:72px!important;padding-bottom:72px!important}
@media(max-width:900px){
 .studentPhotoBreak--shop{grid-template-columns:1fr}
 .studentPhotoBreak--shop img{min-height:300px;height:46vw;max-height:430px}
 .studentShopMessage{padding:48px 34px}
}
@media(max-width:620px){
 .studentPhotoBreak--service{height:330px}
 .studentPhotoCaption{left:22px;right:22px;bottom:28px}
 .studentPhotoCaption strong{font-size:clamp(2rem,10vw,3rem)}
 .studentShopMessage{padding:42px 22px}
 .studentPhotoBreak--shop img{height:68vw;min-height:260px}
}

/* V8.6.53 — BGSU visual hierarchy, image discipline, contrast and alignment */
.campusHero{align-items:stretch}
.campusHeroCopy{align-self:center}
.campusHeroVisual{position:relative;min-width:0;min-height:620px;margin:0;overflow:hidden;border-left:1px solid #263126;background:#101410}
.campusHeroVisual img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center center}
.campusHeroVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,5,.52),rgba(5,8,5,.08) 48%,rgba(5,8,5,.18)),linear-gradient(0deg,rgba(5,8,5,.72),transparent 48%)}
.campusHeroVisual figcaption{position:absolute;z-index:2;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(32px,5vw,70px);color:#fff;max-width:520px}
.campusHeroVisual figcaption span{display:block;color:#8cff2a;font-size:.68rem;font-weight:900;letter-spacing:.14em;margin-bottom:10px}
.campusHeroVisual figcaption strong,.campusHeroVisual figcaption b{display:block;font:900 clamp(2rem,3vw,3.7rem)/.92 var(--display,Impact,sans-serif);text-transform:uppercase}
.campusHeroVisual figcaption b{color:#8cff2a}
/* Explicit light/dark contracts for BGSU headings and eyebrows. */
.surface-dark .eyebrow,.handoffSystem .eyebrow,.studentSafety .eyebrow{color:#8cff2a!important}
.surface-light .eyebrow,.distanceProblem span,.symptomBoard .eyebrow,.parentPanel .eyebrow,.studentCallSection .eyebrow{color:#397d00!important}
.distanceProblem blockquote,.distanceAnswer strong,.symptomBoard h2 span,.parentPanel h2 span,.studentCallSection h2 span{color:#111411!important}
/* The local-shop image is supporting proof, not a billboard: keep it inside its useful resolution. */
.studentPhotoBreak--shop{grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);min-height:0;max-width:1240px;margin:58px auto;background:#101410;border:1px solid #303831}
.studentPhotoBreak--shop img{position:relative;width:100%;height:auto;aspect-ratio:1200/744;min-height:0;max-height:520px;object-fit:cover;object-position:center}
.studentShopMessage{padding:52px 48px;align-items:flex-start;text-align:left}
.studentShopMessage span{color:#8cff2a}
.studentShopMessage strong{max-width:11ch;font-size:clamp(2rem,2.8vw,3.25rem)}
.studentShopMessage p{max-width:34rem}
@media(max-width:1180px){.campusHeroVisual{min-height:520px;border-left:0;border-top:1px solid #263126}.studentPhotoBreak--shop{margin:42px max(34px,calc((100vw - 1000px)/2))}}
@media(max-width:900px){.campusHeroVisual{min-height:480px}.studentPhotoBreak--shop{grid-template-columns:1fr;margin:34px}.studentPhotoBreak--shop img{height:auto;min-height:0;max-height:none;aspect-ratio:1200/744}.studentShopMessage{padding:42px 34px}}
@media(max-width:620px){.campusHeroVisual{min-height:420px}.campusHeroVisual figcaption{left:22px;right:22px;bottom:26px}.studentPhotoBreak--shop{margin:24px 22px}.studentShopMessage{padding:34px 24px}.studentShopMessage strong{font-size:clamp(1.9rem,10vw,2.8rem)}}

/* V8.6.54 — Dock contract: desktop uses sticky navigation; quick-action dock is mobile-only. */
.stickyIntent{display:none!important}
@media(max-width:700px){
  .mobileBar{display:grid!important}
}
@media(min-width:701px){
  .mobileBar{display:none!important}
}

/* V8.6.55 — BGSU editorial alignment correction
   Eyebrow, headline and supporting copy now share intentional column starts.
   Never let auto-placement scatter related copy across the grid. */
.handoffIntro,
.symptomIntro{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  grid-template-areas:
    "eyebrow title"
    "copy title";
  column-gap:clamp(52px,7vw,110px);
  row-gap:18px;
  align-items:start;
}
.handoffIntro>.eyebrow,.symptomIntro>.eyebrow{grid-area:eyebrow;margin:4px 0 0;align-self:start}
.handoffIntro>h2,.symptomIntro>h2{grid-area:title;margin:0;align-self:start;max-width:720px}
.handoffIntro>p:last-child,.symptomIntro>p:last-child{grid-area:copy;margin:0;align-self:start;max-width:440px}

/* Keep the three opening voices on the same editorial baseline. */
.distanceVoice,.distanceAnswer{justify-content:flex-start;padding-top:52px;padding-bottom:46px}
.distanceVoice span,.distanceAnswer span{min-height:14px;margin:0}
.distanceVoice blockquote{margin-top:18px;max-width:330px}
.distanceAnswer strong{margin:18px 0 10px;max-width:320px}
.distanceAnswer p{max-width:310px}

/* Parent and request sections: lock copy to the headline edge rather than letting it drift. */
.parentPanel,.studentCallSection{align-items:start}
.parentPanelLead,.requestGuide{max-width:570px}
.parentPanelLead .eyebrow,.requestGuide .eyebrow{margin-top:2px;margin-bottom:14px}
.parentPanelLead h2,.requestGuide h2{margin-top:0}
.parentPanelLead>p:last-child,.requestGuide>p{margin-top:18px}

@media(max-width:900px){
  .handoffIntro,.symptomIntro{
    grid-template-columns:1fr;
    grid-template-areas:"eyebrow" "title" "copy";
    row-gap:14px;
  }
  .handoffIntro>h2,.symptomIntro>h2{max-width:760px}
  .handoffIntro>p:last-child,.symptomIntro>p:last-child{max-width:620px}
  .distanceVoice,.distanceAnswer{padding-top:34px;padding-bottom:34px}
}


/* V8.6.56 — BGSU semantic title-stack contract
   Eyebrow → title → accompanying copy stay together as one reading unit.
   Do not split these three elements across editorial columns. */
.handoffIntro,.symptomIntro{display:block!important;margin-bottom:42px}
.bgsuTitleStack{display:flex;flex-direction:column;align-items:flex-start;max-width:760px}
.bgsuTitleStack>.eyebrow{order:1;margin:0 0 12px!important}
.bgsuTitleStack>h2{order:2;margin:0!important;max-width:760px}
.bgsuTitleStack>p:last-child{order:3;margin:18px 0 0!important;max-width:590px;line-height:1.6}
.handoffIntro .bgsuTitleStack>p:last-child{color:#cbd2cc}
.symptomIntro .bgsuTitleStack>p:last-child{color:#485048}

/* Keep other BGSU content groups on the same semantic stack. */
.studentSafety>div>.eyebrow,.parentPanelLead>.eyebrow,.requestGuide>.eyebrow{margin:0 0 12px!important}
.studentSafety>div>h2,.parentPanelLead>h2,.requestGuide>h2{margin:0!important}
.studentSafety>div>h2+p,.parentPanelLead>h2+p,.requestGuide>h2+p{margin-top:18px!important}

@media(max-width:900px){
  .bgsuTitleStack{max-width:680px}
}

/* Closing CTA: reserve a real safe zone before the location divider. */
.final-cta>div:first-child{min-width:0}
body:has(.hero) .final-cta h2.title-pair{max-width:360px!important}
body:has(.hero) .final-cta h2.title-pair>.title-setup{font-size:clamp(1.25rem,1.5vw,1.7rem)!important;line-height:.92!important}

/* Services: remove temporary surface noise and strengthen the useful details. */
body:has(.servicesConceptHero) .servicesFactBar{display:none!important}
body:has(.servicesConceptHero) .servicesConceptHero:after{display:none!important}
body:has(.servicesConceptHero) .servicesHeroPhoto{
  background-image:linear-gradient(90deg,#070a08 0%,rgba(7,10,8,.82) 28%,rgba(7,10,8,.15) 72%,rgba(4,7,5,.74) 100%),url('https://images.pexels.com/photos/12185933/pexels-photo-12185933.jpeg?auto=compress&cs=tinysrgb&w=2400')!important;
  background-position:center 56%!important;
}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceCard::before{width:104px}
body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceIcon{left:26px;width:50px;height:50px;stroke-width:2.25}
body:has(.servicesConceptHero) .symptomMark{transform:translateY(-14px)}
body:has(.servicesConceptHero) .vehicleFitGraphic span{display:block;margin-bottom:12px}
body:has(.servicesConceptHero) .servicesHeroSignals i{width:42px;height:42px;font-size:.72rem;letter-spacing:.04em;line-height:1}
/* About proof rail: three proof points should use the full width, not leave a fourth empty cell. */
body:has(.aboutConceptPage) .aboutProofBand{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body:has(.aboutConceptPage) .aboutProofBand .aboutMap{display:none}
@media(max-width:760px){
  body:has(.servicesConceptHero) .serviceDirectoryGrid .serviceIcon{left:27px;width:44px;height:44px}
  body:has(.servicesConceptHero) .symptomMark{transform:translateY(-8px)}
}

/* BGSU: use the framed page width on desktop.  The original viewport-based
   inset squeezed every middle-page panel as the browser grew wider. */
@media(min-width:901px){
  body:has(.campusHero) :is(
    .handoffSystem,
    .symptomBoard,
    .studentSafety,
    .parentPanel,
    .studentCallSection,
    .studentIndependence
  ){
    padding-left:64px!important;
    padding-right:64px!important;
  }
  body:has(.campusHero) .studentProofRail{padding-left:64px!important;padding-right:64px!important}

  /* The photo label is short enough to read as one confident line. */
  body:has(.campusHero) .campusHeroVisual figcaption{max-width:none!important}
  body:has(.campusHero) .campusHeroVisual figcaption strong{
    font-size:clamp(1.7rem,1.9vw,2.35rem)!important;
    white-space:nowrap;
  }

  /* Match the compact, framed pre-footer treatment used across the concept. */
}

/* V8.6.81 — shared motion system. Movement confirms hierarchy and action;
   it never blocks reading, changes document flow, or competes with the work. */
@media(prefers-reduced-motion:no-preference){
  .motion-reveal{
    opacity:0;transform:translate3d(0,20px,0);
    transition:opacity .58s cubic-bezier(.2,.7,.2,1),transform .58s cubic-bezier(.2,.7,.2,1);
    transition-delay:calc(var(--motion-order,0) * 45ms);
  }
  .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
  .motion-lift{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease!important}
  .motion-lift:hover,.motion-lift:focus-visible{
    transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.26),0 0 0 1px rgba(121,255,0,.3)!important;
  }
  .motion-depth{
    transform:perspective(1100px) rotateX(var(--depth-y,0deg)) rotateY(var(--depth-x,0deg)) scale(1.006);
    transition:transform .42s cubic-bezier(.2,.7,.2,1);will-change:transform;
  }
}
@media(prefers-reduced-motion:reduce){
  .motion-reveal{opacity:1!important;transform:none!important}
}

/* The brand is the fixed visual anchor in the sticky header. */
.top>.brand{position:relative;z-index:5!important}

/* The service-family hero is now the shared two-panel component in system.css.
   Keep only the maintenance visual override here. */
.serviceMaintenance .serviceDetailHeroPhoto{background:url('assets/image-audit/maintenance-hero-ai-v2.png') center/cover no-repeat!important}
.serviceMaintenance .serviceDetailHeroPhoto>img{visibility:hidden}
