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

    :root {
      --cream: #FBF8F3;
      --teal: #62ACAE;
      --teal-dark: #2E6E70;
      --coral: #E8705A;
      --coral-dark: #D55B45;
      --gold: #F4C540;
      --navy: #1C2E3A;
      --slate: #8AAAB8;
      --charcoal: #222222;
    }

    html { scroll-behavior: smooth; }
    :target, [id] { scroll-margin-top: 92px; }
    body {
      background: var(--cream);
      color: var(--charcoal);
      font-family: 'Inter', system-ui, sans-serif;
      font-size: 16px;
      line-height: 1.6;
    }
    .font-display { font-family: 'Anton', Impact, sans-serif; font-weight: 400; letter-spacing: 0.5px; }

    /* ── NAVBAR ── */
    nav {
      position: sticky; top: 0; z-index: 50;
      background: rgba(251, 248, 243, 0.95);
      backdrop-filter: blur(8px);
      border-bottom: 1px solid rgba(34,34,34,0.08);
    }
    .nav-inner {
      max-width: 1040px; margin: 0 auto; padding: 14px 28px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .nav-logo { display: flex; align-items: center; text-decoration: none; }
    .nav-logo img { height: 46px; width: auto; display: block; }
    .nav-links { display: flex; gap: 30px; list-style: none; }
    .nav-links a {
      font-size: 0.875rem; font-weight: 500; color: var(--charcoal);
      text-decoration: none; transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--teal); }
    .nav-right { display: flex; align-items: center; gap: 14px; }
    .lang-toggle {
      font-size: 0.85rem; color: var(--charcoal);
      background: none; border: 1px solid rgba(34,34,34,0.22);
      padding: 6px 14px; border-radius: 999px; cursor: pointer; transition: all 0.2s;
    }
    .lang-toggle:hover { border-color: var(--teal); color: var(--teal); }
    .btn-primary {
      background: var(--coral); color: #fff;
      font-size: 0.875rem; font-weight: 600; padding: 10px 20px; border-radius: 999px;
      text-decoration: none; border: none; cursor: pointer; transition: background 0.2s;
      white-space: nowrap;
    }
    .btn-primary:hover { background: var(--coral-dark); }
    .link-cta { display: inline-block; text-align: left; color: var(--coral); font-weight: 700; font-size: 1.12rem; text-decoration: none; border-bottom: 1.5px solid rgba(232,112,90,0.4); padding-bottom: 3px; transition: color .2s, border-color .2s; }
    .nav-right .link-cta { font-size: 0.88rem; border-bottom-width: 1px; }
    .link-cta:hover { color: var(--coral-dark); border-bottom-color: var(--coral-dark); }
    .link-cta--green { color: var(--teal-dark); border-bottom-color: rgba(46,110,112,0.4); }
    .link-cta--green:hover { color: #1e4d4f; border-bottom-color: #1e4d4f; }
    .link-cta--gold { color: var(--gold); border-bottom-color: rgba(244,197,64,0.5); }
    .link-cta--gold:hover { color: #e0b02e; border-bottom-color: #e0b02e; }
    .link-cta--lg { font-size: 1.4rem; }
    @media (max-width: 600px) { .link-cta--lg { font-size: 1.08rem; } }
    .nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px 6px; flex-direction: column; gap: 5px; }
    .nav-toggle span { display: block; width: 24px; height: 2px; background: var(--charcoal); border-radius: 2px; transition: transform 0.25s, opacity 0.2s; }
    .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .btn-outline {
      display: inline-block; border: 1.5px solid var(--teal); color: var(--teal-dark);
      font-weight: 600; font-size: 0.9rem; padding: 10px 22px; border-radius: 30px;
      text-decoration: none; transition: all 0.2s;
    }
    .btn-outline:hover { background: var(--teal); color: #fff; }
    .service-best { margin-top: 12px; font-size: 0.88rem; font-weight: 700; color: var(--coral-dark); }
    .service-detail { margin-top: 6px; font-size: 0.82rem; color: rgba(34,34,34,0.55); line-height: 1.5; }
    .service-price { margin-top: 12px; font-size: 0.98rem; font-weight: 700; color: var(--teal-dark); letter-spacing: 0.01em; }
    .pricing-note { max-width: 1040px; margin: 34px auto 0; background: var(--cream); border: 1px solid rgba(46,110,112,0.18); border-radius: 14px; padding: 0; overflow: hidden; display: flex; align-items: stretch; justify-content: space-between; gap: 0; }
    .pricing-note-main { flex: 1 1 auto; padding: 24px 30px; }
    .pricing-note h3 { font-size: 1.1rem; font-weight: 700; color: var(--charcoal); margin-bottom: 12px; }
    .pricing-note ul { margin: 0; padding-left: 20px; }
    .pricing-note li { margin-bottom: 8px; line-height: 1.6; color: rgba(34,34,34,0.78); font-size: 0.92rem; }
    .pricing-note p { font-size: 0.9rem; color: rgba(34,34,34,0.68); line-height: 1.6; }
    .pricing-note p.pricing-credit { position: relative; flex: 0 0 auto; width: 300px; margin: 0; padding: 22px 28px 22px 56px; display: flex; align-items: center; background: rgba(46,110,112,0.09); border-left: 1px solid rgba(46,110,112,0.18); color: var(--charcoal); font-weight: 700; font-size: 0.95rem; line-height: 1.5; }
    .pricing-note p.pricing-credit::before { left: 28px; }
    @media (max-width: 720px) { .pricing-note { flex-direction: column; align-items: stretch; } .pricing-note p.pricing-credit { width: auto; border-left: none; border-top: 1px solid rgba(46,110,112,0.18); } }
    .pricing-note p.pricing-credit::before { content: ""; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 19px; height: 19px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E6E70' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5.5'/%3E%3C/svg%3E") no-repeat center/contain; }

    /* ── HERO ── */
    .hero {
      position: relative; height: 88vh; min-height: 540px;
      display: flex; align-items: center; overflow: hidden; background: var(--navy);
    }
    .hero-bg {
      position: absolute; inset: 0;
      background-image: url('hero.jpg');
      background-size: cover; background-position: center 35%;
      filter: saturate(1.05) brightness(1.02);
    }
    .hero-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(105deg, rgba(28,46,58,0.68) 0%, rgba(46,110,112,0.50) 55%, rgba(46,110,112,0.14) 100%);
    }
    .hero-content {
      position: relative; z-index: 2;
      max-width: 1040px; margin: 0 auto; padding: 0 28px; color: #fff; width: 100%;
    }
    .hero .hero-label {
      font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--gold); font-weight: 600; margin-bottom: 22px; line-height: 1.8;
    }
    .hero h1 {
      font-family: 'Anton', Impact, sans-serif; font-weight: 400;
      font-size: clamp(3rem, 7vw, 5.2rem); line-height: 1.04;
      margin-bottom: 22px; max-width: 700px; letter-spacing: 1px;
    }
    html[lang="zh-Hant"] .hero h1,
    html[lang="zh-Hant"] .page-hero h1,
    html[lang="zh-Hant"] .section-title,
    html[lang="zh-Hant"] .format-benefits h3,
    html[lang="zh-Hant"] .problem-lead,
    html[lang="zh-Hant"] .why-statement {
      font-family: 'Noto Sans TC', 'PingFang TC', sans-serif; font-weight: 700;
    }
    .hero p {
      font-size: 1.1rem; color: rgba(255,255,255,0.92); max-width: 520px;
      margin-bottom: 36px; line-height: 1.7;
    }
    .btn-hero {
      display: inline-block; background: var(--coral); color: #fff;
      font-weight: 600; font-size: 1rem; padding: 16px 36px;
      border-radius: 999px; text-decoration: none; transition: background 0.2s;
    }
    .btn-hero:hover { background: var(--coral-dark); }
    .hero-cta-row { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
    .hero-secondary { color: rgba(255,255,255,0.9); font-size: 0.95rem; font-weight: 500; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); padding-bottom: 2px; transition: border-color 0.2s, color 0.2s; }
    .hero-secondary:hover { color: #fff; border-color: #fff; }
    @media (max-width: 720px) {
      .hero::after {
        content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 52%;
        background: linear-gradient(to top, rgba(0,0,0,0.77) 0%, rgba(0,0,0,0) 100%);
        z-index: 1; pointer-events: none;
      }
    }
    /* How it works */
    .how-it-works { background: #F3EBDA; padding: 60px 28px; text-align: center; }
    .how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1040px; margin: 42px auto 0; }
    .how-step { padding: 0 12px; position: relative; }
    .how-step:not(:last-child)::after { content: ""; position: absolute; top: 23px; right: -15px; width: 30px; height: 2px; background: rgba(46,110,112,0.25); }
    .how-num { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--teal); color: #fff; font-family: 'Anton', Impact, sans-serif; font-size: 1.45rem; margin-bottom: 16px; }
    .how-step h3 { font-size: 1.15rem; font-weight: 700; color: var(--charcoal); margin-bottom: 8px; }
    .how-step p { font-size: 0.95rem; color: rgba(34,34,34,0.66); line-height: 1.6; }
    /* Booking CTA band */
    .book-band { background: var(--navy); color: #fff; text-align: center; padding: 64px 28px; }
    .book-band h2 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: clamp(1.6rem, 3.6vw, 2.3rem); letter-spacing: 0.5px; margin-bottom: 12px; }
    html[lang="zh-Hant"] .book-band h2 { font-family: 'Noto Sans TC', sans-serif; font-weight: 900; }
    .book-band p { color: rgba(255,255,255,0.82); font-size: 1rem; margin-bottom: 26px; }
    /* Sticky floating booking button (desktop + mobile) */
    .sticky-book { display: inline-flex; align-items: center; position: fixed; bottom: 42px; right: 42px; z-index: 200; background: var(--coral); color: #fff; font-weight: 700; font-size: 1.02rem; padding: 16px 30px; border-radius: 999px; box-shadow: 0 8px 28px rgba(0,0,0,0.26); text-decoration: none; transition: transform .15s, box-shadow .15s, opacity .25s ease; }
    .sticky-book:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0,0,0,0.3); }
    .sticky-book.hide { opacity: 0; pointer-events: none; transform: translateY(14px); }
    @media (max-width: 720px) {
      .how-it-works { padding: 44px 24px 76px; }
      .how-steps { grid-template-columns: 1fr; gap: 16px; max-width: 420px; margin: 28px auto 0; text-align: left; }
      .how-step { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; padding: 0; }
      .how-num { grid-row: span 2; align-self: start; width: 38px; height: 38px; font-size: 1.15rem; margin-bottom: 0; }
      .how-step h3 { margin-bottom: 2px; }
      .how-step p { font-size: 0.9rem; line-height: 1.45; }
      .how-step:not(:last-child)::after { display: none; }
      .sticky-book { bottom: 34px; right: 28px; font-size: 0.83rem; padding: 10px 17px; box-shadow: 0 5px 16px rgba(0,0,0,0.26); }
    }

    /* ── SECTION WRAPPER ── */
    .section { max-width: 1040px; margin: 0 auto; padding: 92px 28px; }
    .section-title {
      font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 2.6rem;
      color: var(--teal); text-align: center; margin-bottom: 20px; letter-spacing: 0.5px;
    }
    .section-sub {
      text-align: center; color: rgba(34,34,34,0.62);
      max-width: 580px; margin: 0 auto 52px; line-height: 1.75;
    }
    .contact-freecall {
      text-align: center; color: var(--coral); font-weight: 700;
      font-size: 1.1rem; letter-spacing: 0.02em; margin: -6px 0 16px;
    }
    .contact-form div:has(> input[required]) > label::after,
    .contact-form div:has(> textarea[required]) > label::after {
      content: " *"; color: #d64531; font-weight: 700;
    }

    /* ── ABOUT ── */
    .about { background: #fff; }
    .about-grid {
      max-width: 1040px; margin: 0 auto; padding: 92px 28px 0;
      display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
    }
    .why-wrap { max-width: 1040px; margin: 0 auto; padding: 0 28px 92px; }
    .about-photo {
      aspect-ratio: 4/5; border-radius: 14px; background: #e6ddd2 center/cover;
      background-image: url('hero.jpg'); box-shadow: 0 10px 30px rgba(46,110,112,0.18);
    }
    .about-text h2 {
      font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 2.4rem;
      color: var(--teal); margin-bottom: 22px; letter-spacing: 0.5px;
    }
    .about-text p { color: rgba(34,34,34,0.8); margin-bottom: 16px; line-height: 1.8; }
    .why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 26px; margin-top: 40px; }
    .why-about-cta { text-align: center; margin-top: 44px; margin-bottom: 0; }
    .why-item { text-align: center; }
    .why-icon { width: 66px; height: 66px; margin: 0 auto 16px; border-radius: 50%; background: rgba(98,172,174,0.14); display: flex; align-items: center; justify-content: center; font-size: 1.9rem; }
    .why-item h3 { font-size: 1.15rem; font-weight: 700; color: var(--charcoal); margin-bottom: 8px; line-height: 1.3; min-height: 3rem; display: flex; align-items: flex-start; justify-content: center; }
    .why-item p { color: rgba(34,34,34,0.7); line-height: 1.65; font-size: 0.92rem; }

    /* ── SERVICES ── */
    .services-group { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 1.3rem; color: var(--charcoal); letter-spacing: 0.5px; text-align: center; margin: 8px 0 28px; }
    .services-group::before, .services-group::after { content: ""; display: inline-block; width: 36px; height: 2px; background: var(--coral); vertical-align: middle; margin: 0 14px 4px; }
    .services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-bottom: 56px; }
    .service-card {
      background: #fff; border-radius: 14px; padding: 32px; overflow: hidden;
      border: 1px solid rgba(34,34,34,0.07); box-shadow: 0 2px 16px rgba(34,34,34,0.05);
      transition: transform 0.2s, box-shadow 0.2s; display: flex; flex-direction: column;
    }
    .service-photo { aspect-ratio: 16/9; margin: 0 -32px 22px; background: #dfe3e6 center/cover; background-image: url('hero.jpg'); }
    .svc-loc-bar { margin: -32px -32px 0; padding: 7px 16px; border-radius: 14px 14px 0 0; }
    .svc-loc-bar--your { background: #EFE7D6; color: #5A4A30; }
    .svc-loc-bar--my { background: #DDE7E1; color: #2E6E70; }
    .service-card:hover { transform: translateY(-4px); box-shadow: 0 8px 26px rgba(46,110,112,0.16); }
    .service-card h3 { font-size: 1.3rem; font-weight: 700; color: var(--charcoal); margin-bottom: 12px; }
    .service-card--featured { box-shadow: 0 4px 22px rgba(244,197,64,0.22); }
    .card-badge { align-self: flex-start; background: var(--gold); color: var(--charcoal); font-size: 0.72rem; font-weight: 700; padding: 4px 11px; border-radius: 20px; margin: -2px 0 16px; letter-spacing: 0.02em; }
    .service-card p { color: rgba(34,34,34,0.65); line-height: 1.7; margin-bottom: 18px; flex-grow: 1; }
    .service-note { color: var(--coral); font-size: 0.85rem; font-weight: 600; }
    a.service-note { display: block; margin-top: auto; text-decoration: none; transition: color 0.2s; }
    a.service-note:hover { color: var(--coral-dark); text-decoration: underline; }

    /* ── COMBO RECOMMENDATION ── */
    .combo { background: var(--navy); color: #fff; }
    .combo-inner { max-width: 760px; margin: 0 auto; padding: 64px 28px; text-align: center; }
    .combo-label { display: inline-block; background: var(--coral); color: #fff; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 6px 14px; border-radius: 20px; margin-bottom: 20px; }
    .combo-inner h3 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 1.8rem; letter-spacing: 0.5px; margin-bottom: 16px; }
    .combo-inner h3 .hl { color: var(--gold); }
    .combo-inner p { color: rgba(255,255,255,0.88); line-height: 1.8; font-size: 1.02rem; }

    /* ── CREDENTIALS ── */
    .credentials { background: var(--teal); color: #fff; padding: 72px 28px; }
    .cred-inner {
      max-width: 1040px; margin: 0 auto; display: grid;
      grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center;
    }
    .cred-value {
      font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 3.4rem;
      color: var(--gold); margin-bottom: 6px; letter-spacing: 1px;
    }
    .cred-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; opacity: 0.92; }

    /* ── HOME BENEFITS LIST ── */
    .home-benefits {
      list-style: none; max-width: 720px; margin: 0 auto 18px; text-align: left;
    }
    .home-benefits li {
      position: relative; padding-left: 28px; margin-bottom: 12px;
      line-height: 1.7; color: rgba(34,34,34,0.82); font-size: 1.02rem;
    }
    .home-benefits li::before {
      content: "✓"; position: absolute; left: 0; top: 0;
      color: var(--teal); font-weight: 700;
    }

    /* ── VIDEOS ── */
    .videos { background: var(--cream); }
    .videos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
    .video-embed {
      position: relative; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden;
      background: #e9eef0; border: 1px solid rgba(34,34,34,0.08);
    }
    .video-embed iframe { width: 100%; height: 100%; border: 0; }
    .video-placeholder {
      display: flex; align-items: center; justify-content: center; height: 100%;
      color: var(--slate); font-size: 0.85rem; text-align: center; padding: 20px; font-weight: 500;
    }

    /* ── TESTIMONIALS ── */
    .testimonials { background: #fff; }
    .testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .testimonial-card {
      background: var(--cream); border-radius: 14px; padding: 28px;
      border: 1px solid rgba(34,34,34,0.06);
    }
    .stars { color: var(--gold); font-size: 1rem; margin-bottom: 14px; letter-spacing: 2px; }
    .testimonial-quote { font-style: italic; color: rgba(34,34,34,0.72); line-height: 1.75; margin-bottom: 18px; font-size: 0.95rem; }
    .testimonial-author { font-size: 0.875rem; font-weight: 700; color: var(--charcoal); }
    .testimonial-dog { color: var(--teal); }
    .testimonial-src { font-size: 0.72rem; color: rgba(34,34,34,0.38); margin-top: 4px; }
    /* ── REVIEW CAROUSEL ── */
    .review-subhead { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font-family: 'Inter', sans-serif; font-size: 1.02rem; font-weight: 600; color: var(--charcoal); }
    .review-tag { font-size: 0.78rem; font-weight: 700; color: #fff; padding: 4px 11px; border-radius: 20px; flex-shrink: 0; letter-spacing: 0.02em; }
    .review-tag--rover { background: var(--teal-dark); }
    .review-tag--youtube { background: #FF0000; }
    .review-row { display: flex; align-items: flex-start; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 18px; margin: 0 -4px; -webkit-overflow-scrolling: touch; }
    .review-row::-webkit-scrollbar { height: 7px; }
    .review-row::-webkit-scrollbar-thumb { background: rgba(34,34,34,0.16); border-radius: 4px; }
    .review-card { flex: 0 0 310px; scroll-snap-align: start; background: #fff; border: 1px solid rgba(34,34,34,0.09); border-radius: 14px; padding: 22px; box-shadow: 0 2px 14px rgba(34,34,34,0.05); display: flex; flex-direction: column; }
    .rc-head { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
    .rc-avatar { width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 1.02rem; }
    .rc-avatar--yt { background: #FF0000; font-size: 0.9rem; }
    .rc-id { min-width: 0; line-height: 1.35; }
    .rc-name { font-weight: 700; font-size: 0.9rem; color: var(--charcoal); display: flex; align-items: center; gap: 5px; }
    .rc-verified { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; background: #4a9cf5; color: #fff; font-size: 0.6rem; flex-shrink: 0; }
    .rc-date { font-size: 0.76rem; color: rgba(34,34,34,0.45); }
    .rc-stars { color: var(--gold); letter-spacing: 1.5px; font-size: 0.92rem; margin-bottom: 8px; }
    .rc-quote { color: rgba(34,34,34,0.78); line-height: 1.62; font-size: 0.9rem; flex-grow: 1; margin: 0; min-height: 0; overflow-y: auto; padding-right: 4px; }
    .review-row--rover .review-card { height: 360px; }
    .review-row--yt .review-card { height: 360px; }
    .review-row--yt .rc-stars { display: none; }
    .rc-quote.is-scrollable:not(.scrolled-end) {
      -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 52px), transparent);
      mask-image: linear-gradient(to bottom, #000 calc(100% - 52px), transparent);
    }
    .rc-source { margin-top: 14px; font-size: 0.8rem; font-weight: 700; }
    .rc-source--rover { color: var(--teal-dark); }
    .rc-source--youtube { color: #FF0000; }

    /* ── FAQ ── */
    .faq { background: var(--cream); }
    .faq-list { max-width: 760px; margin: 0 auto; }
    .faq-item { border-bottom: 1px solid rgba(34,34,34,0.1); padding: 24px 0; }
    .faq-q { font-size: 1.08rem; font-weight: 700; color: var(--charcoal); cursor: pointer; position: relative; padding-right: 34px; transition: color 0.2s; }
    .faq-q::after { content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; color: var(--teal); line-height: 1; }
    .faq-item.open .faq-q::after { content: "\2212"; }
    .faq-q:hover { color: var(--teal-dark); }
    .faq-a { color: rgba(34,34,34,0.72); line-height: 1.75; display: none; margin-top: 12px; }
    .faq-item.open .faq-a { display: block; }

    /* ── CONTACT ── */
    .contact { background: rgba(98,172,174,0.12); }
    .contact-inner { max-width: 620px; margin: 0 auto; }
    .contact-form { display: flex; flex-direction: column; gap: 16px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .form-row--three { grid-template-columns: 1fr 1fr 1fr; }
    .contact-form label { font-size: 0.8rem; font-weight: 600; color: var(--charcoal); margin-bottom: 6px; display: block; }
    .contact-form input, .contact-form textarea {
      width: 100%; padding: 12px 14px; border: 1px solid rgba(34,34,34,0.18);
      border-radius: 8px; font-family: inherit; font-size: 0.95rem; background: #fff; color: var(--charcoal);
    }
    .contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--teal); }
    .contact-form textarea { resize: vertical; min-height: 110px; }
    .form-submit {
      background: var(--coral); color: #fff; font-size: 1rem; font-weight: 600;
      padding: 15px; border-radius: 999px; border: none; cursor: pointer; transition: background 0.2s; margin-top: 4px;
    }
    .form-submit:hover { background: var(--coral-dark); }
    .contact-alt { text-align: center; margin-top: 24px; color: rgba(34,34,34,0.6); font-size: 0.9rem; }
    .contact-alt a { color: var(--coral); font-weight: 600; text-decoration: none; }

    /* ── FOOTER ── */
    footer { background: var(--charcoal); color: rgba(255,255,255,0.7); }
    .footer-inner {
      max-width: 1040px; margin: 0 auto; padding: 48px 28px;
      display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px;
    }
    .footer-logo { font-family: 'Anton', Impact, sans-serif; font-size: 1.2rem; color: var(--gold); letter-spacing: 0.5px; }
    .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 22px; }
    .footer-links a { font-size: 0.875rem; color: rgba(255,255,255,0.65); text-decoration: none; transition: color 0.2s; }
    .footer-links a:hover { color: var(--gold); }
    .footer-links a { display: inline-flex; align-items: center; }
    .footer-links a svg { width: 22px; height: 22px; display: block; }
    .footer-links a img { width: 22px; height: 22px; display: block; }
    .footer-copy { font-size: 0.75rem; color: rgba(255,255,255,0.4); width: 100%; }
    @media (max-width: 600px) {
      .footer-inner { padding: 26px 24px; gap: 12px; }
      .footer-links { gap: 9px 16px; }
      .footer-logo { font-size: 1.02rem; }
      .footer-copy { font-size: 0.72rem; line-height: 1.5; }
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .nav-links { display: none; }
      .nav-links.open {
        display: flex; flex-direction: column; gap: 0;
        position: absolute; top: 100%; left: 0; right: 0;
        background: rgba(251,248,243,0.99); backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(34,34,34,0.1);
        box-shadow: 0 12px 26px rgba(34,34,34,0.14); padding: 6px 0;
      }
      .nav-links.open li { width: 100%; }
      .nav-links.open a { display: block; padding: 14px 22px; font-size: 1rem; }
      .nav-links.open a:hover { background: rgba(46,110,112,0.08); }
      .nav-toggle { display: inline-flex; }
      .nav-right .btn-primary { display: none; }
      .nav-logo img { height: 34px; }
      .nav-inner { padding: 10px 18px; }
    }
    @media (max-width: 760px) {
      .about-grid { grid-template-columns: 1fr; gap: 32px; padding: 64px 28px; }
      .why-grid { grid-template-columns: 1fr; gap: 14px; max-width: 460px; margin-left: auto; margin-right: auto; }
      .why-item { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; text-align: left; }
      .why-icon { grid-column: 1; grid-row: 1 / span 2; align-self: center; margin: 0; width: 50px; height: 50px; }
      .why-icon svg { width: 24px; height: 24px; }
      .why-item h3 { grid-column: 2; grid-row: 1; min-height: 0; margin-bottom: 2px; display: block; text-align: left; font-size: 1.05rem; }
      .why-item p { grid-column: 2; grid-row: 2; font-size: 0.9rem; line-height: 1.45; }
      .services-grid { grid-template-columns: 1fr; }
      .credentials { padding: 30px 24px; }
      .cred-inner { grid-template-columns: 1fr 1fr; gap: 20px 14px; }
      .cred-value { font-size: 2.15rem; }
      .cred-label { font-size: 0.7rem; }
      .videos-grid { grid-template-columns: 1fr; }
      .testimonials-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      .section { padding: 44px 24px; }
      .service-card { padding: 24px; }
      .service-photo { aspect-ratio: 2 / 1; margin: 0 -24px 18px; }
    }

/* ── PAGE HERO (sub-pages) ── */
.page-hero { background: var(--navy); color: #fff; padding: 88px 28px 72px; text-align: center; }
.page-hero h1 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: clamp(2.4rem, 5vw, 3.4rem); letter-spacing: 1px; margin-bottom: 16px; line-height: 1.08; }
.page-hero p { color: rgba(255,255,255,0.85); max-width: 620px; margin: 0 auto; font-size: 1.05rem; line-height: 1.7; }

/* ── ISSUE CARDS (what I help with) ── */
.issue-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; max-width: 1040px; margin: 0 auto; }
.issue-card { background: #fff; border: 1px solid rgba(34,34,34,0.08); border-radius: 14px; overflow: hidden; box-shadow: 0 2px 16px rgba(34,34,34,0.05); }
a.issue-card { display: block; text-decoration: none; color: inherit; transition: transform .16s ease, box-shadow .16s ease; }
a.issue-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(34,34,34,0.12); }
.cat-list { max-width: 860px; margin: 10px auto 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.cat-row { display: flex; align-items: flex-start; gap: 13px; padding: 13px 6px; border-top: 1px solid rgba(34,34,34,0.12); text-decoration: none; color: inherit; transition: padding-left .18s ease; }
.cat-ico { flex: none; width: 22px; height: 22px; margin-top: 2px; color: var(--teal); }
.cat-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; text-align: left; }
.cat-row-title { font-size: 1.02rem; font-weight: 700; color: var(--charcoal); line-height: 1.4; transition: color .18s ease; }
.cat-row-sub { font-size: 0.82rem; color: rgba(34,34,34,0.52); line-height: 1.4; }
.cat-arrow { flex: none; align-self: center; font-size: 1.1rem; color: var(--teal-dark); opacity: 0; transform: translateX(-6px); transition: opacity .18s ease, transform .18s ease; }
.cat-row:hover { padding-left: 12px; }
.cat-row:hover .cat-row-title { color: var(--teal-dark); }
.cat-row:hover .cat-arrow { opacity: 1; transform: translateX(0); }
@media (max-width: 640px) {
      .cat-list { grid-template-columns: 1fr; column-gap: 0; max-width: 100%; margin-top: 4px; }
      .cat-row { gap: 11px; padding: 10px 2px; }
      .cat-ico { width: 20px; height: 20px; margin-top: 1px; }
      .cat-row-title { font-size: 0.95rem; line-height: 1.3; }
      .cat-row-sub { font-size: 0.78rem; line-height: 1.35; }
      .cat-arrow { opacity: 1; transform: none; align-self: center; font-size: 1rem; margin-left: 8px; }
    }
.issue-video { aspect-ratio: 16/9; background: #e9eef0; display: flex; align-items: center; justify-content: center; color: var(--slate); font-size: 0.85rem; text-align: center; padding: 16px; font-weight: 500; }
.issue-video iframe { width: 100%; height: 100%; border: 0; }
.issue-body { padding: 22px 24px; }
.issue-body h3 { font-size: 1.25rem; font-weight: 700; color: var(--charcoal); margin-bottom: 8px; }
.issue-body p { color: rgba(34,34,34,0.68); line-height: 1.65; font-size: 0.95rem; }
.issue-faq-list { list-style: none; margin: 12px 0 0; padding: 0; }
.issue-faq-list li { position: relative; padding-left: 18px; margin-bottom: 9px; font-size: 0.9rem; line-height: 1.5; color: rgba(34,34,34,0.72); }
.issue-faq-list li:last-child { margin-bottom: 0; }
.issue-faq-list li::before { content: "🔍"; position: absolute; left: 0; top: 1px; font-size: 0.72rem; opacity: 0.55; }
@media (max-width: 760px) {
  .issue-grid { display: flex; grid-template-columns: none; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 14px; margin: 0 -24px; padding: 4px 24px 14px; scrollbar-width: none; }
  .issue-grid::-webkit-scrollbar { display: none; }
  .issue-card { flex: 0 0 76%; scroll-snap-align: start; }
}

/* ── FORMAT GROUP (benefits beside cards) ── */
.format-group { max-width: 1040px; margin: 0 auto 30px; display: grid; grid-template-columns: 0.82fr 1fr 1fr; gap: 26px; align-items: start; }
.format-cards { display: contents; }
.format-benefits { padding-top: 6px; }
.format-benefits h3 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 1.5rem; color: var(--charcoal); letter-spacing: 0.5px; margin-bottom: 16px; }
.format-benefits ul { list-style: none; }
.format-benefits li { position: relative; padding-left: 24px; margin-bottom: 12px; line-height: 1.55; font-size: 0.92rem; color: rgba(34,34,34,0.78); }
.format-benefits li::before { content: "\2713"; position: absolute; left: 0; color: var(--teal); font-weight: 700; }
/* ── FUNNEL LAYOUT (Step 1 solo + Step 2 trio) ── */
.step-label { text-align: center; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal-dark); margin: 34px 0 16px; }
.svc-solo { max-width: 640px; margin: 0 auto; }
.svc-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1040px; margin: 0 auto; }
.at-my-home-note { max-width: 760px; margin: 16px auto 0; text-align: center; font-size: 0.88rem; line-height: 1.6; color: rgba(34,34,34,0.6); }
.home-compare { max-width: 1040px; margin: 34px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.home-col { border-radius: 14px; padding: 24px 28px; }
.home-col--your { background: #F6F1E6; }
.home-col--my { background: #E7F0EC; }
.home-col h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 14px; }
.home-col--your h3 { color: #5A4A30; }
.home-col--my h3 { color: var(--teal-dark); }
.home-col ul { list-style: none; }
.home-col li { position: relative; padding-left: 22px; margin-bottom: 9px; line-height: 1.55; font-size: 0.9rem; color: rgba(34,34,34,0.78); }
.home-col li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; }
.home-col--your li::before { color: #b08d57; }
.home-col--my li::before { color: var(--teal); }
@media (max-width: 640px) {
  .home-compare { gap: 11px; margin-top: 24px; }
  .home-col { padding: 16px 15px; border-radius: 12px; }
  .home-col h3 { font-size: 0.92rem; margin-bottom: 10px; }
  .home-col li { font-size: 0.8rem; padding-left: 17px; margin-bottom: 8px; line-height: 1.42; }
}
.consult-bar { max-width: 1040px; margin: 20px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 22px; background: var(--cream); border: 1px solid rgba(46,110,112,0.18); border-radius: 14px; padding: 20px 28px; }
.consult-text { display: flex; align-items: center; gap: 16px; }
.consult-ico { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: rgba(46,110,112,0.1); color: var(--teal-dark); display: flex; align-items: center; justify-content: center; }
.consult-ico svg { width: 21px; height: 21px; }
.consult-text h3 { font-size: 1.08rem; font-weight: 700; color: var(--charcoal); margin: 0 0 3px; }
.consult-text p { font-size: 0.9rem; color: rgba(34,34,34,0.66); line-height: 1.5; margin: 0; }
.consult-btn { flex: 0 0 auto; background: var(--coral); color: #fff; font-weight: 700; font-size: 0.92rem; padding: 12px 22px; border-radius: 999px; text-decoration: none; white-space: nowrap; transition: background 0.2s; }
.consult-btn:hover { background: var(--coral-dark); }
@media (max-width: 640px) { .consult-bar { flex-direction: column; align-items: flex-start; gap: 16px; } .consult-btn { width: 100%; text-align: center; } }
.prereq-banner { max-width: 1040px; margin: 22px auto 0; display: flex; align-items: center; gap: 14px; background: #F4F1EA; border: 1px solid rgba(34,34,34,0.08); border-radius: 12px; padding: 15px 24px; }
.prereq-ico { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--navy); color: #fff; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; font-size: 0.95rem; line-height: 1; display: flex; align-items: center; justify-content: center; }
.prereq-banner p { font-size: 0.92rem; color: rgba(34,34,34,0.72); line-height: 1.6; margin: 0; }
.mini-best { margin-top: 10px; font-size: 0.82rem; font-weight: 600; color: var(--coral-dark); line-height: 1.5; }
#formats .service-mini .mini-price { margin-top: 8px; font-weight: 800; color: var(--teal-dark); font-size: 1.2rem; letter-spacing: -0.02em; white-space: nowrap; }
.mini-points { list-style: none; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(34,34,34,0.08); }
.mini-points li { position: relative; padding-left: 26px; margin-bottom: 9px; font-size: 0.86rem; line-height: 1.45; color: rgba(34,34,34,0.78); }
.mini-points li:last-child { margin-bottom: 0; }
.mini-points li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 50%; background: rgba(176,141,87,0.16); color: #b08d57; font-size: 0.68rem; font-weight: 800; }
.mini-details { margin-top: 12px; border-top: 1px solid rgba(34,34,34,0.08); padding-top: 12px; }
.mini-details .mini-label { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.05em; color: var(--teal-dark); margin: 16px 0 9px; }
.mini-details > .mini-best { margin-top: 0; margin-bottom: 4px; position: relative; padding-left: 24px; }
.mini-details > .mini-best::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='%23b08d57'/%3E%3Cpath d='M4 21c0-4.6 3.6-7.4 8-7.4s8 2.8 8 7.4z' fill='%23b08d57'/%3E%3C/svg%3E") no-repeat center/contain; }
.mini-details > summary { cursor: pointer; list-style: none; font-size: 0.9rem; font-weight: 700; color: var(--coral); }
.mini-details > summary::-webkit-details-marker { display: none; }
.mini-details > summary::after { content: " →"; }
.mini-details[open] > summary::after { content: " ↓"; }
.mini-details ul { list-style: none; margin: 0; }
.mini-details li { position: relative; padding-left: 24px; margin-bottom: 8px; font-size: 0.87rem; line-height: 1.45; color: rgba(34,34,34,0.8); }
.mini-details li::before { content: ""; position: absolute; left: 1px; top: 0.2em; width: 14px; height: 14px; border-radius: 50%; background: #EFE4D2; }
.mini-details li::after { content: ""; position: absolute; left: 6px; top: calc(0.2em + 5px); width: 4px; height: 4px; border-radius: 50%; background: #b08d57; }
.mini-best-list li::before { border-radius: 0; width: 15px; height: 15px; left: 1px; top: 0.16em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='%23b08d57'/%3E%3Cpath d='M4 21c0-4.6 3.6-7.4 8-7.4s8 2.8 8 7.4z' fill='%23b08d57'/%3E%3C/svg%3E") no-repeat center/contain; }
.mini-best-list li::after { content: none; }
.mini-detail-cta { display: inline-block; margin-top: 8px; font-size: 0.82rem; font-weight: 700; color: var(--coral); text-decoration: none; }
.mini-detail-cta:hover { text-decoration: underline; }
.home-col .hc-sub { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin: 16px 0 6px; }
.home-col--your .hc-pro { color: #5A4A30; }
.home-col--my .hc-pro { color: var(--teal-dark); }
.home-col .hc-con { color: rgba(34,34,34,0.45); }
.home-col .hc-cons li { color: rgba(34,34,34,0.6); }
.home-col .hc-cons li::before { content: "·"; color: rgba(34,34,34,0.4); }
@media (max-width: 760px) {
  .svc-trio { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 14px; margin: 0 -24px; padding: 4px 24px 14px; scrollbar-width: none; }
  .svc-trio::-webkit-scrollbar { display: none; }
  .svc-trio .service-card { flex: 0 0 82%; scroll-snap-align: start; }
}
@media (max-width: 900px) { .format-group { grid-template-columns: 1fr; gap: 18px; margin-bottom: 16px; } }
@media (max-width: 760px) {
  .format-cards { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 14px; margin: 0 -24px; padding: 4px 24px 14px; scrollbar-width: none; }
  .format-cards::-webkit-scrollbar { display: none; }
  .format-cards .service-card { flex: 0 0 82%; scroll-snap-align: start; }
}

/* ── SERVICE PREREQUISITE TAG ── */
.service-prereq { font-size: 0.78rem; font-weight: 700; color: #3D6E8F; background: rgba(61,110,143,0.13); padding: 4px 11px; border-radius: 6px; align-self: flex-start; margin-bottom: 12px; }

/* ── SERVICE MINI CARDS (homepage overview) ── */
.service-mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1040px; margin: 0 auto; }
.service-mini { position: relative; display: block; overflow: hidden; background: #fff; border: 1px solid rgba(34,34,34,0.08); border-radius: 12px; padding: 22px; text-decoration: none; color: inherit; transition: transform 0.2s, box-shadow 0.2s; }
.mini-loc-bar { margin: -22px -22px 0; padding: 5px 15px; border-radius: 12px 12px 0 0; }
.mini-loc-bar--your { background: #EFE7D6; color: #5A4A30; }
.mini-loc-bar--my { background: #DDE7E1; color: #2E6E70; }
.mini-loc-pill { display: inline-flex; align-items: center; gap: 6px; color: inherit; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.mini-loc-pill .loc-ico { width: 14px; height: 14px; flex: 0 0 auto; }
html[lang="zh-Hant"] .mini-loc-pill { font-size: 0.92rem; letter-spacing: 0.04em; }
.form-note { list-style: none; padding: 0; text-align: left; font-size: 0.82rem; line-height: 1.5; color: rgba(34,34,34,0.55); margin: 14px 0 0; max-width: none; }
.form-note li { margin-bottom: 4px; }
.form-note li::before { content: "* "; }
.page-hero-areas { margin-top: 14px; font-size: 0.9rem; font-weight: 600; color: var(--teal-dark); letter-spacing: 0.01em; }
.legal-page { max-width: 760px; margin: 0 auto; padding: 70px 24px 90px; }
.legal-page h1 { font-family: 'Anton', sans-serif; font-size: clamp(2rem, 5vw, 3rem); color: var(--charcoal); margin-bottom: 18px; }
html[lang="zh-Hant"] .legal-page h1 { font-family: 'Noto Sans TC', sans-serif; font-weight: 900; }
.legal-page h2 { font-size: 1.15rem; font-weight: 700; color: var(--teal-dark); margin: 32px 0 8px; }
.legal-page p { font-size: 0.98rem; line-height: 1.7; color: rgba(34,34,34,0.78); }
.legal-page .legal-intro { font-size: 1.05rem; color: rgba(34,34,34,0.6); margin-bottom: 8px; }
.legal-page a { color: var(--teal-dark); text-decoration: underline; }
.legal-page .legal-updated { margin-top: 40px; font-size: 0.85rem; color: rgba(34,34,34,0.45); }
.service-mini:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(46,110,112,0.14); }
.mini-photo { aspect-ratio: 16/9; margin: 0 -22px 16px; border-radius: 0; background: #dfe3e6 center/cover; }

/* ── NYC SKYLINE BANNER (homepage full-width, full photo + bottom fade) ── */
.skyline-banner { position: relative; width: 100%; aspect-ratio: 3 / 2; background: #cfd8dc url('images/aisha-skyline.jpg') center / cover; }
.skyline-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 46%; background: linear-gradient(to top, rgba(28,46,58,0.97) 0%, rgba(28,46,58,0.93) 16%, rgba(28,46,58,0) 100%); }
.skyline-caption { position: absolute; left: 0; right: 0; bottom: 6px; z-index: 1; text-align: center; padding: 0 24px; }
.skyline-caption p { color: #fff; font-weight: 600; font-size: clamp(1.02rem, 2.2vw, 1.45rem); letter-spacing: 0.02em; }

/* ── COMMON PROBLEMS keyword cloud (SEO) ── */
.problem-cloud { max-width: 1040px; margin: 52px auto 0; text-align: center; }
.q-bubbles { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 940px; margin: 8px auto 0; }
.q-bubble { position: relative; background: #fff; border: 1px solid rgba(34,34,34,0.1); border-radius: 999px; padding: 11px 20px 11px 40px; font-size: 0.92rem; font-weight: 500; color: rgba(34,34,34,0.78); line-height: 1.3; box-shadow: 0 2px 9px rgba(34,34,34,0.05); }
.q-bubble::before { content: "🔍"; position: absolute; left: 17px; top: 50%; transform: translateY(-50%); font-size: 0.78rem; opacity: 0.6; }
.q-more { display: none; }
.cat-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 760px; margin: 8px auto 0; }
.cat-chip { background: #fff; border: 1px solid rgba(34,34,34,0.1); border-radius: 999px; padding: 12px 24px; font-size: 0.98rem; font-weight: 600; color: var(--teal-dark); line-height: 1.3; box-shadow: 0 2px 9px rgba(34,34,34,0.05); text-decoration: none; transition: background .15s, color .15s, border-color .15s, box-shadow .15s; }
.cat-chip:hover { background: var(--teal-dark); color: #fff; border-color: var(--teal-dark); box-shadow: 0 5px 16px rgba(46,110,112,0.22); }
@media (max-width: 600px) {
  .cat-chips { gap: 9px; max-width: 430px; }
  .cat-chip { font-size: 0.92rem; padding: 11px 18px; }
  .q-bubbles { display: flex; flex-direction: column; align-items: stretch; gap: 9px; max-width: 430px; margin: 10px auto 0; padding: 0; }
  .q-bubble { width: 100%; white-space: normal; text-align: left; font-size: 0.88rem; padding: 11px 16px 11px 38px; line-height: 1.4; }
  .q-bubble::before { left: 15px; }
  .q-bubbles.q-collapsed .q-bubble:nth-child(n+6) { display: none; }
  .q-more { display: block; margin: 14px auto 0; background: none; border: 1px solid rgba(46,110,112,0.32); color: var(--teal-dark); font-weight: 600; font-size: 0.86rem; padding: 9px 20px; border-radius: 999px; cursor: pointer; }
}
.problem-lead { display: block; margin: 0 auto 20px; color: var(--teal-dark); font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: clamp(1.15rem, 2.6vw, 1.6rem); letter-spacing: 0.5px; text-align: center; }
.problem-tags { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 0; }
.problem-tags li { background: #fff; border: 1px solid rgba(34,34,34,0.1); color: rgba(34,34,34,0.78); font-size: 0.9rem; font-weight: 600; padding: 8px 16px; border-radius: 30px; transition: border-color 0.18s, color 0.18s; }
.problem-tags li:hover { border-color: var(--teal); color: var(--teal-dark); }
.problem-cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; margin-top: 12px; text-align: left; }
.problem-cat { flex: 1 1 240px; max-width: 300px; background: #fff; border: 1px solid rgba(34,34,34,0.09); border-radius: 14px; padding: 24px 26px; }
.problem-cat-label { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.13em; color: var(--teal-dark); font-weight: 700; margin-bottom: 16px; padding-bottom: 13px; border-bottom: 1px solid rgba(34,34,34,0.09); }
.goal-list { list-style: none; padding: 0; margin: 0; }
.goal-list li { position: relative; padding-left: 22px; margin-bottom: 11px; color: rgba(34,34,34,0.82); font-size: 0.96rem; font-weight: 500; line-height: 1.4; }
.goal-list li:last-child { margin-bottom: 0; }
.goal-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--teal); font-weight: 700; font-size: 0.95rem; line-height: 1.45; }
@media (max-width: 760px) {
  .problem-cloud { margin-top: 40px; }
  .problem-cats { gap: 14px; }
  .problem-cat { padding: 18px 20px; }
  .goal-list li { margin-bottom: 9px; }
}
.mini-badge { display: inline-block; background: var(--gold); color: var(--charcoal); font-size: 0.7rem; font-weight: 700; padding: 3px 9px; border-radius: 20px; margin-bottom: 10px; }
.service-mini h3 { font-size: 1.1rem; font-weight: 700; color: var(--charcoal); margin-bottom: 8px; }
.service-mini p { font-size: 0.88rem; color: rgba(34,34,34,0.65); line-height: 1.55; }
@media (max-width: 900px) { .service-mini-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  .service-mini-grid { display: flex; grid-template-columns: none; max-width: none; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 -24px; padding: 4px 24px 14px; scrollbar-width: none; }
  .service-mini-grid::-webkit-scrollbar { display: none; }
  .service-mini { flex: 0 0 80%; scroll-snap-align: start; }
  .mini-photo { aspect-ratio: 2 / 1; }
  .hero h1 { font-size: 2.3rem; letter-spacing: 0.5px; margin-bottom: 18px; }
  .hero .hero-label { font-size: 0.68rem; letter-spacing: 0.08em; line-height: 1.7; margin: 0; position: absolute; top: 52px; left: 28px; right: 28px; }
  .hero p { font-size: 0.94rem; line-height: 1.6; margin-bottom: 26px; }
  .hero { align-items: stretch; }
  .hero-content { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding-bottom: 40px; }
  .btn-hero { align-self: flex-start; padding: 13px 26px; font-size: 0.92rem; }
  .problem-cats { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 14px; margin: 0 -24px; padding: 4px 24px 14px; scrollbar-width: none; }
  .problem-cats::-webkit-scrollbar { display: none; }
  .problem-cat { flex: 0 0 80%; max-width: none; scroll-snap-align: start; }
  .section-title { font-size: 1.5rem; letter-spacing: 0.3px; }
  .section-title.premier-title { font-size: 1.5rem !important; letter-spacing: 0 !important; }
  .skyline-banner { aspect-ratio: 2 / 1; }
  .skyline-caption { bottom: 2px; }
  .skyline-caption p { font-size: 0.8rem; line-height: 1.5; letter-spacing: 0.01em; }
  .why-grid { gap: 10px; }
  .why-icon { width: 44px; height: 44px; }
  .why-item h3 { font-size: 1rem; }
  .why-item p { font-size: 0.86rem; }
}

/* ── WHY STATEMENT (big tagline) ── */
.why-statement { max-width: 1040px; margin: 20px auto 6px; font-size: clamp(1.9rem, 4.4vw, 3.05rem); font-weight: 700; line-height: 1.3; color: var(--charcoal); text-align: center; }
.why-statement .hl { color: var(--teal-dark); }

.mini-badge--addon { background: rgba(61,110,143,0.13); color: #3D6E8F; }

/* ── WHY SECTION (dark variant) ── */
.why-dark { background: var(--navy); }
.why-dark .section { padding-top: 32px; }
.why-dark .why-statement { margin-top: 0; }
.why-dark .section-title { color: #fff; }
.why-dark .why-statement { color: #fff; }
.why-dark .why-statement .hl { color: var(--gold); }
.why-dark .why-item h3 { color: #fff; }
.why-dark .why-item p { color: rgba(255,255,255,0.78); }
.why-dark .why-icon { background: rgba(255,255,255,0.08); color: #fff; }
.why-icon svg { width: 30px; height: 30px; }

/* ── PREMIER HEADLINE ── */
.eyebrow { text-align: center; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.8rem; font-weight: 700; color: var(--coral); margin-bottom: 10px; }
.premier-title { font-size: clamp(2rem, 4.6vw, 3rem) !important; max-width: 900px; margin-left: auto; margin-right: auto; }

a.rc-source { text-decoration: none; }
a.rc-source:hover { text-decoration: underline; }

/* ── INSTAGRAM REELS (cover thumbnails) ── */
.reels-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 740px; margin: 0 auto; }
.reel-card { position: relative; aspect-ratio: 9/16; border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 4px 18px rgba(34,34,34,0.14); }
.reel-card video { width: 100%; height: 100%; object-fit: cover; display: block; }
.reel-ig { position: absolute; top: 11px; left: 11px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); color: #fff; font-size: 0.78rem; font-weight: 700; padding: 6px 12px; border-radius: 9px; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,0.28); }
.reel-ig svg { width: 16px; height: 16px; }
.reel-ig:hover { filter: brightness(1.08); }
@media (max-width: 620px) {
  .reels-grid { display: flex; grid-template-columns: none; max-width: none; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 -24px; padding: 0 24px 12px; scrollbar-width: none; }
  .reels-grid::-webkit-scrollbar { display: none; }
  .reel-card { flex: 0 0 68%; scroll-snap-align: center; }
}

/* ── FEATURED VIDEO ── */
.featured-label { text-align: center; color: rgba(34,34,34,0.55); font-size: 0.9rem; font-weight: 600; margin: 44px 0 14px; }
.featured-video { max-width: 720px; margin: 0 auto; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 22px rgba(34,34,34,0.14); }
.featured-video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ── REEL custom play button ── */
.reel-playbtn { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.12); border: 0; padding: 0; cursor: pointer; transition: background 0.2s; }
.reel-playbtn:hover { background: rgba(0,0,0,0.26); }
.reel-playbtn i { width: 60px; height: 60px; border-radius: 50%; background: rgba(255,255,255,0.92); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 12px rgba(0,0,0,0.3); }
.reel-playbtn i::before { content: ""; border-left: 18px solid var(--coral); border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 5px; }
.reel-card.playing .reel-playbtn { display: none; }
/* ── FEATURED video as thumbnail link ── */
.featured-link { position: relative; display: block; }
.featured-link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.featured-link .yt-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 70px; height: 48px; border-radius: 12px; background: rgba(255,0,0,0.9); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 14px rgba(0,0,0,0.3); transition: background 0.2s; }
.featured-link .yt-play::before { content: ""; border-left: 20px solid #fff; border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 4px; }
.featured-link:hover .yt-play { background: #ff0000; }

/* ── PLATFORM HEADER (social blocks) ── */
.platform-head { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 30px; }
.platform-head::before, .platform-head::after { content: ""; width: 44px; height: 2px; background: rgba(34,34,34,0.14); }
.platform-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 1.05rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.platform-tag--ig { color: #d6249f; }
.platform-tag--yt { color: #ff0000; }
.platform-tag svg { width: 22px; height: 22px; }

/* ── SERVICE NAME ALIAS (catchy name + plain term) ── */
.service-card h3 .alias, .service-mini h3 .alias { display: block; font-size: 0.72rem; font-weight: 600; color: rgba(34,34,34,0.45); margin-top: 3px; letter-spacing: 0; }
/* ── LIFETIME SUPPORT promise note ── */
.lifetime-note { max-width: 760px; margin: 4px auto 0; text-align: center; background: rgba(98,172,174,0.12); color: var(--teal-dark); font-weight: 600; padding: 14px 24px; border-radius: 10px; font-size: 0.95rem; }

/* ── LIFETIME SUPPORT banner (full-width, above What I Help With) ── */
.lifetime-banner { background: var(--navy); color: #fff; text-align: center; padding: 36px 28px; }
.lifetime-banner p { max-width: 880px; margin: 0 auto; font-size: clamp(1.08rem, 2.2vw, 1.4rem); font-weight: 600; line-height: 1.55; letter-spacing: 0.01em; }
.lifetime-banner .hl { color: var(--gold); }

/* ── ISSUE PHOTO + KEYWORDS ── */
.issue-photo { aspect-ratio: 16/9; background: #dfe3e6 center/cover; background-image: url('hero.jpg'); }
.issue-body .issue-define { font-size: 0.92rem; font-weight: 600; color: var(--coral); line-height: 1.45; margin-bottom: 10px; }

/* ── ABOUT INTRO (photo + lead) ── */
.about-intro { max-width: 1040px; margin: 0 auto; padding: 76px 28px 40px; display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 54px; align-items: start; }
.about-intro .intro-photo { aspect-ratio: 2146 / 3584; min-height: 0; position: sticky; top: 90px; }
.about-intro .approach-close, .approach-close { text-align: center; font-weight: 600; color: var(--charcoal); font-size: 1.12rem; line-height: 1.75; max-width: 720px; margin: 30px auto 0; }
.about-intro .intro-photo { min-height: 460px; border-radius: 16px; background: #e6ddd2 center / cover; background-image: url('images/DSC_0113.jpg'); box-shadow: 0 12px 34px rgba(46,110,112,0.2); }
.about-intro .intro-text h2 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: clamp(1.8rem, 3.4vw, 2.4rem); color: var(--teal); letter-spacing: 0.5px; margin-bottom: 18px; line-height: 1.2; }
.about-intro .intro-text p { color: rgba(34,34,34,0.82); line-height: 1.65; margin-bottom: 12px; font-size: 1.05rem; }
html[lang="en"] .about-intro .intro-text p { line-height: 1.5; }
.about-intro .intro-sign { font-family: 'Anton', Impact, sans-serif; color: var(--coral); font-size: 1.25rem; letter-spacing: 0.5px; margin-top: 6px; text-align: right; }
/* editorial intro (ref: photo left, label + lead + cta right) */
.about-intro .intro-eyebrow { text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.82rem; font-weight: 700; color: var(--coral); margin-bottom: 22px; }
.about-intro .intro-text p.intro-quote { font-family: "Playfair Display", Georgia, "Noto Serif TC", serif; font-style: italic; font-weight: 600; color: var(--teal-dark); font-size: clamp(1.6rem, 3.1vw, 2.1rem); line-height: 1.5; letter-spacing: 0.01em; margin: 6px 0 34px; padding-bottom: 32px; border-bottom: 1px solid rgba(34,34,34,0.12); }
html[lang="en"] .about-intro .intro-text p.intro-quote { line-height: 1.4; }
.about-intro .intro-lead { font-size: clamp(1.18rem, 2.2vw, 1.42rem); line-height: 1.6; color: var(--charcoal); margin-bottom: 22px; }
.about-intro .intro-cta { display: inline-block; margin-top: 12px; padding: 13px 28px; }
@media (max-width: 820px) { .about-intro { grid-template-columns: 1fr; gap: 30px; padding: 56px 28px 12px; } .about-intro .intro-photo { position: static; max-width: 340px; margin: 0 auto; width: 100%; } }

/* ── APPROACH (editorial: left label column + lead + two pillars) ── */
.approach-ed { max-width: 1040px; margin: 0 auto; padding: 84px 28px; }
.approach-inner { display: grid; grid-template-columns: 0.5fr 1.5fr; gap: 44px; align-items: start; }
.approach-label { text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.82rem; font-weight: 700; color: var(--coral); padding-top: 6px; }
.approach-lead { font-size: 1.08rem; line-height: 1.8; color: rgba(34,34,34,0.88); margin-bottom: 52px; max-width: 640px; }
.approach-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.approach-col h3 { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.95rem; font-weight: 700; color: var(--teal-dark); margin-bottom: 16px; }
.approach-col p { color: rgba(34,34,34,0.78); line-height: 1.8; font-size: 1rem; }
@media (max-width: 820px) { .approach-ed { padding: 60px 28px; } .approach-inner { grid-template-columns: 1fr; gap: 24px; } .approach-cols { grid-template-columns: 1fr; gap: 32px; } .approach-lead { margin-bottom: 36px; } }

/* ── STORY FIGURE (inline photo in narrative) ── */
.story-figure { max-width: 760px; margin: 6px auto 30px; padding: 0 28px; }
.story-figure .story-img { aspect-ratio: 3/2; border-radius: 14px; background: #dfe3e6 center/cover; background-image: url('hero.jpg'); box-shadow: 0 8px 26px rgba(34,34,34,0.12); }
.story-figure figcaption { text-align: center; font-size: 0.82rem; color: rgba(34,34,34,0.5); margin-top: 11px; font-style: italic; }

/* ── BELIEF BAND (about page) ── */
.belief-band { background: var(--navy); color: #fff; text-align: center; padding: 78px 28px; }
.belief-band > p { max-width: 800px; margin: 0 auto; font-size: clamp(1.7rem, 4vw, 2.6rem); font-weight: 700; line-height: 1.32; }
.belief-band > p .hl { color: var(--gold); }
.belief-band .belief-sub { font-size: 1.05rem; font-weight: 400; color: rgba(255,255,255,0.82); margin: 20px auto 0; line-height: 1.75; max-width: 600px; }

/* ── CREDENTIALS caption ── */
.cred-caption { max-width: 720px; margin: 28px auto 0; text-align: center; font-size: 0.88rem; color: rgba(255,255,255,0.85); line-height: 1.65; text-wrap: balance; }

/* ── PHILOSOPHY (about page) ── */
.phil { max-width: 760px; margin: 0 auto; padding: 70px 28px; }
.phil h2 { font-family: 'Anton', Impact, sans-serif; font-weight: 400; font-size: 2rem; color: var(--teal); letter-spacing: 0.5px; margin-bottom: 20px; }
.phil p { color: rgba(34,34,34,0.82); line-height: 1.85; margin-bottom: 18px; font-size: 1.02rem; }
.phil-divider { height: 1px; background: rgba(34,34,34,0.1); max-width: 760px; margin: 0 auto; }
.pullquote { background: rgba(98,172,174,0.12); border-left: 4px solid var(--teal); padding: 28px 32px; border-radius: 8px; margin: 8px 0 24px; }
.pullquote p { font-size: 1.15rem; font-style: italic; color: var(--charcoal); line-height: 1.7; margin: 0; }
.markers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0; }
.marker { background: #fff; border-radius: 12px; padding: 22px; border: 1px solid rgba(34,34,34,0.07); border-top: 4px solid var(--teal); }
.marker .word { font-family: 'Anton', Impact, sans-serif; font-size: 1.5rem; color: var(--coral); margin-bottom: 8px; }
.marker .desc { font-size: 0.9rem; color: rgba(34,34,34,0.7); line-height: 1.6; }
@media (max-width: 760px) { .markers { grid-template-columns: 1fr; } }
.br-sm { display: none; }
@media (max-width: 560px) { .br-sm { display: block; } }

/* ── Mobile overrides that must win over later base rules ── */
@media (max-width: 560px) {
  .why-dark .section { padding-top: 20px; padding-bottom: 26px; }
  .why-statement { font-size: 1.22rem; line-height: 1.34; margin: 0 auto 16px; }
  .why-icon svg { width: 22px; height: 22px; }
  .page-hero { padding: 40px 24px 34px; }
  .page-hero h1 { font-size: 2rem; }
  .page-hero p { font-size: 0.98rem; line-height: 1.6; }
}
