/* MedBridge Media: shared base styles. Page-specific layout rules sit in each page's <style> block. */
:root {
  --green-950: #0B241D;
  --green-900: #10302A;
  --green-800: #17423A;
  --green-700: #1F5548;
  --paper: #F5F2EA;
  --paper-light: #FBF9F4;
  --ink: #1A221F;
  --muted: #4F5B56;
  --gold: #C9A96E;
  --gold-deep: #8C6A33;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a[href^="mailto:"], address { overflow-wrap: anywhere; }
input, select, textarea { max-width: 100%; min-width: 0; }
a { color: var(--green-700); text-decoration: none; }
a:hover { color: var(--green-900); }
[hidden] { display: none !important; }
.sw { display: contents; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Header and navigation */
.wrap { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.nav-links { display: flex; gap: 30px; align-items: center; }
.menu-btn { display: none; }
@media (max-width: 1100px) { .nav-links { display: none; } .menu-btn { display: inline-flex; } }
@media (max-width: 900px) { .wrap { padding: 0 24px; } }
@media (max-width: 600px) { .wrap { padding: 0 16px; } }

/* Skip link */
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--green-900); color: var(--paper); padding: 12px 18px; border-radius: 2px; font-size: 14px; }
.skip-link:focus { top: 16px; color: var(--paper); }

/* Footer cookie-settings control */
.link-button { background: none; border: 0; padding: 0; font: inherit; color: rgba(245, 242, 234, 0.72); cursor: pointer; text-align: left; }
.link-button:hover { color: var(--paper); }

/* Cookie banner */
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; max-width: 560px; margin-left: auto; background: var(--green-950); color: var(--paper); border: 1px solid rgba(201, 169, 110, 0.4); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35); padding: 22px 24px; border-radius: 2px; font-size: 14px; line-height: 1.6; }
.cookie-banner p { margin: 0 0 16px; color: rgba(245, 242, 234, 0.85); }
.cookie-banner a { color: var(--gold); text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-actions button { font: inherit; font-size: 14px; min-height: 44px; padding: 0 20px; border-radius: 2px; cursor: pointer; }
.cookie-accept { background: var(--gold); color: var(--green-950); border: 1px solid var(--gold); font-weight: 600 !important; }
.cookie-decline { background: transparent; color: var(--paper); border: 1px solid rgba(245, 242, 234, 0.35); }

/* Form feedback */
.form-error { padding: 16px 18px; background: #F6E3DF; border: 1px solid #D9A79C; font-size: 15px; line-height: 1.6; color: #6E2418; }
button[disabled] { opacity: 0.7; cursor: wait !important; }
