/* MediTours — shared web styles */
:root{
  --teal:#3FCBC4;
  --blue:#1E73E8;
  --blue-deep:#0F4FBF;
  --blue-50:#EAF1FE;
  --ink:#1F2937;
  --ink-2:#475569;
  --ink-3:#94A3B8;
  --ink-4:#CBD3DE;
  --paper:#F7F9FC;
  --paper-2:#FFFFFF;
  --line:#E6ECF4;
  --rose:#FFE4DA;
  --mint:#DEFAEF;
  --lemon:#FFF3D6;
  --lavender:#E8E2FF;
  --peach:#FFE9D6;
  --amber:#F5A623;
  --rose-deep:#E94B4B;
}
*{ box-sizing: border-box; -webkit-font-smoothing: antialiased; }
html, body{
  margin:0; padding:0; background: var(--paper);
  font-family:'DM Sans', system-ui, sans-serif; color: var(--ink);
  line-height: 1.55;
}
a{ color: inherit; text-decoration: none; }
img{ max-width:100%; display:block; }
.geist{ font-family:'Geist', 'DM Sans', sans-serif; font-weight: 700; letter-spacing:-0.02em; }
.container{ max-width: 1200px; margin: 0 auto; padding: 0 28px; }
.container-narrow{ max-width: 960px; margin: 0 auto; padding: 0 28px; }

/* NAV */
.nav{
  position: sticky; top: 0; z-index: 50;
  background: rgba(247,249,252,0.85); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(230,236,244,0.7);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height: 72px; }
.brand{ display:flex; align-items:center; gap: 10px; }
.pin{
  width: 28px; height: 33.6px; position:relative;
  background: linear-gradient(180deg, var(--teal) 0%, var(--blue) 100%);
  clip-path: path('M14 0 C21.5 0 28 5.5 28 14 C28 22.5 14 33 14 33 C14 33 0 22.5 0 14 C0 5.5 6.5 0 14 0 Z');
}
.pin::after{
  content:''; position:absolute; left: 14px; top: 12px; transform: translate(-50%,-50%);
  width: 13px; height: 13px; background:#fff;
  clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%, 0 40%, 40% 40%);
}
.wordmark{ font-family:'Geist', sans-serif; font-weight: 700; font-size: 19px; letter-spacing:-0.02em; color: var(--ink); }
.nav-links{ display:flex; gap: 32px; }
.nav-links a{
  font-family:'Geist', sans-serif; font-weight: 500; font-size: 14px; color: var(--ink-2);
  transition: color .15s;
}
.nav-links a:hover, .nav-links a.active{ color: var(--blue); }
.nav-cta{ display:flex; gap: 10px; align-items:center; }

