
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <!-- ============================================================
       DENTAL ANGEL ON A MISSION — FULL PROJECT
       Canonical: https://dentalangelsonamission.com/book-online/
       Negara: Indonesia (ID) | Bahasa: English (natural domain)
  ============================================================ -->
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <!-- ── SEO META ─────────────────────────────────────────────── -->
  <title>TITI4D | Dental Angel on a Mission | Premium Cosmetic & Implant Dentistry – San Francisco</title>
  <meta name="description" content="TITI4D | Dental Angel on a Mission menawarkan layanan Implant Dentistry, Cosmetic Dentistry, Invisalign, Veneers, dan Emergency Dental Care di 2172 Mission Street, San Francisco, CA 94110." />
  <meta name="keywords" content="TITI4D, dental implants san francisco, cosmetic dentistry, invisalign, veneers, emergency dental care, dental angel on a mission, dentist mission street" />
  <meta name="author" content="Issa George Karkar" />
  <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
  <meta name="geo.region" content="US-CA" />
  <meta name="geo.placename" content="San Francisco" />
  <meta name="geo.position" content="37.7588;-122.4190" />
  <meta name="ICBM" content="37.7588, -122.4190" />

  <!-- ── CANONICAL ─────────────────────────────────────────────── -->
  <link rel="canonical" href="https://dentalangelsonamission.com/book-online/" />
  <link rel="amphtml" href="https://kin-na-jit-ai-lim-kopi-bo.mai-ce-sio.com/dentalangelsonamission.html">
  <link rel="alternate" href="https://dentalangelsonamission.com/book-online/" />
  <link rel="alternate" href="https://dentalangelsonamission.com/book-online/" hreflang="en">
  <link rel="alternate" href="https://kin-na-jit-ai-lim-kopi-bo.mai-ce-sio.com/dentalangelsonamission.html" hreflang="id">
  <link rel="alternate" href="https://kin-na-jit-ai-lim-kopi-bo.mai-ce-sio.com/dentalangelsonamission.html" hreflang="id-ID">
  <link rel="alternate" href="https://dentalangelsonamission.com/book-online/" hreflang="x-default">

  <!-- ── OPEN GRAPH ────────────────────────────────────────────── -->
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://dentalangelsonamission.com/" />
  <meta property="og:title" content="TITI4D | Dental Angel on a Mission | Premium Cosmetic & Implant Dentistry – San Francisco" />
  <meta property="og:description" content="TITI4D | Dental Angel on a Mission menawarkan layanan Implant Dentistry, Cosmetic Dentistry, Invisalign, Veneers, dan Emergency Dental Care di 2172 Mission Street, San Francisco, CA 94110." />
  <meta property="og:image" content="https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=1200&q=80" />
  <meta property="og:image:width" content="1200" />
  <meta property="og:image:height" content="630" />
  <meta property="og:locale" content="en_US" />
  <meta property="og:site_name" content="Dental Angel on a Mission" />

  <!-- ── TWITTER CARD ──────────────────────────────────────────── -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="TITI4D | Dental Angel on a Mission | Premium Cosmetic & Implant Dentistry – San Francisco" />
  <meta name="twitter:description" content="TITI4D | Dental Angel on a Mission menawarkan layanan Implant Dentistry, Cosmetic Dentistry, Invisalign, Veneers, dan Emergency Dental Care di 2172 Mission Street, San Francisco, CA 94110." />
  <meta name="twitter:image" content="https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=1200&q=80" />

  <!-- ── FONTS ─────────────────────────────────────────────────── -->
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap" rel="stylesheet" />

  <!-- ── FAVICON ───────────────────────────────────────────────── -->
  <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🦷</text></svg>" />

  <!-- ══════════════════════════════════════════════════════════════
       JSON-LD STRUCTURED DATA (SCHEMA.ORG)
  ══════════════════════════════════════════════════════════════ -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "Dentist",
        "@id": "https://dentalangelsonamission.com/#dentist",
        "name": "Dental Angel on a Mission",
        "alternateName": "Dental Angel SF",
        "url": "https://dentalangelsonamission.com/",
        "logo": {
          "@type": "ImageObject",
          "url": "https://dentalangelsonamission.com/dentalangelsonamission_logo.png",
          "width": 300,
          "height": 100
        },
        "image": "https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=1200&q=80",
        "description": "Dental Angel on a Mission adalah klinik gigi premium yang menawarkan layanan Implant Dentistry, Cosmetic Dentistry, General Dentistry, Invisalign, Veneers, dan Emergency Dental Care di San Francisco, CA.",
        "telephone": "+14158720915",
        "email": "dentalangelsonamission@gmail.com",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "2172 Mission Street",
          "addressLocality": "San Francisco",
          "addressRegion": "CA",
          "postalCode": "94110",
          "addressCountry": "US"
        },
        "geo": {
          "@type": "GeoCoordinates",
          "latitude": 37.7588,
          "longitude": -122.4190
        },
        "openingHoursSpecification": [
          {
            "@type": "OpeningHoursSpecification",
            "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
            "opens": "09:00",
            "closes": "18:00"
          },
          {
            "@type": "OpeningHoursSpecification",
            "dayOfWeek": "Saturday",
            "opens": "09:00",
            "closes": "17:00"
          },
          {
            "@type": "OpeningHoursSpecification",
            "dayOfWeek": "Sunday",
            "opens": "00:00",
            "closes": "00:00"
          }
        ],
        "priceRange": "$$",
        "currenciesAccepted": "USD",
        "paymentAccepted": "Cash, Credit Card, Insurance",
        "medicalSpecialty": ["Dentistry","CosmeticDentistry","OralSurgery"],
        "hasMap": "https://maps.google.com/?q=2172+Mission+Street+San+Francisco+CA+94110",
        "sameAs": [
          "https://dentalangelsonamission.com/"
        ],
        "employee": {
          "@type": "Person",
          "name": "Issa George Karkar",
          "jobTitle": "Managing Partner & Lead Dentist"
        },
        "availableService": [
          {
            "@type": "MedicalProcedure",
            "name": "Dental Implants",
            "procedureType": "https://schema.org/SurgicalProcedure",
            "description": "Full dental implant placement and restoration"
          },
          {
            "@type": "MedicalProcedure",
            "name": "Cosmetic Dentistry",
            "procedureType": "https://schema.org/TherapeuticProcedure",
            "description": "Full smile makeovers including veneers, whitening, and bonding"
          },
          {
            "@type": "MedicalProcedure",
            "name": "Invisalign",
            "procedureType": "https://schema.org/TherapeuticProcedure",
            "description": "Clear aligner orthodontic treatment"
          },
          {
            "@type": "MedicalProcedure",
            "name": "Porcelain Veneers",
            "procedureType": "https://schema.org/TherapeuticProcedure",
            "description": "Custom porcelain veneer fabrication and placement"
          },
          {
            "@type": "MedicalProcedure",
            "name": "Emergency Dental Care",
            "procedureType": "https://schema.org/EmergencyProcedure",
            "description": "Same-day emergency dental treatment"
          },
          {
            "@type": "MedicalProcedure",
            "name": "General Dentistry",
            "procedureType": "https://schema.org/TherapeuticProcedure",
            "description": "Routine checkups, cleanings, fillings, and preventive care"
          }
        ]
      },
      {
        "@type": "WebSite",
        "@id": "https://dentalangelsonamission.com/#website",
        "url": "https://dentalangelsonamission.com/",
        "name": "Dental Angel on a Mission",
        "description": "Premium dental clinic in San Francisco Mission District",
        "publisher": { "@id": "https://dentalangelsonamission.com/#dentist" },
        "potentialAction": {
          "@type": "SearchAction",
          "target": {
            "@type": "EntryPoint",
            "urlTemplate": "https://dentalangelsonamission.com/?s={search_term_string}"
          },
          "query-input": "required name=search_term_string"
        }
      },
      {
        "@type": "WebPage",
        "@id": "https://dentalangelsonamission.com/book-online/#webpage",
        "url": "https://dentalangelsonamission.com/book-online/",
        "name": "Book Online – Dental Angel on a Mission",
        "isPartOf": { "@id": "https://dentalangelsonamission.com/#website" },
        "about": { "@id": "https://dentalangelsonamission.com/#dentist" },
        "description": "Book your appointment online at Dental Angel on a Mission, San Francisco's premier cosmetic and implant dental practice.",
        "breadcrumb": {
          "@type": "BreadcrumbList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "name": "Home",
              "item": "https://dentalangelsonamission.com/"
            },
            {
              "@type": "ListItem",
              "position": 2,
              "name": "Book Online",
              "item": "https://dentalangelsonamission.com/book-online/"
            }
          ]
        }
      },
      {
        "@type": "FAQPage",
        "@id": "https://dentalangelsonamission.com/#faq",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "Do you accept dental insurance?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Yes, we work with most major dental insurance providers. Please call our office at +1 (415) 872-0915 to confirm your specific plan coverage."
            }
          },
          {
            "@type": "Question",
            "name": "How much do dental implants cost?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Dental implant costs vary based on the complexity of your case. We offer free consultations to provide you with a detailed treatment plan and transparent pricing. Contact us to schedule yours."
            }
          },
          {
            "@type": "Question",
            "name": "How long does Invisalign treatment take?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Most Invisalign treatments take between 6–18 months depending on the complexity of your case. During your consultation, Dr. Karkar will give you a personalized timeline."
            }
          },
          {
            "@type": "Question",
            "name": "Do you offer emergency dental appointments?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Yes! We offer same-day emergency dental appointments for existing and new patients. Call +1 (415) 872-0915 immediately and we will do our best to see you the same day."
            }
          }
        ]
      },
      {
        "@type": "LocalBusiness",
        "@id": "https://dentalangelsonamission.com/#localbusiness",
        "name": "Dental Angel on a Mission",
        "image": "https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=800&q=80",
        "telephone": "+14158720915",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "2172 Mission Street",
          "addressLocality": "San Francisco",
          "addressRegion": "CA",
          "postalCode": "94110",
          "addressCountry": "US"
        },
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": "4.9",
          "reviewCount": "284",
          "bestRating": "5",
          "worstRating": "1"
        },
        "review": [
          {
            "@type": "Review",
            "author": { "@type": "Person", "name": "Maria Santos" },
            "reviewRating": { "@type": "Rating", "ratingValue": "5" },
            "reviewBody": "Absolutely incredible experience. Dr. Karkar and the team transformed my smile completely. The veneers look so natural — I've never felt more confident."
          },
          {
            "@type": "Review",
            "author": { "@type": "Person", "name": "James T." },
            "reviewRating": { "@type": "Rating", "ratingValue": "5" },
            "reviewBody": "Had a dental emergency on a Saturday and they saw me within an hour. Professional, painless, and truly caring staff. Highly recommend."
          }
        ]
      }
    ]
  }
  </script>

  <!-- ═══════════════════════════════════════════════════════════
       STYLES
  ═══════════════════════════════════════════════════════════ -->
  <style>
    /* ── CSS VARIABLES ─────────────────────────────────────────── */
    :root {
      --c-ivory:    #F8F5F0;
      --c-cream:    #EFE9DF;
      --c-sand:     #D9CEBA;
      --c-bronze:   #A0845C;
      --c-gold:     #C9A96E;
      --c-gold-lt:  #E8D5AA;
      --c-obsidian: #0E0D0B;
      --c-charcoal: #1C1A16;
      --c-ink:      #2D2B26;
      --c-muted:    #6B6355;
      --c-white:    #FFFFFF;
      --c-accent:   #7B5EA7;   /* deep plum accent */
      --c-teal:     #2D8A7E;

      --ff-display: 'Playfair Display', Georgia, serif;
      --ff-cormo:   'Cormorant Garamond', Georgia, serif;
      --ff-body:    'DM Sans', system-ui, sans-serif;

      --max-w:      1280px;
      --nav-h:      80px;
      --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
      --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    }

    /* ── RESET / BASE ──────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body {
      font-family: var(--ff-body);
      background: var(--c-ivory);
      color: var(--c-ink);
      overflow-x: hidden;
      cursor: none;
    }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    button { cursor: none; border: none; background: none; font-family: inherit; }
    ul { list-style: none; }

    /* ── CUSTOM CURSOR ─────────────────────────────────────────── */
    .cursor {
      width: 12px; height: 12px;
      background: var(--c-gold);
      border-radius: 50%;
      position: fixed; top: 0; left: 0;
      pointer-events: none; z-index: 9999;
      transition: transform 0.15s var(--ease-out), width 0.3s var(--ease-out), height 0.3s var(--ease-out), background 0.3s;
      transform: translate(-50%, -50%);
    }
    .cursor-ring {
      width: 40px; height: 40px;
      border: 1.5px solid var(--c-gold);
      border-radius: 50%;
      position: fixed; top: 0; left: 0;
      pointer-events: none; z-index: 9998;
      transform: translate(-50%, -50%);
      transition: transform 0.4s var(--ease-out), width 0.3s var(--ease-out), height 0.3s var(--ease-out), opacity 0.3s;
      opacity: 0.6;
    }
    body:has(a:hover) .cursor, body:has(button:hover) .cursor { transform: translate(-50%,-50%) scale(3); background: var(--c-accent); }
    body:has(a:hover) .cursor-ring, body:has(button:hover) .cursor-ring { opacity: 0; }

    /* ── NOISE OVERLAY ─────────────────────────────────────────── */
    body::before {
      content: '';
      position: fixed; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
      opacity: 0.025;
      pointer-events: none;
      z-index: 9997;
    }

    /* ── SCROLLBAR ─────────────────────────────────────────────── */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: var(--c-cream); }
    ::-webkit-scrollbar-thumb { background: var(--c-gold); border-radius: 3px; }

    /* ── UTILITY ───────────────────────────────────────────────── */
    .container { max-width: var(--max-w); margin: 0 auto; padding: 0 40px; }
    .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .tag {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: var(--ff-body); font-size: 11px; font-weight: 600;
      letter-spacing: 0.15em; text-transform: uppercase;
      color: var(--c-bronze); border: 1px solid var(--c-sand);
      padding: 6px 14px; border-radius: 999px;
    }
    .tag::before { content: ''; display: inline-block; width: 6px; height: 6px; background: var(--c-gold); border-radius: 50%; }

    /* ── ANIMATIONS ────────────────────────────────────────────── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(40px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; } to { opacity: 1; }
    }
    @keyframes slideRight {
      from { transform: translateX(-100%); } to { transform: translateX(0); }
    }
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-12px); }
    }
    @keyframes rotate {
      from { transform: rotate(0deg); } to { transform: rotate(360deg); }
    }
    @keyframes shimmer {
      0% { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    @keyframes scaleIn {
      from { transform: scale(0.92); opacity: 0; }
      to   { transform: scale(1); opacity: 1; }
    }
    @keyframes marquee {
      from { transform: translateX(0); } to { transform: translateX(-50%); }
    }

    .reveal {
      opacity: 0; transform: translateY(32px);
      transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out);
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }
    .reveal-delay-5 { transition-delay: 0.5s; }

    /* ══════════════════════════════════════════════════════════════
       NAVIGATION
    ══════════════════════════════════════════════════════════════ */
    .nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      height: var(--nav-h);
      display: flex; align-items: center;
      transition: background 0.4s var(--ease-out), backdrop-filter 0.4s, box-shadow 0.4s;
    }
    .nav.scrolled {
      background: rgba(248, 245, 240, 0.92);
      backdrop-filter: blur(20px) saturate(180%);
      box-shadow: 0 1px 0 rgba(0,0,0,0.06);
    }
    .nav__inner {
      display: flex; align-items: center; justify-content: space-between;
      width: 100%;
    }
    .nav__logo {
      display: flex; flex-direction: column; gap: 2px;
    }
    .nav__logo-name {
      font-family: var(--ff-display);
      font-size: 20px; font-weight: 700;
      color: var(--c-obsidian);
      letter-spacing: -0.02em;
      line-height: 1;
    }
    .nav__logo-name span { color: var(--c-gold); }
    .nav__logo-sub {
      font-family: var(--ff-body); font-size: 10px; font-weight: 500;
      letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-muted);
    }
    .nav__links {
      display: flex; align-items: center; gap: 36px;
    }
    .nav__link {
      font-size: 13px; font-weight: 500; letter-spacing: 0.04em;
      color: var(--c-ink); position: relative;
    }
    .nav__link::after {
      content: ''; position: absolute; bottom: -3px; left: 0; right: 100%;
      height: 1px; background: var(--c-gold);
      transition: right 0.3s var(--ease-out);
    }
    .nav__link:hover::after { right: 0; }
    .nav__cta {
      display: flex; align-items: center; gap: 8px;
      background: var(--c-obsidian); color: var(--c-gold);
      padding: 12px 24px; border-radius: 2px;
      font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
      transition: background 0.3s, transform 0.2s;
    }
    .nav__cta:hover { background: var(--c-bronze); transform: translateY(-1px); }
    .nav__mobile-toggle {
      display: none; flex-direction: column; gap: 5px; padding: 8px;
    }
    .nav__mobile-toggle span {
      display: block; width: 24px; height: 1.5px; background: var(--c-ink);
      transition: transform 0.3s, opacity 0.3s;
    }

    /* ══════════════════════════════════════════════════════════════
       HERO
    ══════════════════════════════════════════════════════════════ */
    .hero {
      min-height: 100svh;
      display: grid; grid-template-columns: 1fr 1fr;
      position: relative; overflow: hidden;
      background: var(--c-obsidian);
    }
    .hero__left {
      display: flex; flex-direction: column; justify-content: center;
      padding: calc(var(--nav-h) + 60px) 60px 80px 60px;
      position: relative; z-index: 2;
    }
    .hero__eyebrow {
      animation: fadeUp 0.8s var(--ease-out) 0.2s both;
    }
    .hero__headline {
      font-family: var(--ff-display);
      font-size: clamp(48px, 5.5vw, 88px);
      font-weight: 900; line-height: 0.95;
      color: var(--c-ivory); letter-spacing: -0.03em;
      margin: 24px 0 0;
      animation: fadeUp 0.9s var(--ease-out) 0.35s both;
    }
    .hero__headline em {
      font-style: italic; color: var(--c-gold);
      background: linear-gradient(135deg, var(--c-gold) 0%, #F0C87A 40%, var(--c-bronze) 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hero__sub {
      font-family: var(--ff-cormo); font-size: 20px; font-weight: 300;
      color: rgba(248,245,240,0.65); line-height: 1.65;
      margin: 28px 0 0; max-width: 440px;
      animation: fadeUp 0.9s var(--ease-out) 0.5s both;
    }
    .hero__actions {
      display: flex; align-items: center; gap: 20px;
      margin-top: 44px;
      animation: fadeUp 0.9s var(--ease-out) 0.65s both;
    }
    .btn-primary {
      display: inline-flex; align-items: center; gap: 10px;
      background: linear-gradient(135deg, var(--c-gold), var(--c-bronze));
      color: var(--c-obsidian); font-weight: 700; font-size: 13px;
      letter-spacing: 0.08em; text-transform: uppercase;
      padding: 16px 36px; border-radius: 2px;
      transition: transform 0.25s var(--ease-out), box-shadow 0.25s;
      box-shadow: 0 8px 32px rgba(201,169,110,0.35);
    }
    .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(201,169,110,0.45); }
    .btn-secondary {
      display: inline-flex; align-items: center; gap: 8px;
      color: var(--c-ivory); font-size: 13px; font-weight: 500; letter-spacing: 0.05em;
      border-bottom: 1px solid rgba(248,245,240,0.3);
      padding-bottom: 3px;
      transition: border-color 0.3s, gap 0.3s;
    }
    .btn-secondary:hover { border-color: var(--c-gold); gap: 14px; }
    .btn-arrow { font-size: 18px; line-height: 1; }
    .hero__stats {
      display: flex; gap: 40px; margin-top: 60px;
      animation: fadeUp 0.9s var(--ease-out) 0.8s both;
    }
    .hero__stat-num {
      font-family: var(--ff-display); font-size: 38px; font-weight: 700;
      color: var(--c-gold); letter-spacing: -0.02em; line-height: 1;
    }
    .hero__stat-label {
      font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
      color: rgba(248,245,240,0.45); margin-top: 4px;
    }
    .hero__right {
      position: relative; overflow: hidden;
      animation: scaleIn 1.2s var(--ease-out) 0.1s both;
    }
    .hero__right-img {
      width: 100%; height: 100%; object-fit: cover;
      transform: scale(1.05);
      transition: transform 8s linear;
    }
    .hero:hover .hero__right-img { transform: scale(1); }
    .hero__right::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(to right, var(--c-obsidian) 0%, transparent 30%),
                  linear-gradient(to top, var(--c-obsidian) 0%, transparent 40%);
    }
    .hero__badge {
      position: absolute; bottom: 48px; right: 48px; z-index: 3;
      width: 120px; height: 120px;
      animation: float 4s ease-in-out infinite;
    }
    .hero__badge-inner {
      width: 120px; height: 120px; border-radius: 50%;
      background: var(--c-gold);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 4px;
    }
    .hero__badge-num {
      font-family: var(--ff-display); font-size: 28px; font-weight: 900;
      color: var(--c-obsidian); line-height: 1;
    }
    .hero__badge-text {
      font-size: 9px; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; color: var(--c-obsidian); text-align: center;
      line-height: 1.3;
    }
    .hero__scroll-hint {
      position: absolute; bottom: 32px; left: 60px; z-index: 2;
      display: flex; align-items: center; gap: 12px;
      animation: fadeIn 1s var(--ease-out) 1.4s both;
    }
    .hero__scroll-line {
      width: 40px; height: 1px; background: var(--c-gold); transform-origin: left;
      animation: slideRight 0.8s var(--ease-out) 1.6s both;
    }
    .hero__scroll-text {
      font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
      color: rgba(248,245,240,0.4);
    }

    /* ══════════════════════════════════════════════════════════════
       MARQUEE
    ══════════════════════════════════════════════════════════════ */
    .marquee-strip {
      background: var(--c-gold); overflow: hidden;
      padding: 14px 0;
    }
    .marquee-track {
      display: flex; gap: 0;
      animation: marquee 20s linear infinite;
      width: max-content;
    }
    .marquee-item {
      display: flex; align-items: center; gap: 32px;
      padding: 0 32px; white-space: nowrap;
      font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
      color: var(--c-obsidian);
    }
    .marquee-dot { width: 5px; height: 5px; background: var(--c-obsidian); border-radius: 50%; opacity: 0.4; }

    /* ══════════════════════════════════════════════════════════════
       ABOUT / INTRO
    ══════════════════════════════════════════════════════════════ */
    .about {
      padding: 120px 0;
      background: var(--c-ivory);
    }
    .about__grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: center;
    }
    .about__images {
      position: relative; height: 600px;
    }
    .about__img-main {
      position: absolute; top: 0; left: 0;
      width: 70%; height: 75%;
      object-fit: cover; border-radius: 4px;
      box-shadow: 24px 24px 80px rgba(0,0,0,0.15);
    }
    .about__img-sec {
      position: absolute; bottom: 0; right: 0;
      width: 62%; height: 55%;
      object-fit: cover; border-radius: 4px;
      box-shadow: -12px 12px 60px rgba(0,0,0,0.12);
      border: 6px solid var(--c-ivory);
    }
    .about__img-accent {
      position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
      width: 90px; height: 90px;
      background: var(--c-gold); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 32px; z-index: 2;
      animation: float 3.5s ease-in-out infinite;
      box-shadow: 0 12px 40px rgba(201,169,110,0.4);
    }
    .about__years-badge {
      position: absolute; top: 32px; right: 0;
      background: var(--c-obsidian); color: var(--c-gold);
      padding: 20px 24px; border-radius: 4px;
      text-align: center;
    }
    .about__years-num {
      font-family: var(--ff-display); font-size: 44px; font-weight: 900; line-height: 1;
    }
    .about__years-label {
      font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.7; margin-top: 4px;
    }
    .about__content { }
    .section-label {
      font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--c-gold); margin-bottom: 16px;
    }
    .section-title {
      font-family: var(--ff-display);
      font-size: clamp(32px, 3.5vw, 52px);
      font-weight: 700; line-height: 1.1;
      color: var(--c-obsidian); letter-spacing: -0.02em;
      margin-bottom: 24px;
    }
    .section-title em { font-style: italic; color: var(--c-bronze); }
    .section-body {
      font-family: var(--ff-cormo); font-size: 18px; font-weight: 300;
      color: var(--c-muted); line-height: 1.8;
      margin-bottom: 20px;
    }
    .about__features {
      display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
      margin-top: 36px;
    }
    .about__feature {
      display: flex; gap: 14px; align-items: flex-start;
      padding: 16px; border: 1px solid var(--c-sand); border-radius: 4px;
      transition: border-color 0.3s, box-shadow 0.3s;
    }
    .about__feature:hover { border-color: var(--c-gold); box-shadow: 0 4px 20px rgba(201,169,110,0.12); }
    .about__feature-icon { font-size: 24px; flex-shrink: 0; }
    .about__feature-title { font-size: 13px; font-weight: 600; color: var(--c-ink); margin-bottom: 4px; }
    .about__feature-text { font-size: 12px; color: var(--c-muted); line-height: 1.5; }

    /* ══════════════════════════════════════════════════════════════
       SERVICES
    ══════════════════════════════════════════════════════════════ */
    .services {
      padding: 120px 0;
      background: var(--c-charcoal);
      position: relative; overflow: hidden;
    }
    .services::before {
      content: '';
      position: absolute; top: -200px; right: -200px;
      width: 600px; height: 600px; border-radius: 50%;
      background: radial-gradient(circle, rgba(201,169,110,0.06) 0%, transparent 70%);
    }
    .services__header {
      text-align: center; margin-bottom: 72px;
    }
    .services__header .section-title { color: var(--c-ivory); }
    .services__header .section-body { color: rgba(239,233,223,0.55); max-width: 520px; margin: 0 auto; }
    .services__grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 2px; border: 2px solid rgba(201,169,110,0.1); border-radius: 4px; overflow: hidden;
    }
    .service-card {
      background: rgba(255,255,255,0.02);
      padding: 44px 36px;
      position: relative; overflow: hidden;
      transition: background 0.4s;
      border-right: 1px solid rgba(201,169,110,0.08);
    }
    .service-card:nth-child(3n) { border-right: none; }
    .service-card::before {
      content: ''; position: absolute; bottom: 0; left: 0; right: 100%; height: 2px;
      background: var(--c-gold);
      transition: right 0.5s var(--ease-out);
    }
    .service-card:hover::before { right: 0; }
    .service-card:hover { background: rgba(201,169,110,0.04); }
    .service-card__num {
      font-family: var(--ff-display); font-size: 11px; font-weight: 700;
      letter-spacing: 0.2em; color: var(--c-gold); opacity: 0.5;
      margin-bottom: 20px;
    }
    .service-card__icon {
      font-size: 40px; margin-bottom: 20px; display: block;
      transition: transform 0.3s var(--ease-out);
    }
    .service-card:hover .service-card__icon { transform: scale(1.15) rotate(-5deg); }
    .service-card__title {
      font-family: var(--ff-display); font-size: 22px; font-weight: 700;
      color: var(--c-ivory); letter-spacing: -0.01em; margin-bottom: 14px;
      line-height: 1.2;
    }
    .service-card__desc {
      font-size: 14px; color: rgba(239,233,223,0.5); line-height: 1.7;
      margin-bottom: 28px;
    }
    .service-card__link {
      display: inline-flex; align-items: center; gap: 8px;
      font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--c-gold);
      transition: gap 0.3s;
    }
    .service-card__link:hover { gap: 14px; }
    .service-card--featured {
      background: linear-gradient(135deg, rgba(201,169,110,0.12), rgba(160,132,92,0.06));
      border: 1px solid rgba(201,169,110,0.2);
    }

    /* ══════════════════════════════════════════════════════════════
       GALLERY / SMILE GALLERY
    ══════════════════════════════════════════════════════════════ */
    .gallery {
      padding: 120px 0;
      background: var(--c-cream);
    }
    .gallery__header { margin-bottom: 60px; }
    .gallery__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: 280px 220px;
      gap: 12px;
    }
    .gallery__item {
      overflow: hidden; border-radius: 4px; position: relative;
      cursor: none;
    }
    .gallery__item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
    .gallery__item:nth-child(3) { grid-column: span 2; }
    .gallery__item img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.7s var(--ease-out);
    }
    .gallery__item:hover img { transform: scale(1.06); }
    .gallery__item-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(14,13,11,0.7) 0%, transparent 60%);
      opacity: 0; transition: opacity 0.4s;
    }
    .gallery__item:hover .gallery__item-overlay { opacity: 1; }
    .gallery__item-label {
      position: absolute; bottom: 20px; left: 20px;
      font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--c-gold);
      transform: translateY(8px); opacity: 0;
      transition: transform 0.4s var(--ease-out), opacity 0.4s;
    }
    .gallery__item:hover .gallery__item-label { transform: translateY(0); opacity: 1; }

    /* ══════════════════════════════════════════════════════════════
       DOCTOR / TEAM
    ══════════════════════════════════════════════════════════════ */
    .doctor {
      padding: 120px 0;
      background: var(--c-ivory);
    }
    .doctor__grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: center;
    }
    .doctor__img-wrap {
      position: relative;
    }
    .doctor__img-bg {
      position: absolute; top: 20px; left: 20px; right: -20px; bottom: -20px;
      background: var(--c-sand); border-radius: 4px;
    }
    .doctor__img {
      position: relative; z-index: 1;
      width: 100%; aspect-ratio: 3/4;
      object-fit: cover; border-radius: 4px;
    }
    .doctor__img-tag {
      position: absolute; bottom: -20px; right: -20px; z-index: 2;
      background: var(--c-obsidian); color: var(--c-ivory);
      padding: 20px 24px; border-radius: 4px;
      max-width: 200px;
    }
    .doctor__img-tag-name {
      font-family: var(--ff-display); font-size: 16px; font-weight: 700; color: var(--c-gold);
    }
    .doctor__img-tag-role {
      font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.6; margin-top: 4px;
    }
    .doctor__creds {
      display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px;
    }
    .doctor__cred {
      background: var(--c-cream); border: 1px solid var(--c-sand);
      padding: 8px 16px; border-radius: 2px;
      font-size: 12px; font-weight: 500; color: var(--c-ink);
    }
    .doctor__quote {
      font-family: var(--ff-cormo); font-size: 24px; font-weight: 400; font-style: italic;
      color: var(--c-bronze); line-height: 1.5;
      border-left: 3px solid var(--c-gold); padding-left: 24px;
      margin: 32px 0;
    }

    /* ══════════════════════════════════════════════════════════════
       TESTIMONIALS
    ══════════════════════════════════════════════════════════════ */
    .testimonials {
      padding: 120px 0;
      background: var(--c-obsidian);
      position: relative; overflow: hidden;
    }
    .testimonials__bg-text {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      font-family: var(--ff-display); font-size: 300px; font-weight: 900;
      color: rgba(255,255,255,0.015); white-space: nowrap;
      pointer-events: none; user-select: none; letter-spacing: -0.05em;
    }
    .testimonials__header { text-align: center; margin-bottom: 72px; }
    .testimonials__header .section-title { color: var(--c-ivory); }
    .rating-stars { display: flex; gap: 4px; margin-bottom: 8px; }
    .star { color: var(--c-gold); font-size: 16px; }
    .testimonials__grid {
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
    }
    .testimonial-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(201,169,110,0.1);
      padding: 36px; border-radius: 4px;
      transition: border-color 0.3s, transform 0.3s;
    }
    .testimonial-card:hover { border-color: rgba(201,169,110,0.3); transform: translateY(-4px); }
    .testimonial-card__quote-mark {
      font-family: var(--ff-display); font-size: 80px; font-weight: 900; line-height: 0.7;
      color: var(--c-gold); opacity: 0.2; margin-bottom: 16px;
    }
    .testimonial-card__text {
      font-family: var(--ff-cormo); font-size: 17px; font-weight: 300; font-style: italic;
      color: rgba(239,233,223,0.75); line-height: 1.7; margin-bottom: 28px;
    }
    .testimonial-card__author {
      display: flex; align-items: center; gap: 14px;
    }
    .testimonial-card__avatar {
      width: 44px; height: 44px; border-radius: 50%;
      background: linear-gradient(135deg, var(--c-gold), var(--c-bronze));
      display: flex; align-items: center; justify-content: center;
      font-family: var(--ff-display); font-size: 16px; font-weight: 700; color: var(--c-obsidian);
    }
    .testimonial-card__name { font-size: 14px; font-weight: 600; color: var(--c-ivory); }
    .testimonial-card__meta { font-size: 12px; color: var(--c-muted); margin-top: 2px; }

    /* ══════════════════════════════════════════════════════════════
       FAQ
    ══════════════════════════════════════════════════════════════ */
    .faq {
      padding: 120px 0;
      background: var(--c-ivory);
    }
    .faq__grid {
      display: grid; grid-template-columns: 1fr 1.2fr;
      gap: 80px; align-items: start;
    }
    .faq__aside {
      position: sticky; top: 100px;
    }
    .faq__list { display: flex; flex-direction: column; gap: 2px; }
    .faq__item {
      border: 1px solid var(--c-sand); border-radius: 4px; overflow: hidden;
    }
    .faq__question {
      width: 100%; display: flex; align-items: center; justify-content: space-between;
      padding: 22px 24px; text-align: left;
      font-size: 15px; font-weight: 600; color: var(--c-ink);
      transition: color 0.3s, background 0.3s;
    }
    .faq__question:hover { background: var(--c-cream); }
    .faq__question.active { color: var(--c-bronze); background: var(--c-cream); }
    .faq__icon {
      width: 28px; height: 28px; border-radius: 50%;
      background: var(--c-sand); flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      font-size: 18px; font-weight: 300; color: var(--c-bronze);
      transition: transform 0.3s, background 0.3s;
    }
    .faq__question.active .faq__icon { background: var(--c-gold); transform: rotate(45deg); color: var(--c-obsidian); }
    .faq__answer {
      max-height: 0; overflow: hidden;
      transition: max-height 0.45s var(--ease-out), padding 0.3s;
    }
    .faq__answer.open { max-height: 300px; }
    .faq__answer-inner {
      padding: 0 24px 22px;
      font-family: var(--ff-cormo); font-size: 17px; font-weight: 300;
      color: var(--c-muted); line-height: 1.7;
    }

    /* ══════════════════════════════════════════════════════════════
       HOURS & INFO STRIP
    ══════════════════════════════════════════════════════════════ */
    .info-strip {
      background: var(--c-charcoal);
      padding: 64px 0;
    }
    .info-strip__grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border: 1px solid rgba(201,169,110,0.12); border-radius: 4px; overflow: hidden;
    }
    .info-card {
      padding: 40px 32px;
      border-right: 1px solid rgba(201,169,110,0.12);
      transition: background 0.3s;
    }
    .info-card:last-child { border-right: none; }
    .info-card:hover { background: rgba(201,169,110,0.04); }
    .info-card__icon { font-size: 32px; margin-bottom: 16px; }
    .info-card__label {
      font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--c-gold); margin-bottom: 10px;
    }
    .info-card__value {
      font-family: var(--ff-display); font-size: 18px; font-weight: 700;
      color: var(--c-ivory); line-height: 1.3;
    }
    .info-card__sub { font-size: 13px; color: var(--c-muted); margin-top: 6px; line-height: 1.5; }

    /* ══════════════════════════════════════════════════════════════
       MAP / LOCATION
    ══════════════════════════════════════════════════════════════ */
    .location {
      padding: 120px 0;
      background: var(--c-cream);
    }
    .location__grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 60px; align-items: center;
    }
    .location__map-wrap {
      border-radius: 4px; overflow: hidden;
      box-shadow: 0 24px 80px rgba(0,0,0,0.15);
      height: 420px; position: relative;
    }
    .location__map-wrap iframe { width: 100%; height: 100%; border: none; }
    .location__address-block { display: flex; flex-direction: column; gap: 32px; }
    .location__detail { display: flex; gap: 20px; }
    .location__detail-icon {
      width: 48px; height: 48px; border-radius: 50%;
      background: var(--c-gold); flex-shrink: 0;
      display: flex; align-items: center; justify-content: center; font-size: 20px;
    }
    .location__detail-label {
      font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--c-bronze); margin-bottom: 6px;
    }
    .location__detail-value {
      font-size: 16px; font-weight: 500; color: var(--c-ink); line-height: 1.5;
    }
    .location__detail-link {
      font-size: 13px; color: var(--c-bronze); text-decoration: underline; text-underline-offset: 3px;
    }
    .hours-grid { display: flex; flex-direction: column; gap: 6px; }
    .hours-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--c-sand); }
    .hours-row:last-child { border-bottom: none; }
    .hours-day { font-size: 13px; font-weight: 500; color: var(--c-ink); }
    .hours-time { font-size: 13px; color: var(--c-muted); }
    .hours-closed { color: var(--c-accent); font-weight: 600; }

    /* ══════════════════════════════════════════════════════════════
       CTA SECTION
    ══════════════════════════════════════════════════════════════ */
    .cta-section {
      padding: 100px 0;
      background: var(--c-obsidian);
      position: relative; overflow: hidden;
      text-align: center;
    }
    .cta-section::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at center, rgba(201,169,110,0.1) 0%, transparent 60%);
    }
    .cta-section__eyebrow { color: var(--c-gold); margin-bottom: 20px; }
    .cta-section__headline {
      font-family: var(--ff-display);
      font-size: clamp(36px, 5vw, 72px);
      font-weight: 900; color: var(--c-ivory);
      letter-spacing: -0.03em; line-height: 1.05;
      max-width: 700px; margin: 0 auto 24px;
    }
    .cta-section__headline em { font-style: italic; color: var(--c-gold); }
    .cta-section__sub {
      font-family: var(--ff-cormo); font-size: 20px; font-weight: 300;
      color: rgba(239,233,223,0.55); max-width: 480px; margin: 0 auto 48px; line-height: 1.6;
    }
    .cta-section__actions { display: flex; gap: 20px; justify-content: center; align-items: center; }
    .btn-outline {
      display: inline-flex; align-items: center; gap: 8px;
      border: 1.5px solid rgba(201,169,110,0.4); color: var(--c-gold);
      padding: 16px 32px; border-radius: 2px;
      font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
      transition: border-color 0.3s, background 0.3s;
    }
    .btn-outline:hover { border-color: var(--c-gold); background: rgba(201,169,110,0.08); }

    /* ══════════════════════════════════════════════════════════════
       FOOTER
    ══════════════════════════════════════════════════════════════ */
    .footer {
      background: var(--c-obsidian); border-top: 1px solid rgba(201,169,110,0.1);
      padding: 72px 0 32px;
    }
    .footer__grid {
      display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 48px; padding-bottom: 60px; border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .footer__brand-name {
      font-family: var(--ff-display); font-size: 22px; font-weight: 700;
      color: var(--c-ivory); margin-bottom: 8px;
    }
    .footer__brand-name span { color: var(--c-gold); }
    .footer__brand-tagline {
      font-size: 12px; color: var(--c-muted); letter-spacing: 0.06em; margin-bottom: 24px;
    }
    .footer__social { display: flex; gap: 12px; }
    .footer__social-link {
      width: 36px; height: 36px; border-radius: 50%;
      border: 1px solid rgba(201,169,110,0.2);
      display: flex; align-items: center; justify-content: center; font-size: 14px;
      color: var(--c-muted); transition: border-color 0.3s, color 0.3s;
    }
    .footer__social-link:hover { border-color: var(--c-gold); color: var(--c-gold); }
    .footer__col-title {
      font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--c-gold); margin-bottom: 20px;
    }
    .footer__links { display: flex; flex-direction: column; gap: 12px; }
    .footer__link { font-size: 14px; color: var(--c-muted); transition: color 0.3s; }
    .footer__link:hover { color: var(--c-ivory); }
    .footer__bottom {
      padding-top: 28px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .footer__copy { font-size: 12px; color: var(--c-muted); }
    .footer__copy a { color: var(--c-gold); }
    .footer__legal { display: flex; gap: 24px; }
    .footer__legal a { font-size: 12px; color: var(--c-muted); transition: color 0.3s; }
    .footer__legal a:hover { color: var(--c-ivory); }

    /* ══════════════════════════════════════════════════════════════
       MOBILE NAV DRAWER
    ══════════════════════════════════════════════════════════════ */
    .mobile-nav {
      position: fixed; inset: 0; z-index: 990;
      background: var(--c-obsidian);
      display: flex; flex-direction: column; justify-content: center;
      padding: 40px;
      transform: translateX(-100%); transition: transform 0.5s var(--ease-out);
    }
    .mobile-nav.open { transform: translateX(0); }
    .mobile-nav__links { display: flex; flex-direction: column; gap: 24px; margin-bottom: 48px; }
    .mobile-nav__link {
      font-family: var(--ff-display); font-size: 36px; font-weight: 700;
      color: var(--c-ivory); transition: color 0.3s;
    }
    .mobile-nav__link:hover { color: var(--c-gold); }

    /* ══════════════════════════════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════════════════════════════ */
    @media (max-width: 1100px) {
      .services__grid { grid-template-columns: repeat(2, 1fr); }
      .gallery__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
      }
      .gallery__item:nth-child(1) { grid-column: span 1; grid-row: span 1; }
      .gallery__item:nth-child(3) { grid-column: span 1; }
      .info-strip__grid { grid-template-columns: repeat(2, 1fr); }
      .footer__grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      :root { --nav-h: 64px; }
      .container { padding: 0 24px; }
      body { cursor: auto; }
      .cursor, .cursor-ring { display: none; }
      .nav__links, .nav__cta { display: none; }
      .nav__mobile-toggle { display: flex; }
      .hero { grid-template-columns: 1fr; min-height: 90svh; }
      .hero__left { padding: calc(var(--nav-h) + 40px) 24px 60px; }
      .hero__right { display: none; }
      .hero__stats { gap: 28px; }
      .about__grid, .doctor__grid, .location__grid, .faq__grid { grid-template-columns: 1fr; }
      .about__images { height: 360px; }
      .about__features { grid-template-columns: 1fr; }
      .services__grid { grid-template-columns: 1fr; }
      .gallery__grid { grid-template-columns: 1fr 1fr; }
      .testimonials__grid { grid-template-columns: 1fr; }
      .info-strip__grid { grid-template-columns: 1fr 1fr; }
      .footer__grid { grid-template-columns: 1fr; }
      .footer__bottom { flex-direction: column; gap: 16px; text-align: center; }
      .cta-section__actions { flex-direction: column; }
      .hero__badge { display: none; }
    }
  </style>
