.tcp { --teal:#0D7C84; --teal-d:#0a6068; --navy:#1F5870; --peach:#E8C5B5; --coral:#D98E6B; --sage:#B8D4D2; --cream:#FAF7F2; --ink:#2C4651; --muted:#5C7682;
    font-family:'Instrument Sans','Instrument Sans',system-ui,-apple-system,sans-serif !important; color:var(--ink) !important; line-height:1.6 !important; -webkit-font-smoothing:antialiased !important; }
  .tcp *,.tcp *::before,.tcp *::after { box-sizing:border-box !important; margin:0; padding:0; }
  .tcp img { display:block !important; max-width:100% !important; }
  .tcp .wrap { max-width:1200px !important; margin:0 auto !important; padding:0 32px !important; }

  /* Type */
  .tcp h1,.tcp h2,.tcp h3 { font-family:'Instrument Sans','Instrument Sans',sans-serif !important; color:var(--navy) !important; font-weight:800 !important; line-height:1.16 !important; letter-spacing:-0.025em !important; }
  .tcp h1 { font-size:clamp(2.4rem,4.6vw,3.7rem) !important; }
  .tcp h2 { font-size:clamp(1.85rem,3.4vw,2.65rem) !important; }
  .tcp h3 { font-size:1.22rem !important; font-weight:700 !important; letter-spacing:-0.015em !important; }
  .tcp p { font-size:1.06rem !important; color:var(--muted) !important; }
  .tcp .accent { color:var(--teal) !important; }
  .tcp .eyebrow { display:inline-flex !important; align-items:center !important; gap:12px !important; font-size:0.74rem !important; font-weight:700 !important; letter-spacing:0.2em !important; text-transform:uppercase !important; color:var(--teal) !important; }
  .tcp .eyebrow::before { content:'' !important; width:28px !important; height:2px !important; background:var(--teal) !important; border-radius:2px !important; }

  /* Buttons */
  .tcp .btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; font-family:'Instrument Sans','Instrument Sans',sans-serif !important; font-size:1.02rem !important; font-weight:700 !important; padding:17px 36px !important; border-radius:100px !important; text-decoration:none !important; cursor:pointer !important; border:none !important; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s !important; }
  .tcp .btn-primary { background:var(--teal) !important; color:#fff !important; box-shadow:0 16px 34px -12px rgba(13,124,132,.55) !important; }
  .tcp .btn-primary:hover { transform:translateY(-3px) !important; box-shadow:0 24px 48px -14px rgba(13,124,132,.65) !important; background:var(--teal-d) !important; }
  .tcp .btn-text { display:inline-flex !important; align-items:center !important; gap:9px !important; font-weight:700 !important; color:var(--navy) !important; text-decoration:none !important; font-size:1rem !important; }
  .tcp .btn-text svg { color:var(--teal) !important; }

  /* ===== HOVER COLOR-FLIPS (warm coral pops, not teal-on-teal) ===== */
  /* coral accent used for hover pop */
  /* hero badges -> coral */
  .tcp .hero .badges span { transition:color .3s ease !important; }
  .tcp .hero .badges span:hover { color:var(--coral) !important; }
  .tcp .hero .badges span:hover svg { transform:scale(1.2) !important; color:var(--coral) !important; }
  .tcp .hero .badges svg { transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s ease !important; }
  /* hero image frame lift */
  .tcp .hero-media .frame { transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s !important; }
  .tcp .hero-media:hover .frame { transform:translateY(-6px) scale(1.008) !important; box-shadow:0 60px 120px -40px rgba(31,88,112,.5) !important; }
  /* helps rows: fill warm peach pill, text navy, checkmark coral */
  .tcp .helps li { transition:color .3s ease,padding .3s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s !important; border-radius:12px !important; }
  .tcp .helps li:hover { color:var(--navy) !important; background:#F7E6DC !important; padding-left:16px !important; padding-right:16px !important; border-color:transparent !important; }
  .tcp .helps li svg { transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s ease !important; }
  .tcp .helps li:hover svg { transform:scale(1.3) !important; color:var(--coral) !important; }
  /* helps image zoom */
  .tcp .helps-img img { transition:transform .8s cubic-bezier(.16,1,.3,1) !important; }
  .tcp .helps-img:hover img { transform:scale(1.05) !important; }
  /* trust cards: flip to solid PEACH, text navy, icon teal -> strong warm contrast on teal bg */
  .tcp .tcard { transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s ease,box-shadow .4s ease,border-color .4s !important; }
  .tcp .tcard:hover { transform:translateY(-8px) !important; background:var(--peach) !important; border-color:var(--peach) !important; box-shadow:0 40px 80px -26px rgba(0,0,0,.45) !important; }
  .tcp .tcard:hover h3 { color:var(--navy) !important; }
  .tcp .tcard:hover p { color:#6B4B3E !important; }
  .tcp .tcard:hover .ic { background:var(--teal) !important; }
  .tcp .tcard:hover .ic svg { color:#fff !important; transform:scale(1.1) !important; }
  .tcp .tcard h3, .tcp .tcard p, .tcp .tcard .ic, .tcp .tcard .ic svg { transition:color .4s ease,background .4s ease,transform .4s ease !important; }
  /* process steps: number pops CORAL, heading coral */
  .tcp .step .num, .tcp .step h3 { transition:opacity .35s ease,color .35s ease !important; }
  .tcp .step:hover .num { opacity:1 !important; color:var(--coral) !important; }
  .tcp .step:hover h3 { color:var(--coral) !important; }
  /* faq: fill warm peach tint, coral left bar, heading coral */
  .tcp .faq-item { position:relative !important; transition:box-shadow .3s,border-color .3s,background .3s !important; }
  .tcp .faq-item::before { content:'' !important; position:absolute !important; left:0 !important; top:14px !important; bottom:14px !important; width:0 !important; background:var(--coral) !important; border-radius:3px !important; transition:width .3s cubic-bezier(.16,1,.3,1) !important; }
  .tcp .faq-item:hover { background:#FBEFE7 !important; border-color:rgba(217,142,107,.4) !important; box-shadow:0 18px 40px -22px rgba(217,142,107,.35) !important; }
  .tcp .faq-item:hover::before { width:4px !important; }
  .tcp .faq-item:hover h3 { color:var(--coral) !important; }
  .tcp .faq-item h3 { transition:color .3s ease !important; padding-left:14px !important; }
  .tcp .faq-item p { padding-left:14px !important; }
  /* text link hover -> coral */
  .tcp .btn-text { transition:color .3s ease !important; }
  .tcp .btn-text:hover { color:var(--coral) !important; }
  .tcp .btn-text:hover svg { color:var(--coral) !important; }
  /* primary buttons -> warm coral on hover for a clear color change */
  .tcp .btn-primary:hover { background:var(--coral) !important; box-shadow:0 24px 48px -14px rgba(217,142,107,.6) !important; }
  /* phone cards -> warm peach fill */
  .tcp .phone-card:hover { background:#F7E6DC !important; }

  /* Reveal */
  .tcp .reveal { opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1); }
  .tcp .reveal.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce){ .tcp .reveal{opacity:1 !important;transform:none !important;} }

  /* ===== HERO (WOW cinematic, fail-safe) ===== */
  .tcp .hero { position:relative !important; min-height:90vh !important; display:flex !important; align-items:center !important; overflow:hidden !important; background:#08252e !important; padding:120px 0 96px !important; }
  .tcp .hero .hero-bg { position:absolute !important; inset:0 !important; z-index:0 !important; overflow:hidden !important; }
  .tcp .hero .hero-bg img { width:100% !important; height:100% !important; object-fit:cover !important; animation:tcKen 22s ease-in-out infinite alternate !important; }
  @keyframes tcKen { from{transform:scale(1.06)} to{transform:scale(1.18) translate(-2%,-2%)} }
  .tcp .hero .hero-shade { position:absolute !important; inset:0 !important; z-index:1 !important; background:linear-gradient(108deg, rgba(8,37,46,.94) 0%, rgba(13,124,132,.8) 46%, rgba(13,124,132,.28) 100%) !important; }
  .tcp .hero .orb { position:absolute !important; border-radius:50% !important; filter:blur(54px) !important; z-index:2 !important; opacity:.5 !important; pointer-events:none !important; }
  .tcp .hero .orb.o1 { width:440px !important; height:440px !important; background:rgba(184,212,210,.5) !important; top:-90px !important; right:7% !important; animation:tcFloat 15s ease-in-out infinite !important; }
  .tcp .hero .orb.o2 { width:360px !important; height:360px !important; background:rgba(232,197,181,.5) !important; bottom:-70px !important; left:3% !important; animation:tcFloat 19s ease-in-out infinite reverse !important; }
  @keyframes tcFloat { 0%,100%{transform:translate(0,0)} 50%{transform:translate(22px,-28px)} }
  .tcp .hero .wrap { position:relative !important; z-index:5 !important; transition:transform .25s ease-out !important; }
  /* all hero text is visible by default (opacity 1); motion is transform-only so it can NEVER hide content */
  .tcp .hero .eyebrow { color:#CFE7E8 !important; animation:tcRise .8s cubic-bezier(.16,1,.3,1) both !important; }
  .tcp .hero .eyebrow::before { background:var(--peach) !important; }
  .tcp .hero h1 { color:#fff !important; font-size:clamp(2.9rem,6.2vw,5.2rem) !important; line-height:1.06 !important; max-width:15ch !important; margin:22px 0 22px !important; }
  .tcp .hero h1 .w { display:inline-block !important; animation:tcRise .9s cubic-bezier(.16,1,.3,1) both !important; }
  .tcp .hero h1 .accent { color:var(--peach) !important; font-style:italic !important; font-weight:800 !important; }
  .tcp .hero .lede { color:#EAF4F4 !important; font-size:1.22rem !important; max-width:36ch !important; margin-top:6px !important; animation:tcRise 1s cubic-bezier(.16,1,.3,1) .5s both !important; }
  @keyframes tcRise { from{transform:translateY(30px)} to{transform:translateY(0)} }
  .tcp .hero .hero-cta { display:flex !important; align-items:center !important; gap:26px !important; flex-wrap:wrap !important; margin-top:30px !important; animation:tcRise 1s cubic-bezier(.16,1,.3,1) .68s both !important; }
  .tcp .hero .btn-primary { background:#fff !important; color:var(--teal-d) !important; box-shadow:0 18px 40px -14px rgba(0,0,0,.45) !important; transition:transform .2s ease, background .3s, color .3s !important; }
  .tcp .hero .btn-primary:hover { background:var(--peach) !important; color:var(--navy) !important; }
  .tcp .hero .btn-text { color:#fff !important; }
  .tcp .hero .btn-text svg { color:var(--peach) !important; }
  .tcp .hero .btn-text:hover { color:var(--peach) !important; }
  .tcp .hero .chips { display:flex !important; gap:13px !important; flex-wrap:wrap !important; margin-top:38px !important; animation:tcRise 1s cubic-bezier(.16,1,.3,1) .86s both !important; }
  .tcp .hero .chips .chip { display:inline-flex !important; align-items:center !important; gap:9px !important; padding:11px 18px !important; border-radius:100px !important; background:rgba(255,255,255,.13) !important; border:1px solid rgba(255,255,255,.28) !important; backdrop-filter:blur(12px) !important; -webkit-backdrop-filter:blur(12px) !important; color:#fff !important; font-weight:600 !important; font-size:.92rem !important; transition:background .3s, transform .3s !important; }
  .tcp .hero .chips .chip:hover { background:rgba(255,255,255,.24) !important; transform:translateY(-3px) !important; }
  .tcp .hero .chips .chip svg { color:var(--peach) !important; flex-shrink:0 !important; }
  .tcp .hero .scroll-cue { position:absolute !important; bottom:24px !important; left:50% !important; transform:translateX(-50%) !important; z-index:5 !important; color:rgba(255,255,255,.72) !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:6px !important; font-size:.66rem !important; font-weight:700 !important; letter-spacing:.24em !important; text-transform:uppercase !important; animation:tcBob 2.2s ease-in-out infinite !important; }
  @keyframes tcBob { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,9px)} }
  @media (max-width:920px){ .tcp .hero { min-height:auto !important; padding:96px 0 72px !important; } .tcp .hero h1 { font-size:clamp(2.4rem,9vw,3.4rem) !important; } .tcp .hero .scroll-cue{ display:none !important; } }
  @media (prefers-reduced-motion:reduce){ .tcp .hero *{ animation:none !important; transform:none !important; } }

  /* ===== EMPATHY ===== */
  .tcp .empathy { background:#fff !important; padding:92px 0 !important; }
  .tcp .empathy .inner { max-width:780px !important; margin:0 auto !important; text-align:center !important; }
  .tcp .empathy h2 { margin-bottom:24px !important; }
  .tcp .empathy p { font-size:1.2rem !important; line-height:1.72 !important; color:#4A6470 !important; }
  .tcp .empathy .rule { width:50px !important; height:2px !important; background:var(--peach) !important; margin:32px auto 0 !important; border-radius:2px !important; }

  /* ===== HELPS (image + list) ===== */
  .tcp .helps { background:var(--cream) !important; padding:92px 0 !important; }
  .tcp .helps-grid { display:grid !important; grid-template-columns:0.92fr 1.08fr !important; gap:64px !important; align-items:center !important; }
  .tcp .helps-img { border-radius:26px !important; overflow:hidden !important; box-shadow:0 44px 90px -34px rgba(31,88,112,.4) !important; aspect-ratio:5/5.4 !important; }
  .tcp .helps-img img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .tcp .helps h2 { margin:16px 0 6px !important; }
  .tcp .helps ul { list-style:none !important; margin-top:20px !important; }
  .tcp .helps li { display:flex !important; align-items:flex-start !important; gap:15px !important; padding:15px 0 !important; border-bottom:1px solid rgba(31,88,112,.1) !important; font-size:1.06rem !important; color:var(--ink) !important; font-weight:500 !important; }
  .tcp .helps li svg { color:var(--teal) !important; flex-shrink:0 !important; margin-top:3px !important; }

  /* ===== TRUST (teal) ===== */
  .tcp .trust { background:linear-gradient(158deg,var(--teal) 0%,var(--teal-d) 100%) !important; padding:92px 0 !important; }
  .tcp .trust h2 { color:#fff !important; text-align:center !important; margin-bottom:14px !important; }
  .tcp .trust .sub { text-align:center !important; color:#CFE7E8 !important; max-width:34em !important; margin:0 auto 50px !important; }
  .tcp .trust-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:24px !important; }
  .tcp .tcard { background:#FFFFFF !important; border:1px solid transparent !important; border-radius:22px !important; padding:36px 30px !important; box-shadow:0 30px 60px -30px rgba(0,0,0,.4) !important; transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s !important; }
  .tcp .tcard:hover { transform:translateY(-7px) !important; }
  .tcp .tcard .ic { width:52px !important; height:52px !important; border-radius:14px !important; background:rgba(13,124,132,.1) !important; display:flex !important; align-items:center !important; justify-content:center !important; margin-bottom:20px !important; }
  .tcp .tcard .ic svg { color:var(--teal) !important; }
  .tcp .tcard h3 { color:var(--navy) !important; margin-bottom:9px !important; }
  .tcp .tcard p { color:var(--muted) !important; font-size:0.99rem !important; }

  /* ===== PROCESS ===== */
  .tcp .process { background:#fff !important; padding:92px 0 !important; }
  .tcp .process h2 { text-align:center !important; margin-bottom:54px !important; }
  .tcp .steps { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:44px !important; }
  .tcp .step { position:relative !important; }
  .tcp .step .num { font-weight:900 !important; font-size:3.1rem !important; color:var(--teal) !important; opacity:.16 !important; line-height:1 !important; display:block !important; margin-bottom:6px !important; letter-spacing:-.03em !important; }
  .tcp .step h3 { margin-bottom:9px !important; }
  .tcp .step p { font-size:1.01rem !important; }

  /* ===== BOOK (form) ===== */
  .tcp .book { background:linear-gradient(180deg,var(--cream) 0%,#F5EAE3 100%) !important; padding:92px 0 !important; }
  .tcp .book-grid { display:grid !important; grid-template-columns:0.92fr 1.08fr !important; gap:52px !important; align-items:stretch !important; }
  .tcp .book-side { display:flex !important; flex-direction:column !important; }
  .tcp .book-side .photo { border-radius:22px !important; overflow:hidden !important; aspect-ratio:16/10 !important; box-shadow:0 30px 64px -28px rgba(31,88,112,.34) !important; margin-bottom:26px !important; }
  .tcp .book-side .photo img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .tcp .book-side h2 { margin-bottom:14px !important; }
  .tcp .book-side p { font-size:1.05rem !important; margin-bottom:18px !important; }
  .tcp .book-trust { display:grid !important; gap:11px !important; margin-top:8px !important; padding:22px 24px !important; background:rgba(255,255,255,.6) !important; border:1px solid rgba(13,124,132,.12) !important; border-radius:18px !important; }
  .tcp .book-trust .row { display:flex !important; align-items:center !important; gap:12px !important; font-size:1rem !important; color:var(--ink) !important; font-weight:600 !important; }
  .tcp .book-trust .row svg { color:var(--teal) !important; flex-shrink:0 !important; }
  .tcp .phone-card { display:inline-flex !important; align-items:center !important; gap:14px !important; margin-top:22px !important; padding:15px 22px !important; background:#fff !important; border-radius:14px !important; box-shadow:0 16px 36px -16px rgba(31,88,112,.24) !important; text-decoration:none !important; transition:transform .3s !important; align-self:flex-start !important; }
  .tcp .phone-card:hover { transform:translateY(-3px) !important; }
  .tcp .phone-card .lbl { font-size:0.78rem !important; color:var(--muted) !important; }
  .tcp .phone-card .num { font-size:1.4rem !important; font-weight:800 !important; color:var(--teal) !important; line-height:1 !important; display:block !important; letter-spacing:-.01em !important; }
  .tcp .book-card { background:#fff !important; border-radius:28px !important; padding:14px !important; box-shadow:0 50px 110px -38px rgba(31,88,112,.36) !important; position:relative !important; }
  .tcp .book-card .top { padding:26px 26px 8px !important; }
  .tcp .book-card .bar { height:5px !important; border-radius:6px !important; background:linear-gradient(90deg,var(--teal),var(--peach),var(--sage)) !important; margin:0 0 18px !important; }
  .tcp .book-card h3 { font-size:1.5rem !important; color:var(--navy) !important; margin-bottom:6px !important; }
  .tcp .book-card .mini { font-size:0.94rem !important; color:var(--muted) !important; }
  .tcp .iframe-box { border-radius:18px !important; overflow:hidden !important; }
  .tcp iframe { width:100% !important; border:none !important; display:block !important; background:transparent !important; }

  /* ===== FAQ ===== */
  .tcp .faq { background:#fff !important; padding:92px 0 !important; }
  .tcp .faq h2 { text-align:center !important; margin-bottom:46px !important; }
  .tcp .faq-list { max-width:780px !important; margin:0 auto !important; }
  .tcp .faq-item { border:1px solid rgba(31,88,112,.12) !important; border-radius:16px !important; padding:22px 26px !important; margin-bottom:14px !important; transition:box-shadow .3s,border-color .3s !important; }
  .tcp .faq-item:hover { box-shadow:0 18px 40px -22px rgba(31,88,112,.25) !important; border-color:rgba(13,124,132,.3) !important; }
  .tcp .faq-item h3 { color:var(--navy) !important; margin-bottom:7px !important; font-size:1.12rem !important; }
  .tcp .faq-item p { font-size:1.01rem !important; }

  /* ===== FINAL CTA (image bg) ===== */
  .tcp .final { position:relative !important; padding:120px 0 !important; text-align:center !important; overflow:hidden !important; }
  .tcp .final .bg { position:absolute !important; inset:0 !important; z-index:0 !important; }
  .tcp .final .bg img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .tcp .final .bg::after { content:'' !important; position:absolute !important; inset:0 !important; background:linear-gradient(180deg,rgba(31,88,112,.42),rgba(13,124,132,.6)) !important; }
  .tcp .final .inner { position:relative !important; z-index:2 !important; max-width:680px !important; margin:0 auto !important; }
  .tcp .final h2 { color:#fff !important; margin-bottom:16px !important; }
  .tcp .final p { color:#EAF4F4 !important; font-size:1.14rem !important; margin:0 auto 30px !important; max-width:30em !important; }
  .tcp .final .addr { margin-top:26px !important; font-size:0.9rem !important; color:#DCEBEB !important; }
  .tcp .final .btn-primary { background:#fff !important; color:var(--teal-d) !important; }
  .tcp .final .btn-primary:hover { background:var(--cream) !important; }

  @media (max-width:920px){
    .tcp .hero-grid,.tcp .helps-grid,.tcp .book-grid { grid-template-columns:1fr !important; gap:44px !important; }
    .tcp .trust-grid,.tcp .steps { grid-template-columns:1fr !important; gap:22px !important; }
    .tcp .hero-media .frame,.tcp .helps-img { aspect-ratio:16/11 !important; }
    .tcp .hero-media .chip { left:14px !important; bottom:14px !important; }
    .tcp .hero { padding:52px 0 60px !important; }
    .tcp .wrap { padding:0 22px !important; }
  }