/* ============================================================
   未来透析 FUTURE DIALYSIS — Shared Stylesheet
   西双版纳血液透析中心官方网站
   ============================================================ */

/* ----- Color System ----- */
:root {
  --cream:        #F6F7F9;
  --warm-bg:      #EEF0F3;
  --parchment:    #E9ECF1;
  --text-strong:  #2C3A4B;
  --text-body:    #5A6B7D;
  --text-muted:   #8B99A8;
  --med-blue:     #3D6A8C;
  --med-blue-dark:#2D506E;
  --med-blue-light:#DCE8F2;
  --med-teal:     #50908C;
  --med-teal-light:#D8ECEB;
  --warm-accent:  #A0866C;
  --warm-light:   #F2EDE6;
  --radius: 6px;
  --shadow: 0 2px 8px rgba(44,58,75,0.05);
  --shadow-lg: 0 8px 32px rgba(44,58,75,0.07);
  --transition: 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* ----- Reset ----- */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: "PingFang SC","Microsoft YaHei","Hiragino Sans GB",-apple-system,sans-serif;
  color: var(--text-body);
  background: var(--cream);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 72px; /* space for mobile bottom bar */
}

/* ----- Navigation ----- */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(246,247,249,0.95);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid transparent;
  transition: all var(--transition);
}
.nav.scrolled { border-bottom-color: rgba(44,58,75,0.08); }
.nav-inner {
  max-width:1280px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; height:64px;
}
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo .logo-mark { width:42px; height:42px; }
.nav-logo .logo-mark svg { width:42px; height:42px; display:block; }
.nav-logo .logo-text {
  font-size:18px; font-weight:600; color:var(--text-strong); letter-spacing:0.5px;
}
.nav-links { display:flex; gap:24px; list-style:none; }
.nav-links a {
  text-decoration:none; color:var(--text-body); font-size:15px; font-weight:500;
  letter-spacing:0.5px; transition:all var(--transition);
  display:flex; align-items:center; gap:6px;
}
.nav-links a:hover, .nav-links a.active { color:var(--med-blue); }
.nav-icon { display:inline-block; font-size:14px; transition:transform 0.3s ease; }
.nav-links a:hover .nav-icon { transform:scale(1.3) rotate(-8deg); }
@keyframes iconPop {
  0%{transform:scale(0);opacity:0;} 60%{transform:scale(1.3);} 100%{transform:scale(1);opacity:1;}
}
.icon-pop { animation: iconPop 0.4s ease-out forwards; opacity:0; }

.nav-cta {
  background:transparent; color:var(--med-blue); border:1.5px solid var(--med-blue);
  padding:8px 22px; font-size:13px; font-weight:600; letter-spacing:1.5px;
  cursor:pointer; transition:all var(--transition); text-decoration:none; border-radius:2px;
}
.nav-cta:hover { background:var(--med-blue); color:white; }

.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.menu-toggle span {
  display:block; width:22px; height:1.5px; background:var(--text-strong);
  margin:5px 0; transition:var(--transition);
}

