/* Key West Healthcare -- Maritime Bulletin
   Production stylesheet. No rounded corners, anywhere.
   Palette: Ocean Clinic (navy / sea-green / amber / cool off-white).
*/

:root{
  --ink:        #0A1A2E;
  --ink-2:      #1F2D3F;
  --ink-3:      #566679;
  --ink-4:      #8A98A8;
  --paper:      #F4FAFA;
  --paper-2:    #EAF2F1;
  --paper-3:    #D8E5E3;
  --primary:    #123C69;
  --primary-2:  #1A4E83;
  --secondary:  #2A9D8F;
  --accent:     #E9C46A;
  --accent-2:   #C99E3B;

  --rule:       2px;
  --hair:       1px;
  --pad-x:      clamp(20px, 4vw, 56px);
  --max:        1240px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; padding:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Newsreader', 'Source Serif 4', Georgia, serif;
  font-size:17px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
*, *::before, *::after{ border-radius:0 !important; }

a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:default; }
p{ margin:0; }

/* Type utilities */
.mono{ font-family:'JetBrains Mono', ui-monospace, monospace; letter-spacing:.04em; }
.sc{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:500;
}
.italic{ font-style:italic; }

/* Container + rules */
.wrap{ max-width:var(--max); margin:0 auto; padding-left:var(--pad-x); padding-right:var(--pad-x); }
hr{ border:0; }
.rule{ border-top:var(--rule) solid var(--ink); }
.hair{ border-top:var(--hair) solid rgba(10,26,46,.18); }
.dbl{ border-top:var(--rule) solid var(--ink); border-bottom:var(--hair) solid var(--ink); height:6px; }

/* ===== MASTHEAD ===== */
.masthead{ background:var(--paper); }
.mast-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0 14px;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-3);
  font-family:'JetBrains Mono', monospace;
}
.mast-top .l, .mast-top .r{ display:flex; gap:18px; flex-wrap:wrap; }
.mast-top .r span+span::before{
  content:"·"; margin-right:14px; color:var(--ink-4);
}
.mast-top .weather{ color:var(--primary); font-weight:600; }

.mast-name{
  text-align:center;
  font-family:'Newsreader', serif;
  font-weight:600;
  font-size:clamp(48px, 8vw, 88px);
  letter-spacing:-0.005em;
  line-height:1;
  padding:14px 0 12px;
  color:var(--ink);
}
.mast-name em{
  font-style:italic; font-weight:500;
  color:var(--primary);
}

.mast-deck{
  text-align:center;
  font-family:'Newsreader', serif;
  font-style:italic; font-size:18px;
  color:var(--ink-2);
  padding:0 0 14px;
  line-height:1.3;
}

/* Primary nav */
.nav{
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:0;
  padding:14px 0;
  font-size:13px;
  color:var(--ink-2);
  font-family:'Newsreader', serif;
}
.nav a{
  position:relative;
  padding:4px 16px;
  border-left:1px solid rgba(10,26,46,.18);
  white-space:nowrap;
  transition:color .15s ease;
  font-weight:500;
  letter-spacing:.005em;
}
.nav a:first-child{ border-left:0; }
.nav a:hover{ color:var(--primary); }
.nav a.is-active{ color:var(--primary); font-style:italic; }
.nav a.is-active::after{
  content:""; position:absolute; left:16px; right:16px; bottom:-5px;
  border-top:2px solid var(--primary);
}

