/* clinic.css - shared "clinic" layout for operator sites (NSM Transport, later O'Connell's).
   Geometry based on operator-sites/_layout/clinic-reference.html ("the clinic one": Option 3):
   diagonal panel on the left with a thin edge strip, big white headline, light subline, photo on the right.
   Colors are the operator's own brand, NOT FleetMark's: near-black + O'Connell's Transport green
   (from oconnellstransport live site: #166D06 primary, #1C8708 mid, #073902 dark, #39E418 / #30C513 bright).
   Bright greens are accents on black only; never a background under white text (fails WCAG AA).
   The reference photo is NOT reused. Each site supplies its own hero image.
   No web fonts are loaded (no CDN): "Archivo Black" is used only if installed locally, else a heavy system font.
   Canonical copy lives here; each site keeps a byte-identical copy at assets/clinic.css (the gate checks this). */

:root{
  --black:#0B0B0B; --black-2:#1A1A1A; --black-0:#000000; --soft:#D4D4D4;
  --green:#166D06; --green-mid:#1C8708; --green-dark:#073902; --green-bright:#39E418; --green-bright-2:#30C513;
  --bg:#ffffff; --bg-alt:#f4f5f4; --text:#111111; --muted:#3d3d3d; --line:#dfe3df;
  --link:#166D06; --card:#ffffff; --kicker:#166D06;
  --head:"Archivo Black","Arial Black","Helvetica Neue",Arial,system-ui,sans-serif;
  --body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max:1120px; --radius:14px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#0B0B0B; --bg-alt:#141414; --text:#F2F2F2; --muted:#BDBDBD; --line:#2a2a2a; --link:#39E418; --card:#161616; --kicker:#39E418; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.6;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--green-bright);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--green-bright);color:#000;padding:.6rem 1rem;font-weight:700;z-index:10}
.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:var(--head);line-height:1.1;letter-spacing:-.01em;margin:0 0 .6em}
h2{font-size:clamp(1.6rem,4vw,2.3rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}

/* Header */
.site-header{background:var(--black-0);color:#fff;border-bottom:3px solid var(--green)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;padding-bottom:.7rem;flex-wrap:wrap}
.brand img{height:44px;width:auto}
.top-actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;padding:.7rem 1.2rem;border-radius:999px;
  font-weight:800;text-decoration:none;font-size:1rem;border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}
.btn-primary:hover{background:var(--green-dark);border-color:var(--green-bright-2)}
.btn-ghost{background:transparent;color:#fff;border-color:#8a8a8a}
.btn-ghost:hover{border-color:var(--green-bright)}
.btn-sm{min-height:40px;padding:.45rem .9rem;font-size:.92rem}
.btn svg{width:1.1em;height:1.1em;flex:none}

/* Hero: mobile first (photo on top, solid black panel below) */
.hero{position:relative;background:var(--black);color:#fff;overflow:hidden}
.hero-photo{position:relative;aspect-ratio:16/10;background:var(--black-2)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-panel{position:relative;background:radial-gradient(ellipse 700px 500px at 30% 45%,var(--black-2) 0%,var(--black) 75%);
  border-top:6px solid var(--green-bright-2);padding:2rem 1.25rem 2.5rem}
.hero .rule{width:72px;height:5px;background:var(--green-bright-2);border-radius:3px;margin-bottom:1.25rem}
.hero h1{color:#fff;font-size:clamp(2.2rem,8vw,4.6rem);line-height:1.02;letter-spacing:-.5px;text-shadow:0 2px 18px rgba(0,0,0,.45);margin-bottom:.35em}
.hero .sub{color:var(--soft);font-size:clamp(1.1rem,2.6vw,1.45rem);font-weight:600;max-width:30rem;margin-bottom:1.5rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.7rem}

/* Hero: desktop = diagonal black panel left with green edge, photo right */
@media (min-width:900px){
  .hero{min-height:560px}
  .hero-photo{position:absolute;inset:0 0 0 38%;aspect-ratio:auto}
  .hero-panel{position:relative;z-index:1;width:62%;min-height:560px;border-top:0;display:flex;flex-direction:column;justify-content:center;
    padding:3.5rem 9% 3.5rem max(1.25rem,calc((100vw - var(--max))/2 + 1.25rem));
    clip-path:polygon(0 0,100% 0,76% 100%,0 100%)}
  .hero-edge{position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--green-bright-2);
    clip-path:polygon(62% 0,63.1% 0,48.2% 100%,47.12% 100%)}
  .hero .copy{max-width:31rem}
}
@media (max-width:899px){ .hero-edge{display:none} }

/* Sections */
section{padding:3.5rem 0}
.alt{background:var(--bg-alt)}
.lede{font-size:1.15rem;color:var(--muted);max-width:46rem}
.grid{display:grid;gap:1.1rem}
@media (min-width:720px){ .grid-2{grid-template-columns:repeat(2,1fr)} .grid-3{grid-template-columns:repeat(3,1fr)} }
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.card h3{margin-bottom:.4rem}
.card p:last-child{margin-bottom:0}
.kicker{display:inline-block;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kicker);margin-bottom:.5rem;
  padding-left:.6rem;border-left:4px solid var(--green)}
.towns{columns:2 12rem;column-gap:1.5rem;padding-left:1.1rem;margin:0}
.towns li{break-inside:avoid;margin-bottom:.15rem}
details{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:1rem 1.2rem;margin-top:1rem}
summary{cursor:pointer;font-weight:800}
summary:focus-visible{outline:3px solid var(--green-bright);outline-offset:3px}

/* Contact band */
.contact-band{background:var(--black);color:#fff;border-top:4px solid var(--green)}
.contact-band h2{color:#fff}
.contact-band p{color:var(--soft)}
.contact-band .actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.contact-band a:not(.btn){color:var(--green-bright)}
.pay{margin-top:1.4rem}
.pay-note{margin:.5rem 0 0;font-size:.95rem}
.contact-band .pay-note{color:var(--soft)}

/* Footer */
.site-footer{background:var(--black-0);color:#BDBDBD;padding:2rem 0;font-size:.95rem;border-top:3px solid var(--green)}
.site-footer a:not(.btn){color:var(--green-bright)}
.site-footer .pay{margin-top:0}
.site-footer .pay-note{color:#BDBDBD;font-size:.9rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:flex-start}
.site-footer address{font-style:normal}

/* Plain pages (privacy, 404) */
.page{padding:3rem 0 4rem}
.page h1{font-size:clamp(2rem,6vw,3rem)}
.page .wrap{max-width:48rem}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
