@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--deep-teal:#36695F;--water-mist:#A8CFC8;--soft-coral:#D47A6A;--dusty-rose:#9E4A5E;--cream:#E7DFD3;--ink:#172F2A;--soft:#36514B;--border:#D7CBC0;--white:#FFFFFF;--stone:#F7F4EF;--sans:'DM Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;--serif:'Libre Baskerville', Georgia, 'Times New Roman', serif}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:var(--sans);line-height:1.75;font-size:16px}a{color:var(--deep-teal);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}.skip{position:absolute;left:-999px;top:12px;background:var(--deep-teal);color:#fff;padding:10px 14px;border-radius:999px}.skip:focus{left:18px;z-index:10}.topbar{border-bottom:1px solid var(--border);background:white}.topbar-inner{max-width:1060px;margin:auto;padding:18px 22px;display:flex;justify-content:space-between;gap:18px;align-items:center}.brand{font-family:var(--serif);font-weight:700;color:var(--deep-teal);font-size:20px}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.hero{background:linear-gradient(135deg, #fff 0%, #F7F4EF 55%, #DCEFEB 100%);border-bottom:1px solid var(--border)}.hero-inner{max-width:1060px;margin:auto;padding:62px 22px 44px}h1{font-family:var(--serif);font-size:clamp(38px,6vw,62px);line-height:1.1;margin:0;color:var(--deep-teal)}.intro{max-width:760px;font-size:18px;color:var(--soft);margin:18px 0 0}.content{max-width:930px;margin:0 auto;padding:48px 22px 72px}.card{background:white;border:1px solid var(--border);border-radius:28px;box-shadow:0 14px 40px rgba(23,47,42, .08);padding:34px;margin:0 0 28px}h2{font-family:var(--serif);font-size:30px;line-height:1.2;color:var(--deep-teal);margin:0 0 16px}h3{font-size:18px;color:var(--deep-teal);margin:26px 0 10px}p{margin:0 0 16px}ul{margin:0 0 18px;padding-left:22px}li{margin:8px 0}.note{background:var(--stone);border-left:5px solid var(--water-mist);padding:18px 20px;border-radius:18px;margin:22px 0;color:var(--soft)}.footer{border-top:1px solid var(--border);padding:28px 22px;color:var(--soft)}.footer-inner{max-width:1060px;margin:auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer p{font-size:13px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--deep-teal);color:#fff!important;border-radius:999px;padding:12px 18px;margin-top:10px}.muted{color:var(--soft);font-size:14px}@media(max-width:760px){.topbar-inner{align-items:flex-start;flex-direction:column}.hero-inner{padding-top:46px}.card{padding:24px}}
/* Responsive layer: these standalone legal pages carried fixed 960/1060px
   shells, so large screens stranded them mid-viewport. Fluid widths with a
   stepped ceiling, matching the tokens in styles.css. */
:root{--legal-shell:1060px;--legal-content:930px;--legal-gutter:clamp(1.25rem,3vw,2.5rem)}
@media(min-width:1440px){:root{--legal-shell:1260px;--legal-content:1120px}}
@media(min-width:1920px){:root{--legal-shell:1460px;--legal-content:1280px}}
.topbar-inner,.hero-inner,.footer-inner{width:min(100% - var(--legal-gutter)*2,var(--legal-shell));max-width:none;padding-left:0;padding-right:0}
.content{width:min(100% - var(--legal-gutter)*2,var(--legal-content));max-width:none;padding-left:0;padding-right:0}
body{font-size:clamp(1rem,0.955rem + 0.22vw,1.125rem)}
.intro{max-width:70ch}
.card p,.card li{max-width:85ch}


/* ── Back to top ──────────────────────────────────────────────────
   A quiet round button in the bottom-right corner. It is in the DOM
   from the first paint but not visible, focusable or announced until
   the page has been scrolled about three quarters of a screen (see
   BackToTop.jsx), which is why visibility, not display, is animated.
   It sits under the contact modal's overlay (z-index 9999). */
.to-top {
  position: fixed;
  right: clamp(16px, 3vw, 28px);
  bottom: clamp(16px, 3vw, 28px);
  z-index: 900;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  background: var(--deep-teal);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(23, 47, 42, .22);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s, background .2s;
}
.to-top.is-shown { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { background: #2c554d; }
.to-top:active { transform: translateY(1px); }
.to-top svg { width: 20px; height: 20px; display: block; }
@media (prefers-reduced-motion: reduce) {
  .to-top { transition: opacity .01ms, visibility .01ms; transform: none; }
}
@media (max-width: 767px) {
  /* A comfortable tap target, clear of the iOS home indicator. */
  .to-top { width: 44px; height: 44px; bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media print { .to-top { display: none; } }