/* Sticky condensed nav (appears on scroll) */
.sticky-nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(244,250,250,.94);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  border-bottom:1px solid var(--ink);
  transform:translateY(-100%);
  transition:transform .25s ease;
}
.sticky-nav.is-shown{ transform:translateY(0); }
.sticky-nav .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-top:10px; padding-bottom:10px;
}
.sticky-nav .sn-name{
  font-family:'Newsreader', serif; font-weight:700; font-size:17px;
  letter-spacing:-0.005em; color:var(--ink); white-space:nowrap;
}
.sticky-nav .sn-name em{ font-style:italic; font-weight:500; color:var(--primary); }
.sticky-nav nav{
  display:flex; gap:0; font-size:12.5px; flex-wrap:wrap;
  font-family:'Newsreader', serif;
}
.sticky-nav nav a{
  padding:4px 12px; border-left:1px solid rgba(10,26,46,.18);
  color:var(--ink-2);
}
.sticky-nav nav a:first-child{ border-left:0; }
.sticky-nav nav a:hover{ color:var(--primary); }

/* ===== SECTION SCAFFOLDING ===== */
.section{ padding:42px 0 48px; }
.section.tight{ padding:30px 0 36px; }
.section.dark{ background:var(--ink); color:#fff; }
.section.cream{ background:var(--paper-2); }
.row{
  display:grid;
  grid-template-columns:130px minmax(0, 1fr);
  gap:36px;
}
.rail{
  border-right:1px solid rgba(10,26,46,.18);
  padding-right:18px;
}
.section.dark .rail{ border-right-color:rgba(255,255,255,.20); }
.rail .sect{
  font-family:'Newsreader', serif; font-style:italic;
  font-weight:500; font-size:38px; line-height:.9;
  color:var(--primary); margin-bottom:8px;
}
.section.dark .rail .sect{ color:var(--accent); }
.rail .lbl{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); font-weight:600;
}
.section.dark .rail .lbl{ color:rgba(255,255,255,.78); }
.rail .meta{
  margin-top:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; line-height:1.55; color:var(--ink-3);
}
.section.dark .rail .meta{ color:rgba(255,255,255,.62); }
.rail-link{ color:inherit; text-decoration:none; }
.rail-link:hover{ color:var(--ink); }

.h-display{
  font-family:'Newsreader', serif;
  font-weight:500; font-style:italic;
  font-size:34px; line-height:1.05; letter-spacing:-0.012em;
  margin:0 0 16px;
}
.h-display em{ font-style:normal; font-weight:500; color:var(--primary); }

@media (max-width:720px){
  .row{ grid-template-columns:1fr; gap:14px; }
  .rail{
    border-right:0; padding-right:0;
    border-bottom:1px solid rgba(10,26,46,.18);
    padding-bottom:14px;
    display:flex; align-items:baseline; gap:14px;
  }
  .rail .meta{ display:none; }
}

/* ===== HERO ===== */
.hero h1{
  font-family:'Newsreader', serif;
  font-weight:500; letter-spacing:-0.022em;
  font-size:clamp(48px, 6.4vw, 84px);
  line-height:0.99;
  margin:0;
  color:var(--ink);
}
.hero h1 em{
  font-style:italic; font-weight:400;
  color:var(--primary);
}
.hero .subdeck{
  margin-top:20px;
  font-style:italic;
  font-size:clamp(18px, 2vw, 22px);
  line-height:1.35;
  color:var(--ink-2);
  max-width:36ch;
}
.hero .cols{
  margin-top:30px;
  column-count:2; column-gap:36px;
  column-rule:1px solid rgba(10,26,46,.15);
  font-size:15px; line-height:1.6;
  color:var(--ink-2);
  max-width:700px;
}
.hero .cols p+p{ margin-top:12px; }
.hero .cols p:first-child::first-letter{
  font-family:'Newsreader', serif;
  font-weight:600; font-style:italic;
  float:left; font-size:60px; line-height:.78;
  padding:6px 10px 0 0;
  color:var(--primary);
}
@media (max-width:560px){
  .hero .cols{ column-count:1; }
}

