/* Review 6: real medium weights, stronger contrast and a compact mobile rhythm. */
/* Only opacity and a small composited movement; no scroll listener or layout animation. */
@keyframes toda-scroll-reveal {
  from {opacity:0;transform:translate3d(0,10px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:no-preference) {
  .is-revealing {animation:toda-scroll-reveal 560ms cubic-bezier(.2,.65,.3,1) both}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference) {
  .is-revealing {animation-duration:480ms}
}
@media(prefers-reduced-motion:reduce) {
  .is-revealing {animation:none;opacity:1;transform:none}
}
/* Explicit demonstration only in the private review, never enabled on the live page. */
body[data-preview=true][data-motion-demo=true] .is-revealing {
  animation:toda-scroll-reveal 560ms cubic-bezier(.2,.65,.3,1) both;
}
@media(max-width:760px) {
  body[data-preview=true][data-motion-demo=true] .is-revealing {animation-duration:480ms}
}
@media print {
  .is-revealing,body[data-preview=true][data-motion-demo=true] .is-revealing {animation:none;opacity:1;transform:none}
}
@font-face {
  font-family:Toda Rubik;
  src:url('/assets/fonts/rubik-variable-v6.woff2') format('woff2');
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}
body {
  font-family:Toda Rubik,Rubik,Arial,sans-serif;
  font-weight:500;
  line-height:1.65;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body[data-page=home] {--muted:#465d69;--paper:#f6f0e2;--line:#d3ccbc}
body[data-page=checkout] {--muted:#465963}
body[data-page=home] h2,
.daily-peek h3,.month-peek h3,.year-ribbon h3,
.gratitude-notes h3 {font-weight:700;letter-spacing:-.65px;line-height:1.22}
body[data-page=home] h2 {font-size:clamp(30px,3.1vw,42px)}
p {font-weight:500}
.eyebrow,.chapter-label {font-weight:600;letter-spacing:0}
.button {font-weight:700;font-size:16px}
.site-header nav {font-weight:600}
.wordmark small {font-weight:500;font-size:10px}
.language select {font-weight:500;font-size:13px}
.announcement {font-weight:500}
body[data-page=home] .section {padding-block:52px}
body[data-page=home] .hero h1 .hero-description {font-weight:650;line-height:1.3;max-width:470px}
body[data-page=home] .hero-intro {font-size:18px;color:#fff7e8;line-height:1.6}
body[data-page=home] .hero-purchase>p {font-size:14px;line-height:1.6;color:#fff7e8}
body[data-page=home] .hero .shipping-line {font-size:13px;color:#fff7e8}
body[data-page=home] .hero .text-link {font-size:14px;font-weight:600}
body[data-page=home] .hero .eyebrow {font-size:12px;color:#fff7e8}
body[data-page=home] .photo-stage {border-radius:12px;box-shadow:none}
.photo-label {font-weight:500}
body[data-page=home] .thumbnail {font-size:12px;color:#fff7e8}
body[data-page=home] .facts b {font-weight:700;font-size:26px}
body[data-page=home] .facts span {font-size:13px;font-weight:500}
body[data-page=home] .section-heading {margin-bottom:26px}
body[data-page=home] .section-heading>p:last-child {font-size:16px;line-height:1.7;margin-top:15px}
.gratitude-notes {gap:0;max-width:880px;border-block:1px solid var(--line)}
.gratitude-notes article {border-radius:0;padding:18px 24px;background:transparent;box-shadow:none}
.gratitude-notes article:nth-child(2),.gratitude-notes article:nth-child(3) {background:transparent;color:var(--ink);border-inline-start:1px solid var(--line)}
.gratitude-notes h3 {font-size:22px;margin-bottom:5px}
.gratitude-notes p,.gratitude-notes article:nth-child(3) p {font-size:14px;color:var(--muted);line-height:1.6}
.daily-peek {gap:48px;padding-bottom:36px}
.daily-peek h3,.month-peek h3 {font-size:30px;margin-bottom:14px}
.chapter-label {font-size:13px;margin-bottom:12px}
.chapter-label>span {font-weight:600;font-size:12px;color:#806641}
.daily-copy>p:not(.chapter-label),.month-copy>p:not(.chapter-label) {font-size:16px;line-height:1.7}
.daily-lines {margin-block:18px;padding-inline-start:16px}
.daily-lines p {font-size:17px;font-weight:600;line-height:1.65}
.daily-copy .anytime {font-size:14px!important;line-height:1.6!important}
body[data-page=home] .book-spread {transform:none;border-radius:10px;box-shadow:none;padding:8px 8px 0;border:1px solid #e5dece}
body[data-page=home] .book-spread figcaption,.month-page figcaption {font-size:11px;line-height:1.55;padding-block:10px;font-weight:500}
.month-peek {gap:50px;padding-block:36px 42px}
.month-page {transform:none;max-width:290px;border:1px solid #e5dece;border-radius:8px;box-shadow:0 8px 24px #244b6609}
.year-grid {grid-template-columns:150px 1fr;gap:32px}
.year-number {font-weight:700;font-size:80px;letter-spacing:-3px}
.year-number small {font-size:12px;font-weight:500;letter-spacing:0}
.year-ribbon h3 {font-size:29px}
.year-ribbon p:not(.chapter-label) {font-size:16px;line-height:1.65}
body[data-page=home] .gift-grid {gap:48px}
body[data-page=home] .gift-copy>p:not(.eyebrow),
body[data-page=home] .story-section p:not(.eyebrow) {font-size:16px;line-height:1.7;margin-top:16px}
body[data-page=home] .gift-list {font-size:15px;gap:10px 16px;margin-block:20px 24px}
body[data-page=home] .gift-photo .photo-zoom {border-radius:12px;box-shadow:none}
.gift-photo figcaption,.story-section figcaption {font-size:12px}
body[data-page=home] .story-section h2 {font-size:32px}
.faq-list summary {font-weight:600;font-size:16px;padding-block:18px}
.faq-list details p {font-size:15px;line-height:1.7}
body[data-page=home] .book-film {max-width:900px;grid-template-columns:minmax(0,1fr)240px;gap:32px;margin-block:30px;padding:28px 32px;border-radius:12px;box-shadow:none}
body[data-page=home] .film-copy h2 {font-size:34px;margin-bottom:12px}
body[data-page=home] .film-copy>p:not(.eyebrow) {font-size:16px;line-height:1.65}
body[data-page=home] .film-copy .eyebrow {font-size:12px}
body[data-page=home] .film-copy .film-footnote {font-size:12px!important;line-height:1.6!important;margin-top:18px}
.film-actions .text-link {font-size:14px;font-weight:600}
.film-actions .film-sound {font-size:14px;min-height:46px}
.film-visual {position:relative;width:100%;max-width:240px;margin:auto;border-radius:9px;overflow:hidden;background:#1d3c50;aspect-ratio:9/16}
body[data-page=home] .film-player video {width:100%;height:100%;max-height:none;border-radius:0;box-shadow:none;position:absolute;inset:0;object-fit:contain}
.film-cover {position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;background:#1d3c50;color:#fff;display:block;cursor:pointer}
.film-cover img {width:100%;height:100%;object-fit:cover}
.film-cover::after {content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102736b3);pointer-events:none}
.film-play {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:700;z-index:1;text-shadow:0 2px 8px #0007}
.film-play b {width:62px;height:62px;display:grid;place-items:center;background:#fff9ed;color:var(--navy);border-radius:50%;font-size:24px;padding-inline-start:3px;text-shadow:none;box-shadow:0 3px 20px #0003}
.film-player figcaption {font-size:11px;line-height:1.5}
.film-player #video-status {font-size:13px}
body[data-page=home] .offer-details h2 {font-size:46px;font-weight:700;line-height:1.15}
.offer-details .eyebrow {font-size:13px}
body[data-page=home] .offer-details .offer-lead {font-size:16px;line-height:1.7}
.offer-image {border-radius:12px}
body[data-page=home] .offer-purchase {padding:26px 28px;border-radius:14px;box-shadow:none}
body[data-page=home] .offer-purchase .offer-price-label {font-size:14px;font-weight:600}
body[data-page=home] .offer-purchase .price strong {font-size:56px;font-weight:750}
body[data-page=home] .offer-purchase .price small {font-size:13px}
body[data-page=home] .offer-purchase .offer-included-title {font-size:16px}
.offer-includes {font-size:16px;gap:8px;line-height:1.5}
body[data-page=home] .offer-purchase .order-delivery {font-size:13px;line-height:1.6;margin-bottom:14px}
body[data-page=home] .offer-quantity {font-size:14px}
.offer-quantity .offer-total-row {font-size:12px}
body[data-page=home] .offer-purchase .button {min-height:56px;font-size:17px;border-radius:10px;padding-block:13px}
body[data-page=home] .offer-purchase .offer-next-hint {font-size:12px;line-height:1.6}
body[data-page=home] .offer-purchase .offer-secure {font-size:12px!important}
.site-footer nav {font-size:13px}
.site-footer>p {font-size:13px}
.site-footer small {font-size:12px}
.field {font-size:14px;font-weight:600}
.field-help,.delivery-note,.check {font-size:13px;line-height:1.65}
.payment-options label {font-size:14px;min-height:48px}
.summary-product p,.summary-product small {font-size:12px}
.summary-delivery {font-size:13px}
.summary-row,.summary-quantity {font-size:14px}
.summary-row strong {font-size:14px}
.total-row strong {font-size:28px}
.consent p {font-size:14px;line-height:1.65}

@media(max-width:760px) {
  .container {width:calc(100% - 36px)}
  .header-inner {min-height:62px;width:calc(100% - 32px)}
  .wordmark strong {font-size:32px}
  .wordmark small {font-size:9px;margin-top:4px}
  .language select {font-size:12px;max-width:78px}
  .button.compact {font-size:12px;min-height:40px;padding-inline:13px}
  .announcement {font-size:11px;padding-block:6px;line-height:1.5}
  body[data-page=home] .section {padding-block:36px}
  body[data-page=home] h2 {font-size:30px;line-height:1.22}
  body[data-page=home] .hero {gap:20px;padding-block:20px 24px}
  body[data-page=home] .hero .eyebrow {font-size:11px;margin-bottom:8px}
  body[data-page=home] .hero h1 .hero-brand {font-size:91px;letter-spacing:-3px;margin-bottom:10px}
  body[data-page=home] .hero h1 .hero-description {font-size:24px;font-weight:650;max-width:310px;line-height:1.3}
  body[data-page=home] .hero-intro {font-size:16px;line-height:1.6}
  body[data-page=home] .hero-purchase {margin-block:17px 14px;gap:16px;max-width:none}
  body[data-page=home] .hero-purchase>p {font-size:13px;line-height:1.6;padding-inline-start:16px}
  body[data-page=home] .hero .price strong {font-size:34px}
  body[data-page=home] .hero-button {font-size:16px;min-height:50px}
  body[data-page=home] .hero .shipping-line {font-size:12px;margin-block:10px 6px}
  body[data-page=home] .hero>.hero-copy>.text-link {font-size:14px}
  body[data-page=home] .hero-gallery {max-width:350px}
  body[data-page=home] .photo-stage .photo-zoom {max-height:380px;aspect-ratio:4/5}
  body[data-page=home] .thumbnail {font-size:11px;min-height:44px}
  body[data-page=home] .facts .container {padding-block:12px;gap:10px}
  body[data-page=home] .facts span {font-size:11px;gap:2px}
  body[data-page=home] .facts b {font-size:24px}
  body[data-page=home] .section-heading {text-align:start;margin-bottom:23px}
  body[data-page=home] .section-heading .eyebrow {justify-content:start;font-size:12px;margin-bottom:10px}
  body[data-page=home] .section-heading>p:last-child {font-size:16px;line-height:1.65;margin-top:13px}
  .gratitude-notes {display:block}
  .gratitude-notes article {display:grid;grid-template-columns:65px 1fr;gap:12px;align-items:baseline;text-align:start;padding:13px 0}
  .gratitude-notes article:nth-child(2),.gratitude-notes article:nth-child(3) {border-inline-start:0;border-top:1px solid var(--line)}
  .gratitude-notes h3 {font-size:19px;margin:0}
  .gratitude-notes p,.gratitude-notes article:nth-child(3) p {font-size:14px;line-height:1.55}
  .daily-peek,.month-peek {display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 28px}
  .daily-copy,.month-copy {display:contents}
  .daily-copy .chapter-label,.month-copy .chapter-label {order:0;font-size:12px;margin:0 0 10px}
  .daily-peek h3,.month-peek h3 {order:1;font-size:26px;line-height:1.25;margin-bottom:16px}
  .daily-peek .book-spread,.month-peek .month-page {order:2;margin:0 auto 19px}
  .daily-copy>p:not(.chapter-label),.month-copy>p:not(.chapter-label) {order:3;font-size:16px;line-height:1.65;max-width:none;margin:0}
  .daily-lines {order:4;margin:14px 0;padding-inline-start:14px;border-inline-start-width:3px}
  .daily-lines p {font-size:16px;line-height:1.65;font-weight:600}
  .daily-copy .anytime {order:5!important;font-size:13px!important;line-height:1.6!important}
  body[data-page=home] .book-spread {max-width:430px;padding:5px 5px 0;border-radius:8px}
  body[data-page=home] .book-spread figcaption {font-size:10px!important;padding:9px 2px}
  .month-peek {padding-block:27px 30px}
  .month-peek h3 br {display:none}
  .month-page {max-width:250px;align-self:center}
  .month-page figcaption {font-size:10px;padding-block:8px}
  .year-ribbon {padding-block:24px}
  .year-grid {grid-template-columns:85px minmax(0,1fr);gap:19px;text-align:start}
  .year-number {font-size:52px;letter-spacing:-2px}
  .year-number small {font-size:10px;line-height:1.5}
  .year-ribbon .chapter-label {justify-content:start;font-size:11px;margin-bottom:9px}
  .year-ribbon h3 {font-size:23px;margin-bottom:9px}
  .year-ribbon p:not(.chapter-label) {font-size:14px;line-height:1.6}
  body[data-page=home] .gift-grid {gap:22px}
  body[data-page=home] .gift-copy>p:not(.eyebrow) {font-size:16px;line-height:1.65;margin-top:14px}
  body[data-page=home] .gift-list {font-size:14px;gap:8px 12px;margin-block:17px 20px}
  .gift-copy .eyebrow {font-size:12px;margin-bottom:10px}
  .gift-copy .button {font-size:16px;min-height:50px}
  .gift-photo figcaption {font-size:11px;line-height:1.6}
  body[data-page=home] .story-section {text-align:start;gap:18px}
  body[data-page=home] .story-section figure {display:flex;text-align:start;gap:14px;align-items:center}
  body[data-page=home] .story-section img {width:76px;height:76px;margin:0}
  body[data-page=home] .story-section figcaption {font-size:13px;margin:0}
  body[data-page=home] .story-section .eyebrow {justify-content:start;font-size:12px}
  body[data-page=home] .story-section h2 {font-size:28px;margin-bottom:14px}
  body[data-page=home] .story-section p:not(.eyebrow) {font-size:16px;line-height:1.7}
  body[data-page=home] .faq-section {gap:18px}
  .faq-side {font-size:13px;line-height:1.6;margin-top:12px}
  .faq-list summary {font-size:16px;font-weight:600;padding-block:17px}
  .faq-list details p {font-size:15px;line-height:1.7}
  body[data-page=home] .book-film {grid-template-columns:1fr;gap:19px;width:calc(100% - 36px);padding:23px 20px;margin-block:24px}
  body[data-page=home] .film-copy h2 {font-size:29px;margin-bottom:11px}
  body[data-page=home] .film-copy>p:not(.eyebrow) {font-size:16px;line-height:1.65}
  .film-actions {margin-top:15px;gap:12px}
  .film-actions .film-sound {font-size:13px;padding-inline:16px}
  .film-actions .text-link {font-size:13px}
  body[data-page=home] .film-copy .film-footnote {font-size:12px!important;line-height:1.6!important;margin-top:15px}
  .film-visual {max-width:210px}
  body[data-page=home] .offer-section {padding-block:30px}
  body[data-page=home] .offer-grid {gap:20px}
  .offer-details {display:grid;grid-template-columns:minmax(0,1fr)102px;column-gap:17px;align-items:center}
  .offer-details .eyebrow {grid-column:1/-1;font-size:12px;margin-bottom:12px!important}
  body[data-page=home] .offer-details h2 {grid-column:1;font-size:30px;line-height:1.2}
  .offer-image {grid-column:2;grid-row:2/4;width:102px;margin:0;align-self:center;border-radius:8px}
  body[data-page=home] .offer-details .offer-lead {grid-column:1;font-size:14px;line-height:1.6;margin-top:10px}
  body[data-page=home] .offer-purchase {padding:23px 20px;border-radius:12px}
  body[data-page=home] .offer-purchase .price strong {font-size:50px;line-height:1.1}
  body[data-page=home] .offer-purchase .price strong span {font-size:25px}
  body[data-page=home] .offer-purchase .offer-price-label {font-size:14px;margin-bottom:7px}
  .offer-includes {font-size:15px;line-height:1.5;gap:9px;margin:11px 0 17px}
  body[data-page=home] .offer-purchase .order-delivery {font-size:12px;line-height:1.6;padding:10px}
  body[data-page=home] .offer-quantity {font-size:13px;grid-template-columns:minmax(0,1fr)58px minmax(65px,1fr);gap:9px;padding-block:12px;margin-bottom:17px}
  body[data-page=home] .offer-quantity input {width:58px;font-size:16px;height:44px}
  body[data-page=home] .offer-purchase .button {font-size:17px;min-height:54px;padding-inline:18px}
  body[data-page=home] .offer-purchase .offer-next-hint {font-size:12px;margin-top:12px}
  body[data-page=home] .offer-purchase .offer-secure {font-size:11px!important;margin-top:8px!important}
  .mobile-buy {padding:9px 18px calc(9px + env(safe-area-inset-bottom));gap:10px}
  .mobile-buy strong {font-size:22px;line-height:1.2}
  .mobile-buy small {font-size:10px;line-height:1.5}
  .mobile-buy .button {font-size:14px;min-height:44px;padding:10px 20px}
  .mobile-buy.is-redundant {visibility:hidden;pointer-events:none}
  .site-footer {padding-block:28px 105px}
  .site-footer nav {font-size:12px;gap:13px 18px;margin-block:20px}
  .site-footer>p,.site-footer small {font-size:12px}
  .checkout-intro h1 {font-size:32px}
  .checkout-intro>p:last-child {font-size:15px;line-height:1.65}
  .form-section h2 {font-size:21px}
  .field {font-size:14px}
  .field-help,.check,.delivery-note {font-size:13px}
  .payment-options label {font-size:13px}
  .pay-button {font-size:15px;padding-inline:14px}
  .summary-product h3 {font-size:16px}
  .summary-product p,.summary-product small {font-size:12px;line-height:1.6}
  .summary-delivery {font-size:12px;line-height:1.6}
  .back-link {font-size:12px}
  .consent p {font-size:13px}
  .consent .button {font-size:13px}
}
@media(max-width:360px) {
  .container {width:calc(100% - 32px)}
  body[data-page=home] .hero h1 .hero-brand {font-size:82px}
  body[data-page=home] .hero h1 .hero-description {font-size:22px}
  .year-grid {grid-template-columns:70px minmax(0,1fr);gap:13px}
  .year-number {font-size:46px}
  .year-ribbon h3 {font-size:21px}
  .offer-details {grid-template-columns:minmax(0,1fr)80px;gap:12px}
  .offer-image {width:80px}
  body[data-page=home] .offer-details h2 {font-size:28px}
  body[data-page=home] .offer-purchase {padding-inline:17px}
  .offer-includes {font-size:14px}
  .header-actions {gap:4px}
  .button.compact {font-size:11px;padding-inline:10px}
}
