:root {
      --ink: #071a2b;
      --ink-2: #17344a;
      --paper: #f7faf9;
      --white: #ffffff;
      --teal: #0b968e;
      --teal-dark: #08756f;
      --cyan: #32d5c9;
      --amber: #f0b44d;
      --line: #d9e4e3;
      --muted: #526979;
      --shadow: 0 2px 6px rgba(7, 26, 43, .06), 0 14px 30px rgba(7, 26, 43, .08);
      --ease-out: cubic-bezier(.22, .8, .28, 1);
      --ease-inout: cubic-bezier(.4, 0, .2, 1);
      --dur-1: .16s;
      --dur-2: .28s;
      --radius-lg: 28px;
      --radius-md: 18px;
      --max: 1180px;}
@media (min-width: 0px) {
      :root {
        --ink: #eef4f9;
        --ink-2: #d7e3ea;
        --paper: #07141f;
        --white: #0b2233;
        --line: #24465f;
        --muted: #9db4c0;
        --shadow: 0 2px 6px rgba(0,0,0,.35), 0 14px 30px rgba(0,0,0,.4);
      }
    }

    * { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference) {
      html { scroll-behavior: smooth; }
    }
    section[id] { scroll-margin-top: 88px; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "Manrope", sans-serif;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; }
    img { max-width: 100%; display: block; }
    button { font: inherit; }
    .nav-shell {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(7, 26, 43, .94);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(255,255,255,.09);
      transition: box-shadow var(--dur-2) var(--ease-out);
    }
    .nav-shell.is-scrolled { box-shadow: 0 2px 12px rgba(7, 26, 43, .16); }
    nav {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
      min-height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: white;
      text-decoration: none;
      font-size: 15px;
      font-weight: 800;
      letter-spacing: -.02em;
      white-space: nowrap;
    }
    .brand-logo {
      height: 38px;
      width: auto;
      border-radius: 9px;
      display: block;
    }
    .brand-mark {
      width: 34px;
      height: 34px;
      border-radius: 11px 4px 11px 4px;
      background: var(--cyan);
      display: grid;
      place-items: center;
      color: var(--ink);
      font-size: 12px;
      letter-spacing: -.06em;
    }
    
    
    
    
    
    
    
    
    
    
    
    h1, h2, h3, p { margin-top: 0; }
    h1 {
      font-family: "Manrope", sans-serif;
      font-size: clamp(2.6rem,6.3vw,4.7rem);
      line-height: .98;
      letter-spacing: -.055em;
      max-width: 760px;
      margin-bottom: 26px;
    }
    
    
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 50px;
      padding: 0 20px;
      border-radius: 999px;
      text-decoration: none;
      font-size: 14px;
      font-weight: 800;
      transition: background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);
    }
    .button:hover { transform: translateY(-2px); }
    .button:active { transform: scale(.98); }
    .button-primary { background: var(--cyan); color: var(--ink); }
    .button-primary:hover { background: #65e7dd; }
    .button-ghost { border: 1px solid rgba(255,255,255,.28); color: white; }
    .button-ghost:hover { border-color: white; }
    
    
    
    
    
    
    
    
    
    
    
    
    section { padding: 112px 0; }
    .section-wrap { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
    
    
    .section-kicker { color: var(--teal-dark); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px; }
    h2 {
      font-family: "Manrope", sans-serif;
      font-size: clamp(34px, 4vw, 44px);
      line-height: 1.04;
      letter-spacing: -.045em;
      margin-bottom: 0;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    .service-card-photo { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 12px; margin-bottom: 14px; }
    
    .safety-guide-layout {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(360px, .58fr);
      gap: 78px;
      align-items: center;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    .contact { padding-top: 40px; }
    .contact-panel {
      background: var(--ink);
      color: white;
      border-radius: 36px 10px 36px 10px;
      padding: 68px 56px;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .contact-panel::after {
      content: "";
      position: absolute;
      width: 230px;
      height: 230px;
      right: -90px;
      top: -110px;
      border: 42px solid rgba(50,213,201,.12);
      border-radius: 50%;
    }
    .contact-panel h2 { font-size: clamp(36px, 4vw, 56px); margin-bottom: 22px; max-width: 22ch; }
    .contact-panel .section-kicker { margin-bottom: 18px; }
    .contact-panel .contact-lead { color: #dbe7ec; font-size: 19px; line-height: 1.65; margin-bottom: 14px; max-width: 56ch; }
    .contact-panel .contact-sub { color: #a9c0c9; font-size: 16px; margin-bottom: 0; max-width: 56ch; }
    .owner-row {
      position: relative;
      z-index: 1;
      order: -1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 26px;
      margin-bottom: 34px;
    }
    .owner-name {
      margin: 0;
      color: #fff;
      font-family: "Source Serif 4", serif;
      font-size: clamp(28px, 3.2vw, 38px);
      font-weight: 700;
      letter-spacing: -.01em;
      text-align: right;
      line-height: 1.15;
    }
    .owner-certs {
      display: block;
      margin-top: 8px;
      font-family: "Manrope", sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--cyan);
    }
    .contact-photo {
      position: relative;
      z-index: 1;
      width: 148px;
      aspect-ratio: 1;
      object-fit: cover;
      object-position: center top;
      border-radius: 50%;
      border: 3px solid rgba(50,213,201,.55);
      box-shadow: 0 18px 45px rgba(0,0,0,.28);
      margin-bottom: 0;
    }
    .contact-action {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      justify-content: center;
      margin-top: 36px;
      width: min(100%, 600px);
    }
    .contact-action .button { flex: 1 1 230px; }
    .pay-row { position: relative; z-index: 1; display: flex; justify-content: center; margin-top: 18px; width: min(100%, 600px); }
    footer { padding: 50px 0 34px; }
    .footer-wrap { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; border-top: 1px solid var(--line); padding-top: 28px; }
    .footer-brand strong { font-size: 14px; display: block; margin-bottom: 3px; }
    .footer-brand span, .footer-note { color: var(--muted); font-size: 16px; }
    .footer-links { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
    .footer-links a { font-size: 16px; font-weight: 700; text-decoration: underline; }
    .footer-links a:hover { color: var(--teal-dark); }
    :focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; animation: none !important; }
      
    }
  
.s2w-dock-chev {width:15px;height:15px;flex:0 0 auto;opacity:.8;}
/* Floating site menu (s2w-dock): top on desktop and mobile */
.s2w-dock {position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:99999;font-family:inherit;line-height:1.4;}
.s2w-dock-btn {display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:12px 26px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:var(--teal);color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 22px rgba(7,26,43,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background var(--dur-1) var(--ease-out);}
.s2w-dock-btn:hover {background:var(--teal-dark);}
.s2w-dock-btn:active {transform:scale(.97);}
.s2w-dock-btn:focus-visible {outline:3px solid #f2ad3d;outline-offset:3px;}
.s2w-dock-btn svg {width:22px;height:22px;flex:0 0 auto;}
.s2w-dock-panel {position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-10px) scale(.98);width:360px;max-width:calc(100vw - 32px);max-height:72vh;overflow-x:clip;overflow-y:auto;padding:0 20px 20px;background:linear-gradient(168deg,#ffffff 0%,#f4fafc 60%,#edf5f8 100%);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 2px 6px rgba(3,18,30,.12),0 24px 60px rgba(3,18,30,.22),inset 0 1px 0 #ffffff;backdrop-filter:blur(36px) saturate(1.5);-webkit-backdrop-filter:blur(36px) saturate(1.5);opacity:0;visibility:hidden;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),visibility var(--dur-2);}
.s2w-dock-panel::before {content:"";display:block;height:5px;margin:0 -20px 18px;border-radius:28px 28px 0 0;background:var(--teal);}
.s2w-dock.s2w-dock-open .s2w-dock-panel {opacity:1;visibility:visible;transform:translate(-50%,0) scale(1);box-shadow:0 2px 6px rgba(3,18,30,.16),0 24px 60px rgba(3,18,30,.4),0 48px 110px rgba(3,18,30,.24),0 0 36px rgba(45,212,191,.16),inset 0 1px 0 #ffffff,0 0 0 9999px rgba(2,12,22,.62);}
.s2w-dock-cap {display:flex;align-items:center;gap:12px;padding:2px 6px 14px;font-size:.8rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#0b5560;}
.s2w-dock-cap::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(13,148,136,.5),rgba(13,148,136,0));}
.s2w-dock-grid {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.s2w-dock-grid a {display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 10px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f2f8fa);border:1px solid rgba(11,36,56,.1);color:#0b2438;text-decoration:none;font-size:1.1rem;font-weight:800;letter-spacing:.01em;text-align:center;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;transition:transform var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out);}
.s2w-dock-grid a:hover {background:#ffffff;border-color:rgba(11,150,142,.5);transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,150,142,.18),0 4px 10px rgba(4,20,32,.1),inset 0 1px 0 #ffffff;}
.s2w-dock-grid a:active {transform:translateY(0);}
.s2w-dock-grid a:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
.s2w-dock-grid a.s2w-dock-current {background:linear-gradient(180deg,#fff8e8,#fdf0d3);border-color:rgba(242,173,61,.55);box-shadow:inset 0 -4px 0 #f2ad3d,0 2px 6px rgba(4,20,32,.07);}
.s2w-dock-div {height:1px;margin:16px 6px;background:linear-gradient(90deg,transparent,rgba(11,36,56,.22),transparent);}
.s2w-dock-list {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.s2w-dock-list a {display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 10px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f2f8fa);border:1px solid rgba(11,36,56,.1);color:#0b2438;text-decoration:none;font-size:1.1rem;font-weight:800;letter-spacing:.01em;text-align:center;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;transition:transform var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out);}
.s2w-dock-list a:hover {background:#ffffff;border-color:rgba(11,150,142,.5);transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,150,142,.18),0 4px 10px rgba(4,20,32,.1),inset 0 1px 0 #ffffff;}
.s2w-dock-list a:active {transform:translateY(0);}
.s2w-dock-list a:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
.s2w-dock-cta {display:flex;align-items:center;justify-content:center;min-height:58px;margin-top:14px;border-radius:18px;background:var(--teal);color:#fff;text-decoration:none;font-size:1.12rem;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 20px rgba(7,26,43,.25),inset 0 1px 0 rgba(255,255,255,.25);transition:background var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out);}
.s2w-dock-cta:hover {background:var(--teal-dark);transform:translateY(-1px);}
.s2w-dock-cta:active {transform:translateY(0);}
.s2w-dock-cta:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
.s2w-dock-chev {width:15px;height:15px;flex:0 0 auto;opacity:.8;}
@media (max-width:768px) {
.s2w-dock {left:auto;right:14px;transform:none;}
.s2w-dock.s2w-dock-head {right:auto;}
.s2w-dock-panel {left:auto;right:0;transform:translateY(-10px) scale(.98);}
.s2w-dock.s2w-dock-open .s2w-dock-panel {transform:translateY(0) scale(1);}
}
@media (prefers-reduced-motion:reduce) {.s2w-dock-btn, .s2w-dock-panel, .s2w-dock-grid a, .s2w-dock-list a, .s2w-dock-cta {transition:none;}}

/* In-header nav button (replaces brand logo at top-left) */
.nav-shell nav {display:flex;align-items:center;gap:14px;padding:8px 16px;}
    .nav-shell .brand {margin-right:auto;font-size:17px;}
.s2w-dock.s2w-dock-head {position:relative;top:auto;left:auto;transform:none;z-index:60;}
.s2w-dock-head .s2w-dock-btn {min-height:48px;padding:8px 18px;font-size:1rem;gap:8px;}
.s2w-dock-head .s2w-dock-panel {left:0;right:auto;transform:translateY(-10px) scale(.98);}
.s2w-dock-head.s2w-dock-open .s2w-dock-panel {transform:translateY(0) scale(1);}
/* Header menu visual refresh (2026-09-26) */
.s2w-dock.s2w-dock-head .s2w-dock-panel {background:#ffffff;border:1px solid rgba(11,36,56,.14);border-radius:22px;padding:0 18px 22px;box-shadow:0 24px 60px rgba(3,18,30,.35),0 48px 110px rgba(3,18,30,.22),0 0 0 9999px rgba(2,12,22,.62);}
.s2w-dock.s2w-dock-head .s2w-dock-panel::before {display:none;}
.s2w-dock-head .s2w-dock-cap {display:block;padding:20px 6px 12px;font-size:1.05rem;font-weight:800;letter-spacing:.02em;text-transform:none;color:#0b2438;}
.s2w-dock-head .s2w-dock-cap::after {display:none;}
.s2w-dock-head .s2w-dock-grid, .s2w-dock-head .s2w-dock-list {gap:10px;}
.s2w-dock-head .s2w-dock-grid a, .s2w-dock-head .s2w-dock-list a {min-height:62px;font-size:1.12rem;border-radius:16px;}
.s2w-dock-head .s2w-dock-div {margin:18px 6px;}
@media (max-width:768px) {
.s2w-dock.s2w-dock-head .s2w-dock-panel {position:fixed;top:70px;left:16px;right:16px;width:auto;max-width:540px;margin:0 auto;transform:translateY(-10px) scale(.98);}
.s2w-dock.s2w-dock-head.s2w-dock-open .s2w-dock-panel {transform:translateY(0) scale(1);}
}
.s2w-dock-logo {height:30px;width:auto;object-fit:contain;flex:0 0 auto;}
@media (max-width:480px) {
.s2w-dock-head .s2w-dock-btn {padding:8px 14px;min-height:48px;font-size:.95rem;}
.s2w-dock-logo {height:26px;width:auto;}
}

.s2w-dock-list[hidden], .s2w-dock-sub[hidden] {display:none !important;}
.s2w-dock-guides {display:grid;gap:8px;}
  .s2w-dock-guidebtn {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:58px;padding:12px 18px;border-radius:18px;background:linear-gradient(180deg,#e9f5f2,#dcefeb);border:1px solid rgba(11,150,142,.5);color:#0b2438;font-family:inherit;font-size:1.1rem;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;}
  .s2w-dock-guidebtn:hover {background:#ffffff;border-color:rgba(11,150,142,.7);}
  .s2w-dock-guidebtn:active {transform:scale(.97);}
  .s2w-dock-guidebtn:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
  .s2w-dock-guidebtn svg {width:22px;height:22px;flex:0 0 auto;transition:transform .18s ease-out;}
  .s2w-dock-guidebtn[aria-expanded="true"] svg {transform:rotate(180deg);}
  .s2w-dock-guidebtn[aria-expanded="true"] {background:#ffffff;border-color:rgba(11,150,142,.7);}
  .s2w-dock-groups {display:grid;gap:8px;}
  .s2w-dock-minicap {display:block;margin:14px 2px 8px;font-size:.92rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#0b968e;}

.s2w-dock-split {display:flex;gap:8px;}
.s2w-dock-splitlink {flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 10px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f2f8fa);border:1px solid rgba(11,36,56,.1);color:#0b2438;text-decoration:none;font-size:1.1rem;font-weight:800;letter-spacing:.01em;text-align:center;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;}
.s2w-dock-splitlink:hover {background:#ffffff;border-color:rgba(11,150,142,.5);}
.s2w-dock-wide {display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 10px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f2f8fa);border:1px solid rgba(11,36,56,.1);color:#0b2438;text-decoration:none;font-size:1.1rem;font-weight:800;letter-spacing:.01em;text-align:center;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;}
.s2w-dock-wide:hover {background:#ffffff;border-color:rgba(11,150,142,.5);}
.s2w-dock-expand {flex:0 0 78px;display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:18px;background:linear-gradient(180deg,#e9f5f2,#dcefeb);border:1px solid rgba(11,150,142,.5);color:#0b2438;cursor:pointer;font-family:inherit;box-shadow:0 2px 6px rgba(4,20,32,.07),inset 0 1px 0 #ffffff;}
.s2w-dock-expand:hover {background:#ffffff;border-color:rgba(11,150,142,.7);}
.s2w-dock-expand:active {transform:scale(.97);}
.s2w-dock-expand:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
.s2w-dock-expand svg {width:32px;height:32px;flex:0 0 auto;transition:transform .18s ease-out;}
.s2w-dock-expand[aria-expanded="true"] svg {transform:rotate(180deg);}
.s2w-dock-expand[aria-expanded="true"] {background:#ffffff;border-color:rgba(11,150,142,.7);}
.s2w-dock-back {display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:10px 22px;margin:2px 0 14px;border-radius:999px;border:1px solid rgba(11,36,56,.2);background:#ffffff;color:#0b2438;font-family:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 2px 6px rgba(4,20,32,.08);}
.s2w-dock-back:hover {background:#f2f8fa;}
.s2w-dock-back:active {transform:scale(.98);}
.s2w-dock-back:focus-visible {outline:3px solid #0b2438;outline-offset:2px;box-shadow:0 0 0 6px rgba(242,173,61,.85);}
body.dock-open .s2w-a11y-fab, body.dock-open .s2w-a11y-tab {display:none !important;}

/* Modern dark menu theme (2026-09-26) */
.s2w-dock.s2w-dock-head .s2w-dock-panel {background:linear-gradient(165deg,#15364d 0%,#0a2033 78%);border:1px solid rgba(45,212,191,.3);box-shadow:0 24px 60px rgba(3,18,30,.5),0 48px 110px rgba(3,18,30,.3),0 0 42px rgba(45,212,191,.14),inset 0 1px 0 rgba(255,255,255,.09),0 0 0 9999px rgba(2,12,22,.62);}
.s2w-dock-head .s2w-dock-cap {color:#8fd8cd;}
.s2w-dock-head .s2w-dock-grid a, .s2w-dock-head .s2w-dock-list a {background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.17);color:#ffffff;box-shadow:0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12);}
.s2w-dock-head .s2w-dock-grid a:hover, .s2w-dock-head .s2w-dock-list a:hover {background:rgba(45,212,191,.18);border-color:rgba(45,212,191,.65);transform:translateY(-2px);}
.s2w-dock-head .s2w-dock-grid a.s2w-dock-current {background:linear-gradient(180deg,rgba(242,173,61,.28),rgba(242,173,61,.15));border-color:rgba(242,173,61,.65);box-shadow:inset 0 -4px 0 #f2ad3d,0 2px 8px rgba(0,0,0,.3);color:#ffffff;}
.s2w-dock-head .s2w-dock-div {background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);}
.s2w-dock-head .s2w-dock-splitlink, .s2w-dock-head .s2w-dock-wide {background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.17);color:#ffffff;box-shadow:0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12);}
.s2w-dock-head .s2w-dock-splitlink:hover, .s2w-dock-head .s2w-dock-wide:hover {background:rgba(45,212,191,.18);border-color:rgba(45,212,191,.65);}
.s2w-dock-head .s2w-dock-expand {background:linear-gradient(180deg,#2dd4bf,#0d9488);border-color:rgba(45,212,191,.8);color:#06302b;}
.s2w-dock-head .s2w-dock-expand:hover {background:linear-gradient(180deg,#5eead4,#14b8a6);}
.s2w-dock-head .s2w-dock-expand[aria-expanded="true"] {background:linear-gradient(180deg,#5eead4,#14b8a6);border-color:rgba(45,212,191,.8);}
.s2w-dock-head .s2w-dock-back {background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#ffffff;}
.s2w-dock-head .s2w-dock-back:hover {background:rgba(255,255,255,.16);}
.s2w-dock-head .s2w-dock-grid a:focus-visible, .s2w-dock-head .s2w-dock-list a:focus-visible, .s2w-dock-head .s2w-dock-expand:focus-visible, .s2w-dock-head .s2w-dock-back:focus-visible {outline:3px solid #f2ad3d;outline-offset:2px;}
/* S2W nav refresh 2026-09-26: navigation left, flat modern buttons */
.s2w-dock:not(.s2w-dock-head) {left:16px;right:auto;transform:none;}
.s2w-dock:not(.s2w-dock-head) .s2w-dock-panel {left:0;right:auto;transform:translateY(-10px) scale(.98);}
.s2w-dock:not(.s2w-dock-head).s2w-dock-open .s2w-dock-panel {transform:translateY(0) scale(1);}
.s2w-dock-btn {border-radius:16px;box-shadow:0 4px 14px rgba(7,26,43,.28);}
.s2w-dock-panel {background:#ffffff;}
.s2w-dock-grid a, .s2w-dock-list a {background:#ffffff;border:1.5px solid #d9e6ec;border-radius:14px;box-shadow:none;}
.s2w-dock-grid a:hover, .s2w-dock-list a:hover {background:#edf7f6;border-color:#0b968e;transform:none;box-shadow:none;}
.s2w-dock-cap {letter-spacing:.08em;}
.s2w-head-call {display:none}
@media(min-width:721px) {
.s2w-head-call {display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:18px;padding:10px 18px;border:2px solid #5fd8cf;border-radius:999px;white-space:nowrap}
.s2w-head-call:hover {background:rgba(95,216,207,.15)}
.s2w-head-call .s2w-ring {width:26px;height:26px;color:#5fd8cf;transform-origin:50% 50%;animation:s2w-ring 1.5s ease-in-out infinite}
@keyframes s2w-ring {0%,100%{transform:rotate(0) scale(1)}7%{transform:rotate(26deg) scale(1.12)}14%{transform:rotate(-22deg) scale(1.12)}21%{transform:rotate(18deg) scale(1.08)}28%{transform:rotate(-14deg) scale(1.05)}35%{transform:rotate(9deg)}42%{transform:rotate(0) scale(1)}}
.s2w-head-call .s2w-wv {animation:s2w-wv 1.5s ease-in-out infinite}
.s2w-head-call .s2w-wv2 {animation-delay:.18s}
@keyframes s2w-wv {0%,100%{opacity:.35}25%{opacity:1}50%{opacity:.35}}
}
@media(min-width:721px) and (prefers-reduced-motion:reduce) {.s2w-head-call .s2w-ring {animation:none}}
@media (prefers-reduced-motion:reduce){.chat-float::after{animation:none;}}
/* No sticky chat bar on this page — reclaim most of the space it took. */
body{padding-bottom:96px;}
.s2w-dock-splitlink {flex-direction:column;gap:2px;line-height:1.3;}
.s2w-dock-tag {display:block;font-size:.78rem;font-weight:600;letter-spacing:.03em;opacity:.72;}
.s2w-fv {position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,18,30,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.s2w-fv[hidden] {display:none;}
.s2w-fv-card {background:#ffffff;color:#0b2237;border-radius:20px;max-width:340px;width:100%;padding:24px 22px 22px;box-shadow:0 24px 70px rgba(0,0,0,.4);font-family:inherit;animation:s2wFvIn .28s ease-out;}
.s2w-fv-kicker {margin:0 0 4px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0e7c86;}
.s2w-fv-card h2 {margin:0 0 10px;font-size:1.25rem;line-height:1.3;color:#0b2237;}
.s2w-fv-card ul {margin:0 0 18px;padding-left:20px;font-size:1.02rem;line-height:1.55;color:#0b2237;}
.s2w-fv-card li {margin-bottom:8px;}
.s2w-fv-ok {display:block;width:100%;min-height:52px;border:0;border-radius:14px;background:#0e7c86;color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer;}
.s2w-fv-ok:active {transform:scale(.98);}
@keyframes s2wFvIn {from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce) {.s2w-fv-card {animation:none;}}
header.nav-shell .s2w-dock.s2w-dock-head {position:relative;top:auto;left:auto;right:auto;transform:none;margin:0;}
header.nav-shell nav {padding-left:0;}
/* Bigger, bolder expand arrows (Sean 2026-11-01) */
.s2w-dock-head .s2w-dock-btn svg.s2w-dock-chev{width:30px;height:30px}
.s2w-dock-head .s2w-dock-btn svg.s2w-dock-chev path{stroke-width:3.1}