/* ===== DECISION TABLE ===== */
.decide{ margin-top:40px; }
.decide caption{
  text-align:left;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); padding:0 0 10px;
}
.decide table{
  width:100%; border-collapse:collapse; font-size:14.5px;
}
.decide th{
  text-align:left;
  padding:10px 14px 10px 0;
  font-weight:600; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3);
  font-family:'JetBrains Mono', monospace;
  border-bottom:var(--rule) solid var(--ink);
}
.decide td{
  padding:18px 14px 18px 0;
  border-bottom:1px solid rgba(10,26,46,.18);
  vertical-align:top;
  color:var(--ink-2);
  transition:background .15s ease;
}
.decide tr{ cursor:default; }
.decide tr:hover td{ background:rgba(18,60,105,.04); }
.decide tr:last-child td{ border-bottom:var(--rule) solid var(--ink); }
.decide td.num{
  font-family:'Newsreader', serif; font-style:italic; font-weight:500;
  font-size:30px; color:var(--primary); width:60px; line-height:.9;
  padding-top:18px;
}
.decide td.sit{
  font-family:'Newsreader', serif; font-size:19px;
  color:var(--ink); line-height:1.25;
  width:38%;
}
.decide td.desc{
  font-size:13.5px; color:var(--ink-3); line-height:1.5;
  padding-right:24px;
}
.decide td.go{
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  white-space:nowrap;
  color:var(--primary); text-align:right;
  padding-right:0;
}
.decide td.go .arr{
  display:inline-block; margin-left:6px;
  transition:transform .15s ease;
}
.decide tr:hover td.go .arr{ transform:translateX(4px); }
.decide tr.alert{ background:rgba(233,196,106,.13); }
.decide tr.alert:hover td{ background:rgba(233,196,106,.20); }
.decide tr.alert td.num{ color:var(--ink); }
.decide tr.alert td.go{ color:var(--ink); font-weight:700; }

/* ===== ROUTING ===== */
.routing-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
  border-top:var(--rule) solid var(--ink);
  border-bottom:var(--rule) solid var(--ink);
  margin-top:22px;
}
@media (max-width:900px){ .routing-grid{ grid-template-columns:1fr; } }
.path{
  padding:22px 24px 24px;
  border-right:1px solid rgba(10,26,46,.20);
}
.path:last-child{ border-right:0; }
@media (max-width:900px){
  .path{ border-right:0; border-bottom:1px solid rgba(10,26,46,.20); }
  .path:last-child{ border-bottom:0; }
}
.path .pnum{
  font-family:'Newsreader', serif; font-style:italic; font-weight:500;
  color:var(--primary); font-size:42px; line-height:.9;
  margin-bottom:8px;
}
.path .ptag{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); font-weight:600; margin-bottom:8px;
}
.path h3{
  font-family:'Newsreader', serif;
  font-weight:600; font-size:24px; line-height:1.12;
  letter-spacing:-0.01em;
  margin:6px 0 10px;
}
.path .lede{
  font-style:italic; font-size:14.5px;
  color:var(--ink-2); margin-bottom:14px;
  line-height:1.45;
}
.path ul{
  list-style:none; margin:0; padding:0;
}
.path li{
  padding:10px 0;
  border-top:1px solid rgba(10,26,46,.14);
  font-size:13.5px; color:var(--ink-2); line-height:1.5;
  display:grid; grid-template-columns:22px 1fr; gap:8px;
}
.path li:first-child{ border-top:0; }
.path li .ord{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; color:var(--ink-3);
  padding-top:3px;
}
.path .reco{
  margin-top:16px;
  padding:13px 14px;
  background:var(--paper-2);
  border-left:3px solid var(--primary);
  font-size:13px; line-height:1.5;
  color:var(--ink);
}
.path .reco .label{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--primary); font-weight:700;
  margin-bottom:5px;
}
.path .ftr{
  margin-top:16px;
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(10,26,46,.14);
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3);
}
.path .ftr a{
  color:var(--primary); font-weight:700;
  display:inline-flex; align-items:center; gap:6px;
}
.path .ftr a:hover{ text-decoration:underline; text-underline-offset:3px; }
.path .ftr a .arr{ transition:transform .15s ease; }
.path .ftr a:hover .arr{ transform:translateX(3px); }

