/* Instrument-plate detailing, with colours adapted to each section. */
.button.button-maritime {
  --plate-ink:var(--paper); --plate-rim:#b7c6b0; --plate-inset:#e6efde30; --plate-grain:#e6efde05;
  --plate-top:#2b494b; --plate-middle:#132f36; --plate-bottom:#1e3c40; --plate-focus:var(--navy);
  position:relative; isolation:isolate; justify-content:center; min-height:56px; max-width:100%; padding:17px 24px;
  border:1px solid var(--plate-rim); border-radius:6px;
  background:linear-gradient(165deg,var(--plate-top),var(--plate-middle) 60%,var(--plate-bottom));
  color:var(--plate-ink); font-size:14px; font-weight:650; line-height:1.4; text-align:center;
  text-shadow:0 1px 1px #081d2540;
  box-shadow:inset 0 1px 0 var(--plate-inset),inset 0 -2px 3px #071e2826,0 3px 7px #051e281f;
  transition:box-shadow .18s ease; -webkit-tap-highlight-color:transparent;
}
.button-maritime::before {
  content:""; position:absolute; z-index:-1; inset:4px; border:1px solid var(--plate-inset); border-radius:2px;
  background:repeating-linear-gradient(0deg,var(--plate-grain) 0 1px,transparent 1px 4px); pointer-events:none;
}
.button-maritime .maritime-label {font:inherit;line-height:inherit}
.button.button-maritime:hover:not(:disabled) {
  background:linear-gradient(165deg,var(--plate-top),var(--plate-middle) 60%,var(--plate-bottom));
  box-shadow:inset 0 0 0 1px var(--plate-rim),inset 0 1px 0 var(--plate-inset),0 3px 7px #051e281f; transform:none;
}
.button.button-maritime:active:not(:disabled) {box-shadow:inset 0 2px 4px #071e2859;transform:none}
.button.button-maritime:focus-visible {outline:2px solid var(--plate-focus);outline-offset:5px}
.button.button-maritime:disabled {background:#dce2d8;color:#667260;border-color:#bcc7b5;text-shadow:none;box-shadow:none;transform:none}
.button.button-maritime:disabled::before {border-color:#c9d3c2;background:none}

/* White trim over the hero image; lime trim beside the displayed fee. */
.hero .button-maritime {
  --plate-ink:#fff; --plate-rim:#fff; --plate-inset:#ffffff36; --plate-grain:#ffffff05;
  --plate-top:#2b494f; --plate-middle:#143139; --plate-bottom:#1e3c42; --plate-focus:#fff;
  min-height:64px; padding:18px 28px; font-size:16px;
}
.calculator .button-maritime {
  --plate-ink:var(--lime); --plate-rim:var(--lime); --plate-inset:#e4edbc26; --plate-grain:#e4edbc05;
  --plate-top:#34534f; --plate-middle:#1b3d42; --plate-bottom:#234744; --plate-focus:var(--lime);
  min-height:64px; padding:18px 28px; font-size:16px;
}
.coverage .button-maritime {--plate-rim:#a9b99d}
.service-card > a.service-book.button-maritime {min-height:116px;padding:18px;border-color:var(--plate-rim);text-align:left;font-size:12px}
.calendar-card > .button-maritime,.booking-card .form-submit {min-height:60px;font-size:15px}
.button.button-maritime-quiet {
  --plate-ink:var(--navy); --plate-rim:#a8b79d; --plate-inset:#8eaa7933; --plate-grain:#15313904;
  --plate-top:#f8f9f3; --plate-middle:#eef2e8; --plate-bottom:#e7ede1;
  min-height:44px;padding:12px 20px;text-shadow:none;font-size:12px;
}
.hero-actions {align-items:flex-start;gap:20px}
.hero-primary-action {display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%}
.hero-primary-action .button-maritime {min-width:290px}
.hero-cta-note {margin:0;color:#e4ece9;font-size:12px;line-height:1.5;text-align:center}

/* Smaller controls use pale sage, with navy to identify the selected choice. */
:is(.region-tabs button,.calendar-modes button,.calendar-month-bar button,.calendar-time,.menu-toggle,.dialog-close,.inline-button,.footer-bottom button) {
  border:1px solid #a8b79d;border-radius:5px;background:linear-gradient(165deg,#f9faf5,#edf1e7);color:var(--navy);
  box-shadow:inset 0 0 0 3px #f7f9f16b;min-height:44px;transition:background .18s ease,border-color .18s ease;
}
:is(.region-tabs button,.calendar-modes button,.calendar-month-bar button,.calendar-time,.menu-toggle,.dialog-close,.inline-button,.footer-bottom button):hover:not(:disabled) {
  border-color:#697f5e;background:linear-gradient(165deg,#f5f8ef,#e2eada);
}
:is(.region-tabs button[aria-selected="true"],.calendar-modes button[aria-pressed="true"],.calendar-time[aria-pressed="true"]) {
  background:linear-gradient(165deg,#2b494b,#132f36 60%,#1e3c40);border-color:var(--navy);color:var(--paper);box-shadow:inset 0 0 0 3px #e6efde26;
}
:is(.region-tabs button[aria-selected="true"],.calendar-modes button[aria-pressed="true"],.calendar-time[aria-pressed="true"]):hover:not(:disabled) {background:#25464a;border-color:var(--navy)}
.region-tabs {gap:6px;border-bottom:0}
.region-tabs button {flex:1;min-width:0;padding:10px 8px;margin:0;line-height:1.45}
.calendar-modes button {padding:10px 12px;font-size:11px}
.calendar-month-bar button {width:44px;height:44px}
.calendar-month-bar button:disabled {background:#edf0e9;box-shadow:none;opacity:.4}
.calendar-time[aria-pressed="true"] > span {color:#d4dfd6}
.calendar-day {border-radius:4px}
.calendar-day.available {background:linear-gradient(165deg,#f2f6e9,#e4ecdb);border-color:#c2d0b4;box-shadow:inset 0 0 0 2px #ffffff40}
.calendar-day.available:hover {background:#e2eacc;border-color:#788b65}
.calendar-day[aria-pressed="true"],.calendar-day[aria-pressed="true"]:hover {background:linear-gradient(165deg,#2b494b,#132f36);border-color:var(--navy);color:var(--paper);box-shadow:inset 0 0 0 2px #e6efde40}
.calendar-day[aria-pressed="true"]::after {background:var(--lime)}
.inline-button,.footer-bottom button {padding:7px 12px;font-size:12px;line-height:1.5;text-decoration:none}
.footer-bottom button:hover {text-decoration:none}
.dialog-close {width:44px;height:44px;padding:0}
.dialog-close-button.button-maritime {margin-top:15px}

/* Explanation rows stay compact; the small controls repeat the inset edge. */
.credential-trigger {border-radius:4px}
.credential-trigger:not(.calculator-fee-trigger):hover,.credential-trigger:not(.calculator-fee-trigger):focus-visible,.credential-trigger:not(.calculator-fee-trigger)[aria-expanded="true"] {background:#e9eee56b}
.credential-info {border-radius:3px;box-shadow:inset 0 0 0 1px #eef2e6}
.credential-trigger:is(:hover,:focus-visible,[aria-expanded="true"]) .credential-info {box-shadow:inset 0 0 0 1px #e4edbc40}
.credential-close {width:40px;height:40px;border:1px solid #e4edbc66;border-radius:4px;background:linear-gradient(165deg,#2b494b,#132f36);box-shadow:inset 0 0 0 3px #e4edbc0d}
.credential-close:hover {border-color:var(--lime)}
.calculator-fee-symbol {border-radius:4px;box-shadow:inset 0 0 0 2px #e4edbc14}
.faq-list summary > span {display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #a8b79d;border-radius:4px;background:linear-gradient(165deg,#f9faf5,#edf1e7);box-shadow:inset 0 0 0 2px #f7f9f1;line-height:1;transform:none}
.faq-list details[open] summary > span {font-size:0;color:var(--paper);background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 2px #e6efde26;transform:none}
.faq-list details[open] summary > span::after {content:"−";font-size:23px}

/* Direct contact actions match the hero's deep blue fill and fine white trim. */
.contact-details > a {
  position:relative;isolation:isolate;margin-bottom:12px;padding:18px 22px;
  border:1px solid #fff;border-radius:6px;color:#fff;
  background:linear-gradient(165deg,#2b494f,#143139 60%,#1e3c42);
  box-shadow:inset 0 1px 0 #ffffff36,inset 0 -2px 3px #071e2826,0 3px 7px #051e281f;
}
.contact-details > a::before {
  content:"";position:absolute;z-index:-1;inset:4px;border:1px solid #ffffff36;border-radius:2px;
  background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px);pointer-events:none;
}
.contact-details .contact-label,.contact-details > a:hover .contact-value {color:#fff}
.contact-details > a:hover {box-shadow:inset 0 0 0 1px #fff,inset 0 1px 0 #ffffff36,0 3px 7px #051e281f}
.contact-details > a:focus-visible {outline-color:#fff}
@media(max-width:650px) {
  .hero-actions {align-items:stretch;gap:12px}
  .hero-primary-action {width:100%}
  .hero-primary-action .button-maritime {width:100%;min-width:0}
  .coverage-action.button-maritime {width:100%}
  .calendar-modes button {flex:1}
  .contact-details > a {padding:18px 16px}
  .contact-value {font-size:clamp(23px,6.5vw,28px)}
  .contact-email {font-size:clamp(17px,4.7vw,22px)}
}
@media(prefers-reduced-motion:reduce) {
  .button.button-maritime,:is(.region-tabs button,.calendar-modes button,.calendar-month-bar button,.calendar-time,.menu-toggle,.dialog-close,.inline-button,.footer-bottom button) {transition:none}
}
@media(prefers-contrast:more) {
  .button.button-maritime {background:var(--navy);color:var(--paper);text-shadow:none;box-shadow:none}
  .button-maritime::before,.contact-details > a::before {display:none}
  .button.button-maritime:disabled {background:#dce2d8;color:#52604c}
}
@media(forced-colors:active) {
  .button.button-maritime,.button.button-maritime:hover:not(:disabled),.button.button-maritime:disabled,
  :is(.region-tabs button,.calendar-modes button,.calendar-month-bar button,.calendar-time,.calendar-day,.menu-toggle,.dialog-close,.inline-button,.footer-bottom button,.credential-close,.contact-details > a) {color:ButtonText;background:ButtonFace;border-color:ButtonText;text-shadow:none;box-shadow:none}
  :is(.region-tabs button[aria-selected="true"],.calendar-modes button[aria-pressed="true"],.calendar-day[aria-pressed="true"],.calendar-time[aria-pressed="true"]) {border:2px solid Highlight}
  .calendar-time > span {color:ButtonText}
  .button-maritime::before {display:none}
  .button.button-maritime:focus-visible {outline-color:Highlight}
}
