/* ============================================================
   Newbridge Care Ltd — main.css
   Version:  1.9.0
   Released: 2026-05-24
   License:  Proprietary — © 2026 Newbridge Care Ltd
   Contact:  services@newbridgecare.com

   TABLE OF CONTENTS
   01. Reset & base
   02. CSS custom properties (design tokens)
   03. Utility classes & section headers
   04. Buttons
   05. Navigation
   06. Hero
   07. Trust strip
   08. Services grid & detail panel
   09. About / mission split (rounded tiles)
   10. Evidence / science stats
   11. Why Newbridge Care
   12. Testimonials (unique voice cards)
   13. Pricing (5 packages + promo)
   14. Signature package card (responsive)
   15. CTA banner (T&C checkbox)
   16. Footer (social icons)
   17. Animation system
   18. T&C checkbox styles
   19. Responsive / media queries
============================================================ */

  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

  :root {
    --teal:         #0F6E56;
    --teal-mid:     #1D9E75;
    --teal-dark:    #085041;
    --teal-light:   #E1F5EE;
    --border-solid: #D3EDE5;
    --text:         #2C2C2A;
    --text-soft:    #5F5E5A;
    --bg:           #FAFAF8;
    --white:        #FFFFFF;
    --max:          1100px;
    --radius:       8px;
    --radius-lg:    14px;
    --font:         'DM Sans', sans-serif;
  }

  html { scroll-behavior: smooth; }

  body {
    font-family:'DM Sans',sans-serif;
    background: var(--bg);
    color: var(--text);
    font-size: 16px;
    line-height: 1.65;
    overflow-x: hidden;
  }

  img { max-width: 100%; display: block; object-fit: cover; }
  a { color: inherit; text-decoration: none; }

  .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }

  /* ── UTILITIES ── */
  .section-eyebrow {
    letter-spacing: .16em;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-mid);
    font-weight: bold;
    margin-bottom: .5rem;
    position: relative;
    padding-left: 1.1rem;
  }
  .section-eyebrow::before {
    content:''; position:absolute; left:0; top:50%; margin-top:-3px;
    width:6px; height:6px; border-radius:50%; background:var(--teal-mid);
    opacity:0; transform:scale(0);
    transition:opacity .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
  }
  .section-eyebrow.dot-on::before { opacity:1; transform:scale(1); }

  .section-title { font-family:'Cormorant Garamond',serif !important;
    font-size: 2.4rem;
    font-weight: 500;
    color: var(--text);
    line-height: 1.15;
    margin-bottom: .6rem;
  }
  .section-sub {
    font-size: 15.5px;
    color: var(--text-soft);
    font-weight: 300;
    line-height: 1.7;
  }

  /* ── BUTTONS ── */
  .btn-primary {
    background: var(--teal);
    color: #fff;
    border: none;
    padding: 14px 30px;
    border-radius: var(--radius);
    font-family:'DM Sans',sans-serif;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
    transition: background .22s, transform .2s cubic-bezier(.22,1,.36,1), box-shadow .22s;
  }
  .btn-primary::after {
    content:''; position:absolute; inset:0;
    background:radial-gradient(circle at center,rgba(255,255,255,.22) 0%,transparent 70%);
    opacity:0; transition:opacity .35s;
  }
  .btn-primary:hover::after { opacity:1; }
  .btn-primary:hover { background:var(--teal-dark); transform:translateY(-2px); box-shadow:0 8px 24px rgba(15,110,86,.32); }
  .btn-primary:active { transform:scale(.98); }

  .btn-outline {
    background: transparent;
    color: var(--teal);
    border: 2px solid var(--teal);
    padding: 13px 30px;
    border-radius: var(--radius);
    font-family:'DM Sans',sans-serif;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, color .2s, transform .2s;
  }
  .btn-outline:hover { background:var(--teal); color:#fff; transform:translateY(-1px); }

  .btn-white {
    background: #fff;
    color: var(--teal-dark);
    border: none;
    padding: 14px 30px;
    border-radius: var(--radius);
    font-family:'DM Sans',sans-serif;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, transform .2s, box-shadow .2s;
  }
  .btn-white:hover { background:var(--teal-light); transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.15); }

  /* ══════════════════════════════════════════════
     1. NAVIGATION
  ══════════════════════════════════════════════ */
  .nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(247,250,247,0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border-solid);
    animation: navDrop .5s cubic-bezier(.22,1,.36,1) both;
  }
  .nav-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-brand { display:flex; align-items:center; gap:12px; }
  .nav-logo {
    display: flex; align-items: center; flex-shrink: 0;
  }
  .nav-brand-text { display:flex; flex-direction:column; line-height:1; }
  .nav-brand-main { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; color:var(--teal-dark); letter-spacing:-.01em; }
  .nav-brand-sub { font-size:10px; color:var(--text-soft); letter-spacing:.08em; text-transform:uppercase; margin-top:2px; }
  .nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
  .nav-links a {
    font-size:14px; color:var(--text-soft); font-weight:normal;
    transition:color .18s; position:relative;
  }
  .nav-links a:not(.nav-cta)::after {
    content:''; position:absolute; bottom:-2px; left:0;
    width:100%; height:2px; background:var(--teal);
    transform:scaleX(0); transform-origin:left;
    transition:transform .28s cubic-bezier(.22,1,.36,1);
  }
  .nav-links a:not(.nav-cta):hover { color:var(--teal); }
  .nav-links a:not(.nav-cta):hover::after { transform:scaleX(1); }
  .nav-cta {
    background:var(--teal) !important; color:#fff !important;
    padding:9px 22px; border-radius:var(--radius);
    font-weight:bold !important; font-size:14px;
    transition:background .2s !important;
  }
  .nav-cta:hover { background:var(--teal-dark) !important; }
  .nav-toggle { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:4px; }
  .nav-toggle span { display:block; width:22px; height:2px; background:var(--text); border-radius:2px; transition:transform .25s,opacity .2s; }

  /* ══════════════════════════════════════════════
     2. HERO — full-bleed image
  ══════════════════════════════════════════════ */
  .hero {
    padding: 5.5rem 2rem 4.5rem;
    text-align: center;
    border-bottom: 0.5px solid var(--border-solid);
    max-width: var(--max);
    margin: 0 auto;
  }
  .hero-badge {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--teal);
    background: var(--teal-light);
    border: 0.5px solid rgba(15,110,86,.28);
    padding: 6px 18px;
    border-radius: 20px;
    margin-bottom: 1.75rem;
    font-weight: 500;
    animation: fadeUp .7s cubic-bezier(.22,1,.36,1) .1s both;
  }
  .hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(3rem, 5.5vw, 4.6rem);
    font-weight: 500;
    line-height: 1.08;
    color: var(--text);
    margin-bottom: 1rem;
    letter-spacing: -.01em;
    animation: fadeUp .85s cubic-bezier(.22,1,.36,1) .25s both;
  }
  .hero h1 em {
    color: var(--teal);
    font-style: italic;
  }
  .hero-sub {
    font-size: 17px;
    color: var(--text-soft);
    font-weight: 300;
    line-height: 1.75;
    max-width: 560px;
    margin: 0 auto 2.25rem;
    animation: fadeUp .8s cubic-bezier(.22,1,.36,1) .4s both;
  }
  .hero-ctas {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    animation: fadeUp .75s cubic-bezier(.22,1,.36,1) .55s both;
  }

  /* ══════════════════════════════════════════════
     3. TRUST STRIP
  ══════════════════════════════════════════════ */
  .trust-strip { background:var(--white); border-bottom:1px solid var(--border-solid); }
  .trust-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
  .trust-item {
    padding:1.5rem 1.25rem; text-align:center;
    border-right:1px solid var(--border-solid);
    transition:background .22s;
  }
  .trust-item:last-child { border-right:none; }
  .trust-item:hover { background:var(--teal-light); }
  .trust-num {
    font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:600;
    color:var(--teal); line-height:1; margin-bottom:5px;
    display:inline-block;
    transition:transform .3s cubic-bezier(.22,1,.36,1), color .22s;
  }
  .trust-item:hover .trust-num { transform:scale(1.12); color:var(--teal-mid); }
  .trust-label { font-size:12px; color:var(--text-soft); line-height:1.45; }

  /* ══════════════════════════════════════════════
     4. SERVICES
  ══════════════════════════════════════════════ */
  .services-section { padding:4rem 0 0; }
  .services-intro { max-width:var(--max); margin:0 auto; padding:0 2rem 2rem; }
  .services-grid {
    max-width:var(--max); margin:0 auto;
    display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:1px; background:var(--border-solid);
    border-top:1px solid var(--border-solid); border-bottom:1px solid var(--border-solid);
  }
  .service-card {
    background:var(--bg); padding:1.6rem 1.4rem; cursor:pointer;
    border-left:3px solid transparent; position:relative;
    transition:background .2s, border-left-color .2s,
               transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
  }
  .service-card:hover { background:var(--white); transform:translateY(-3px); box-shadow:0 8px 28px rgba(15,110,86,.1); }
  .service-card.active { background:var(--white); border-left-color:var(--teal); transform:none; box-shadow:0 2px 12px rgba(15,110,86,.1); }
  .service-cat { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-mid); font-weight:bold; margin-bottom:10px; }
  .service-img {
    width:100%; height:120px; border-radius:var(--radius); margin-bottom:12px;
    overflow:hidden; background:var(--teal-light);
  }
  .service-img img { width:100%; height:100%; transition:transform .45s ease; }
  .service-card:hover .service-img img { transform:scale(1.07); }
  .service-icon { display:inline-block; font-size:20px; margin-bottom:8px; transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
  .service-card:hover .service-icon { transform:scale(1.25) rotate(-5deg); }
  .service-name { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:500; color:var(--text); line-height:1.25; margin-bottom:5px; }
  .service-tagline { font-size:12.5px; color:var(--text-soft); line-height:1.5; }
  .service-arrow { position:absolute; bottom:1.2rem; right:1.2rem; font-size:16px; color:var(--teal); opacity:0; transition:opacity .18s, transform .18s; }
  .service-card:hover .service-arrow { opacity:1; transform:translateX(3px); }

  /* Detail panel */
  .detail-panel { display:none; max-width:var(--max); margin:0 auto; padding:2.25rem 2rem; background:var(--white); border-bottom:1px solid var(--border-solid); }
  .detail-panel.open { display:block; animation:panelOpen .35s cubic-bezier(.22,1,.36,1) both; }
  .detail-inner { max-width:720px; }
  .detail-header { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:1.25rem; }
  .detail-img { width:180px; height:120px; border-radius:var(--radius); overflow:hidden; flex-shrink:0; }
  .detail-img img { width:100%; height:100%; }
  .detail-cat { font-size:10.5px; color:var(--teal-mid); text-transform:uppercase; letter-spacing:.1em; font-weight:bold; margin-bottom:4px; }
  .detail-title { font-family:'Cormorant Garamond',serif; font-size:1.65rem; font-weight:500; color:var(--text); }
  .detail-body { font-size:14.5px; color:var(--text-soft); line-height:1.75; margin-bottom:1.25rem; }
  .research-block {
    background:var(--teal-light); border-left:3px solid var(--teal);
    padding:1.1rem 1.35rem; border-radius:0 var(--radius) var(--radius) 0; margin-bottom:1.25rem;
    transition:border-left-width .3s ease;
  }
  .research-block:hover { border-left-width:5px; }
  .research-label { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--teal); font-weight:bold; margin-bottom:5px; }
  .research-text { font-size:13.5px; color:var(--teal-dark); line-height:1.65; }
  .research-source { font-size:11px; color:var(--teal-mid); margin-top:5px; font-style:italic; }
  .detail-close { background:transparent; border:1px solid var(--border-solid); color:var(--text-soft); padding:9px 20px; border-radius:var(--radius); font-size:13px; cursor:pointer; font-family:'DM Sans',sans-serif; transition:background .18s; }
  .detail-close:hover { background:var(--teal-light); color:var(--teal); }

  /* ══════════════════════════════════════════════
     5. ABOUT / MISSION IMAGE SPLIT
  ══════════════════════════════════════════════ */
  .about-section {
    border-top: 1px solid var(--border-solid);
    overflow: visible;
    padding: 3rem 2rem;
    background: var(--bg);
  }
  .about-inner {
    max-width: var(--max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
    gap: 2rem;
    align-items: stretch;
  }
  .about-img-col {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 32px rgba(15,110,86,.1);
  }
  .about-img-col img {
    width:100%; height:100%; object-fit:cover;
    transition: transform 8s ease;
    border-radius: var(--radius-lg);
  }
  .about-img-col:hover img { transform:scale(1.04); }
  .about-img-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to right, rgba(8,80,65,.3), transparent);
    border-radius: var(--radius-lg);
  }
  .about-text-col {
    padding: 3rem 2.5rem;
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-solid);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .about-text-col .section-title { font-family:'Cormorant Garamond',serif !important; font-size:1.9rem; margin-bottom:1rem; }
  .about-body { font-size:15px; color:var(--text-soft); font-weight:300; line-height:1.8; margin-bottom:1rem; }
  .about-list { list-style:none; margin:1rem 0 1.75rem; }
  .about-list li { font-size:14px; color:var(--text-soft); padding:5px 0; display:flex; align-items:flex-start; gap:8px; }
  .about-list li::before { content:'✓'; color:var(--teal); font-weight:bold; flex-shrink:0; margin-top:1px; }

  /* ══════════════════════════════════════════════
     6. EVIDENCE / SCIENCE
  ══════════════════════════════════════════════ */
  .science-section { padding:5rem 2rem; border-top:1px solid var(--border-solid); }
  .science-inner { max-width:var(--max); margin:0 auto; }
  .science-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:2rem; }
  .science-card {
    background:var(--white); border:1px solid var(--border-solid);
    border-radius:var(--radius-lg); overflow:hidden;
    transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s, border-color .22s;
  }
  .science-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(15,110,86,.13); border-color:var(--teal-mid); }
  .science-card-img { width:100%; height:140px; overflow:hidden; }
  .science-card-img img { width:100%; height:100%; transition:transform .45s ease; }
  .science-card:hover .science-card-img img { transform:scale(1.08); }
  .science-card-body { padding:1.25rem; }
  .sci-stat { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:600; color:var(--teal); line-height:1; margin-bottom:8px; display:inline-block; transition:transform .3s cubic-bezier(.34,1.56,.64,1), color .22s; }
  .science-card:hover .sci-stat { transform:scale(1.07); color:var(--teal-mid); }
  .sci-text { font-size:13.5px; color:var(--text-soft); line-height:1.6; margin-bottom:10px; }
  .sci-source { font-size:10.5px; color:rgba(15,110,86,.6); font-style:italic; border-top:1px solid var(--border-solid); padding-top:8px; margin-top:4px; }

  /* ══════════════════════════════════════════════
     7. WHY NEWBRIDGE
  ══════════════════════════════════════════════ */
  .why-section { background:var(--white); border-top:1px solid var(--border-solid); padding:5rem 2rem; }
  .why-inner { max-width:var(--max); margin:0 auto; }
  .why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:2.5rem; }
  .why-card {
    padding:1.5rem; border:1px solid var(--border-solid); border-radius:var(--radius-lg);
    background:var(--bg);
    transition:border-color .25s, background .25s, transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s;
  }
  .why-card:hover { border-color:var(--teal-mid); background:var(--white); transform:translateY(-4px); box-shadow:0 14px 36px rgba(15,110,86,.1); }
  .why-icon-wrap {
    width:42px; height:42px; background:var(--teal-light); border-radius:var(--radius);
    display:flex; align-items:center; justify-content:center; margin-bottom:1rem; font-size:20px;
    transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .25s;
  }
  .why-card:hover .why-icon-wrap { transform:scale(1.2) rotate(6deg); background:var(--teal); }
  .why-title { font-size:15px; font-weight:bold; color:var(--text); margin-bottom:6px; }
  .why-body { font-size:13px; color:var(--text-soft); font-weight:300; line-height:1.65; }

  /* ══════════════════════════════════════════════
     8. TESTIMONIALS
  ══════════════════════════════════════════════ */
  .testimonials-section { padding:5rem 2rem; border-top:1px solid var(--border-solid); background:var(--teal-light); }
  .testimonials-inner { max-width:var(--max); margin:0 auto; }
  .testimonials-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:2.5rem; }
  .testimonial-card {
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:2rem;
    border-top:4px solid var(--teal-light);
    box-shadow:0 2px 16px rgba(15,110,86,.06);
    display:flex; flex-direction:column;
    transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s, border-top-color .22s;
  }
  .testimonial-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(15,110,86,.13); border-top-color:var(--teal); }
  .testimonial-card.accent-1 { border-top-color:#0F6E56; }
  .testimonial-card.accent-2 { border-top-color:#7C3AED; }
  .testimonial-card.accent-3 { border-top-color:#C2410C; }
  .testimonial-card.accent-4 { border-top-color:#9D174D; }
  .testimonial-card.accent-5 { border-top-color:#15803D; }
  .testimonial-card.accent-6 { border-top-color:#0369A1; }
  .stars { color:var(--teal); font-size:12px; letter-spacing:2px; margin-bottom:1rem; display:block; }
  .quote-open {
    font-family:'Cormorant Garamond',serif;
    font-size:3.5rem; font-weight:600;
    color:var(--teal-light); line-height:.6;
    display:block; margin-bottom:.75rem;
    transition:color .25s;
  }
  .testimonial-card:hover .quote-open { color:rgba(15,110,86,.2); }
  .testimonial-text {
    font-family:'Cormorant Garamond',serif;
    font-size:1.1rem; font-style:italic;
    color:var(--text); line-height:1.78;
    flex:1; margin-bottom:1.5rem;
  }
  .testimonial-footer { display:flex; align-items:center; gap:12px; }
  .testimonial-avatar {
    width:44px; height:44px; border-radius:50%;
    background:var(--teal); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:500;
    font-family:'DM Sans',sans-serif;
    flex-shrink:0; letter-spacing:.02em;
  }
  .testimonial-card.accent-2 .testimonial-avatar { background:#7C3AED; }
  .testimonial-card.accent-3 .testimonial-avatar { background:#C2410C; }
  .testimonial-card.accent-4 .testimonial-avatar { background:#9D174D; }
  .testimonial-card.accent-5 .testimonial-avatar { background:#15803D; }
  .testimonial-card.accent-6 .testimonial-avatar { background:#0369A1; }
  .testimonial-name { font-size:14px; font-weight:500; color:var(--text); margin-bottom:2px; }
  .testimonial-role { font-size:12px; color:var(--text-soft); font-weight:300; }

  /* ══════════════════════════════════════════════
     9. PRICING
  ══════════════════════════════════════════════ */
  .pricing-section { padding:5rem 2rem; background:var(--white); border-top:1px solid var(--border-solid); }
  .pricing-inner { max-width:var(--max); margin:0 auto; }
  .pricing-intro { margin-bottom:2.5rem; }
  .pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; align-items:start; }
  .pricing-card {
    border:1px solid var(--border-solid); border-radius:var(--radius-lg); overflow:hidden;
    background:var(--bg);
    transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s;
  }
  .pricing-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(15,110,86,.14); }
  .pricing-card.featured { border:2px solid var(--teal); background:var(--white); }
  .pricing-card.featured:hover { box-shadow:0 20px 50px rgba(15,110,86,.24); }
  .pricing-card-img { width:100%; height:120px; overflow:hidden; }
  .pricing-card-img img { width:100%; height:100%; transition:transform .45s ease; }
  .pricing-card:hover .pricing-card-img img { transform:scale(1.07); }
  .pricing-card-head { padding:1.5rem 1.5rem 1.25rem; border-bottom:1px solid var(--border-solid); }
  .pricing-card.featured .pricing-card-head { background:var(--teal); }
  .pricing-badge { display:inline-block; font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:bold; background:var(--teal-light); color:var(--teal); padding:4px 10px; border-radius:20px; margin-bottom:.75rem; }
  .pricing-card.featured .pricing-badge { background:rgba(255,255,255,.2); color:#fff; }
  .pricing-name { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:500; color:var(--text); margin-bottom:4px; }
  .pricing-card.featured .pricing-name { color:#fff; }
  .pricing-desc { font-size:12.5px; color:var(--text-soft); line-height:1.5; }
  .pricing-card.featured .pricing-desc { color:rgba(255,255,255,.82); }
  .pricing-price-wrap { margin-top:.75rem; }
  .pricing-price { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:600; color:var(--teal); line-height:1; display:inline-block; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
  .pricing-card:hover .pricing-price { transform:scale(1.06); }
  .pricing-card.featured .pricing-price { color:#fff; }
  .pricing-period { font-size:12px; color:var(--text-soft); }
  .pricing-card.featured .pricing-period { color:rgba(255,255,255,.7); }
  .pricing-card-body { padding:1.5rem; }
  .pricing-features { list-style:none; }
  .pricing-features li { font-size:13.5px; color:var(--text-soft); padding:6px 0; border-bottom:1px solid var(--border-solid); display:flex; align-items:flex-start; gap:8px; line-height:1.5; }
  .pricing-features li:last-child { border-bottom:none; }
  .feat-tick { color:var(--teal); font-weight:bold; flex-shrink:0; margin-top:1px; }
  .pricing-cta { display:block; width:100%; margin-top:1.25rem; padding:12px; text-align:center; border-radius:var(--radius); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:bold; cursor:pointer; text-decoration:none; transition:background .22s, transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s; }
  .pricing-cta:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(15,110,86,.15); }
  .pricing-cta-outline { background:transparent; color:var(--teal); border:2px solid var(--teal); }
  .pricing-cta-outline:hover { background:var(--teal); color:#fff; }
  .pricing-cta-filled { background:var(--white); color:var(--teal-dark); border:none; }
  .pricing-cta-filled:hover { background:var(--teal-light); }
  .pricing-note { margin-top:2rem; text-align:center; font-size:13px; color:var(--text-soft); }
  .pricing-note strong { color:var(--teal); font-weight:bold; }

  /* ══════════════════════════════════════════════
     10. CTA BANNER — image bg
  ══════════════════════════════════════════════ */
  .cta-banner {
    position:relative; padding:6rem 2rem; text-align:center;
    border-top:1px solid var(--border-solid); overflow:hidden;
  }
  .cta-banner-bg {
    position:absolute; inset:0;
    background-image:url('https://images.unsplash.com/photo-1518531933037-91b2f5f229cc?w=1400&q=80');
    background-size:cover; background-position:center;
    filter:brightness(.45) saturate(1.2);
  }
  .cta-banner-overlay { position:absolute; inset:0; background:rgba(8,80,65,.55); }
  .cta-banner-inner { position:relative; z-index:2; max-width:620px; margin:0 auto; }
  .cta-banner h2 { font-family:'Cormorant Garamond',serif; font-size:2.8rem; font-weight:500; color:#fff; margin-bottom:.75rem; line-height:1.15; }
  .cta-banner p { font-size:16px; color:rgba(255,255,255,.82); margin-bottom:2rem; }
  .cta-banner .btn-white { animation:pulseRing 2.8s ease-in-out infinite; }
  .cta-banner .btn-white:hover { animation:none; }

  /* ══════════════════════════════════════════════
     11. FOOTER
  ══════════════════════════════════════════════ */
  .footer { background:var(--teal-dark); padding:3.5rem 2rem; border-top:1px solid rgba(255,255,255,.1); }
  .footer-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }
  .footer-brand-name { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600; color:#fff; margin-bottom:4px; }
  .footer-brand-sub { font-size:10.5px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
  .footer-desc { font-size:13px; color:rgba(255,255,255,.6); line-height:1.7; max-width:320px; }
  .footer-col-title { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.45); font-weight:bold; margin-bottom:1rem; }
  .footer-links { list-style:none; }
  .footer-links li { margin-bottom:.5rem; }
  .footer-links a { font-size:13.5px; color:rgba(255,255,255,.7); transition:color .18s, padding-left .22s cubic-bezier(.22,1,.36,1); display:inline-block; }
  .footer-links a:hover { color:#fff; padding-left:6px; }

  /* ── Social icons in footer ── */
  .footer-social { display:flex; gap:14px; margin-top:1.25rem; flex-wrap:wrap; }
  .footer-social a {
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:background .2s, border-color .2s, color .2s, transform .2s cubic-bezier(.22,1,.36,1);
    flex-shrink:0;
  }
  .footer-social a:hover {
    background:var(--teal);
    border-color:var(--teal);
    color:#fff;
    transform:translateY(-2px);
  }
  .footer-social svg { width:16px; height:16px; fill:currentColor; }
  .footer-bottom { max-width:var(--max); margin:2rem auto 0; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; }
  .footer-bottom p { font-size:12px; color:rgba(255,255,255,.4); }

  /* ══════════════════════════════════════════════
     ANIMATION SYSTEM
  ══════════════════════════════════════════════ */


  /* ── Signature package card — responsive ── */
  .sig-card { grid-column: 1 / -1; }
  .sig-inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 240px;
  }
  .sig-img {
    overflow: hidden;
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    min-height: 240px;
  }
  .sig-img img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
  .sig-card:hover .sig-img img { transform:scale(1.05); }
  .sig-content { display:flex; flex-direction:column; }
  .sig-head { border-bottom:1px solid var(--border-solid); }
  .sig-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
  }
  .sig-price { text-align:right; flex-shrink:0; }
  .sig-body { flex:1; }
  .sig-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
  }
  .sig-cta { max-width:220px; margin-top:1.25rem; }

  /* Responsive: stack on mobile */
  @media (max-width: 700px) {
    .sig-inner {
      grid-template-columns: 1fr;
    }
    .sig-img {
      height: 200px;
      min-height: unset;
      border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }
    .sig-title-row { flex-direction:column; }
    .sig-price { text-align:left; }
    .sig-features { grid-template-columns: 1fr; }
    .sig-cta { max-width:100%; }
  }

  /* ── T&C Checkbox ── */
  .tc-wrap {
    display:flex; align-items:flex-start; gap:10px;
    max-width:480px; margin:0 auto 1.5rem;
    text-align:left;
  }
  .tc-checkbox {
    width:20px; height:20px; flex-shrink:0;
    border:2px solid rgba(255,255,255,.6);
    border-radius:4px; background:rgba(255,255,255,.12);
    cursor:pointer; appearance:none; -webkit-appearance:none;
    position:relative; margin-top:1px;
    transition:background .18s, border-color .18s;
  }
  .tc-checkbox:checked {
    background:var(--teal); border-color:var(--teal);
  }
  .tc-checkbox:checked::after {
    content:''; position:absolute; left:5px; top:2px;
    width:6px; height:10px;
    border-right:2px solid #fff; border-bottom:2px solid #fff;
    transform:rotate(45deg);
  }
  .tc-checkbox:focus { outline:2px solid rgba(255,255,255,.5); outline-offset:2px; }
  .tc-label {
    font-size:13.5px; color:rgba(255,255,255,.82); font-weight:300;
    line-height:1.5; cursor:pointer;
  }
  .tc-label a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
  .tc-label a:hover { opacity:.8; }
  .tc-error {
    font-size:12.5px; color:#FCA5A5;
    margin:-1rem auto 1.25rem;
    max-width:480px; text-align:left;
    display:none; align-items:center; gap:5px;
  }
  .tc-error.show { display:flex; }
  .tc-error::before { content:'⚠'; font-size:13px; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; animation-iteration-count:1 !important; }
  }

  @keyframes fadeUp    { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
  @keyframes fadeIn    { from{opacity:0} to{opacity:1} }
  @keyframes floatBadge{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
  @keyframes pulseRing { 0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.3)} 50%{box-shadow:0 0 0 12px rgba(255,255,255,0)} }
  @keyframes navDrop   { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }
  @keyframes panelOpen { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }
  @keyframes shimmerStat{ 0%{background-position:-400px 0} 100%{background-position:400px 0} }

  .reveal { opacity:0; transform:translateY(30px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
  .reveal.revealed { opacity:1; transform:translateY(0); }
  .reveal-scale { opacity:0; transform:scale(.93); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); }
  .reveal-scale.revealed { opacity:1; transform:scale(1); }
  .s1{transition-delay:.05s} .s2{transition-delay:.12s} .s3{transition-delay:.19s}
  .s4{transition-delay:.26s} .s5{transition-delay:.33s} .s6{transition-delay:.40s}

  /* ── RESPONSIVE ── */
  @media (max-width: 900px) {
    .about-inner { grid-template-columns:1fr; gap:1.5rem; }
    .about-img-col { min-height:280px; }
    .about-text-col { padding:3rem 2rem; }
  }
  @media (max-width: 768px) {
    .nav-links { display:none; }
    .nav-toggle { display:flex; }
    .nav-links.open { display:flex; flex-direction:column; position:absolute; top:68px; left:0; right:0; background:var(--white); border-bottom:1px solid var(--border-solid); padding:1rem 2rem 1.5rem; gap:1rem; z-index:99; }
    .trust-inner { grid-template-columns:repeat(2,1fr); }
    .trust-item:nth-child(2){border-right:none}
    .trust-item:nth-child(3){border-top:1px solid var(--border-solid)}
    .trust-item:nth-child(4){border-top:1px solid var(--border-solid);border-right:none}
    .footer-inner { grid-template-columns:1fr; gap:2rem; }
  
  /* ── Social icons in footer ── */
  .footer-social { display:flex; gap:14px; margin-top:1.25rem; flex-wrap:wrap; }
  .footer-social a {
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:background .2s, border-color .2s, color .2s, transform .2s cubic-bezier(.22,1,.36,1);
    flex-shrink:0;
  }
  .footer-social a:hover {
    background:var(--teal);
    border-color:var(--teal);
    color:#fff;
    transform:translateY(-2px);
  }
  .footer-social svg { width:16px; height:16px; fill:currentColor; }
  .footer-bottom { flex-direction:column; text-align:center; }
    .section-title { font-family:'Cormorant Garamond',serif !important; font-size:1.9rem; }
    .hero h1 { font-size:2.4rem; }
    .cta-banner h2 { font-size:2rem; }
  }
  @media (max-width: 480px) {
    .hero { padding: 3.5rem 1.25rem 3rem; }
    .trust-inner { grid-template-columns:1fr 1fr; }
  }

  /* Skip to content link (accessibility) */
  .skip-link {
    position: absolute; top: -100%; left: 1rem;
    background: var(--teal); color: #fff;
    padding: 8px 16px; border-radius: 0 0 var(--radius) var(--radius);
    font-family: var(--font); font-size: 14px; font-weight: 500;
    text-decoration: none; z-index: 9999;
    transition: top .2s;
  }
  .skip-link:focus { top: 0; }