/* ===== HAZARD BAND ===== */
.haz{
  background:var(--ink); color:#fff;
  padding:0;
  position:relative;
  margin-top:8px;
}
.haz .tape{
  height:12px;
  background:repeating-linear-gradient(
    135deg,
    var(--accent) 0 18px,
    var(--ink) 18px 36px
  );
}
.haz-inner{
  display:grid;
  grid-template-columns:200px minmax(0,1fr) 220px;
  gap:36px;
  align-items:center;
  padding:32px var(--pad-x);
  max-width:var(--max); margin:0 auto;
}
@media (max-width:900px){
  .haz-inner{ grid-template-columns:1fr; gap:22px; }
}
.haz .label{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); font-weight:700;
}
.haz h2{
  font-family:'Newsreader', serif;
  font-weight:500; font-style:italic;
  font-size:42px; line-height:1;
  margin:8px 0 0;
  color:#fff;
}
.haz ul{
  list-style:none; margin:0; padding:0;
  columns:2; column-gap:28px;
  font-size:14px; line-height:1.5;
}
@media (max-width:600px){ .haz ul{ columns:1; } }
.haz li{
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  break-inside:avoid;
  color:rgba(255,255,255,.92);
}
.haz .act{
  display:flex; flex-direction:column; gap:10px;
}
.haz .act a{
  display:block; text-align:center;
  padding:14px 18px;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.14em; text-transform:uppercase;
  font-size:13px; font-weight:700;
  transition:background .15s, color .15s, border-color .15s;
}
.haz .act .pri{
  background:var(--accent); color:var(--ink);
  border:2px solid var(--accent);
}
.haz .act .pri:hover{ background:#F2D689; border-color:#F2D689; }
.haz .act .sec{
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.50);
}
.haz .act .sec:hover{ background:rgba(255,255,255,.08); border-color:#fff; }

/* ===== ER vs URGENT ===== */
.vs-grid{
  display:grid; grid-template-columns:1fr 1px 1fr 1px 1fr;
  gap:0;
  margin-top:22px;
  border-top:var(--rule) solid var(--ink);
  border-bottom:var(--rule) solid var(--ink);
}
@media (max-width:780px){
  .vs-grid{ grid-template-columns:1fr; }
  .vs-grid .vs-rule{ display:none; }
}
.vs-rule{ background:rgba(10,26,46,.18); }
.vs-col{ padding:24px 18px; }
.vs-col .head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:6px; gap:14px; min-height:66px;
}
.vs-col h3{
  font-family:'Newsreader', serif; font-weight:600;
  font-size:28px; line-height:1.1; letter-spacing:-0.012em;
  margin:0;
}
.vs-col .tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--primary); font-weight:700;
}
.vs-col .alert .tag{ color:var(--accent-2); }
.vs-col p.lede{
  font-style:italic; font-size:15.5px; color:var(--ink-2);
  margin:0 0 14px; line-height:1.45;
}
.vs-col h4{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  font-weight:600; color:var(--ink-3);
  margin:14px 0 6px;
}
.vs-col ul{
  list-style:none; margin:0; padding:0;
}
.vs-col li{
  padding:7px 0; border-top:1px solid rgba(10,26,46,.14);
  font-size:14px; color:var(--ink-2); line-height:1.45;
  display:grid; grid-template-columns:14px 1fr; gap:8px;
}
.vs-col li::before{
  content:"·"; color:var(--primary); font-weight:700; padding-top:1px;
}
.vs-col.alert li::before{ color:var(--accent-2); }
.vs-col .reco{
  background:rgba(10,26,46,.04); border-radius:3px;
  padding:10px 12px; margin-top:14px;
  font-size:13px; color:var(--ink-2); line-height:1.5;
}
.vs-col .reco .label{
  display:block; font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:4px;
}
.vs-col .reco a{
  color:inherit; text-decoration:none;
}
.vs-col .reco a:hover{ color:var(--ink); }
.vs-col .stat{
  margin-top:16px; padding-top:14px;
  border-top:1px solid rgba(10,26,46,.18);
  display:flex; justify-content:space-between; gap:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.10em; text-transform:uppercase;
  color:var(--ink-3);
}
.vs-col .stat b{ color:var(--ink); font-weight:600; }

