*,*::before,*::after {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-block-start:2rem;
}

body {
  margin:0;
  background:var(--os-bg);
  color:var(--os-ink);
  font-family:var(--os-serif);
  font-size:clamp(1.0625rem,1.55vw,1.25rem);
  line-height:1.55;
}

img,svg {
  max-inline-size:100%;
}

img {
  display:block;
  block-size:auto;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

button,input,select,textarea {
  font:inherit;
  color:inherit;
}

button,a,input,summary {
  touch-action:manipulation;
}

button {
  cursor:pointer;
}

a,button,input,summary,textarea,select {
  outline-offset:5px;
}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid var(--os-gold);
}

[hidden] {
  display:none!important;
}

h1,h2,h3,p,figure {
  margin:0;
}

h1,h2,h3 {
  font-family:var(--os-serif);
  font-weight:400;
  line-height:1.03;
  letter-spacing:-.045em;
  text-wrap:balance;
}

h1 {
  font-size:clamp(3rem,6.5vw,6.25rem);
}

h2 {
  font-size:var(--os-h2);
}

h3 {
  font-size:2rem;
}

p {
  max-inline-size:64ch;
}

p+p {
  margin-block-start:1rem;
}

.os007-container {
  inline-size:min(calc(100% - var(--os-gutter)*2),var(--os-width));
  margin-inline:auto;
}

.os007-reading {
  max-inline-size:48rem;
}

.os007-eyebrow {
  font:500 clamp(.66rem,.8vw,.78rem)/1.5 var(--os-sans);
  letter-spacing:.31em;
  color:var(--os-teal);
  margin-block-end:1.5rem;
}

.os007-icon {
  inline-size:1.35rem;
  block-size:1.35rem;
  flex-shrink:0;
  vertical-align:middle;
}

.os007-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  min-block-size:clamp(3rem,4.4vw,4rem);
  padding:.9rem clamp(1.25rem,2.7vw,2.8rem);
  background:var(--os-teal);
  color:var(--os-surface);
  border:1px solid transparent;
  border-radius:var(--os-radius);
  font:400 clamp(1rem,1.25vw,1.15rem)/1.25 var(--os-serif);
  text-decoration:none;
  text-align:center;
  transition:background .18s ease,color .18s ease;
}

.os007-button:hover {
  background:var(--os-hover);
}

.os007-button-light {
  background:var(--os-bg);
  color:var(--os-ink);
}

.os007-button-light:hover {
  background:#e9e1d3;
}

.os007-text-link {
  display:inline-flex;
  align-items:center;
  gap:1rem;
  min-block-size:44px;
  text-decoration:none;
  border-block-end:1px solid currentColor;
  font-size:clamp(1.0625rem,1.55vw,1.3rem);
  line-height:1.4;
}

.os007-text-link .os007-icon {
  transition:transform .18s ease;
}

.os007-text-link:hover .os007-icon {
  transform:translateX(4px);
}

.os007-actions {
  display:flex;
  align-items:center;
  gap:2.5rem;
  flex-wrap:wrap;
}

.os007-sr-only {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.os007-skip {
  position:fixed;
  inset-block-start:-100px;
  inset-inline-start:1rem;
  z-index:100000;
  background:var(--os-surface);
  padding:1rem;
}

.os007-skip:focus {
  inset-block-start:1rem;
}

.os007-muted {
  color:var(--os-muted);
  font-family:var(--os-sans);
  font-size:1rem;
}

.os007-editor-content {
  margin-block:2rem;
}

.os007-editor-content:empty {
  display:none;
}

.os007-editor-content>*+* {
  margin-block-start:1.5rem;
}

.os007-editor-content h2 {
  font-size:clamp(2rem,4vw,3rem);
}

.os007-editor-content li {
  margin-block:.5rem;
}

.os007-editor-content iframe {
  max-inline-size:100%;
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}