/* Authenticated header chip + icon buttons on the public site */
.pub-icon{
  position: relative;
  width: 36px; height: 36px; border-radius: 50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--line); color: var(--ink-2);
  cursor: pointer; transition: all .12s; text-decoration: none;
}
.pub-icon:hover{ background: var(--paper); border-color: var(--ink-4); color: var(--ink); }
.pub-icon .dot-badge{
  position: absolute; top: -2px; right: -2px;
  min-width: 15px; height: 15px; padding: 0 4px; border-radius: 99px;
  background: var(--blue); color:#fff;
  font-family:'Geist',sans-serif; font-weight: 700; font-size: 9.5px;
  display:inline-flex; align-items:center; justify-content:center;
  border: 2px solid #fff;
}
.pub-chip{
  display:inline-flex; align-items:center; gap: 8px;
  padding: 4px; border-radius: 999px;
  background:#fff; border:1px solid var(--line); text-decoration:none;
  transition: all .12s;
}
.pub-chip:hover{ border-color: var(--ink-4); background: var(--paper); }
.pub-chip .av{
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--blue-50); color: var(--blue);
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Geist',sans-serif; font-weight: 700; font-size: 11.5px;
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap: 7px; justify-content:center;
  padding: 12px 20px; border-radius: 12px;
  font-family:'Geist', sans-serif; font-weight: 600; font-size: 14px;
  cursor:pointer; border:none; transition: all .15s ease; white-space:nowrap; line-height: 1;
}
.btn-primary{ background: var(--blue); color:#fff; box-shadow: 0 8px 22px -8px rgba(30,115,232,0.45); }
.btn-primary:hover{ background: var(--blue-deep); transform: translateY(-1px); }
.btn-ghost{ background: transparent; color: var(--ink); }
.btn-ghost:hover{ background: var(--line); }
.btn-outline{ background: #fff; color: var(--ink); border: 1px solid var(--line); }
.btn-outline:hover{ border-color: var(--ink); }
.btn-lg{ padding: 16px 24px; font-size: 15px; border-radius: 14px; }
.btn-sm{ padding: 9px 14px; font-size: 13px; border-radius: 10px; }
.btn-dark{ background: var(--ink); color:#fff; }
.btn-dark:hover{ background: #0b1320; }
.btn-white{ background:#fff; color: var(--blue-deep); }
.btn-white:hover{ background: var(--paper); }
.btn-block{ width: 100%; }

/* Inputs */
.input, .select{
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  font: 15px/1.4 'DM Sans', sans-serif; color: var(--ink);
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.input:focus, .select:focus{
  outline:none; border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(30,115,232,0.12);
}
.input::placeholder{ color: var(--ink-3); }
.label{
  display:block; font-family:'Geist', sans-serif; font-size: 12px; font-weight: 600;
  color: var(--ink-2); letter-spacing: 0.04em; text-transform: uppercase;
  margin-bottom: 8px;
}
.field{ margin-bottom: 16px; }
.input-icon{ position: relative; }
.input-icon svg{ position:absolute; left: 14px; top:50%; transform: translateY(-50%); pointer-events:none; }
.input-icon .input{ padding-left: 42px; }

/* Eyebrow / pill */
.eyebrow{
  display:inline-flex; align-items:center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  background: var(--blue-50); color: var(--blue);
  font-family:'Geist', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background: var(--teal); }
.pill{
  display:inline-flex; align-items:center; gap:6px;
  padding: 5px 11px; border-radius: 999px;
  background:#fff; border:1px solid var(--line);
  font-family:'Geist', sans-serif; font-size: 12px; font-weight: 600; color: var(--ink-2);
}
.pill.solid-blue{ background: var(--blue); color:#fff; border-color: var(--blue); }
.pill.green{ background:#E7F8EE; color:#1F8A5B; border-color: transparent; }
.pill.amber{ background:#FFF4DC; color:#A8730E; border-color: transparent; }
.pill.rose{ background:#FFE8E0; color:#C73A1A; border-color: transparent; }

/* Page header */
.page-hero{ padding: 56px 0 32px; position:relative; }
.page-hero h1{
  font-family:'Geist', sans-serif; font-weight: 700;
  font-size: clamp(34px, 4.4vw, 56px); line-height: 1.05;
  letter-spacing:-0.025em; color: var(--ink); margin: 14px 0 0;
}
.page-hero h1 em{
  font-style:normal;
  background: linear-gradient(135deg, var(--teal), var(--blue));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.page-hero .sub{
  margin: 18px 0 0; font-size: 17px; color: var(--ink-2); max-width: 620px;
}

.crumbs{
  display:flex; align-items:center; gap: 8px;
  font-family:'Geist', sans-serif; font-size: 13px; color: var(--ink-3); font-weight: 500;
}
.crumbs a{ color: var(--ink-3); }
.crumbs a:hover{ color: var(--blue); }
.crumbs .sep{ color: var(--ink-4); }
.crumbs .cur{ color: var(--ink-2); }

/* Cards */
.card{
  background:#fff; border:1px solid var(--line); border-radius: 22px; padding: 28px;
}

/* Section spacing */
.section{ padding: 72px 0; }
.section-tight{ padding: 48px 0; }

.section-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom: 28px; gap: 16px; flex-wrap: wrap; }
.section-head h2{
  font-family:'Geist', sans-serif; font-weight: 700;
  font-size: clamp(26px, 3vw, 36px); line-height: 1.12;
  letter-spacing:-0.02em; color: var(--ink); margin: 0;
}
.section-head .sub{ font-size: 15px; color: var(--ink-2); margin: 6px 0 0; max-width: 540px; }

/* Footer */
footer{ padding: 64px 0 32px; border-top: 1px solid var(--line); background: #fff; }
.foot-grid{ display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 32px; }
.foot-tagline{ font-family:'DM Sans', sans-serif; font-size: 13px; color: var(--ink-3); margin-top: 14px; max-width: 280px; line-height: 1.5; }
.foot-h{ font-family:'Geist', sans-serif; font-weight: 700; font-size: 13px; color: var(--ink); margin: 0 0 14px; letter-spacing:-0.005em; }
.foot-links{ display:flex; flex-direction: column; gap: 10px; }
.foot-links a{ font-family:'DM Sans', sans-serif; font-size: 13.5px; color: var(--ink-2); }
.foot-links a:hover{ color: var(--blue); }
.foot-bottom{
  margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  font-family:'DM Sans', sans-serif; font-size: 12.5px; color: var(--ink-3);
}

/* Mobile */
@media (max-width: 900px){
  .nav-links{ display: none; }
  .section{ padding: 56px 0; }
  .foot-grid{ grid-template-columns: 1fr 1fr; }
}