/* ===== DIRECTORY ===== */
.dir-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:0 36px;
  margin-top:18px;
}
@media (max-width:760px){ .dir-grid{ grid-template-columns:1fr; } }
.dir-entry{
  display:grid; grid-template-columns:46px minmax(0,1fr) 120px;
  gap:14px; padding:18px 0;
  border-top:1px solid rgba(10,26,46,.20);
  align-items:start;
  transition:background .15s;
}
.dir-entry:hover{ background:rgba(18,60,105,.04); }
.dir-entry:last-child{ border-bottom:1px solid rgba(10,26,46,.20); }
.dir-entry .n{
  font-family:'Newsreader', serif; font-style:italic; font-weight:500;
  color:var(--primary); font-size:26px; line-height:1;
}
.dir-entry .nm{
  font-family:'Newsreader', serif; font-weight:600;
  font-size:19px; letter-spacing:-0.005em; line-height:1.2;
}
.dir-entry .ds{
  font-size:13.5px; color:var(--ink-3); margin-top:3px;
  line-height:1.45;
}
.dir-entry .ct{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); text-align:right; padding-top:4px;
}
.dir-entry.alert .n{ color:var(--accent-2); }

/* ===== VISITOR ===== */
.visit-inner{
  display:grid; grid-template-columns:1fr 320px; gap:36px;
}
@media (max-width:780px){ .visit-inner{ grid-template-columns:1fr; } }
.visit-inner h3{
  font-family:'Newsreader', serif;
  font-style:italic; font-weight:500;
  font-size:34px; line-height:1.05; letter-spacing:-0.012em;
  margin:0 0 12px;
}
.visit-inner h3 em{ font-style:normal; color:var(--secondary); font-weight:600; }
.visit-inner p{
  font-size:15.5px; line-height:1.6; color:var(--ink-2);
  margin:0; max-width:52ch;
}
.visit-aside{
  border-left:2px solid var(--ink); padding-left:20px;
}
.visit-aside .label{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--primary); font-weight:700;
  margin-bottom:10px;
}
.visit-aside ul{ list-style:none; margin:0; padding:0; }
.visit-aside li{
  padding:8px 0; font-size:13.5px;
  border-top:1px dotted rgba(10,26,46,.30);
  color:var(--ink-2);
}
.visit-aside li:first-child{ border-top:0; }

/* ===== ARTICLES ===== */
.articles-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:0;
  margin-top:22px;
  border-top:var(--rule) solid var(--ink);
  border-bottom:var(--rule) solid var(--ink);
}
@media (max-width:900px){ .articles-grid{ grid-template-columns:1fr; } }
.article{
  padding:22px 24px 24px;
  border-right:1px solid rgba(10,26,46,.20);
  display:flex; flex-direction:column; gap:8px;
}
.article:last-child{ border-right:0; }
@media (max-width:900px){
  .article{ border-right:0; border-bottom:1px solid rgba(10,26,46,.20); }
  .article:last-child{ border-bottom:0; }
}
.article .kicker{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--secondary); font-weight:700;
}
.article h3{
  font-family:'Newsreader', serif;
  font-weight:600; font-size:26px; line-height:1.1;
  letter-spacing:-0.012em;
  margin:6px 0 0;
}
.article h3 a:hover{ color:var(--primary); }
.article .dek{
  margin-top:10px; font-style:italic; font-size:14.5px;
  color:var(--ink-2); line-height:1.45;
}
.article .byline{
  margin-top:14px; padding-top:12px;
  border-top:1px solid rgba(10,26,46,.14);
  display:flex; justify-content:space-between; align-items:center;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3);
}
.article .byline a{ color:var(--primary); font-weight:700; }

