
  :root{
    --ink:#43362D;
    --ink-soft:#7A685A;
    --coral:#E07A61;
    --coral-deep:#B85A43;
    --ivory:#FBF7F1;
    --sand:#F2E6DB;
    --blush:#F6DACE;
    --line:#E3D3C4;
    --line-sand:#DFCBBA;
    --serif:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
    --sans:'Montserrat',Helvetica,Arial,sans-serif;
    --geo:'Poppins',Futura,'Century Gothic',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--ivory);color:var(--ink);font-family:var(--serif);line-height:1.6;}

  .wrap{max-width:1060px;margin:0 auto;padding:0 24px;}

  /* nav */
  nav{position:sticky;top:0;background:rgba(251,247,241,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:10;}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1060px;margin:0 auto;}
  .nav-mark{font-family:var(--geo);font-weight:600;font-size:20px;text-transform:lowercase;color:var(--ink);text-decoration:none;display:flex;align-items:baseline;}
  .nav-mark svg{height:14px;width:auto;margin:0 2px;transform:translateY(1px);}
  .nav-links a{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;margin-left:26px;}
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--coral-deep);}
  a:focus-visible{outline:2px solid var(--coral);outline-offset:3px;}
  @media(max-width:700px){.nav-links a{margin-left:14px;font-size:10px;letter-spacing:0.14em;}.nav-links a.hide-m{display:none;}}

  /* hero */
  header{position:relative;overflow:hidden;text-align:center;padding:110px 24px 96px;}
  .ring{position:absolute;top:-140px;right:-150px;width:360px;height:360px;border:1.5px solid var(--coral);border-radius:50%;}
  /* .disc{position:absolute;bottom:-120px;left:-110px;width:260px;height:260px;background:var(--blush);border-radius:50%;} */
  .wordmark{font-family:var(--geo);font-weight:600;font-size:clamp(52px,9vw,84px);text-transform:lowercase;line-height:1;letter-spacing:-0.01em;}
  .wordmark svg{height:0.72em;width:auto;vertical-align:baseline;margin:0 0.05em;transform:translateY(0.02em);}
  .heart-path{stroke-dasharray:210;stroke-dashoffset:210;animation:draw 1.4s ease-out 0.3s forwards;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  @media(prefers-reduced-motion:reduce){.heart-path{animation:none;stroke-dashoffset:0;}}
  .hero-rule{width:44px;height:2px;background:var(--coral);margin:34px auto 26px;}
  .hero-field{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:0.38em;text-transform:uppercase;margin-bottom:28px;}
  .hero-tag{font-style:italic;font-size:20px;color:var(--ink-soft);max-width:420px;margin:0 auto 48px;}
  .doors{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .door{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;padding:15px 28px;border-radius:999px;}
  .door.solid{background:var(--coral);color:#fff;}
  .door.solid:hover{background:var(--coral-deep);}
  .door.ghost{border:1px solid var(--coral);color:var(--coral-deep);}
  .door.ghost:hover{background:var(--blush);}

  /* why us — flip cards */
  .flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;}
  @media(max-width:820px){.flip-grid{grid-template-columns:1fr;gap:20px;}}
  .flip-card{perspective:1200px;height:196px;cursor:pointer;}
  .flip-card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,.1,.2,1);transform-style:preserve-3d;}
  .flip-card:hover .flip-card-inner,.flip-card:focus-visible .flip-card-inner,.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg);}
  .flip-card-front,.flip-card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line);border-radius:2px;padding:24px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
  .flip-card-front{background:var(--ivory);}
  .flip-card-back{background:var(--blush);transform:rotateY(180deg);}
  .flip-num{width:34px;height:34px;border:1.5px solid var(--coral);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--geo);font-weight:600;font-size:12px;color:var(--coral-deep);margin-bottom:14px;}
  .flip-card-front h3{font-family:var(--serif);font-weight:normal;font-size:17px;line-height:1.3;}
  .flip-card-back p{font-size:18px;color:var(--ink);line-height:1.5;}
  @media(prefers-reduced-motion:reduce){.flip-card-inner{transition:none;}}

  /* telehealth card — stands out from the grid */
  .flip-card-feature .flip-card-front,.flip-card-feature .flip-card-back{border:1.5px solid var(--coral);}
  .flip-card-feature .flip-card-front{background:linear-gradient(150deg,var(--blush) 0%,var(--ivory) 65%);animation:glow-pulse 2.8s ease-in-out infinite;}
  .flip-card-feature .flip-num{background:var(--coral);border-color:var(--coral);color:#fff;}
  .flip-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:4px;background:var(--coral);color:#fff;font-family:var(--sans);font-weight:600;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;padding:5px 9px 5px 7px;border-radius:20px;}
  .flip-badge svg{width:10px;height:10px;stroke:#fff;flex-shrink:0;}
  @keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(224,122,97,0.34);}50%{box-shadow:0 0 16px 4px rgba(224,122,97,0.34);}}
  @media(prefers-reduced-motion:reduce){.flip-card-feature .flip-card-front{animation:none;}}

  /* section scaffolding */
  section{padding:92px 0;}
  .eyebrow{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:0.32em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:12px;}
  h2{font-family:var(--serif);font-weight:normal;font-size:clamp(28px,4vw,38px);line-height:1.15;margin-bottom:8px;}
  .head-rule{width:38px;height:2px;background:var(--coral);margin:22px 0 34px;}
  .lede{font-size:19px;color:var(--ink-soft);max-width:520px;}

  .cols{display:grid;grid-template-columns:repeat(2,1fr);gap:56px;margin-top:56px;}
  @media(max-width:820px){.cols{grid-template-columns:1fr;gap:40px;}}
  #services .lede{max-width:1024px;}
  .col-label{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;}
  ul.hairline{list-style:none;}
  ul.hairline li{padding:12px 0;border-bottom:1px solid var(--line);font-size:18px;}
  ul.hairline li:last-child{border-bottom:none;}
  .sand ul.hairline li{border-color:var(--line-sand);}

  .sand{background:var(--sand);}
  .closing{font-style:italic;color:var(--coral-deep);font-size:17px;margin-top:48px;border-top:2px solid var(--coral);padding-top:22px;}

  /* services */
  .svc{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;}
  @media(max-width:820px){.svc{grid-template-columns:1fr;}}
  .svc h3{font-family:var(--serif);font-weight:normal;font-size:21px;margin-bottom:10px;}
  .svc p{font-size:20px;color:var(--ink-soft);}
  .svc .tick{width:26px;height:2px;background:var(--coral);margin-bottom:16px;}
  .langs{margin-top:52px;font-style:italic;font-size:16px;color:var(--ink-soft);}
  .langs b{font-style:normal;font-weight:normal;color:var(--coral-deep);}

  /* about */
  .about-wrap{display:grid;grid-template-columns:140px 1fr;gap:56px;align-items:center;margin-top:8px;}
  @media(max-width:640px){.about-wrap{grid-template-columns:1fr;}}
  .about-photo{position:relative;width:140px;height:140px;}
  @media(max-width:640px){.about-photo{margin:0 auto;}}
  .about-photo-float{float:left;margin:8px 32px 16px 0;}
  @media(max-width:640px){.about-photo-float{float:none;margin:0 auto 24px;}}
  .about-photo::before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:1.5px solid var(--coral);border-radius:50%;z-index:0;}
  .about-photo img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:50%;box-shadow:0 14px 28px rgba(67,54,45,0.18);}
  .cred-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line);}
  @media(max-width:820px){.cred-row{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.cred-row{grid-template-columns:1fr;}}
  .about-quote{font-style:italic;font-size:17px;color:var(--ink);border-left:2px solid var(--coral);padding-left:22px;margin-top:28px;}
  .cred{padding:0;}
  .cred .what{font-size:16px;}
  .cred .who{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;}

  .contact-cta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:56px;}

  /* success banner (shown after a contact form submission) */
  .success-banner{position:fixed;top:24px;left:50%;transform:translateX(-50%);background:var(--ivory);color:var(--ink);border:1px solid var(--coral);padding:14px 24px;border-radius:2px;font-family:var(--sans);font-weight:600;font-size:13px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(67,54,45,0.18);z-index:10001;animation:banner-in .4s ease-out;}
  .success-banner .checkmark{color:var(--coral-deep);font-size:16px;}
  .success-banner.fade-out{animation:banner-out .6s ease-out forwards;}
  @keyframes banner-in{from{opacity:0;transform:translate(-50%,-14px);}to{opacity:1;transform:translate(-50%,0);}}
  @keyframes banner-out{from{opacity:1;transform:translate(-50%,0);}to{opacity:0;transform:translate(-50%,-14px);}}

  footer{text-align:center;padding:64px 24px 48px;border-top:1px solid var(--line);}
  .footer-mark{margin-bottom:22px;}
  .foot-heart{height:24px;width:auto;}
  .footer-chat{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--coral-deep);min-height:1.4em;margin-bottom:26px;}
  .footer-cursor{display:inline-block;width:2px;height:0.9em;background:var(--coral-deep);margin-left:2px;vertical-align:-2px;animation:footer-blink .8s step-end infinite;}
  @keyframes footer-blink{50%{opacity:0;}}
  @media(prefers-reduced-motion:reduce){.footer-cursor{animation:none;}}
  .footer-info{display:flex;justify-content:center;align-items:center;gap:44px;flex-wrap:wrap;margin-bottom:34px;text-align:left;}
  .footer-info-item{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink);text-decoration:none;white-space:nowrap;}
  .footer-info-item svg{width:22px;height:22px;flex-shrink:0;color:var(--coral);}
  a.footer-info-item:hover{color:var(--coral-deep);}
  a.footer-info-item:hover svg{color:var(--coral-deep);}
  @media(max-width:700px){.footer-info{flex-direction:column;gap:18px;}.footer-info-item{white-space:normal;text-align:center;justify-content:center;}}
  footer .contact-cta{margin:0 0 34px;}
  .footer-links{display:flex;justify-content:center;align-items:center;gap:32px;margin-bottom:28px;flex-wrap:wrap;}
  .footer-links a{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;}
  .footer-links a:hover,.footer-links a:focus-visible{color:var(--coral-deep);}
  .footer-links svg{width:17px;height:17px;}
  .foot-line{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}
  /* Olympus credit: Cinzel hero lettering with a CSS-only internal gold shine. */
  .olympus-credit{display:flex;justify-content:center;margin-top:38px;}
  .olympus-credit-link{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--ink);font-family:var(--sans);line-height:1.6;text-decoration:none;}
  .olympus-credit-label{font-size:9px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);}
  .olympus-credit-brand{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;}
  .olympus-credit-name{font-family:'Cinzel',Georgia,serif;font-size:clamp(11px,3.5vw,16px);font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;color:#87601e;}
  @supports ((background-clip:text) or (-webkit-background-clip:text)){
    .olympus-credit-name{background-image:linear-gradient(110deg,#87601e 0%,#87601e 39%,#c39336 45%,#f5d98a 48%,#fff9df 50%,#f5d98a 52%,#c39336 55%,#87601e 61%,#87601e 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:olympus-letter-shine 4.2s ease-in-out infinite;}
  }
  .olympus-bolt{width:22px;height:30px;flex-shrink:0;color:#d4a32f;animation:olympus-lightning-flash 2.4s steps(1,end) infinite;}
  .olympus-bolt-core{stroke:#fff5cb;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
  .olympus-credit-link:hover .olympus-credit-label,.olympus-credit-link:focus-visible .olympus-credit-label{color:var(--ink);}
  .olympus-credit-link:focus-visible{outline:2px solid #8c6412;outline-offset:7px;}
  @keyframes olympus-letter-shine{0%,15%{background-position:100% 0;}70%,100%{background-position:0% 0;}}
  @keyframes olympus-lightning-flash{0%,14%{opacity:1;color:#ffdf62;}7%,21%,100%{opacity:.7;color:#bf8b22;}}
  @media(prefers-reduced-motion:reduce){.olympus-credit-name,.olympus-bolt{animation:none;}}
