
    :root {
      --navy: #173B63;
      --navy-deep: #0E2846;
      --navy-mid: #1E4A78;
      --navy-tint: #F6F9FC;
      --navy-wash: #EEF3F9;
      --emerald: #0F8B6D;
      --emerald-hover: #0A735B;
      --ink: #173B63;
      --forest: #173B63;
      --forest-deep: #173B63;
      --gold: #0F8B6D;
      --gold-soft: #0F8B6D;
      --cream: #F6F9FC;
      --paper: #FFFFFF;
      --bone: #F6F9FC;
      --line: #E5E7EB;
      --line-navy: #D8E2EE;
      --body: #374151;
      --muted: #6B7280;
      --white: #FFFFFF;
      --shadow: 0 18px 50px -20px rgba(14, 40, 70, 0.22);
      --shadow-soft: 0 6px 24px -10px rgba(14, 40, 70, 0.14);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: var(--paper);
      color: var(--ink);
      line-height: 1.55;
      overflow-x: hidden;
    }
    body.menu-open { overflow: hidden; }
    ::selection { background: var(--gold); color: var(--forest-deep); }
    a, button { -webkit-tap-highlight-color: transparent; }
    a:focus-visible, button:focus-visible, summary:focus-visible {
      outline: 3px solid var(--gold);
      outline-offset: 4px;
    }
    section[id] { scroll-margin-top: 94px; }

    .container { width: min(1180px, 92vw); margin: 0 auto; }

    /* NAV */
    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      height: 76px;
      background: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--line);
    }
    .nav-inner {
      width: min(1180px, 92vw);
      height: 100%;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
    }
    .nav-brand {
      font-family: 'Fraunces', serif;
      font-size: 1.5rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: var(--forest);
      text-decoration: none;
      display: flex;
      align-items: baseline;
      gap: 0.25rem;
      white-space: nowrap;
    }
    .nav-brand-mark { color: var(--emerald); font-weight: 600; }
    .nav-brand-tag {
      font-family: 'Inter', sans-serif;
      font-size: 0.63rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--muted);
      margin-left: 0.65rem;
      padding-left: 0.85rem;
      border-left: 1px solid var(--line);
    }
    .nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }
    .nav-links a {
      font-size: 0.86rem;
      color: var(--ink);
      text-decoration: none;
      font-weight: 600;
      transition: color 0.2s;
      position: relative;
    }
    .nav-links a:not(.nav-cta)::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 0;
      width: 0;
      height: 1px;
      background: var(--gold);
      transition: width 0.3s ease;
    }
    .nav-links a:not(.nav-cta):hover::after { width: 100%; }
    .nav-cta {
      background: var(--emerald);
      color: #FFFFFF !important;
      padding: 0.72rem 1.35rem;
      border-radius: 12px;
      transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
    }
    .nav-cta:hover { background: var(--emerald-hover); transform: translateY(-1px); box-shadow: 0 8px 20px -10px rgba(24,160,88,.55); }
    .mobile-toggle {
      display: none;
      border: 0;
      background: transparent;
      width: 44px;
      height: 44px;
      cursor: pointer;
      align-items: center;
      justify-content: center;
    }
    .mobile-toggle span,
    .mobile-toggle span::before,
    .mobile-toggle span::after {
      width: 24px;
      height: 2px;
      background: var(--forest);
      display: block;
      position: relative;
      transition: 0.25s ease;
    }
    .mobile-toggle span::before,
    .mobile-toggle span::after { content: ''; position: absolute; left: 0; }
    .mobile-toggle span::before { top: -7px; }
    .mobile-toggle span::after { top: 7px; }
    .mobile-toggle[aria-expanded="true"] span { background: transparent; }
    .mobile-toggle[aria-expanded="true"] span::before { transform: rotate(45deg); top: 0; }
    .mobile-toggle[aria-expanded="true"] span::after { transform: rotate(-45deg); top: 0; }

    /* HERO */
    .hero {
      min-height: 91vh;
      padding: 136px 0 78px;
      position: relative;
      display: flex;
      align-items: center;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(ellipse 80% 60% at 78% 12%, rgba(23, 59, 99, 0.07) 0%, transparent 60%),
        radial-gradient(ellipse 70% 50% at 15% 95%, rgba(23, 59, 99, 0.05) 0%, transparent 55%),
        linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 70%, #F6F9FC 100%);
      pointer-events: none;
    }
    .hero-grid {
      width: min(1180px, 92vw);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
      gap: 5vw;
      align-items: center;
    }
    .hero-content { position: relative; z-index: 2; animation: rise 0.9s cubic-bezier(0.16,1,0.3,1) both; }
    @keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--forest);
      margin-bottom: 1.8rem;
    }
    .eyebrow-line { width: 32px; height: 1px; background: var(--gold); }
    .hero h1 {
      font-family: 'Fraunces', serif;
      font-size: clamp(2.8rem, 5.2vw, 4.8rem);
      font-weight: 400;
      line-height: 1.01;
      letter-spacing: -0.04em;
      color: var(--forest-deep);
      margin-bottom: 1.5rem;
      max-width: 800px;
    }
    .hero h1 em { font-style: normal; font-weight: 700; color: var(--emerald); }
    .hero-sub {
      font-size: 1.13rem;
      color: var(--body);
      line-height: 1.65;
      max-width: 630px;
      margin-bottom: 2.2rem;
    }
    .hero-proof {
      display: grid;
      grid-template-columns: repeat(3, max-content);
      gap: 0.8rem 1.6rem;
      margin-bottom: 2.3rem;
      color: var(--forest);
      font-size: 0.86rem;
      font-weight: 600;
    }
    .hero-proof span::before { content: '✓'; color: var(--gold); margin-right: 0.55rem; }
    .hero-actions { display: flex; align-items: center; gap: 1.7rem; flex-wrap: wrap; }
    .btn-primary {
      background: var(--emerald);
      color: #FFFFFF;
      padding: 1rem 1.9rem;
      border-radius: 12px;
      text-decoration: none;
      font-weight: 600;
      font-size: 0.94rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
      transition: all 0.22s ease;
    }
    .btn-primary::after { content: '→'; transition: transform 0.25s ease; }
    .btn-primary:hover { background: var(--emerald-hover); transform: translateY(-2px); box-shadow: 0 10px 26px -10px rgba(24,160,88,0.45); }
    .btn-primary:hover::after { transform: translateX(4px); }
    .btn-secondary {
      color: var(--navy);
      text-decoration: none;
      font-size: 0.94rem;
      font-weight: 600;
      background: #FFFFFF;
      border: 1.5px solid var(--navy);
      border-radius: 12px;
      padding: 0.85rem 1.6rem;
      display: inline-flex;
      align-items: center;
      transition: background 0.2s ease;
    }
    .btn-secondary:hover { background: #EEF4FA; }
    .hero-card {
      position: relative;
      z-index: 2;
      background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);
      color: rgba(255,255,255,0.85);
      padding: 2.8rem 2.35rem;
      border: 1px solid var(--navy);
      border-radius: 18px;
      box-shadow: var(--shadow);
      animation: rise 0.9s 0.16s cubic-bezier(0.16,1,0.3,1) both;
    }
    .hero-card::before {
      content: '';
      position: absolute;
      top: 0; left: 2.35rem; right: 2.35rem;
      height: 3px;
      background: #5FD3AE;
      border-radius: 0 0 3px 3px;
      z-index: 1;
    }
    .hero-card-label {
      font-size: 0.69rem;
      font-weight: 700;
      letter-spacing: 0.19em;
      text-transform: uppercase;
      color: #5FD3AE;
      margin-bottom: 1.45rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .hero-card-label::before { content: ''; width: 24px; height: 2px; background: #5FD3AE; }
    .hero-card h2 {
      font-family: 'Fraunces', serif;
      font-size: 1.75rem;
      line-height: 1.18;
      font-weight: 600;
      color: #FFFFFF;
      margin-bottom: 1.25rem;
    }
    .hero-card p { font-size: 0.94rem; color: rgba(255,255,255,0.7); line-height: 1.65; margin-bottom: 1.35rem; }
    .hero-card-list { list-style: none; }
    .hero-card-list li {
      padding: 0.85rem 0;
      border-top: 1px solid rgba(255,255,255,0.12);
      display: flex;
      gap: 0.8rem;
      color: rgba(255,255,255,0.85);
      font-size: 0.9rem;
    }
    .hero-card-list li::before { content: '✓'; color: #5FD3AE; font-weight: 700; }

    /* TRUST */
    .trust-strip {
      background: var(--cream);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .trust-inner {
      min-height: 86px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      align-items: center;
    }
    .trust-item {
      min-height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.8rem;
      padding: 0 1.3rem;
      font-size: 0.83rem;
      font-weight: 600;
      color: var(--forest);
      border-right: 1px solid var(--line);
      text-align: center;
    }
    .trust-item:last-child { border-right: 0; }
    .trust-dot { width: 6px; height: 6px; background: var(--gold); border-radius: 50%; flex-shrink: 0; }

    /* SHARED */
    section { padding: 9rem 0; }
    .section-header { max-width: 760px; margin-bottom: 4.5rem; }
    .section-header.center { text-align: center; margin-left: auto; margin-right: auto; }
    .section-eyebrow {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.21em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1.35rem;
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
    }
    .section-eyebrow::before { content: ''; width: 32px; height: 2px; background: var(--emerald); }
    .center .section-eyebrow::after { content: ''; width: 32px; height: 2px; background: var(--emerald); }
    h2.section-title {
      font-family: 'Fraunces', serif;
      font-size: clamp(2.1rem, 3.6vw, 3.25rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -0.035em;
      color: var(--forest-deep);
      margin-bottom: 1.4rem;
    }
    h2.section-title em { font-style: normal; color: var(--emerald); font-weight: 700; }
    .section-sub { font-size: 1.06rem; color: var(--body); line-height: 1.7; max-width: 640px; }
    .center .section-sub { margin-left: auto; margin-right: auto; }

    /* FIT */
    .fit-grid { display: grid; grid-template-columns: 1.12fr 0.88fr; gap: 5.5rem; align-items: start; }
    .problem-list { list-style: none; counter-reset: fit; }
    .problem-list li {
      counter-increment: fit;
      padding: 1.35rem 0;
      border-bottom: 1px solid var(--line);
      display: grid;
      grid-template-columns: 58px 1fr;
      gap: 1.2rem;
      align-items: start;
    }
    .problem-list li:first-child { padding-top: 0; }
    .problem-list li:last-child { border-bottom: 0; }
    .problem-list li::before {
      content: "0" counter(fit);
      font-family: 'Fraunces', serif;
      font-style: normal;
      font-size: 1.35rem;
      color: var(--navy);
      font-weight: 600;
    }
    .problem-list strong { display: block; color: var(--forest-deep); font-size: 0.98rem; margin-bottom: 0.3rem; }
    .problem-list span { color: var(--body); line-height: 1.6; font-size: 0.94rem; }
    .fit-card {
      background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);
      color: rgba(255,255,255,0.85);
      padding: 2.7rem 2.4rem;
      border: 1px solid var(--navy);
      border-radius: 18px;
      box-shadow: var(--shadow);
      position: sticky;
      top: 108px;
    }
    .fit-card h3 { font-family: 'Fraunces', serif; font-size: 1.65rem; font-weight: 600; color: #FFFFFF; margin-bottom: 1rem; }
    .fit-card p { color: rgba(255,255,255,0.7); line-height: 1.65; font-size: .93rem; margin-bottom: 1.1rem; }
    .fit-card ul { list-style: none; margin: 1.4rem 0 1.8rem; }
    .fit-card li { padding: .68rem 0; border-top: 1px solid rgba(255,255,255,0.12); font-size: .9rem; display: flex; gap: .7rem; color: rgba(255,255,255,0.85); }
    .fit-card li::before { content: '✓'; color: #5FD3AE; font-weight: 700; }
    .fit-card .btn-primary { width: 100%; }

    /* PACKAGES */
    .services { background: linear-gradient(180deg, #FFFFFF 0%, #F6F9FC 45%, #F6F9FC 100%); }
    #about { background: linear-gradient(180deg, #F6F9FC 0%, #FBFCFE 100%); }
    #faq { background: linear-gradient(180deg, #FFFFFF 0%, #F6F9FC 100%); }
    .package-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; align-items: stretch; }
    .package-card {
      background: #FFFFFF;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 2.45rem 2.1rem;
      display: flex;
      flex-direction: column;
      position: relative;
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .package-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: var(--emerald); }
    .package-card.featured { background: #FFFFFF; border: 2px solid var(--emerald); transform: translateY(-10px); box-shadow: var(--shadow); }
    .package-card.featured:hover { transform: translateY(-14px); }
    .package-badge {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--emerald);
      color: #FFFFFF;
      border-radius: 100px;
      padding: .4rem .95rem;
      font-size: .66rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .12em;
      white-space: nowrap;
    }
    .package-kicker { color: var(--emerald); font-size: .68rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 1rem; }
    .package-card h3 { font-family: 'Fraunces', serif; font-size: 1.7rem; line-height: 1.15; font-weight: 600; color: var(--navy); margin-bottom: .85rem; }
    .package-card.featured h3 { color: var(--navy); }
    .package-desc { color: var(--muted); font-size: .93rem; line-height: 1.62; min-height: 90px; margin-bottom: 1.3rem; }
    .package-card.featured .package-desc { color: var(--muted); }
    .package-best { font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--navy); margin-bottom: .7rem; }
    .package-card.featured .package-best { color: var(--navy); }
    .package-list { list-style: none; margin-bottom: 1.8rem; flex-grow: 1; }
    .package-list li { padding: .66rem 0; border-top: 1px solid var(--line); display: flex; gap: .7rem; font-size: .88rem; line-height: 1.45; color: var(--body); }
    .package-list li::before { content: '✓'; color: var(--emerald); font-weight: 700; }
    .package-card.featured .package-list li { border-color: var(--line); color: var(--body); }
    .package-card .btn-secondary { align-self: flex-start; }
    .package-card.featured .btn-secondary { color: var(--navy); }
    .pricing-note { margin-top: 2.6rem; text-align: center; color: var(--muted); font-size: .89rem; }

    /* PROCESS */
    .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.4rem; }
    .process-step { position: relative; padding-top: 1.1rem; }
    .process-step::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--line-navy); }
    .process-num { font-family: 'Fraunces', serif; color: var(--navy); font-size: 1.6rem; font-weight: 700; margin-bottom: 1rem; }
    .process-step h3 { font-family: 'Fraunces', serif; color: var(--navy); font-size: 1.25rem; font-weight: 600; margin-bottom: .65rem; }
    .process-step p { color: var(--muted); font-size: .9rem; line-height: 1.6; }

    /* DELIVERABLES — premium navy section */
    .deliverables { background: var(--navy); color: rgba(255,255,255,0.85); position: relative; overflow: hidden; }
    .deliverables::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 85% 10%, rgba(255,255,255,0.06) 0%, transparent 55%), linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%); pointer-events: none; }
    .deliverables .container { position: relative; z-index: 2; }
    .deliverables .section-eyebrow { color: #5FD3AE; }
    .deliverables .section-eyebrow::before { background: #5FD3AE; }
    .deliverables .section-title { color: #FFFFFF; }
    .deliverables .section-title em { color: #5FD3AE; }
    .deliverables .section-sub { color: rgba(255,255,255,0.68); }
    .deliverable-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
    .deliverable-card { border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.05); padding: 2rem; border-radius: 16px; backdrop-filter: blur(4px); }
    .deliverable-card h3 { font-family: 'Fraunces', serif; color: #FFFFFF; font-size: 1.27rem; font-weight: 600; margin-bottom: .7rem; }
    .deliverable-card p { color: rgba(255,255,255,0.68); font-size: .89rem; line-height: 1.62; }

    /* ABOUT */
    .about-grid { display: grid; grid-template-columns: 4fr 6fr; gap: 5.8rem; align-items: center; }
    .about-portrait {
      aspect-ratio: 4/5;
      background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
      border-radius: 18px;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow);
    }
    .about-photo { width: 100%; height: 100%; object-fit: cover; display: block; position: relative; z-index: 2; }
    .about-fallback { position: absolute; inset: 0; display: grid; place-items: center; }
    .about-fallback-inner { text-align: center; }
    .about-monogram { font-family: 'Fraunces', serif; font-size: 5rem; color: #FFFFFF; font-weight: 600; }
    .about-fallback-line { width: 60px; height: 2px; background: var(--emerald); margin: .55rem auto 1.3rem; }
    .about-fallback-name { font-family: 'Fraunces', serif; font-size: 1.25rem; color: #FFFFFF; }
    .about-fallback-role { font-size: .68rem; text-transform: uppercase; letter-spacing: .18em; color: #8FB8E0; margin-top: .35rem; }
    .photo-note { position: absolute; bottom: 0; left: 0; right: 0; z-index: 3; background: rgba(16,42,71,.9); color: rgba(255,255,255,.85); padding: .75rem 1rem; font-size: .72rem; text-align: center; }
    .about-content p { font-size: 1.01rem; color: var(--body); line-height: 1.72; margin-bottom: 1.25rem; }
    .about-content p.lead { font-family: 'Fraunces', serif; font-size: 1.37rem; color: var(--navy); line-height: 1.45; margin-bottom: 1.7rem; font-weight: 500; }
    .about-credentials { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
    .credential { font-size: .74rem; font-weight: 600; letter-spacing: .04em; color: var(--navy); background: #F6F9FC; border: 1px solid var(--line); padding: .5rem 1rem; border-radius: 100px; }
    .communication-standard { margin-top: 2rem; border-left: 3px solid var(--gold); padding-left: 1.2rem; }
    .communication-standard strong { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; color: var(--forest); margin-bottom: .4rem; }
    .communication-standard span { color: var(--body); font-size: .92rem; line-height: 1.55; }

    /* CASE STUDY */

    /* TESTIMONIALS */
    .testimonials { background: #FFFFFF; position: relative; overflow: hidden; }
    .testimonials .section-title { color: var(--navy); }
    .testimonials .section-sub { color: var(--muted); }
    .review-summary { display: inline-flex; align-items: center; gap: .8rem; background: #F6F9FC; border: 1px solid var(--line); padding: .7rem 1rem; margin-top: .9rem; border-radius: 100px; color: var(--body); font-size: .82rem; }
    .review-summary strong { color: var(--emerald); }
    .testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
    .testimonial { background: #FFFFFF; border: 1px solid var(--line); padding: 2.25rem; border-radius: 16px; display: flex; flex-direction: column; box-shadow: var(--shadow-soft); }
    .testimonial-stars { color: var(--emerald); font-size: .86rem; letter-spacing: .15em; margin-bottom: 1.3rem; }
    .testimonial-text { font-family: 'Fraunces', serif; font-size: 1.02rem; line-height: 1.58; color: var(--navy); margin-bottom: 1.8rem; flex-grow: 1; }
    .testimonial-author { font-size: .84rem; font-weight: 700; color: var(--navy); }
    .testimonial-role { font-size: .75rem; color: var(--muted); margin-top: .28rem; }
    .testimonials-note { text-align: center; margin-top: 2.8rem; }
    .testimonials-note a { color: var(--emerald); font-size: .88rem; text-decoration: none; border-bottom: 1px solid var(--emerald); padding-bottom: 2px; font-weight: 600; }

    /* FAQ */
    .faq-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 5rem; align-items: start; }
    .faq-intro { position: sticky; top: 108px; }
    .faq-list { border-top: 1px solid var(--line); }
    details { border-bottom: 1px solid var(--line); }
    summary { list-style: none; cursor: pointer; padding: 1.35rem 3rem 1.35rem 0; font-weight: 700; color: var(--forest-deep); position: relative; font-size: .96rem; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: '+'; position: absolute; right: .25rem; top: 1.1rem; font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 400; color: var(--gold); }
    details[open] summary::after { content: '–'; }
    details p { color: var(--body); font-size: .92rem; line-height: 1.65; padding: 0 2.5rem 1.4rem 0; }

    /* CTA */
    .cta { text-align: center; background: linear-gradient(180deg, #F6F9FC 0%, #EEF3F9 100%); position: relative; }
    .cta-inner { max-width: 790px; margin: 0 auto; }
    .cta h2 { font-family: 'Fraunces', serif; font-size: clamp(2.3rem, 4vw, 3.45rem); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; color: var(--navy); margin-bottom: 1.35rem; }
    .cta h2 em { font-style: normal; color: var(--emerald); font-weight: 700; }
    .cta p { font-size: 1.06rem; color: var(--body); line-height: 1.67; max-width: 610px; margin: 0 auto 2.2rem; }
    .cta-small { margin-top: 1.2rem; color: var(--muted); font-size: .8rem; }
    .cta-contact { margin-top: 2.3rem; font-size: .91rem; color: var(--muted); }
    .cta-contact a { color: var(--navy); text-decoration: none; font-weight: 600; border-bottom: 1px solid var(--emerald); }

    /* LEAD GEN SECTION */
    .lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: start; }
    .lead-copy .section-title { margin-bottom: 1.1rem; }
    .lead-choice { display: grid; grid-template-columns: 40px 1fr; gap: 1rem; align-items: start; margin-top: 1.8rem; }
    .lead-choice-num { width: 36px; height: 36px; border-radius: 50%; background: var(--emerald); color: #FFFFFF; font-family: 'Fraunces', serif; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; font-weight: 600; }
    .lead-choice strong { display: block; font-size: 1.05rem; color: var(--navy); margin-bottom: 0.25rem; }
    .lead-choice span { display: block; font-size: 0.95rem; color: var(--muted); line-height: 1.55; }
    .lead-form-wrap { background: #FFFFFF; border: 1px solid var(--line); border-top: 4px solid var(--emerald); border-radius: 18px; padding: 2.6rem 2.4rem; box-shadow: var(--shadow); position: relative; }
    .lead-form-head { font-family: 'Fraunces', serif; font-size: 1.6rem; color: var(--navy); font-weight: 600; margin-bottom: 0.4rem; }
    .lead-form-sub { font-size: 0.9rem; color: var(--muted); margin-bottom: 1.6rem; line-height: 1.5; }
    .lead-form label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--navy); letter-spacing: 0.02em; margin-bottom: 1rem; text-align: left; }
    .lead-form .lf-opt { color: var(--muted); font-weight: 400; }
    .lead-form input, .lead-form select, .lead-form textarea { width: 100%; margin-top: 0.4rem; padding: 0.7rem 0.85rem; background: #FFFFFF; border: 1px solid var(--line); border-radius: 10px; color: var(--body); font-family: 'Inter', sans-serif; font-size: 0.95rem; font-weight: 400; transition: border-color .2s, box-shadow .2s; }
    .lead-form input::placeholder, .lead-form textarea::placeholder { color: var(--muted); }
    .lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { outline: none; border-color: var(--emerald); box-shadow: 0 0 0 3px rgba(24,160,88,0.12); }
    .lead-form select { appearance: none; -webkit-appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23173B63' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; padding-right: 2.2rem; }
    .lead-form select option { background: #FFFFFF; color: var(--body); }
    .lf-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .lf-submit { width: 100%; justify-content: center; margin-top: 0.4rem; }
    .lf-fineprint { font-size: 0.76rem; color: var(--muted); margin-top: 1rem; line-height: 1.5; text-align: left; }

    /* FOOTER */
    footer { background: var(--navy-deep); color: #FFFFFF; padding: 4rem 0 2rem; }
    .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 2rem; }
    .footer-brand { font-family: 'Fraunces', serif; font-size: 1.55rem; font-weight: 600; color: #FFFFFF; margin-bottom: .55rem; }
    .footer-brand em { color: #4DD48A; font-style: normal; font-weight: 600; }
    .footer-tag { font-size: .88rem; color: rgba(255,255,255,.62); max-width: 320px; line-height: 1.6; }
    .footer-col h4 { font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #4DD48A; margin-bottom: 1.1rem; }
    .footer-col ul { list-style: none; }
    .footer-col li { margin-bottom: .65rem; }
    .footer-col a { color: rgba(255,255,255,.72); text-decoration: none; font-size: .86rem; transition: color .2s; }
    .footer-col a:hover { color: #FFFFFF; }
    .footer-static { color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.65; }
    .footer-bottom { display: flex; justify-content: space-between; align-items: center; font-size: .74rem; color: rgba(255,255,255,.45); flex-wrap: wrap; gap: 1rem; }

    @media (max-width: 1020px) {
      .nav-links { gap: 1.25rem; }
      .nav-links li:nth-child(4) { display: none; }
      .hero-grid { grid-template-columns: 1fr 390px; gap: 3rem; }
      .hero-proof { grid-template-columns: repeat(2, max-content); }
      .package-grid { grid-template-columns: 1fr; max-width: 760px; margin: 0 auto; }
      .package-card.featured { transform: none; }
      .package-card.featured:hover { transform: translateY(-5px); }
      .package-desc { min-height: 0; }
      .process-grid { grid-template-columns: repeat(2, 1fr); }
      .deliverable-grid { grid-template-columns: repeat(2, 1fr); }
      .testimonials-grid { grid-template-columns: 1fr; }
      .lead-grid { grid-template-columns: 1fr; gap: 3rem; }
    }

    @media (max-width: 820px) {
      nav {
        background: #FFFFFF;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      body.menu-open main,
      body.menu-open footer { visibility: hidden; }
      .nav-brand-tag { display: none; }
      .mobile-toggle { display: flex; position: relative; z-index: 103; }
      .nav-links {
        position: fixed;
        z-index: 102;
        top: 76px;
        left: 0;
        right: 0;
        bottom: auto;
        width: 100%;
        height: calc(100dvh - 76px);
        min-height: calc(100vh - 76px);
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #FFFFFF;
        box-shadow: 0 18px 40px rgba(14, 40, 70, 0.12);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 1.5rem 6vw 3rem;
        transform: translateX(105%);
        transition: transform .28s ease;
      }
      .nav-links.open { transform: translateX(0); }
      .nav-links li, .nav-links li:nth-child(4) { display: block; border-bottom: 1px solid var(--line); }
      .nav-links a { display: block; padding: 1.1rem 0; font-size: 1rem; }
      .nav-links .nav-cta { text-align: center; margin-top: 1.2rem; padding: 1rem; }
      .hero { min-height: auto; padding: 124px 0 64px; }
      .hero-grid { grid-template-columns: 1fr; }
      .hero-card { padding: 2.2rem 1.8rem; }
      .trust-inner { grid-template-columns: repeat(2, 1fr); }
      .trust-item { border-bottom: 1px solid var(--line); }
      .trust-item:nth-child(2) { border-right: 0; }
      .trust-item:nth-child(3), .trust-item:nth-child(4) { border-bottom: 0; }
      .fit-grid, .about-grid, .case-card, .faq-grid { grid-template-columns: 1fr; gap: 3rem; }
      .fit-card, .faq-intro { position: static; }
      .case-summary, .case-details { padding: 2.3rem; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      section { padding: 5.7rem 0; }
    }

    @media (max-width: 560px) {
      .container, .nav-inner { width: min(90vw, 1180px); }
      .hero h1 { font-size: clamp(2.65rem, 13vw, 3.5rem); }
      .hero-sub { font-size: 1rem; }
      .hero-proof { grid-template-columns: 1fr; gap: .7rem; }
      .hero-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
      .hero-actions .btn-primary { width: 100%; }
      .hero-actions .btn-secondary { align-self: center; }
      .trust-inner { grid-template-columns: 1fr; padding: .5rem 0; }
      .trust-item, .trust-item:nth-child(2), .trust-item:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); padding: .8rem; }
      .trust-item:last-child { border-bottom: 0; }
      .section-header { margin-bottom: 3.3rem; }
      .lf-two { grid-template-columns: 1fr; }
      .lead-form-wrap { padding: 2rem 1.5rem; }
      .problem-list li { grid-template-columns: 44px 1fr; gap: .7rem; }
      .package-card { padding: 2.1rem 1.55rem; }
      .process-grid, .deliverable-grid { grid-template-columns: 1fr; }
      .case-summary, .case-details { padding: 2rem 1.5rem; }
      .footer-top { grid-template-columns: 1fr; }
      .footer-bottom { flex-direction: column; align-items: flex-start; }
      .cta-contact { line-height: 1.9; }
    }
  

/* MULTI-PAGE ADDITIONS */
.skip-link{position:fixed;left:1rem;top:-80px;z-index:500;background:#fff;color:var(--navy);padding:.75rem 1rem;border:2px solid var(--emerald);border-radius:10px;font-weight:700;text-decoration:none;transition:top .2s}
.skip-link:focus{top:1rem}
.nav-links a[aria-current="page"]{color:var(--emerald)}
.nav-links a[aria-current="page"]::after{width:100%}
.page-hero{padding:150px 0 90px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 52%,#f6f9fc 100%);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 58% 80% at 90% 4%,rgba(23,59,99,.08),transparent 62%);pointer-events:none}
.page-hero .container{position:relative;z-index:1}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:5rem;align-items:center}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(2.8rem,5.3vw,4.8rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;color:var(--navy);margin-bottom:1.45rem}
.page-hero h1 em{font-style:normal;color:var(--emerald);font-weight:700}
.page-lead{font-size:1.13rem;color:var(--body);line-height:1.7;max-width:720px}
.breadcrumb{display:flex;gap:.55rem;align-items:center;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:1.7rem}
.breadcrumb a{color:var(--navy);text-decoration:none}
.breadcrumb span{color:var(--muted)}
.page-portrait{background:linear-gradient(145deg,var(--navy),var(--navy-deep));border-radius:22px;padding:12px;box-shadow:var(--shadow);max-width:430px;margin-left:auto}
.page-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:14px}
.compact-section{padding:6.5rem 0}
.prose{max-width:790px}
.prose.wide{max-width:950px}
.prose p{font-size:1.02rem;color:var(--body);line-height:1.78;margin-bottom:1.35rem}
.prose p.lead{font-family:'Fraunces',serif;font-size:1.42rem;line-height:1.5;color:var(--navy);font-weight:500}
.prose h2{font-family:'Fraunces',serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:500;color:var(--navy);line-height:1.12;letter-spacing:-.03em;margin:3rem 0 1rem}
.prose h3{font-family:'Fraunces',serif;font-size:1.35rem;color:var(--navy);margin:2rem 0 .7rem}
.prose ul{padding-left:1.25rem;margin:1rem 0 1.5rem;color:var(--body)}
.prose li{margin:.55rem 0;line-height:1.65}
.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}
.content-grid.four{grid-template-columns:repeat(4,1fr)}
.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:var(--shadow-soft)}
.info-card .card-kicker{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--emerald);margin-bottom:.8rem}
.info-card h2,.info-card h3{font-family:'Fraunces',serif;color:var(--navy);font-weight:600;line-height:1.22;margin-bottom:.75rem}
.info-card h2{font-size:1.55rem}.info-card h3{font-size:1.25rem}
.info-card p,.info-card li{font-size:.92rem;color:var(--body);line-height:1.65}
.info-card ul{list-style:none;margin-top:1rem}
.info-card li{padding:.55rem 0;border-top:1px solid var(--line);display:flex;gap:.65rem}
.info-card li::before{content:'✓';color:var(--emerald);font-weight:800}
.stat-card{background:var(--navy);color:#fff;border-radius:18px;padding:2rem;position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(95,211,174,.08);right:-48px;top:-52px}
.stat-card strong{display:block;font-family:'Fraunces',serif;font-size:1.65rem;color:#fff;line-height:1.18;margin-bottom:.5rem}
.stat-card span{display:block;color:rgba(255,255,255,.7);font-size:.87rem;line-height:1.55}
.section-soft{background:linear-gradient(180deg,#fff 0%,var(--navy-tint) 100%)}
.section-navy{background:linear-gradient(160deg,var(--navy),var(--navy-deep));color:#fff}
.section-navy .section-title,.section-navy h2,.section-navy h3{color:#fff}
.section-navy .section-sub,.section-navy p{color:rgba(255,255,255,.7)}
.section-navy .section-eyebrow{color:#5fd3ae}.section-navy .section-eyebrow::before,.section-navy .section-eyebrow::after{background:#5fd3ae}
.approach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.35rem}
.approach-card{border-left:3px solid var(--emerald);background:#fff;border-radius:0 16px 16px 0;padding:1.7rem 1.8rem;box-shadow:var(--shadow-soft)}
.approach-card h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.25rem;margin-bottom:.5rem}
.approach-card p{color:var(--body);font-size:.93rem;line-height:1.65}
.service-detail{display:grid;grid-template-columns:110px minmax(0,1fr);gap:2.5rem;padding:3rem 0;border-top:1px solid var(--line)}
.service-detail:first-child{border-top:0;padding-top:0}
.service-number{font-family:'Fraunces',serif;color:var(--emerald);font-size:2.4rem;font-weight:600}
.service-body h2{font-family:'Fraunces',serif;color:var(--navy);font-size:clamp(1.9rem,3vw,2.7rem);font-weight:500;line-height:1.15;margin-bottom:.75rem}
.service-body>p{font-size:1rem;color:var(--body);line-height:1.72;max-width:800px}
.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.8rem}
.service-columns h3{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:.75rem}
.clean-list{list-style:none}
.clean-list li{padding:.62rem 0;border-top:1px solid var(--line);color:var(--body);font-size:.91rem;line-height:1.5;display:flex;gap:.7rem}
.clean-list li::before{content:'✓';color:var(--emerald);font-weight:800}
.specialty-banner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);align-items:center;gap:2rem;background:linear-gradient(145deg,var(--navy),var(--navy-deep));border-radius:20px;padding:2.35rem;margin-top:3.2rem;box-shadow:var(--shadow)}
.specialty-banner h3{font-family:'Fraunces',serif;color:#fff;font-size:1.65rem;margin-bottom:.55rem}
.specialty-banner p{color:rgba(255,255,255,.7);line-height:1.65}
.specialty-banner .btn-secondary{justify-self:end;background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.specialty-banner .btn-secondary:hover{background:rgba(255,255,255,.08)}
.scope-note{background:var(--navy-tint);border:1px solid var(--line-navy);border-left:4px solid var(--emerald);border-radius:0 14px 14px 0;padding:1.25rem 1.35rem;color:var(--body);line-height:1.65;margin:1.5rem 0}
.faq-stack{max-width:900px;margin:0 auto}
.contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:4rem;align-items:start}
.contact-card{background:linear-gradient(155deg,var(--navy),var(--navy-deep));border-radius:20px;padding:2.4rem;color:#fff;box-shadow:var(--shadow)}
.contact-card h2{font-family:'Fraunces',serif;font-size:1.75rem;margin-bottom:1rem}
.contact-card p{color:rgba(255,255,255,.7);line-height:1.65}
.contact-list{list-style:none;margin:1.4rem 0}
.contact-list li{padding:.8rem 0;border-top:1px solid rgba(255,255,255,.12)}
.contact-list a{color:#fff;text-decoration:none;font-weight:600}
.contact-list small{display:block;color:rgba(255,255,255,.58);margin-top:.2rem}
.policy-card{max-width:960px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(1.5rem,4vw,3.8rem);box-shadow:var(--shadow)}
.policy-card h1{font-family:'Fraunces',serif;color:var(--navy);font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1.08;margin-bottom:.8rem}
.policy-card h2{font-family:'Fraunces',serif;color:var(--navy);font-size:1.65rem;font-weight:600;margin:2.6rem 0 .75rem;scroll-margin-top:100px}
.policy-card h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.2rem;margin:1.4rem 0 .45rem}
.policy-card p,.policy-card li{font-size:.96rem;color:var(--body);line-height:1.72}
.policy-card p{margin:.75rem 0}.policy-card ul{padding-left:1.25rem;margin:.7rem 0}
.policy-card li{margin:.35rem 0}
.policy-updated{color:var(--muted);font-size:.85rem;margin-bottom:1.5rem}
.policy-toc{background:var(--navy-tint);border:1px solid var(--line-navy);border-radius:15px;padding:1.25rem;margin:1.6rem 0 2rem}
.policy-toc strong{color:var(--navy)}
.policy-toc ul{columns:2;column-gap:2rem;list-style:none;padding-left:0}
.policy-toc a{color:var(--navy);text-decoration:none}
.notice{background:var(--navy-tint);border-left:4px solid var(--emerald);padding:1.1rem 1.25rem;border-radius:0 12px 12px 0;margin:1.4rem 0;color:var(--body);line-height:1.6}
.form-status{min-height:1.4rem;color:var(--emerald-hover);font-size:.82rem;font-weight:600;margin-top:.7rem;text-align:left}
.footer-legal{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.footer-legal a{color:rgba(255,255,255,.65);text-decoration:none}
.error-page{min-height:75vh;display:grid;place-items:center;padding:140px 0 70px;text-align:center;background:linear-gradient(180deg,#fff,var(--navy-tint))}
.error-page h1{font-family:'Fraunces',serif;color:var(--navy);font-size:clamp(4rem,12vw,8rem);line-height:1}
.error-page h2{font-family:'Fraunces',serif;color:var(--navy);font-size:2rem;margin:.6rem 0}
.error-page p{color:var(--body);margin-bottom:1.5rem}
@media(max-width:1020px){.content-grid.four{grid-template-columns:repeat(2,1fr)}.page-hero-grid{gap:3rem}.contact-grid{grid-template-columns:1fr}.specialty-banner{grid-template-columns:1fr}.specialty-banner .btn-secondary{justify-self:start}}
@media(max-width:820px){.page-hero{padding:125px 0 70px}.page-hero-grid{grid-template-columns:1fr}.page-portrait{margin:0;max-width:390px}.content-grid,.approach-grid{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr;gap:.8rem}.service-columns{grid-template-columns:1fr}.policy-toc ul{columns:1}}
@media(max-width:560px){.content-grid.four{grid-template-columns:1fr}.page-hero h1{font-size:clamp(2.55rem,12vw,3.6rem)}.specialty-banner{padding:1.7rem}.policy-card{border-radius:16px}.contact-card{padding:1.8rem}}