/* ===== FOOTER ===== */
.foot{
  background:var(--paper);
  border-top:var(--rule) solid var(--ink);
  padding:24px var(--pad-x) 28px;
}
.foot::before{
  content:""; display:block; height:8px;
  background:repeating-linear-gradient(135deg, var(--paper-3) 0 9px, var(--paper) 9px 18px);
  margin-bottom:18px;
}
.foot .wrap{ padding-left:0; padding-right:0; }
.foot-cols{
  display:grid; grid-template-columns:1.4fr repeat(3, 1fr); gap:30px;
  padding-bottom:24px; border-bottom:1px solid rgba(10,26,46,.20);
}
@media (max-width:780px){ .foot-cols{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .foot-cols{ grid-template-columns:1fr; } }
.foot-cols .name{
  font-family:'Newsreader', serif; font-weight:700;
  font-size:22px; letter-spacing:-0.005em; color:var(--ink);
}
.foot-cols .name em{ font-style:italic; font-weight:500; color:var(--primary); }
.foot-cols .blurb{
  margin-top:8px;
  font-size:13.5px; line-height:1.55; color:var(--ink-3);
  max-width:38ch;
}
.foot-cols h5{
  margin:0 0 10px;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); font-weight:700;
}
.foot-cols ul{ list-style:none; margin:0; padding:0; }
.foot-cols li{
  padding:5px 0; font-size:13.5px; color:var(--ink-2);
}
.foot-cols a:hover{ color:var(--primary); text-decoration:underline; text-underline-offset:3px; }

.disclaimer{
  margin-top:20px; padding:14px 0;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px; line-height:1.6; color:var(--ink-2);
  letter-spacing:.01em;
}
.disclaimer b{
  display:inline; margin-right:6px;
  color:var(--ink); font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; font-size:10.5px;
}
.foot-base{
  margin-top:18px; padding-top:16px;
  border-top:1px solid rgba(10,26,46,.20);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3);
}
.foot-base a{ color:var(--ink-2); margin-right:14px; }
.foot-base a:hover{ color:var(--primary); }
.back-to-top{
  display:inline-flex; align-items:center; gap:6px; cursor:default;
  color:var(--primary); font-weight:700;
}
.back-to-top:hover{ text-decoration:underline; text-underline-offset:3px; }

/* ===== PHP ADDITIONS ===== */

img, video{ max-width:100%; height:auto; display:block; }
main{ min-height:60vh; }

/* Skip link */
.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:static; left:auto; width:auto; height:auto;
  padding:8px 16px; background:var(--primary); color:#fff;
  z-index:9999; display:block;
}

