/* Dose Advisory — Round 2 foundation (from the Dose brand frames in Paper).
   Pages also load Rig Sans from Adobe Fonts: https://use.typekit.net/sni5gkj.css */

@font-face { font-family: "Platform"; src: url("fonts/Platform/Platform-Light.ttf") format("truetype"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Platform"; src: url("fonts/Platform/Platform-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Platform"; src: url("fonts/Platform/Platform-Medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Platform"; src: url("fonts/Platform/Platform-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }

:root {
  --ground: #fffbf7;      /* warm paper, from the brand frames */
  --white: #ffffff;
  --teal: #2e555e;        /* primary */
  --teal-deep: #24464e;
  --ink: #1a414a;         /* text on light */
  --muted: #608790;       /* secondary text, labels */
  --line: rgba(26, 65, 74, .16);
  --line-strong: rgba(26, 65, 74, .4);
  --on-teal: #ffffff;
  --on-teal-muted: rgba(255, 255, 255, .68);
  --line-on-teal: rgba(255, 255, 255, .18);

  /* Gradient colours, from the blurred-band SVG */
  --peach: #facba2;
  --rose: #cd7989;
  --aqua: #40d4d4;
  --plum: #731393;

  --display: "Platform", "Helvetica Neue", Arial, sans-serif;
  --body: "rig-sans", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, .7, .2, 1);

  /* Type scale — airy, matched to the Paper frames at web size */
  --t-hero: clamp(44px, 5.6vw, 84px);
  --t-h2: clamp(32px, 3.6vw, 54px);
  --t-h3: clamp(22px, 2vw, 30px);
  --t-stat: clamp(96px, 13vw, 200px);
  --t-lead: clamp(17px, 1.3vw, 20px);
  --t-body: 16px;
  --t-small: 14px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--body); font-size: var(--t-body); line-height: 1.55; color: var(--ink); background: var(--ground); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.02em; }
:focus-visible { outline: 2px solid var(--aqua); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Logo injected by brand2.js */
.dose-logo { display: inline-flex; color: currentColor; text-decoration: none; }
.dose-logo svg { height: 100%; width: auto; display: block; }

/* The brand gradient as an image layer */
.g-band { position: absolute; pointer-events: none; background: url("gradient-band.svg") center / 100% 100% no-repeat; }

/* Buttons: text only, never icons */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 999px; border: 0; cursor: pointer; text-decoration: none; font-family: var(--body); font-weight: 500; font-size: 15px; letter-spacing: .005em; transition: background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease); }

/* Review pill linking back to the index */
.review-pill { position: fixed; left: 16px; bottom: 16px; z-index: 999; display: inline-flex; gap: 8px; align-items: center; padding: 9px 14px 9px 10px; border-radius: 999px; background: rgba(26,65,74,.9); color: #fff; font: 500 12px/1 var(--body); text-decoration: none; backdrop-filter: blur(10px); }
.review-pill b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--peach); color: var(--ink); font-weight: 700; font-size: 11px; }

/* Reveal-on-scroll, opt-in via [data-reveal] */
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