/* ----- Hero (Home) ----- */
.hero {
  min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden;
  padding-top:64px; background:var(--cream);
}
.hero-carousel { position:absolute; inset:0; z-index:0; }
.hero-slide {
  position:absolute; inset:0; opacity:0;
  transition:opacity 1.4s cubic-bezier(0.4,0,0.2,1);
  display:flex; align-items:center; justify-content:center;
}
.hero-slide.active { opacity:1; }
.hero-slide .bg-svg { position:absolute; opacity:0.18; }
.hero-slide.s1 .bg-svg { width:480px; height:600px; top:50%; left:6%; transform:translateY(-50%); color:var(--med-blue); }
.hero-slide.s2 .bg-svg { width:500px; height:480px; top:50%; right:3%; transform:translateY(-50%); color:var(--med-teal); }
.hero-slide.s3 .bg-svg { width:600px; height:440px; bottom:8%; left:50%; transform:translateX(-50%); color:var(--warm-accent); }
.hero-slide.s4 .bg-svg { width:440px; height:560px; top:8%; right:8%; color:var(--med-blue); }
.hero-slide.s5 .bg-svg { width:500px; height:460px; top:12%; left:2%; color:var(--med-teal); }
.hero-slide.s1 { background:linear-gradient(170deg,#EFF2F7 0%,#E6EAF2 40%,#DDE3ED 100%); }
.hero-slide.s2 { background:linear-gradient(170deg,#EAF0EE 0%,#DFE9E7 40%,#E8F0ED 100%); }
.hero-slide.s3 { background:linear-gradient(170deg,#F2EFEB 0%,#EBE6DE 40%,#F0ECE5 100%); }
.hero-slide.s4 { background:linear-gradient(170deg,#EBEFF5 0%,#E2E7F0 45%,#EEF2F7 100%); }
.hero-slide.s5 { background:linear-gradient(170deg,#EDF2F0 0%,#E2EBE8 40%,#F0F4F2 100%); }
.hero-slide .blob {
  position:absolute; border-radius:50%; filter:blur(80px);
  animation:blobFloat 14s ease-in-out infinite;
}
.hero-slide .blob.b1 { width:300px; height:300px; background:rgba(61,106,140,0.06); top:10%; left:25%; animation-delay:0s; }
.hero-slide .blob.b2 { width:240px; height:240px; background:rgba(80,144,140,0.05); bottom:15%; right:20%; animation-delay:-5s; }
@keyframes blobFloat {
  0%,100%{transform:translate(0,0) scale(1);}
  25%{transform:translate(25px,-20px) scale(1.04);}
  50%{transform:translate(-15px,-28px) scale(0.96);}
  75%{transform:translate(-20px,15px) scale(1.03);}
}
.hero-inner {
  max-width:1280px; margin:0 auto; padding:80px 32px;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:80px; align-items:center;
  position:relative; z-index:1;
}
.hero-content .overline {
  font-size:11px; font-weight:600; color:var(--med-blue);
  letter-spacing:4px; text-transform:uppercase; margin-bottom:20px;
}
.hero-content h1 {
  font-size:54px; font-weight:300; color:var(--text-strong);
  line-height:1.15; margin-bottom:20px; letter-spacing:-0.5px;
}
.hero-content .lead {
  font-size:16px; color:var(--text-body); margin-bottom:36px;
  max-width:460px; line-height:1.8; font-weight:300;
}
.hero-assurance {
  display:flex; gap:24px; flex-wrap:wrap; margin-bottom:40px;
}
.hero-assurance-item {
  display:flex; align-items:center; gap:8px;
  font-size:13px; font-weight:500; color:var(--med-blue);
  background:var(--med-blue-light); padding:8px 18px; border-radius:20px;
}
.hero-assurance-item:nth-child(2) { color:var(--med-teal); background:var(--med-teal-light); }
.hero-assurance-item:nth-child(3) { color:var(--warm-accent); background:var(--warm-light); }
.hero-btns { display:flex; gap:20px; }
.btn-primary {
  background:var(--med-blue); color:white; border:none;
  padding:14px 36px; font-size:14px; font-weight:500; letter-spacing:1px;
  cursor:pointer; transition:all var(--transition);
  text-decoration:none; display:inline-flex; align-items:center; gap:8px; border-radius:2px;
}
.btn-primary:hover { background:var(--med-blue-dark); transform:translateY(-1px); box-shadow:0 6px 20px rgba(61,106,140,0.25); }
.btn-outline {
  background:transparent; color:var(--med-blue); border:1.5px solid var(--med-blue);
  padding:14px 36px; font-size:14px; font-weight:500; letter-spacing:1px;
  cursor:pointer; transition:all var(--transition); text-decoration:none; border-radius:2px;
}
.btn-outline:hover { background:var(--med-blue); color:white; }

/* Hero visual card */
.hero-visual { position:relative; }
.hero-card {
  background:rgba(255,255,255,0.8); backdrop-filter:blur(6px);
  padding:40px 36px; border:1px solid rgba(44,58,75,0.06); border-radius:2px;
}
.hero-card .card-label {
  font-size:10px; font-weight:700; color:var(--med-blue);
  letter-spacing:3px; text-transform:uppercase; margin-bottom:20px;
}
.hero-card h3 { font-size:24px; font-weight:300; color:var(--text-strong); margin-bottom:14px; line-height:1.3; }
.hero-card .card-desc { font-size:14px; color:var(--text-body); line-height:1.8; margin-bottom:28px; }
.hero-card .stat-row { display:flex; gap:32px; }
.hero-card .stat-num { font-size:34px; font-weight:200; color:var(--med-blue); line-height:1.1; }
.hero-card .stat-label { font-size:11px; color:var(--text-muted); margin-top:4px; letter-spacing:1px; }

.carousel-dots {
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; gap:12px;
}
.carousel-dot {
  width:12px; height:12px; border-radius:50%; border:1.5px solid var(--med-blue);
  background:transparent; cursor:pointer; transition:all var(--transition);
  padding:0; opacity:0.5;
}
.carousel-dot.active { background:var(--med-blue); opacity:1; transform:scale(1.2); }
.hero::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:80px;
  background:linear-gradient(to bottom,transparent 0%,var(--warm-bg) 100%);
  z-index:1; pointer-events:none;
}

/* ----- Sections ----- */
.section { padding:120px 32px; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-overline {
  font-size:10px; font-weight:700; color:var(--med-blue);
  letter-spacing:4px; text-transform:uppercase; margin-bottom:16px;
}
.section-title { font-size:36px; font-weight:300; color:var(--text-strong); margin-bottom:16px; line-height:1.2; }
.section-desc { font-size:16px; color:var(--text-body); max-width:560px; margin-bottom:64px; line-height:1.8; font-weight:300; }

/* ----- Sub-page Hero ----- */
.sub-hero {
  min-height:55vh; display:flex; align-items:center; position:relative;
  overflow:hidden; padding-top:64px;
}
.sub-hero-inner {
  max-width:1200px; margin:0 auto; padding:80px 32px;
  position:relative; z-index:1;
}
.sub-hero .overline {
  font-size:11px; font-weight:600; color:var(--med-blue);
  letter-spacing:4px; text-transform:uppercase; margin-bottom:20px;
}
.sub-hero h1 {
  font-size:48px; font-weight:300; color:var(--text-strong);
  line-height:1.15; margin-bottom:20px; letter-spacing:-0.5px;
}
.sub-hero .lead { font-size:16px; color:var(--text-body); max-width:560px; line-height:1.8; font-weight:300; margin-bottom:32px; }

/* ----- Grids & Cards ----- */
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:1px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }
.card { padding:44px 32px; transition:all var(--transition); }
.card:hover { background:white; box-shadow:var(--shadow-lg); }
.card h3 { font-size:20px; font-weight:500; color:var(--text-strong); margin-bottom:14px; }
.card p { font-size:14px; color:var(--text-body); line-height:1.9; }
.card .icon {
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:24px;
}
.specs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.spec-card { background:var(--warm-bg); padding:32px 28px; transition:all var(--transition); }
.spec-card:hover { background:white; box-shadow:var(--shadow); }
.spec-card .spec-val { font-size:32px; font-weight:200; color:var(--med-blue); margin-bottom:8px; }
.spec-card .spec-label { font-size:13px; color:var(--text-muted); }

.advantages { background:var(--warm-bg); }
.adv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.adv-card { background:var(--cream); padding:56px 36px; transition:all var(--transition); }
.adv-card:hover { background:white; box-shadow:var(--shadow-lg); }
.adv-card .adv-icon {
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:24px;
}
.adv-card:nth-child(1) .adv-icon { background:var(--med-blue-light); }
.adv-card:nth-child(2) .adv-icon { background:var(--med-teal-light); }
.adv-card:nth-child(3) .adv-icon { background:var(--warm-light); }
.adv-card h3 { font-size:20px; font-weight:500; color:var(--text-strong); margin-bottom:14px; }
.adv-card p { font-size:14px; color:var(--text-body); line-height:1.9; }

/* ----- Travel Dialysis ----- */
.travel-dialysis { background:var(--cream); }
.travel-hero {
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
  align-items:center; margin-bottom:64px;
}
.travel-visual {
  position:relative; height:400px;
  background:linear-gradient(135deg,#E8F0E8,#DCE8F2,#E8E2D8);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.travel-visual .travel-emoji { font-size:120px; position:relative; z-index:1; }
.travel-visual::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 40%,rgba(80,144,140,0.08),transparent 50%),
              radial-gradient(circle at 70% 60%,rgba(160,134,108,0.06),transparent 50%);
}
.travel-info h3 { font-size:28px; font-weight:300; color:var(--text-strong); margin-bottom:16px; }
.travel-info p { font-size:15px; color:var(--text-body); line-height:1.9; margin-bottom:24px; }
.travel-features { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.travel-feat { padding:16px; background:var(--warm-bg); border-left:3px solid var(--med-teal); }
.travel-feat h4 { font-size:14px; font-weight:600; color:var(--text-strong); margin-bottom:6px; }
.travel-feat p { font-size:12px; color:var(--text-body); line-height:1.6; margin-bottom:0; }
.travel-destinations { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.travel-dest { background:var(--warm-bg); padding:40px 32px; transition:all var(--transition); }
.travel-dest:hover { background:white; box-shadow:var(--shadow-lg); }
.travel-dest .dest-icon { font-size:40px; margin-bottom:20px; }
.travel-dest h4 { font-size:18px; font-weight:500; color:var(--text-strong); margin-bottom:12px; }
.travel-dest p { font-size:13px; color:var(--text-body); line-height:1.8; }
.travel-dest .dest-tags { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
.travel-dest .dest-tag {
  padding:4px 12px; font-size:11px; font-weight:500;
  background:var(--med-blue-light); color:var(--med-blue); border-radius:12px;
}
.travel-process { margin-top:64px; }
.travel-process h3 { font-size:24px; font-weight:300; color:var(--text-strong); text-align:center; margin-bottom:40px; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }
.process-step { background:var(--warm-bg); padding:36px 24px; text-align:center; transition:all var(--transition); }
.process-step:hover { background:white; box-shadow:var(--shadow); }
.process-step .step-num {
  width:48px; height:48px; border-radius:50%; background:var(--med-blue-light);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px; font-size:18px; font-weight:600; color:var(--med-blue);
}
.process-step h4 { font-size:15px; font-weight:500; color:var(--text-strong); margin-bottom:8px; }
.process-step p { font-size:12px; color:var(--text-muted); line-height:1.6; }

/* ----- Travel Pre-check List ----- */
.travel-checklist {
  display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:32px;
}
.checklist-card {
  background:var(--warm-bg); padding:32px; border-left:3px solid var(--med-blue);
}
.checklist-card h4 { font-size:16px; font-weight:600; color:var(--text-strong); margin-bottom:12px; }
.checklist-card ul { list-style:none; }
.checklist-card ul li {
  font-size:13px; color:var(--text-body); padding:6px 0;
  padding-left:20px; position:relative;
}
.checklist-card ul li::before {
  content:'✓'; position:absolute; left:0; color:var(--med-teal); font-weight:600;
}

/* ----- Contact Form ----- */
.contact-form-section { background:var(--warm-bg); }
.form-container { max-width:680px; margin:0 auto; }
.form-group { margin-bottom:24px; }
.form-group label {
  display:block; font-size:13px; font-weight:600; color:var(--text-strong);
  margin-bottom:8px; letter-spacing:0.5px;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:12px 16px; font-size:15px;
  border:1px solid rgba(44,58,75,0.12); border-radius:2px;
  background:white; color:var(--text-strong);
  font-family:inherit; transition:border-color var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline:none; border-color:var(--med-blue); box-shadow:0 0 0 3px rgba(61,106,140,0.08);
}
.form-group textarea { resize:vertical; min-height:100px; }
.form-hint { font-size:12px; color:var(--text-muted); margin-top:6px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-submit {
  background:var(--med-blue); color:white; border:none;
  padding:16px 48px; font-size:15px; font-weight:500; letter-spacing:1px;
  cursor:pointer; transition:all var(--transition); border-radius:2px; width:100%;
}
.form-submit:hover { background:var(--med-blue-dark); }
.form-disclaimer {
  font-size:12px; color:var(--text-muted); text-align:center; margin-top:16px; line-height:1.6;
}

/* ----- CTA Section ----- */
.cta { background:var(--med-blue); color:white; text-align:center; position:relative; overflow:hidden; }
.cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 30% 50%,rgba(80,144,140,0.2),transparent 60%),
              radial-gradient(ellipse at 70% 50%,rgba(255,255,255,0.05),transparent 60%);
}
.cta .section-inner { position:relative; z-index:1; }
.cta .section-overline { color:rgba(255,255,255,0.6); }
.cta .section-title { color:white; }
.cta .section-desc { color:rgba(255,255,255,0.55); margin:0 auto 48px; }
.cta-box {
  max-width:520px; margin:0 auto; padding:44px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
}
.cta-box h3 { font-size:20px; font-weight:300; margin-bottom:8px; letter-spacing:1px; }
.cta-box p { font-size:13px; opacity:0.5; margin-bottom:28px; }
.cta-info { display:flex; flex-direction:column; gap:16px; margin-bottom:28px; font-size:14px; }
.cta-info-item { display:flex; align-items:center; gap:12px; opacity:0.7; }
.cta .btn-primary { background:white; color:var(--med-blue); }
.cta .btn-primary:hover { background:var(--warm-bg); }

/* ----- Footer ----- */
.footer { background:#243240; color:rgba(255,255,255,0.4); padding:64px 32px 40px; }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px; margin-bottom:48px; }
.footer-brand h3 { color:white; font-size:20px; font-weight:400; margin-bottom:14px; letter-spacing:1px; }
.footer-brand p { font-size:13px; line-height:1.8; }
.footer-col h4 { color:var(--med-blue-light); font-size:12px; letter-spacing:2px; margin-bottom:20px; font-weight:600; text-transform:uppercase; }
.footer-col a {
  display:block; color:rgba(255,255,255,0.35); font-size:13px;
  text-decoration:none; margin-bottom:12px; transition:color var(--transition);
}
.footer-col a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:28px; display:flex; justify-content:space-between; align-items:center; font-size:12px; }
.footer-legal { display:flex; gap:20px; flex-wrap:wrap; }
.footer-legal a { color:rgba(255,255,255,0.3); font-size:11px; text-decoration:none; transition:color var(--transition); }
.footer-legal a:hover { color:rgba(255,255,255,0.6); }

/* ----- Info Banner ----- */
.info-banner {
  margin-top:32px; padding:32px 36px;
  background:linear-gradient(135deg,var(--med-blue-light),var(--med-teal-light));
  border-left:3px solid var(--med-blue);
}
.info-banner h4 { font-size:16px; font-weight:600; color:var(--text-strong); margin-bottom:8px; }
.info-banner p { font-size:14px; color:var(--text-body); line-height:1.8; }

/* ----- Compliance Notice ----- */
.compliance-bar {
  background:var(--warm-bg); padding:16px 32px; text-align:center;
  border-top:1px solid rgba(44,58,75,0.06);
}
.compliance-bar p {
  font-size:11px; color:var(--text-muted); line-height:1.8; max-width:900px; margin:0 auto;
}

/* ----- Mobile Bottom Bar ----- */
.mobile-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:999;
  background:white; border-top:1px solid rgba(44,58,75,0.08);
  padding:8px 16px;
  box-shadow:0 -2px 12px rgba(44,58,75,0.06);
}
.mobile-bar-inner { display:flex; gap:8px; max-width:500px; margin:0 auto; }
.mobile-bar-btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:12px 8px; font-size:14px; font-weight:600;
  text-decoration:none; border-radius:2px; transition:all var(--transition);
  border:none; cursor:pointer; font-family:inherit;
}
.mobile-bar-btn.call {
  background:var(--med-blue); color:white;
}
.mobile-bar-btn.call:hover { background:var(--med-blue-dark); }
.mobile-bar-btn.wechat {
  background:var(--med-teal-light); color:var(--med-teal);
  border:1px solid var(--med-teal);
}
.mobile-bar-btn.nav-to {
  background:var(--warm-light); color:var(--warm-accent);
  border:1px solid var(--warm-accent);
}

/* QR Modal */
.qr-overlay {
  display:none; position:fixed; inset:0; z-index:2000;
  background:rgba(0,0,0,0.5);
  justify-content:center; align-items:center;
}
.qr-overlay.show { display:flex; }
.qr-modal {
  background:white; padding:48px; text-align:center; border-radius:2px;
  max-width:320px; width:90%;
}
.qr-modal h3 { font-size:18px; color:var(--text-strong); margin-bottom:8px; }
.qr-modal p { font-size:13px; color:var(--text-muted); margin-bottom:24px; }
.qr-modal .qr-placeholder {
  width:200px; height:200px; margin:0 auto 20px;
  background:var(--warm-bg); border:1px dashed rgba(44,58,75,0.15);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; color:var(--text-muted);
}
.qr-modal .qr-close {
  background:none; border:1px solid var(--med-blue); color:var(--med-blue);
  padding:8px 24px; font-size:13px; cursor:pointer; transition:all var(--transition);
}
.qr-modal .qr-close:hover { background:var(--med-blue); color:white; }

/* ----- Reveal Animation ----- */
.reveal {
  opacity:0; transform:translateY(24px);
  transition:all 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* ----- Trust Section (photo placeholders) ----- */
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.trust-card { background:var(--warm-bg); padding:0; overflow:hidden; transition:all var(--transition); }
.trust-card:hover { box-shadow:var(--shadow-lg); }
.trust-card .trust-img {
  height:200px; background:linear-gradient(135deg,var(--cream),var(--parchment));
  display:flex; align-items:center; justify-content:center;
  font-size:13px; color:var(--text-muted); letter-spacing:1px;
}
.trust-card .trust-label { padding:20px 24px; }
.trust-card .trust-label h4 { font-size:15px; font-weight:600; color:var(--text-strong); margin-bottom:4px; }
.trust-card .trust-label p { font-size:12px; color:var(--text-muted); }

/* ----- Medical Disclaimer ----- */
.medical-disclaimer {
  background:var(--warm-bg); padding:24px 32px; margin-top:48px;
  border:1px solid rgba(44,58,75,0.06);
}
.medical-disclaimer p {
  font-size:12px; color:var(--text-muted); line-height:1.8;
}

/* ----- Responsive ----- */
@media (max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; text-align:center; gap:48px; }
  .hero-content h1 { font-size:38px; }
  .hero-content .lead { margin:0 auto 28px; }
  .hero-assurance { justify-content:center; }
  .hero-btns { justify-content:center; }
  .grid3,.adv-grid,.specs-grid { grid-template-columns:1fr; }
  .grid2,.travel-hero { grid-template-columns:1fr; }
  .grid4 { grid-template-columns:repeat(2,1fr); }
  .sub-hero h1 { font-size:36px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .travel-checklist { grid-template-columns:1fr; }
}

@media (max-width:768px) {
  .section { padding:80px 20px; }
  .hero-content h1 { font-size:30px; }
  .sub-hero h1 { font-size:28px; }
  .section-title { font-size:28px; }
  .grid4 { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .travel-checklist { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }

  .nav-links { display:none; }
  .nav-links.active {
    display:flex; flex-direction:column; position:absolute;
    top:64px; left:0; right:0; background:var(--cream);
    padding:24px; gap:16px;
    border-bottom:1px solid rgba(44,58,75,0.06);
  }
  .menu-toggle { display:block; }

  .mobile-bar { display:block; }
  body { padding-bottom:72px; }
}