/* Emergency banner */
.emergency-banner{
  background:var(--ink); color:#fff;
  padding:10px 0; font-size:14px; text-align:center;
}
.emergency-banner a{ color:var(--accent); }
.emergency-banner a:hover{ color:#F2D689; }

/* Breadcrumbs */
.breadcrumbs{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.bc-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:4px; align-items:center;
}
.bc-item+.bc-item::before{ content:'/'; color:var(--ink-4); margin-right:4px; }
.bc-item a{ color:var(--primary); text-decoration:none; }
.bc-item a:hover{ text-decoration:underline; }
.bc-current{ color:var(--ink-3); }

/* Stub page */
.stub-page{ padding:60px 0; }
.stub-page h1{
  font-family:'Newsreader', serif;
  font-size:clamp(28px, 4vw, 42px); font-weight:500;
  line-height:1.15; margin:0 0 16px; color:var(--ink);
}
.stub-page p{ font-size:17px; color:var(--ink-2); max-width:640px; }

/* Key West Concierge Orthopedics CTA partial */
.kwco-cta{
  background:var(--paper-2);
  border-left:3px solid var(--primary);
  padding:20px 24px; margin:24px 0;
}
.kwco-cta .kwco-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--primary); font-weight:700; margin:0 0 4px;
}
.kwco-cta .kwco-name{
  font-family:'Newsreader', serif;
  font-size:24px; font-weight:600; margin:0 0 8px; color:var(--ink);
}
.kwco-cta .kwco-for{ font-size:15px; color:var(--ink-2); margin:0 0 12px; }
.kwco-cta .kwco-services{
  list-style:none; margin:0 0 12px; padding:0;
  border-top:1px solid rgba(10,26,46,.18);
}
.kwco-cta .kwco-services li{
  padding:7px 0; border-bottom:1px solid rgba(10,26,46,.14);
  font-size:14px; color:var(--ink-2);
}
.kwco-cta .kwco-avail{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.08em; color:var(--ink-3); margin:0 0 8px;
}
.kwco-cta .kwco-er-note{ font-size:13px; color:var(--ink-3); font-style:italic; margin:0 0 12px; }
.kwco-cta .kwco-btn{
  display:inline-block; background:var(--primary); color:#fff;
  font-family:'JetBrains Mono', monospace;
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:10px 20px; text-decoration:none;
  transition:background .15s ease;
}
.kwco-cta .kwco-btn:hover{ background:var(--primary-2); color:#fff; }
.kwco-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--primary); font-weight:700;
}

