  :root {
    --stone:#EDE6D6;
    --paper:#F7F4EC;
    --ink:#1F2E2B;
    --deep:#1C3438;
    --deep-2:#284a4f;
    --sage:#7C8F6E;
    --accent-gold:#c0a062;
    --line: rgba(31,46,43,0.14);
    --max: 1180px;
    --ease-luxury:cubic-bezier(.22,1,.36,1);
    --ease-soft:cubic-bezier(.45,0,.2,1);
  }
  *{box-sizing:border-box;}

  /* Ensure the [hidden] attribute works as expected, even if other styles override display. */
  [hidden] {
    display: none !important;
  }
  
  section[id] {
    scroll-margin-top:96px;
  }
  html.js body {
    opacity:0;
  }
  body {
    margin:0;
    background:var(--stone);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    opacity:1;
    transition:opacity .78s var(--ease-soft);
  }
  html.js body.page-loaded {
    opacity:1;
  }
  html.js body.page-leaving {
    opacity:0;
  }
  /* Show a loading spinner cursor during form submissions */
  body.is-processing,
  body.is-processing * {
    cursor: progress !important;
  }

  h1,h2,h3 {
    font-family:'Instrument Serif', serif;
    font-weight:400;
    line-height:1.05;
    margin:0;
    letter-spacing:0.2px;
  }
  .eyebrow {
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--sage);
    display:block;
    margin-bottom:14px;
  }
  /* Animation utility class for scroll-triggered effects */
  .fade-in-up {
    opacity:0;
    transform:translateY(30px);
    transition:opacity 1.05s var(--ease-soft), transform 1.15s var(--ease-luxury);
  }
  .fade-in-up.is-visible {
    opacity:1;
    transform:translateY(0);
  }

  /* Staggered entrance delays for grid children */
  .treatments-grid .t-card:nth-child(2) {
    transition-delay: .14s;
  }  .treatments-grid .t-card:nth-child(3) {
    transition-delay: .28s;
  }  .treatments-grid .t-card:nth-child(4) {
    transition-delay: 0.3s;
  }
  .why-grid .why-item:nth-child(2) {
    transition-delay: 0.1s;
  }  .why-grid .why-item:nth-child(3) {
    transition-delay: 0.2s;
  }  .why-grid .why-item:nth-child(4) {
    transition-delay: 0.3s;
  }
  .accordion .acc-item:nth-child(2) {
    transition-delay: 0.1s;
  }
  .accordion .acc-item:nth-child(3) {
    transition-delay: 0.2s; }
  a {
    color:inherit;
  }
  img {
    max-width:100%;
    display:block;
  }
  .wrap {
    max-width:var(--max);
    margin:0 auto;
    padding:0 32px;
  }
  :focus-visible {
    outline:2px solid var(--accent-gold);
    outline-offset:3px;
  }

  @media (prefers-reduced-motion: reduce) {
    *{animation-duration:0.001ms !important;
      animation-iteration-count:1 !important;
      transition-duration:0.001ms !important;
      scroll-behavior:auto !important;}
  }
