/* Marketing refresh; legal pages retain their existing stylesheet. */
.refresh { --ink:#163c31; --forest:#163c31; --paper:#fffdf7; --muted:#465b51; --lime:#d8ed94; background:var(--paper); color:var(--ink); font-size:1rem; }
.refresh .container { max-width:1200px; padding-inline:clamp(1.25rem,4vw,3rem); }
.refresh h1,.refresh h2,.refresh h3 { letter-spacing:-.04em; text-wrap:balance; }
.refresh h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.12; }
.refresh p { text-wrap:pretty; }
.refresh a:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.refresh .header { position:static; box-shadow:none; padding-block:1rem; background:var(--paper); border-bottom:1px solid #d7e0d7; }
.refresh .logo { color:var(--ink); font-size:1.6rem; white-space:nowrap; letter-spacing:-.06em; }
.brand-dot { color:#82701a; }
.refresh .nav { gap:clamp(1rem,3vw,2.25rem); }
.refresh .nav a { display:inline-flex; align-items:center; min-height:44px; font-size:.9375rem; color:var(--ink); }
.refresh .nav a:hover,.refresh .nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:.35em; }
.skip-link { position:absolute; top:-8rem; left:1rem; padding:.75rem 1rem; background:var(--paper); z-index:200; font-weight:700; }
.skip-link:focus { top:1rem; }
.welcome { background:var(--forest); color:var(--paper); padding-block:clamp(2.5rem,5vw,5rem); }
.welcome-grid { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:4rem; }
.eyebrow { font-size:.875rem; text-transform:uppercase; letter-spacing:.12em; font-weight:750; margin-bottom:1.25rem; }
.welcome .eyebrow { color:var(--lime); }
.welcome h1 { font-size:clamp(2.4rem,4.2vw,3.8rem); line-height:1.06; margin-bottom:1.5rem; }
.welcome h1 em { color:var(--lime); font-style:normal; }
.lede { font-size:1.125rem; max-width:31rem; line-height:1.7; }
.actions { display:flex; flex-wrap:wrap; gap:1.25rem; align-items:center; margin-top:1.75rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.75rem; min-height:48px; padding:.85rem 1.15rem; border-radius:.6rem; font-weight:700; line-height:1.4; text-align:center; }
.button-light { background:var(--lime); color:var(--ink); }
.button-dark { background:var(--forest); color:white; }
.button:hover { text-decoration:underline; text-underline-offset:.2em; }
.text-link { display:inline-flex; align-items:center; gap:.7rem; min-height:44px; font-weight:700; text-decoration:underline; text-underline-offset:.3em; }
.text-link:hover { text-decoration-thickness:2px; }
.availability { font-size:.875rem; margin:1rem 0 0; color:#d2e2d8; }
.mascot-intro { margin:0; padding:.7rem; background:var(--paper); color:var(--ink); border-radius:1.5rem; transform:rotate(3deg); box-shadow:0 16px 0 #0f2b23; }
.mascot-intro img { display:block; width:100%; height:auto; border-radius:1rem; }
.mascot-intro figcaption { display:flex; gap:.35rem; justify-content:space-between; flex-wrap:wrap; padding:1rem .5rem .5rem; font-size:.875rem; }
.section-space { padding-block:clamp(3rem,6vw,5rem); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.section-heading>p { color:var(--muted); }
.section-heading h2 { margin-bottom:0; }
.featured-app { display:grid; grid-template-columns:1.15fr 1fr; gap:2rem; background:#e9f0dc; border:1px solid #c7d9b6; border-radius:1.5rem; overflow:hidden; }
.product-copy { padding:clamp(1.5rem,4vw,3.25rem); }
.status { display:inline-block; padding:.3rem .7rem; background:#ffffffb3; border:1px solid currentColor; border-radius:100px; font-size:.875rem; font-weight:650; margin-bottom:1.5rem; }
.product-name { font-weight:750; font-size:1.125rem; }
.product-name span { font-weight:450; font-size:.9375rem; display:inline-block; margin-left:.35rem; }
.featured-app h3,.upcoming-app h3 { font-size:clamp(1.9rem,3.5vw,3rem); line-height:1.1; margin-block:1.25rem; }
.short-features { list-style:none; margin-block:1.5rem; }
.short-features li { padding-block:.35rem; }
.short-features li::before { content:"✓"; font-weight:700; margin-right:.6rem; }
.product-preview { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2.5rem 1.5rem; margin:0; background:#d3e2bf; }
.product-preview img { width:200px; max-width:100%; height:auto; border-radius:1.5rem; box-shadow:0 15px 30px #163c3124; }
.product-preview figcaption { margin-top:1.5rem; text-align:center; font-size:.9375rem; }
.upcoming-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:1.5rem; }
.upcoming-app { border-radius:1.5rem; padding:clamp(1.5rem,4vw,3rem); display:flex; align-items:start; flex-direction:column; }
.table-app { background:#f7dfc6; color:#59321c; }
.word-app { background:#d9eaf2; color:#203f58; }
.upcoming-app>p { max-width:27rem; }
.upcoming-app .text-link { margin-top:auto; padding-top:1rem; }
.family-promise { border-block:1px solid #d7e0d7; background:#f0f3e9; }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; }
.promise-grid h3 { font-size:1.4rem; }
.promise-grid p { color:var(--muted); }
.promise-grid a { text-decoration:underline; text-underline-offset:.15em; }
.story-grid { display:grid; grid-template-columns:1fr 2fr; gap:2rem; }
.story-grid>div { max-width:42rem; }
.story-grid p:not(.eyebrow) { max-width:37rem; font-size:1.125rem; }
.refresh .footer { margin-top:0; background:var(--forest); color:#d2e2d8; }
.refresh .footer .container { text-align:left; }
.footer-brand { font-size:1.5rem; font-weight:700; color:white; }
.footer-brand span { display:inline-block; font-weight:400; font-size:1rem; margin-left:.5rem; }
.refresh .footer nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-block:1.5rem; }
.refresh .footer nav a { display:inline-flex; min-height:44px; align-items:center; color:white; }
.copyright { font-size:.875rem; margin-bottom:0; }
.tracks-hero { background:#e9f0dc; }
.product-hero h1 { font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.07; margin-bottom:1.5rem; }
.product-hero h1 em { font-style:normal; }
.detail-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:4rem; align-items:center; }
.detail-note { font-size:.9375rem; margin-top:1rem; }
.mascot-byline { display:flex; align-items:center; gap:1rem; margin-top:2rem; }
.mascot-byline img { border-radius:1rem; flex-shrink:0; }
.mascot-byline p { font-size:.9375rem; margin:0; }
.mascot-name { font-weight:700; margin-top:1.5rem; }
.detail-screenshot { margin:0; text-align:center; }
.detail-screenshot img { width:220px; max-width:100%; height:auto; border-radius:1.5rem; box-shadow:0 15px 30px #163c3124; }
.detail-screenshot figcaption { max-width:20rem; margin:1.25rem auto 0; font-size:.9375rem; }
.detail-benefits { margin-top:2.5rem; }
.step-number { display:block; font-size:.875rem; font-weight:700; margin-bottom:1.5rem; }
.end-note { text-align:center; }
.end-note p { max-width:39rem; margin:1.5rem auto; }
.end-note .button,.end-note .text-link { margin:.75rem; }
.text-hero { max-width:960px!important; }
.text-hero .lede { max-width:42rem; }
.turtle-registry { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.turtle-registry>div { border-top:2px solid #a5bba5; padding-block:1.5rem; }
.turtle-registry dt { font-size:1.75rem; font-weight:750; letter-spacing:-.03em; }
.turtle-registry dd { margin-top:.5rem; }
.turtle-registry a { text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:800px) {
.welcome-grid { gap:2rem; }
.welcome h1 { font-size:2.4rem; }
.refresh .header .container { flex-direction:column; gap:.5rem; }
.refresh .nav { gap:.25rem 1.2rem; justify-content:center; flex-wrap:wrap; }
.promise-grid { gap:1.5rem; }
.detail-grid { gap:2rem; }
.turtle-registry { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px) {
.welcome-grid,.featured-app,.upcoming-grid,.promise-grid,.story-grid { grid-template-columns:1fr; }
.welcome h1 { font-size:clamp(2rem,8vw,2.8rem); }
.mascot-intro { max-width:340px; width:100%; margin:1rem auto 0; transform:none; }
.section-heading { align-items:start; flex-direction:column; gap:1rem; }
.section-heading>p { margin-bottom:0; }
.featured-app { gap:0; }
.product-preview img { width:210px; }
.promise-grid>div+div { padding-top:1.25rem; border-top:1px solid #c6d2c7; }
.story-grid { gap:.5rem; }
.footer-brand span { display:block; margin-left:0; margin-top:.5rem; }
.detail-grid,.turtle-registry { grid-template-columns:1fr; }
.detail-screenshot { margin-top:1rem; }
.mascot-byline { align-items:start; }
}
@media(prefers-reduced-motion:reduce) { .refresh *,.refresh *::before,.refresh *::after { transition:none!important; scroll-behavior:auto!important; } }

/* Original mascot artwork supplied by the family. Preserve the full drawings. */
.product-mascot { display:block; width:112px; max-width:100%; height:auto; border-radius:1rem; margin-bottom:1.5rem; }
.card-mascot { display:block; width:100%; max-width:260px; height:auto; border-radius:1rem; margin:0 auto 2rem; align-self:center; }
.mascot-byline .byline-art { width:88px; height:auto; }
.registry-art { display:block; width:100%; height:auto; border-radius:1rem; margin-bottom:1rem; }
.turtle-registry>div { border:0; padding-block:0; }
.turtle-registry { row-gap:2.5rem; }
.word-app .mascot-intro { transform:rotate(-2deg); box-shadow:0 12px 0 #b8d0dd; }
@media(max-width:640px) {
  .turtle-registry>div { max-width:360px; width:100%; margin-inline:auto; }
  .word-app .mascot-intro { transform:none; }
}