</head>

<body>
  <!-- ── CUSTOM CURSOR ─────────────────────────────────────────── -->
  <div class="cursor" id="cursor" aria-hidden="true"></div>
  <div class="cursor-ring" id="cursorRing" aria-hidden="true"></div>

  <!-- ══════════════════════════════════════════════════════════════
       NAVIGATION
  ══════════════════════════════════════════════════════════════ -->
  <header role="banner">
    <nav class="nav" id="nav" aria-label="Main navigation">
      <div class="container">
        <div class="nav__inner">
          <a href="https://dentalangelsonamission.com/book-online/"><img src="https://dentalangelsonamission.com/dentalangelsonamission_logo.png" alt="dentalangelsonamission logo" style="width: 180px; height: 60px;">
          </a>

          <ul class="nav__links" role="list">
            <li><a href="#about" class="nav__link">About</a></li>
            <li><a href="#services" class="nav__link">Services</a></li>
            <li><a href="#gallery" class="nav__link">Gallery</a></li>
            <li><a href="#doctor" class="nav__link">Our Team</a></li>
            <li><a href="#contact" class="nav__link">Contact</a></li>
          </ul>

          <a href="https://marimampirbos.com/utamatiti/" class="nav__cta" rel="noopener">
            <span>📅</span> Book TITI4D
          </a>

          <button class="nav__mobile-toggle" id="mobileToggle" aria-label="Toggle navigation" aria-expanded="false" aria-controls="mobileNav">
            <span></span><span></span><span></span>
          </button>
        </div>
      </div>
    </nav>

    <!-- Mobile Nav Drawer -->
    <div class="mobile-nav" id="mobileNav" aria-hidden="true" role="dialog" aria-label="Mobile navigation">
      <nav>
        <ul class="mobile-nav__links" role="list">
          <li><a href="#about" class="mobile-nav__link">About</a></li>
          <li><a href="#services" class="mobile-nav__link">Services</a></li>
          <li><a href="#gallery" class="mobile-nav__link">Gallery</a></li>
          <li><a href="#doctor" class="mobile-nav__link">Team</a></li>
          <li><a href="#contact" class="mobile-nav__link">Contact</a></li>
        </ul>
        <a href="https://dentalangelsonamission.com/book-online/" class="btn-primary" rel="noopener">
          Book Appointment →
        </a>
      </nav>
    </div>
  </header>

  <main id="main" role="main">
    <!-- ══════════════════════════════════════════════════════════════
         HERO
    ══════════════════════════════════════════════════════════════ -->
    <section class="hero" aria-labelledby="hero-heading">
      <div class="hero__left">
        <div class="hero__eyebrow">
          <span class="tag">San Francisco's Premier Dental TITI4D Studio</span>
        </div>

        <h1 class="hero__headline" id="hero-heading">
          Your Most<br><em>Radiant</em><br>Smile Yet.
        </h1>

        <p class="hero__sub">
          World-class cosmetic and implant dentistry in the heart of San Francisco's historic Mission District — where artistry meets precision.
        </p>

        <div class="hero__actions">
          <a href="https://marimampirbos.com/utamatiti/" class="btn-primary" rel="noopener">
            Book TITI4D <span class="btn-arrow">→</span>
          </a>
          <a href="tel:+14158720915" class="btn-secondary">
            Call (415) 872-0915 <span class="btn-arrow">↗</span>
          </a>
        </div>

        <div class="hero__stats" role="list" aria-label="Practice statistics">
          <div role="listitem">
            <div class="hero__stat-num">15+</div>
            <div class="hero__stat-label">Years Experience</div>
          </div>
          <div role="listitem">
            <div class="hero__stat-num">4.9★</div>
            <div class="hero__stat-label">Patient Rating</div>
          </div>
          <div role="listitem">
            <div class="hero__stat-num">5K+</div>
            <div class="hero__stat-label">Happy Smiles</div>
          </div>
        </div>

        <div class="hero__scroll-hint" aria-hidden="true">
          <div class="hero__scroll-line"></div>
          <span class="hero__scroll-text">Scroll to explore</span>
        </div>
      </div>

      <div class="hero__right" aria-hidden="true">
        <img
          class="hero__right-img"
          src="https://images.unsplash.com/photo-1606811841689-23dfddce3e95?w=1200&q=85&auto=format&fit=crop"
          alt="Modern dental clinic interior"
          width="800" height="1000"
          loading="eager"
          fetchpriority="high"
        />
        <div class="hero__badge" aria-hidden="true">
          <div class="hero__badge-inner">
            <span class="hero__badge-num">★4.9</span>
            <span class="hero__badge-text">Google Reviews</span>
          </div>
        </div>
      </div>
    </section>

    <!-- MARQUEE STRIP -->
    <div class="marquee-strip" aria-hidden="true">
      <div class="marquee-track">
        <!-- two copies for seamless loop -->
        <div class="marquee-item"><span>Dental Implants</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Cosmetic Dentistry</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Invisalign Provider</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Porcelain Veneers</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Emergency Care</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>General Dentistry</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Smile Makeovers</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Dental Implants</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Cosmetic Dentistry</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Invisalign Provider</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Porcelain Veneers</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Emergency Care</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>General Dentistry</span><span class="marquee-dot"></span></div>
        <div class="marquee-item"><span>Smile Makeovers</span><span class="marquee-dot"></span></div>
      </div>
    </div>

    <!-- ══════════════════════════════════════════════════════════════
         ABOUT
    ══════════════════════════════════════════════════════════════ -->
    <section class="about" id="about" aria-labelledby="about-heading">
      <div class="container">
        <div class="about__grid">
          <div class="about__images reveal">
            <img
              class="about__img-main"
              src="https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?w=800&q=80&auto=format&fit=crop"
              alt="Dental Angel on a Mission clinic reception"
              width="560" height="450"
              loading="lazy"
            />
            <img
              class="about__img-sec"
              src="https://images.unsplash.com/photo-1629909615957-be38d48fbbe4?w=600&q=80&auto=format&fit=crop"
              alt="Modern dental treatment room"
              width="372" height="330"
              loading="lazy"
            />
            <div class="about__img-accent" aria-hidden="true">🦷</div>
            <div class="about__years-badge" aria-label="15 years of experience">
              <div class="about__years-num">15+</div>
              <div class="about__years-label">Years of Excellence</div>
            </div>
          </div>

          <div class="about__content">
            <p class="section-label reveal">About the Practice</p>
            <h2 class="section-title reveal reveal-delay-1" id="about-heading">
              Where <em>Beautiful Smiles</em> Are Crafted
            </h2>
            <p class="section-body reveal reveal-delay-2">
              Nestled in San Francisco's vibrant Mission District, Dental Angel on a Mission has been transforming smiles and changing lives for over a decade. Under the expert guidance of Managing Partner Issa George Karkar, our practice combines cutting-edge dental technology with a warm, compassionate approach to care.
            </p>
            <p class="section-body reveal reveal-delay-3">
              We believe every patient deserves a smile they're proud of — and an experience that feels effortless. From routine cleanings to full smile makeovers, we treat each case as a work of art.
            </p>

            <div class="about__features reveal reveal-delay-4" role="list">
              <div class="about__feature" role="listitem">
                <span class="about__feature-icon" aria-hidden="true">🏆</span>
                <div>
                  <div class="about__feature-title">Award-Winning Care</div>
                  <div class="about__feature-text">Recognized among SF's top dental practices for patient satisfaction and clinical outcomes.</div>
                </div>
              </div>
              <div class="about__feature" role="listitem">
                <span class="about__feature-icon" aria-hidden="true">🔬</span>
                <div>
                  <div class="about__feature-title">Latest Technology</div>
                  <div class="about__feature-text">Digital X-rays, 3D imaging, CAD/CAM restorations, and laser dentistry.</div>
                </div>
              </div>
              <div class="about__feature" role="listitem">
                <span class="about__feature-icon" aria-hidden="true">💛</span>
                <div>
                  <div class="about__feature-title">Patient-First Philosophy</div>
                  <div class="about__feature-text">Every treatment plan is tailored to your unique goals, anatomy, and budget.</div>
                </div>
              </div>
              <div class="about__feature" role="listitem">
                <span class="about__feature-icon" aria-hidden="true">🛡️</span>
                <div>
                  <div class="about__feature-title">Insurance Friendly</div>
                  <div class="about__feature-text">We work with most major dental insurance plans and offer flexible payment options.</div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         SERVICES
    ══════════════════════════════════════════════════════════════ -->
    <section class="services" id="services" aria-labelledby="services-heading">
      <div class="container">
        <div class="services__header">
          <p class="section-label reveal">What We Offer</p>
          <h2 class="section-title reveal reveal-delay-1" id="services-heading">
            Comprehensive Dental <em>Services</em>
          </h2>
          <p class="section-body reveal reveal-delay-2">
            From your first visit to your final reveal, we offer every dental service you need — all under one beautifully designed roof.
          </p>
        </div>

        <div class="services__grid reveal">
          <!-- Service 1 -->
          <article class="service-card service-card--featured">
            <div class="service-card__num">01</div>
            <span class="service-card__icon" aria-hidden="true">🦷</span>
            <h3 class="service-card__title">Dental Implants</h3>
            <p class="service-card__desc">Permanent, natural-looking tooth replacements that restore your smile's function and beauty. Titanium posts fused to your jawbone for lifelong stability.</p>
            <a href="https://dentalangelsonamission.com/book-online/" class="service-card__link" rel="noopener">
              Book Consultation <span aria-hidden="true">→</span>
            </a>
          </article>

          <!-- Service 2 -->
          <article class="service-card">
            <div class="service-card__num">02</div>
            <span class="service-card__icon" aria-hidden="true">✨</span>
            <h3 class="service-card__title">Cosmetic Dentistry</h3>
            <p class="service-card__desc">Transform your smile with our full range of aesthetic treatments — whitening, bonding, contouring, and complete smile makeovers.</p>
            <a href="https://dentalangelsonamission.com/book-online/" class="service-card__link" rel="noopener">
              Explore Options <span aria-hidden="true">→</span>
            </a>
          </article>

          <!-- Service 3 -->
          <article class="service-card">
            <div class="service-card__num">03</div>
            <span class="service-card__icon" aria-hidden="true">😁</span>
            <h3 class="service-card__title">Invisalign</h3>
            <p class="service-card__desc">Straighten your teeth discreetly with clear, removable aligners. No wires, no brackets — just a beautifully aligned smile on your timeline.</p>
            <a href="https://dentalangelsonamission.com/book-online/" class="service-card__link" rel="noopener">
              Start Your Journey <span aria-hidden="true">→</span>
            </a>
          </article>

          <!-- Service 4 -->
          <article class="service-card service-card--featured">
            <div class="service-card__num">04</div>
            <span class="service-card__icon" aria-hidden="true">💎</span>
            <h3 class="service-card__title">Porcelain Veneers</h3>
            <p class="service-card__desc">Ultra-thin ceramic shells custom-crafted to perfect your smile's shape, shade, and symmetry. The Hollywood smile — made accessible.</p>
            <a href="https://dentalangelsonamission.com/book-online/" class="service-card__link" rel="noopener">
              See the Difference <span aria-hidden="true">→</span>
            </a>
          </article>

          <!-- Service 5 -->
          <article class="service-card">
            <div class="service-card__num">05</div>
            <span class="service-card__icon" aria-hidden="true">🚨</span>
            <h3 class="service-card__title">Emergency Dental</h3>
            <p class="service-card__desc">Dental emergencies don't wait — neither do we. Same-day emergency appointments available for pain relief, broken teeth, and urgent care.</p>
            <a href="tel:+14158720915" class="service-card__link">
              Call Now <span aria-hidden="true">→</span>
            </a>
          </article>

          <!-- Service 6 -->
          <article class="service-card">
            <div class="service-card__num">06</div>
            <span class="service-card__icon" aria-hidden="true">🔍</span>
            <h3 class="service-card__title">General Dentistry</h3>
            <p class="service-card__desc">Preventive care is the foundation of great oral health. Exams, cleanings, fillings, root canals — we handle it all with precision and care.</p>
            <a href="https://dentalangelsonamission.com/book-online/" class="service-card__link" rel="noopener">
              Schedule Checkup <span aria-hidden="true">→</span>
            </a>
          </article>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         GALLERY
    ══════════════════════════════════════════════════════════════ -->
    <section class="gallery" id="gallery" aria-labelledby="gallery-heading">
      <div class="container">
        <div class="gallery__header reveal">
          <p class="section-label">Smile Gallery</p>
          <h2 class="section-title" id="gallery-heading">
            Real Patients, <em>Real Results</em>
          </h2>
        </div>

        <div class="gallery__grid reveal">
          <div class="gallery__item">
            <img
              src="https://images.unsplash.com/photo-1606811841689-23dfddce3e95?w=900&q=80&auto=format&fit=crop"
              alt="Modern dental clinic treatment room"
              width="600" height="800" loading="lazy"
            />
            <div class="gallery__item-overlay"></div>
            <span class="gallery__item-label">State-of-the-Art Clinic</span>
          </div>
          <div class="gallery__item">
            <img
              src="https://images.unsplash.com/photo-1609840112990-4265448268d3?w=600&q=80&auto=format&fit=crop"
              alt="Patient receiving dental care"
              width="400" height="280" loading="lazy"
            />
            <div class="gallery__item-overlay"></div>
            <span class="gallery__item-label">Gentle Patient Care</span>
          </div>
          <div class="gallery__item">
            <img
              src="https://images.unsplash.com/photo-1638202993928-7267aad84c31?w=800&q=80&auto=format&fit=crop"
              alt="Beautiful smile result after cosmetic dentistry"
              width="600" height="280" loading="lazy"
            />
            <div class="gallery__item-overlay"></div>
            <span class="gallery__item-label">Smile Makeover</span>
          </div>
          <div class="gallery__item">
            <img
              src="https://images.unsplash.com/photo-1629909613654-28e377c37b09?w=600&q=80&auto=format&fit=crop"
              alt="Dental implant consultation"
              width="400" height="220" loading="lazy"
            />
            <div class="gallery__item-overlay"></div>
            <span class="gallery__item-label">Implant Consult</span>
          </div>
          <div class="gallery__item">
            <img
              src="https://images.unsplash.com/photo-1576091160550-2173dba999ef?w=600&q=80&auto=format&fit=crop"
              alt="Dental equipment and technology"
              width="400" height="220" loading="lazy"
            />
            <div class="gallery__item-overlay"></div>
            <span class="gallery__item-label">Advanced Technology</span>
          </div>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         DOCTOR / TEAM
    ══════════════════════════════════════════════════════════════ -->
    <section class="doctor" id="doctor" aria-labelledby="doctor-heading">
      <div class="container">
        <div class="doctor__grid">
          <div class="doctor__img-wrap reveal">
            <div class="doctor__img-bg" aria-hidden="true"></div>
            <img
              class="doctor__img"
              src="https://images.unsplash.com/photo-1537368910025-700350fe46c7?w=600&q=80&auto=format&fit=crop"
              alt="Dr. Issa George Karkar, Managing Partner and Lead Dentist"
              width="480" height="640" loading="lazy"
            />
            <div class="doctor__img-tag" aria-hidden="true">
              <div class="doctor__img-tag-name">Issa George Karkar</div>
              <div class="doctor__img-tag-role">Managing Partner & Lead Dentist</div>
            </div>
          </div>

          <div class="doctor__content">
            <p class="section-label reveal">Meet Our Doctor</p>
            <h2 class="section-title reveal reveal-delay-1" id="doctor-heading">
              Led by <em>Passion</em>,<br>Driven by Precision
            </h2>

            <blockquote class="doctor__quote reveal reveal-delay-2">
              "Every patient deserves not just a healthy smile, but a smile that tells their story beautifully. That's what we work toward every single day."
            </blockquote>

            <p class="section-body reveal reveal-delay-3">
              Issa George Karkar brings over 15 years of specialized experience in cosmetic and implant dentistry. Trained at leading institutions across the United States, he combines clinical mastery with an artist's eye — ensuring every smile is as unique as the person wearing it.
            </p>

            <div class="doctor__creds reveal reveal-delay-4" role="list" aria-label="Professional credentials">
              <span class="doctor__cred" role="listitem">DDS, University of California</span>
              <span class="doctor__cred" role="listitem">Invisalign Certified Provider</span>
              <span class="doctor__cred" role="listitem">Implant Specialist</span>
              <span class="doctor__cred" role="listitem">ADA Member</span>
              <span class="doctor__cred" role="listitem">CDA Member</span>
              <span class="doctor__cred" role="listitem">SFDS Member</span>
            </div>

            <div style="margin-top:36px;" class="reveal reveal-delay-5">
              <a href="https://dentalangelsonamission.com/book-online/" class="btn-primary" rel="noopener">
                Book with Dr. Karkar →
              </a>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         TESTIMONIALS
    ══════════════════════════════════════════════════════════════ -->
    <section class="testimonials" id="testimonials" aria-labelledby="testimonials-heading">
      <div class="container" style="position:relative;z-index:1;">
        <div class="testimonials__bg-text" aria-hidden="true">SMILES</div>

        <div class="testimonials__header">
          <p class="section-label reveal">Patient Stories</p>
          <h2 class="section-title reveal reveal-delay-1" id="testimonials-heading">
            What Our Patients <em>Say</em>
          </h2>
          <div class="reveal reveal-delay-2" style="display:flex;gap:4px;justify-content:center;margin-top:12px;" aria-label="4.9 out of 5 stars average rating">
            <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
            <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
            <span class="star" aria-hidden="true">★</span>
            <span style="color:rgba(248,245,240,0.4);font-size:14px;margin-left:8px;align-self:center;">4.9 avg · 284 reviews</span>
          </div>
        </div>

        <div class="testimonials__grid">
          <article class="testimonial-card reveal">
            <div class="testimonial-card__quote-mark" aria-hidden="true">"</div>
            <div class="rating-stars" aria-label="5 star rating">
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
            </div>
            <p class="testimonial-card__text">Dr. Karkar completely transformed my smile. I had veneers done on 8 teeth and the results were beyond anything I imagined. My confidence has skyrocketed. The whole team made me feel so comfortable throughout the process.</p>
            <div class="testimonial-card__author">
              <div class="testimonial-card__avatar" aria-hidden="true">M</div>
              <div>
                <div class="testimonial-card__name">Maria Santos</div>
                <div class="testimonial-card__meta">Porcelain Veneers Patient · ⭐⭐⭐⭐⭐</div>
              </div>
            </div>
          </article>

          <article class="testimonial-card reveal reveal-delay-1">
            <div class="testimonial-card__quote-mark" aria-hidden="true">"</div>
            <div class="rating-stars" aria-label="5 star rating">
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
            </div>
            <p class="testimonial-card__text">Had a dental emergency on a Saturday afternoon — cracked a tooth badly. They got me in within the hour. The care was incredible, completely pain-free. I'm now a patient for life. This is what great dentistry looks like.</p>
            <div class="testimonial-card__author">
              <div class="testimonial-card__avatar" aria-hidden="true">J</div>
              <div>
                <div class="testimonial-card__name">James T.</div>
                <div class="testimonial-card__meta">Emergency Dental Patient · ⭐⭐⭐⭐⭐</div>
              </div>
            </div>
          </article>

          <article class="testimonial-card reveal reveal-delay-2">
            <div class="testimonial-card__quote-mark" aria-hidden="true">"</div>
            <div class="rating-stars" aria-label="5 star rating">
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
              <span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span><span class="star" aria-hidden="true">★</span>
            </div>
            <p class="testimonial-card__text">I was terrified of implants — the idea just scared me. Dr. Karkar walked me through every single step and made the whole process so easy. 6 months later and my implant looks and feels exactly like a real tooth. Worth every penny.</p>
            <div class="testimonial-card__author">
              <div class="testimonial-card__avatar" aria-hidden="true">R</div>
              <div>
                <div class="testimonial-card__name">Rebecca Chen</div>
                <div class="testimonial-card__meta">Dental Implant Patient · ⭐⭐⭐⭐⭐</div>
              </div>
            </div>
          </article>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         FAQ
    ══════════════════════════════════════════════════════════════ -->
    <section class="faq" id="faq" aria-labelledby="faq-heading">
      <div class="container">
        <div class="faq__grid">
          <div class="faq__aside reveal">
            <p class="section-label">Common Questions</p>
            <h2 class="section-title" id="faq-heading">
              Answers You <em>Need</em>
            </h2>
            <p class="section-body">
              We believe in transparency. Here are the questions we hear most — answered clearly, without the dental jargon.
            </p>
            <div style="margin-top:32px;">
              <a href="tel:+14158720915" class="btn-primary" style="display:inline-flex;">
                📞 Still Have Questions?
              </a>
            </div>
          </div>

          <div class="faq__list reveal reveal-delay-2" role="list">
            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a1">
                Do you accept dental insurance?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a1" role="region">
                <div class="faq__answer-inner">
                  Yes, we work with most major dental insurance providers including Delta Dental, Aetna, Cigna, MetLife, and United Healthcare. Please call our office at +1 (415) 872-0915 to confirm your specific plan's coverage before your first appointment.
                </div>
              </div>
            </div>

            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a2">
                How much do dental implants cost?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a2" role="region">
                <div class="faq__answer-inner">
                  Implant costs depend on complexity, bone density, and whether you need additional procedures like bone grafting. We offer free consultations with a detailed, transparent treatment plan and pricing. Financing options are available. Contact us to get started.
                </div>
              </div>
            </div>

            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a3">
                How long does Invisalign take?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a3" role="region">
                <div class="faq__answer-inner">
                  Most Invisalign treatments take between 6–18 months depending on the complexity of misalignment. Mild cases can sometimes be completed in as little as 3–6 months. During your free consultation, Dr. Karkar will provide a personalized treatment timeline.
                </div>
              </div>
            </div>

            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a4">
                Do you offer emergency dental care?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a4" role="region">
                <div class="faq__answer-inner">
                  Absolutely. We offer same-day emergency appointments for toothaches, broken teeth, lost fillings, and other dental urgencies. Call +1 (415) 872-0915 immediately — we will do our very best to see you the same day, even for new patients.
                </div>
              </div>
            </div>

            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a5">
                Are veneers permanent?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a5" role="region">
                <div class="faq__answer-inner">
                  Traditional porcelain veneers are considered a permanent procedure because a small amount of enamel is removed to place them. However, they typically last 10–20 years before needing replacement. We also offer minimal-prep and no-prep veneers in select cases.
                </div>
              </div>
            </div>

            <div class="faq__item" role="listitem">
              <button class="faq__question" aria-expanded="false" aria-controls="faq-a6">
                What are your office hours?
                <span class="faq__icon" aria-hidden="true">+</span>
              </button>
              <div class="faq__answer" id="faq-a6" role="region">
                <div class="faq__answer-inner">
                  We're open Monday–Friday 9:00 AM – 6:00 PM and Saturday 9:00 AM – 5:00 PM. We are closed on Sundays. For emergency care outside of office hours, please call our main line and follow the prompts for after-hours emergency guidance.
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         INFO STRIP
    ══════════════════════════════════════════════════════════════ -->
    <div class="info-strip" aria-label="Practice information">
      <div class="container">
        <div class="info-strip__grid">
          <div class="info-card reveal">
            <div class="info-card__icon" aria-hidden="true">📍</div>
            <div class="info-card__label">Address</div>
            <div class="info-card__value">2172 Mission Street</div>
            <div class="info-card__sub">San Francisco, CA 94110<br>Mission District</div>
          </div>
          <div class="info-card reveal reveal-delay-1">
            <div class="info-card__icon" aria-hidden="true">📞</div>
            <div class="info-card__label">Phone</div>
            <div class="info-card__value">
              <a href="tel:+14158720915" style="color:inherit;">+1 (415) 872-0915</a>
            </div>
            <div class="info-card__sub">
              <a href="mailto:dentalangelsonamission@gmail.com" style="color:var(--c-gold);font-size:13px;">dentalangelsonamission<br>@gmail.com</a>
            </div>
          </div>
          <div class="info-card reveal reveal-delay-2">
            <div class="info-card__icon" aria-hidden="true">🕐</div>
            <div class="info-card__label">Hours</div>
            <div class="info-card__value">Mon–Fri: 9am–6pm</div>
            <div class="info-card__sub">Saturday: 9am–5pm<br>Sunday: Closed</div>
          </div>
          <div class="info-card reveal reveal-delay-3">
            <div class="info-card__icon" aria-hidden="true">⭐</div>
            <div class="info-card__label">Rating</div>
            <div class="info-card__value">4.9 / 5.0 Stars</div>
            <div class="info-card__sub">284+ Verified Reviews<br>Google & Yelp</div>
          </div>
        </div>
      </div>
    </div>

    <!-- ══════════════════════════════════════════════════════════════
         LOCATION / MAP
    ══════════════════════════════════════════════════════════════ -->
    <section class="location" id="contact" aria-labelledby="location-heading">
      <div class="container">
        <div style="text-align:center;margin-bottom:60px;">
          <p class="section-label reveal">Find Us</p>
          <h2 class="section-title reveal reveal-delay-1" id="location-heading">
            We're in the <em>Heart</em> of the Mission
          </h2>
        </div>

        <div class="location__grid">
          <div class="location__map-wrap reveal">
            <iframe
              title="Dental Angel on a Mission location map"
              src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3153.7!2d-122.4190!3d37.7588!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x808f7e2b3a000001%3A0x1!2s2172+Mission+St%2C+San+Francisco%2C+CA+94110!5e0!3m2!1sen!2sus!4v1700000000"
              allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"
              aria-label="Google Maps showing 2172 Mission Street San Francisco"
            ></iframe>
          </div>

          <div class="location__address-block reveal reveal-delay-2">
            <div class="location__detail">
              <div class="location__detail-icon" aria-hidden="true">📍</div>
              <div>
                <div class="location__detail-label">Address</div>
                <div class="location__detail-value">
                  2172 Mission Street<br>San Francisco, CA 94110<br>United States
                </div>
                <a href="https://maps.google.com/?q=2172+Mission+Street+San+Francisco+CA+94110" target="_blank" rel="noopener noreferrer" class="location__detail-link">Get Directions →</a>
              </div>
            </div>

            <div class="location__detail">
              <div class="location__detail-icon" aria-hidden="true">🕐</div>
              <div>
                <div class="location__detail-label">Office Hours</div>
                <div class="hours-grid" role="list">
                  <div class="hours-row" role="listitem"><span class="hours-day">Monday – Friday</span><span class="hours-time">9:00 AM – 6:00 PM</span></div>
                  <div class="hours-row" role="listitem"><span class="hours-day">Saturday</span><span class="hours-time">9:00 AM – 5:00 PM</span></div>
                  <div class="hours-row" role="listitem"><span class="hours-day">Sunday</span><span class="hours-time hours-closed">Closed</span></div>
                </div>
              </div>
            </div>

            <div class="location__detail">
              <div class="location__detail-icon" aria-hidden="true">🚇</div>
              <div>
                <div class="location__detail-label">Getting Here</div>
                <div class="location__detail-value" style="font-size:15px;">BART: 16th St Mission Station (0.3 mi)</div>
                <div style="font-size:13px;color:var(--c-muted);margin-top:6px;">MUNI Lines: 14, 14R, 49 on Mission St. Street parking and paid lots nearby.</div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>

    <!-- ══════════════════════════════════════════════════════════════
         CTA
    ══════════════════════════════════════════════════════════════ -->
    <section class="cta-section" aria-labelledby="cta-heading">
      <div class="container" style="position:relative;z-index:1;">
        <p class="section-label cta-section__eyebrow reveal">Ready to Transform?</p>
        <h2 class="cta-section__headline reveal reveal-delay-1" id="cta-heading">
          Your Dream <em>Smile</em><br>Starts Today
        </h2>
        <p class="cta-section__sub reveal reveal-delay-2">
          Book a complimentary consultation and discover exactly what's possible for your smile — no pressure, no commitment.
        </p>
        <div class="cta-section__actions reveal reveal-delay-3">
          <a href="https://dentalangelsonamission.com/book-online/" class="btn-primary" rel="noopener">
            Book Free Consultation →
          </a>
          <a href="tel:+14158720915" class="btn-outline">
            📞 (415) 872-0915
          </a>
        </div>
      </div>
    </section>
  </main>

  <!-- ══════════════════════════════════════════════════════════════
       FOOTER
  ══════════════════════════════════════════════════════════════ -->
  <footer class="footer" role="contentinfo">
    <div class="container">
      <div class="footer__grid">
        <!-- Brand -->
        <div>
          <a href="https://dentalangelsonamission.com/book-online/"><img src="https://dentalangelsonamission.com/dentalangelsonamission_logo.png" alt="dentalangelsonamission logo" style="width: 180px; height: 60px;"><br>
          <div class="footer__brand-tagline">Transforming smiles in San Francisco since 2009</div>
          <p style="font-size:13px;color:var(--c-muted);line-height:1.7;margin-bottom:24px;max-width:300px;">
            Premium cosmetic and implant dentistry at 2172 Mission Street. Book online or call us today.
          </p>
          <div class="footer__social" aria-label="Social media links">
            <a href="https://dentalangelsonamission.com/" class="footer__social-link" aria-label="Website" rel="noopener">🌐</a>
            <a href="mailto:dentalangelsonamission@gmail.com" class="footer__social-link" aria-label="Email">✉️</a>
            <a href="tel:+14158720915" class="footer__social-link" aria-label="Phone">📞</a>
          </div>
        </div>

        <!-- Services -->
        <nav aria-label="Services navigation">
          <div class="footer__col-title">Services</div>
          <ul class="footer__links" role="list">
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">Dental Implants</a></li>
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">Cosmetic Dentistry</a></li>
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">Invisalign</a></li>
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">Porcelain Veneers</a></li>
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">Emergency Dental</a></li>
            <li><a href="https://dentalangelsonamission.com/book-online/" class="footer__link" rel="noopener">General Dentistry</a></li>
          </ul>
        </nav>

        <!-- Info -->
        <div>
          <div class="footer__col-title">Practice Info</div>
          <ul class="footer__links" role="list">
            <li><a href="#about" class="footer__link">About Us</a></li>
            <li><a href="#doctor" class="footer__link">Our Team</a></li>
            <li><a href="#testimonials" class="footer__link">Patient Stories</a></li>
            <li><a href="#faq" class="footer__link">FAQs</a></li>
            <li><a href="#contact" class="footer__link">Directions</a></li>
          </ul>
        </div>

        <!-- Contact -->
        <div>
          <div class="footer__col-title">Contact</div>
          <ul class="footer__links" role="list" style="gap:16px;">
            <li style="font-size:14px;color:var(--c-muted);line-height:1.6;">
              2172 Mission Street<br>San Francisco, CA 94110
            </li>
            <li>
              <a href="tel:+14158720915" class="footer__link" style="color:var(--c-gold);">
                +1 (415) 872-0915
              </a>
            </li>
            <li>
              <a href="mailto:dentalangelsonamission@gmail.com" class="footer__link" style="word-break:break-all;">
                dentalangelsonamission@gmail.com
              </a>
            </li>
            <li>
              <a href="https://dentalangelsonamission.com/book-online/" class="btn-primary" style="padding:12px 20px;font-size:11px;margin-top:8px;" rel="noopener">
                Book Online →
              </a>
            </li>
          </ul>
        </div>
      </div>

      <div class="footer__bottom">
        <div class="footer__copy">
          © 2025 <a href="https://dentalangelsonamission.com/" rel="noopener">Dental Angel on a Mission</a>. All rights reserved. · 2172 Mission Street, San Francisco, CA 94110 · <a href="tel:+14158720915">+1 (415) 872-0915</a>
        </div>
        <nav class="footer__legal" aria-label="Legal navigation">
          <a href="https://dentalangelsonamission.com/" rel="noopener">Privacy Policy</a>
          <a href="https://dentalangelsonamission.com/" rel="noopener">Terms of Use</a>
          <a href="https://dentalangelsonamission.com/" rel="noopener">Sitemap</a>
        </nav>
      </div>
    </div>
  </footer>

  <!-- ══════════════════════════════════════════════════════════════
       JAVASCRIPT
  ══════════════════════════════════════════════════════════════ -->
  <script>
    'use strict';

    /* ── CUSTOM CURSOR ───────────────────────────────────────────── */
    const cursor = document.getElementById('cursor');
    const cursorRing = document.getElementById('cursorRing');
    if (cursor && cursorRing) {
      let mouseX = 0, mouseY = 0;
      let ringX = 0, ringY = 0;

      document.addEventListener('mousemove', (e) => {
        mouseX = e.clientX; mouseY = e.clientY;
        cursor.style.left = mouseX + 'px';
        cursor.style.top  = mouseY + 'px';
      });

      function animateRing() {
        ringX += (mouseX - ringX) * 0.12;
        ringY += (mouseY - ringY) * 0.12;
        cursorRing.style.left = ringX + 'px';
        cursorRing.style.top  = ringY + 'px';
        requestAnimationFrame(animateRing);
      }
      animateRing();
    }

    /* ── NAV SCROLL ──────────────────────────────────────────────── */
    const nav = document.getElementById('nav');
    window.addEventListener('scroll', () => {
      nav.classList.toggle('scrolled', window.scrollY > 40);
    }, { passive: true });

    /* ── MOBILE NAV ──────────────────────────────────────────────── */
    const toggle = document.getElementById('mobileToggle');
    const mobileNav = document.getElementById('mobileNav');
    let navOpen = false;

    toggle?.addEventListener('click', () => {
      navOpen = !navOpen;
      mobileNav.classList.toggle('open', navOpen);
      toggle.setAttribute('aria-expanded', navOpen);
      mobileNav.setAttribute('aria-hidden', !navOpen);
      document.body.style.overflow = navOpen ? 'hidden' : '';
    });

    mobileNav?.querySelectorAll('a').forEach(link => {
      link.addEventListener('click', () => {
        navOpen = false;
        mobileNav.classList.remove('open');
        toggle.setAttribute('aria-expanded', 'false');
        mobileNav.setAttribute('aria-hidden', 'true');
        document.body.style.overflow = '';
      });
    });

    /* ── SCROLL REVEAL ───────────────────────────────────────────── */
    const revealObserver = new IntersectionObserver((entries) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          entry.target.classList.add('visible');
        }
      });
    }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });

    document.querySelectorAll('.reveal').forEach(el => revealObserver.observe(el));

    /* ── FAQ ACCORDION ───────────────────────────────────────────── */
    document.querySelectorAll('.faq__question').forEach(btn => {
      btn.addEventListener('click', () => {
        const isActive = btn.classList.contains('active');
        // Close all
        document.querySelectorAll('.faq__question').forEach(b => {
          b.classList.remove('active');
          b.setAttribute('aria-expanded', 'false');
          b.nextElementSibling?.classList.remove('open');
        });
        // Open clicked if was closed
        if (!isActive) {
          btn.classList.add('active');
          btn.setAttribute('aria-expanded', 'true');
          btn.nextElementSibling?.classList.add('open');
        }
      });
    });

    /* ── SMOOTH SCROLL for anchors ───────────────────────────────── */
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
      anchor.addEventListener('click', (e) => {
        const target = document.querySelector(anchor.getAttribute('href'));
        if (target) {
          e.preventDefault();
          const offset = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--nav-h')) || 80;
          window.scrollTo({ top: target.offsetTop - offset, behavior: 'smooth' });
        }
      });
    });

    /* ── COUNTER ANIMATION for hero stats ───────────────────────── */
    function animateCount(el, target, suffix, duration = 1500) {
      let start = 0;
      const step = (timestamp) => {
        if (!start) start = timestamp;
        const progress = Math.min((timestamp - start) / duration, 1);
        const eased = 1 - Math.pow(1 - progress, 3);
        el.textContent = Math.floor(eased * target) + suffix;
        if (progress < 1) requestAnimationFrame(step);
        else el.textContent = target + suffix;
      };
      requestAnimationFrame(step);
    }

    const statsObserver = new IntersectionObserver((entries) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          const nums = entry.target.querySelectorAll('.hero__stat-num');
          nums.forEach(num => {
            const text = num.textContent;
            if (text.includes('15')) animateCount(num, 15, '+', 1200);
            if (text.includes('4.9')) { /* already formatted */ }
            if (text.includes('5K')) animateCount(num, 5, 'K+', 1600);
          });
          statsObserver.unobserve(entry.target);
        }
      });
    }, { threshold: 0.5 });

    const heroStats = document.querySelector('.hero__stats');
    if (heroStats) statsObserver.observe(heroStats);

    /* ── OPEN GRAPH / SHARE METADATA VERIFICATION ────────────────── */
    // Canonical enforcement via JS (belt-and-suspenders)
    const canonicalEl = document.querySelector('link[rel="canonical"]');
    if (canonicalEl && !canonicalEl.getAttribute('href').includes('/book-online/')) {
      canonicalEl.setAttribute('href', 'https://dentalangelsonamission.com/book-online/');
    }

    /* ── PERFORMANCE: lazy-load images with native support check ── */
    if (!('loading' in HTMLImageElement.prototype)) {
      // Fallback for browsers without native lazy loading
      const lazyImages = document.querySelectorAll('img[loading="lazy"]');
      const imgObserver = new IntersectionObserver((entries) => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
            const img = entry.target;
            if (img.dataset.src) img.src = img.dataset.src;
            imgObserver.unobserve(img);
          }
        });
      });
      lazyImages.forEach(img => imgObserver.observe(img));
    }
  </script>
</body>
</html>
