@layer base {
*{box-sizing:border-box;}
html{font-size:100%; scroll-behavior:smooth; scrollbar-gutter:stable;}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:1.5;
  color:var(--color-ink);
  background:var(--color-surface);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
button{font:inherit; cursor:pointer;}
input,select{font:inherit;}
p a:not(.tm-btn), .tm-single-layout__content a:not(.tm-journal-card):not(.tm-btn){ color:var(--color-primary); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
p a:not(.tm-btn):hover, .tm-single-layout__content a:not(.tm-journal-card):not(.tm-btn):hover{ color:var(--color-success); }
:focus-visible{outline:2px solid var(--color-primary); outline-offset:2px;}

h1{ margin:0; font-weight:800; text-wrap:balance; font-size:var(--text-display); line-height:1.2; }
h2{ margin:0; font-weight:700; text-wrap:balance; font-size:var(--text-h1); line-height:1.25; }
h3{ margin:0; font-weight:700; text-wrap:balance; font-size:var(--text-h2); line-height:1.3; }
h4{ margin:0; font-weight:700; text-wrap:balance; font-size:var(--text-h3); }
p,li,blockquote{ text-wrap:pretty; overflow-wrap:break-word; }
p{ margin:0; }

@media (min-width:1024px){
  a[href^="tel:"]{ pointer-events:none; cursor:default; text-decoration:none; }
}

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