/* RADTKE MARINE SITE v3 - shared styles */
:root{
  --ink:#0A0D12;      /* logo black */
  --navy:#0B1A33;     /* dark panel */
  --deep:#033DA9;     /* logo dark blue */
  --bright:#008FCE;   /* logo light blue */
  --sky:#7FD0F5;      /* light blue text accent */
  --white:#FFFFFF;
  --soft:#D6ECFA;     /* body text on dark */
  --font:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font);font-size:18px;line-height:1.6}
a{color:var(--sky)}
a:focus-visible{outline:3px solid var(--bright);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding-inline:40px}
.nw{white-space:nowrap}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(10,13,18,.95);border-bottom:3px solid var(--bright)}
.top .wrap{display:flex;align-items:center;gap:18px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--white)}
.brand img{width:62px;background:var(--white);border-radius:8px;padding:4px;border:2px solid var(--bright)}
.brand span{font-weight:800;font-size:24px;letter-spacing:.3px}
nav{margin-left:auto;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
nav a{color:var(--white);text-decoration:none;font-weight:700;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;padding-block:6px;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--bright)}
nav .ph{border:2px solid var(--bright);padding:8px 14px;border-radius:8px;letter-spacing:.5px;font-variant-numeric:tabular-nums}
nav .ph:hover{background:var(--deep)}

/* hero (every page) */
.hero{position:relative;min-height:690px;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat}
.hero.sub{min-height:520px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,18,.9) 0%,rgba(3,61,169,.6) 60%,rgba(3,61,169,.3) 100%)}
.hero .wrap{position:relative;padding-block:70px;width:100%}
.ey{color:var(--sky);font-weight:800;letter-spacing:3px;font-size:18px;text-transform:uppercase;margin:0 0 14px}
.hero h1{margin:0 0 18px;font-size:64px;line-height:1.05;font-weight:900;letter-spacing:3px;text-transform:uppercase;max-width:15ch}
.hero.sub h1{font-size:56px}
.hero p{font-size:22px;line-height:1.5;margin:0 0 30px;max-width:620px}
.btn{display:inline-block;background:var(--deep);color:var(--white);font-weight:800;font-size:22px;letter-spacing:.5px;padding:16px 30px;border-radius:8px;border:2px solid var(--bright);text-decoration:none;font-variant-numeric:tabular-nums}
.btn:hover{background:var(--bright)}
.makes{display:flex;gap:12px;margin:30px 0 0;padding:0;list-style:none;flex-wrap:wrap}
.makes li{border:2px solid rgba(255,255,255,.8);border-radius:6px;padding:6px 14px;font-weight:800;font-size:17px;letter-spacing:1px;text-transform:uppercase}

/* logo stripes */
.bands{height:14px;background:linear-gradient(var(--bright) 0 33%,var(--ink) 33% 40%,var(--deep) 40% 73%,var(--ink) 73% 80%,var(--white) 80% 100%)}

/* trust strip */
.trust{background:var(--navy)}
.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:34px}
.tile{border:2px solid var(--bright);border-radius:10px;padding:20px 22px;min-width:0}
.tile b{display:block;font-size:30px;line-height:1.1;color:var(--white);letter-spacing:1px}
.tile span{color:var(--soft);font-size:17px}

/* sections */
.sec{padding-block:60px}
.sec.alt{background:var(--navy)}
.sec h2{margin:0 0 8px;font-size:38px;letter-spacing:2px;text-transform:uppercase}
.sec .lead{color:var(--soft);margin:0 0 30px;max-width:65ch}
.sec p{max-width:65ch}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{display:block;text-decoration:none;color:var(--white);background:var(--navy);border:2px solid rgba(0,143,206,.55);border-top:5px solid var(--bright);border-radius:10px;padding:22px;min-width:0}
.alt .card{background:var(--ink)}
a.card:hover{border-color:var(--bright)}
.card h3{margin:0 0 8px;font-size:21px;line-height:1.25}
.card p{margin:0 0 8px;color:var(--soft);font-size:17px}
.card p:last-child{margin-bottom:0}
.card ul{margin:0;padding-left:20px;color:var(--soft);font-size:17px}
.card li{margin-bottom:4px}
.card a{overflow-wrap:anywhere}
.cols{columns:3 240px;column-gap:36px;margin:0;padding-left:22px;color:var(--soft)}
.cols li{margin-bottom:6px;break-inside:avoid}
.chips{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;list-style:none}
.chips li{border:2px solid var(--bright);border-radius:8px;padding:8px 16px;font-weight:700}
.crew{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;list-style:none}
.crew li{background:var(--ink);border:2px solid var(--bright);border-radius:8px;padding:8px 16px;font-weight:700}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0;color:var(--soft)}
dl.kv dt{font-weight:800;color:var(--white)}
dl.stack{margin:0}
dl.stack dt{font-weight:800;color:var(--white)}
dl.stack dd{margin:0 0 14px;color:var(--soft);overflow-wrap:anywhere}
dl.stack dd:last-child{margin-bottom:0}
.card.job{max-width:860px}
dl.kv dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* contact band */
.band{background:linear-gradient(90deg,var(--deep),#0565B5);border-top:3px solid var(--bright)}
.band .wrap{display:flex;flex-wrap:wrap;gap:20px 50px;align-items:center;justify-content:space-between;padding-block:36px}
.band h2{margin:0;font-size:32px;letter-spacing:1px}
.band dl{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin:0;font-size:18px}
.band dt{font-weight:800}
.band dd{margin:0;font-variant-numeric:tabular-nums}
.band a{color:var(--white)}

/* footer */
footer{background:var(--ink);border-top:3px solid var(--bright);font-size:15px;color:var(--soft)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:space-between;padding-block:26px}
footer a{color:var(--soft)}
.credit{flex-basis:100%;font-size:13px}

@media (max-width:980px){
  .cards,.cards.three{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .wrap{padding-inline:18px}
  .brand img{width:50px}
  .brand span{font-size:20px}
  nav{margin-left:0;gap:6px 18px;width:100%}
  nav a{font-size:15px;letter-spacing:1px}
  .top{position:static}
  .hero,.hero.sub{min-height:0}
  .hero .wrap{padding-block:46px}
  .ey{font-size:16px;letter-spacing:2px}
  .hero h1,.hero.sub h1{font-size:38px;letter-spacing:1.5px}
  .hero p{font-size:19px}
  .btn{display:block;text-align:center;font-size:21px}
  .trust .wrap,.cards,.cards.three,.cards.two{grid-template-columns:1fr}
  .sec{padding-block:44px}
  .sec h2{font-size:30px}
  .band dl{grid-template-columns:auto 1fr}
}