/* Emergency warning partial */
.emerg-warning{
  background:var(--ink); color:#fff;
  padding:24px 28px; margin:24px 0;
}
.emerg-warning__heading{
  font-family:'Newsreader', serif; font-size:26px; font-weight:600;
  margin:0 0 8px; color:#fff;
}
.emerg-warning__intro{ font-size:14px; color:rgba(255,255,255,.85); margin:0 0 14px; }
.emerg-warning__list{
  list-style:none; margin:0 0 16px; padding:0;
  columns:2; column-gap:28px; font-size:14px;
}
@media (max-width:600px){ .emerg-warning__list{ columns:1; } }
.emerg-warning__list li{
  padding:6px 0; border-bottom:1px solid rgba(255,255,255,.16);
  break-inside:avoid; color:rgba(255,255,255,.92);
}
.emerg-warning__action{ font-size:14px; color:rgba(255,255,255,.92); margin:0 0 16px; }
.emerg-warning__ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.emerg-warning__btn{
  display:inline-block; padding:12px 20px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; transition:background .15s, color .15s;
}
.emerg-warning__btn--911{ background:var(--accent); color:var(--ink); }
.emerg-warning__btn--911:hover{ background:#F2D689; }
.emerg-warning__btn--er{
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.50);
}
.emerg-warning__btn--er:hover{ background:rgba(255,255,255,.10); border-color:#fff; }

/* Orthopedic routing card partial */
.orth-card{
  border-top:var(--rule) solid var(--ink);
  border-bottom:var(--rule) solid var(--ink);
  margin:24px 0;
}
.orth-card__heading{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-2); padding:12px 0 8px; font-weight:700;
}
.orth-card__paths{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
}
@media (max-width:900px){ .orth-card__paths{ grid-template-columns:1fr; } }
.orth-card__path{
  padding:18px 20px;
  border-right:1px solid rgba(10,26,46,.20);
}
.orth-card__path:last-child{ border-right:0; }
@media (max-width:900px){
  .orth-card__path{ border-right:0; border-bottom:1px solid rgba(10,26,46,.20); }
  .orth-card__path:last-child{ border-bottom:0; }
}
.orth-card__path.is-highlighted{ background:rgba(18,60,105,.05); }
.orth-card__tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-3); font-weight:600; margin:0 0 8px;
}
.orth-card__copy{ font-size:14px; color:var(--ink-2); line-height:1.5; margin:0 0 14px; }
.orth-card__actions{ display:flex; flex-direction:column; gap:8px; }
.orth-card__btn{
  display:block; text-align:center; padding:10px 14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  text-decoration:none; transition:background .15s, color .15s;
}
.orth-card__btn--er{ background:var(--accent); color:var(--ink); }
.orth-card__btn--er:hover{ background:#F2D689; }
.orth-card__btn--kwco{ background:var(--primary); color:#fff; }
.orth-card__btn--kwco:hover{ background:var(--primary-2); }
.orth-card__link{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.10em; text-transform:uppercase;
  color:var(--primary); font-weight:600; text-decoration:none;
}
.orth-card__link:hover{ text-decoration:underline; text-underline-offset:3px; }

/* Facility disclaimer partial */
.fac-disclaimer{
  border-top:1px solid rgba(10,26,46,.18);
  padding:16px 0; margin:24px 0;
  font-size:13px; color:var(--ink-3); line-height:1.6;
}
.fac-disclaimer__text{ margin:0 0 10px; }
.fac-disclaimer__kwco-note{ margin:0 0 10px; }
.fac-disclaimer__kwco-note a{ color:var(--primary); }
.fac-disclaimer__kwco-note a:hover{ text-decoration:underline; text-underline-offset:3px; }
.fac-disclaimer__medical{ font-style:italic; }
.nonsurg-link{ color:inherit; text-decoration:none; }
.nonsurg-link:hover{ color:var(--ink); }

/* ===== CONTACT FORM ===== */
.contact-info{ max-width:700px; }
.contact-info h2{ color:var(--primary); margin-bottom:1.25rem; }
.contact-info h4{ color:var(--primary); margin-top:1.25rem; margin-bottom:.25rem; }
.contact-info p{ margin-bottom:.75rem; }
.contact-info a{ color:var(--primary); font-weight:600; }
.contact-info a:hover{ color:var(--ink); }
.contact-form{ margin-top:1rem; max-width:640px; }
.contact-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-form__group{ display:flex; flex-direction:column; margin-bottom:1rem; }
.contact-form__group label{ display:block; font-size:.875rem; font-weight:600; color:var(--primary); margin-bottom:.35rem; }
.contact-form__group input[type="text"],
.contact-form__group input[type="email"],
.contact-form__group input[type="tel"],
.contact-form__group select,
.contact-form__group textarea{
  padding:.6rem .75rem;
  font:inherit; font-size:.95rem;
  border:1.5px solid var(--paper-3);
  border-radius:3px;
  background:var(--paper);
  color:var(--ink);
  transition:border-color .15s;
}
.contact-form__group input:focus,
.contact-form__group select:focus,
.contact-form__group textarea:focus{ outline:none; border-color:var(--primary); }
.contact-form__group textarea{ resize:vertical; }
.contact-form__checkbox-label{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; color:var(--ink-2); cursor:pointer; }
.contact-form__checkbox-label input[type="checkbox"]{ flex-shrink:0; width:1rem; height:1rem; margin:0; cursor:pointer; }
.btn--primary{
  display:inline-block; background:var(--primary); color:#fff;
  font-family:'JetBrains Mono', monospace;
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:10px 20px; border:0; cursor:pointer;
  transition:background .15s ease;
}
.btn--primary:hover{ background:var(--primary-2); color:#fff; }
.contact-form .btn{ margin-top:.5rem; }
.contact-form__note{ font-size:.78rem; color:var(--ink-3); margin-top:.5rem; }
.contact-alert{ padding:.875rem 1.1rem; border-radius:4px; margin-bottom:1.25rem; font-size:.95rem; }
.contact-alert--success{ background:#d1fae5; border:1px solid #6ee7b7; color:#065f46; }
.contact-alert--error  { background:#fee2e2; border:1px solid #fca5a5; color:#991b1b; }
@media (max-width:600px){
  .contact-form__row{ grid-template-columns:1fr; }
}

/* Verify hours partial */
.verify-note{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.10em; text-transform:uppercase;
  color:var(--ink-3); margin:8px 0;
}
