/* The original palette and page composition remain the design foundation. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.4,0,.2,1)}
.hero-copy.reveal{animation:none}
.hero-copy>.eyebrow{animation:koi-intro .85s var(--ease-out) both}
.hero-copy>h1{animation:koi-intro 1.1s var(--ease-out) .09s both}
.hero-copy>.hero-intro{animation:koi-intro 1.1s var(--ease-out) .18s both}
.hero-copy>.text-link{animation:koi-intro 1.1s var(--ease-out) .27s both}
.hero-visual{overflow:hidden;isolation:isolate;background:var(--blush)}
.hero-scenes{position:absolute;inset:0;transform-origin:57% 45%}
.hero-scenes img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% center}
.hero-smile{opacity:0}
.motion-ready .hero-scenes{animation:koi-breathe 26s ease-in-out infinite alternate}
.motion-ready .hero-smile{animation:koi-expression 24s ease-in-out forwards}
.hero-light{display:none;position:absolute;inset:-30%;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 26%,rgba(255,247,224,.08) 36%,rgba(255,253,238,.24) 46%,transparent 61%);mix-blend-mode:screen}
.motion-ready .hero-light{display:block;animation:koi-light 19s ease-in-out infinite alternate}
.hero-light:after{content:'';position:absolute;inset:5%;background:radial-gradient(ellipse at 65% 25%,#fff9e540,transparent 55%);opacity:.5}
.hero-caption{z-index:3;font-size:.75rem;letter-spacing:.09em;background:#fbf9f6e8}
.motion-toggle{position:absolute;left:18px;bottom:25px;z-index:4;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 12px;border:1px solid #d5c2b8;background:#fbf9f6e8;color:var(--ink);font-size:.75rem;line-height:1.6;cursor:pointer}
.motion-toggle:before{content:'';width:7px;height:9px;border-inline:2px solid currentColor}
.motion-toggle[aria-pressed=true]:before{height:0;width:0;border-inline:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}
.motion-toggle[hidden]{display:none!important}
.motion-toggle:hover{background:var(--paper);border-color:var(--rose)}
.motion-paused .hero-scenes,.motion-paused .hero-smile,.motion-paused .hero-light{animation-play-state:paused}
.motion-fallback .hero-smile{display:none}
.motion-hero .hero-wistful{opacity:1}
@keyframes koi-intro{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes koi-expression{0%,22%{opacity:0}78%,100%{opacity:1}}
@keyframes koi-breathe{from{transform:scale(1.012) translateX(0)}to{transform:scale(1.035) translateX(-.3%)}}
@keyframes koi-light{from{transform:translateX(-8%) rotate(-2deg);opacity:.3}to{transform:translateX(9%) rotate(2deg);opacity:.7}}
.scroll-reveal{opacity:0;transform:translateY(18px);transition:opacity .85s var(--ease-out) var(--reveal-delay,0ms),transform .85s var(--ease-out) var(--reveal-delay,0ms)}
.scroll-reveal.is-revealed{opacity:1;transform:translateY(0)}
.scroll-reveal:focus-within{opacity:1;transform:none;transition:none}
.text-link{position:relative;border-bottom-color:transparent;padding-bottom:10px}
.text-link:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right,var(--rose) 50%,#b99491 50%);background-size:200% 100%;background-position:100% 0;transition:background-position .6s var(--ease-out)}
.text-link:hover:after,.text-link:focus-visible:after{background-position:0 0}
.arrow{transition:transform .55s var(--ease-out)}
.article-image img{transition:transform 1s var(--ease-out)}
.article-card .article-image{display:block}
.article-card a:hover h3,.article-card h3 a:hover{color:var(--rose-dark)}
.article-bottom .read-more{font-size:.875rem;display:inline-flex;align-items:center;gap:18px}
.post-categories{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:13px;font-size:.875rem;line-height:1.7}
.post-categories>a{color:var(--rose-dark);padding:3px 9px;border:1px solid #c8aaa3;background:#fffefd66;transition:background .35s,color .35s,border-color .35s}
.post-categories>a:hover{background:var(--rose-dark);color:var(--paper);border-color:var(--rose-dark)}
.category-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 34px;font-size:.875rem;line-height:1.7}
.category-navigation-label{color:var(--muted);margin-right:7px}
.category-navigation>a{padding:7px 11px;border:1px solid #d5beb7;transition:color .3s,background .3s,border-color .3s}
.category-navigation>a:hover,.category-navigation>a[aria-current=page]{background:var(--rose);color:var(--paper);border-color:var(--rose)}
.article-index-item>div,.reading-row>div{min-width:0}
.article-index-item h2 a,.reading-row h3 a{display:block}
.article-index-item>svg{color:var(--rose);transition:transform .5s var(--ease-out)}
.article-index-item:focus-within>svg,.article-index-item:hover>svg{transform:translateX(4px)}
.article-index-item .story-meta{font-size:.875rem}
.reading-row .post-categories{margin-bottom:6px}
.story-meta{margin-bottom:12px;font-size:.875rem}
.hero-intro,.about-text p,.fortune-description{font-size:1rem}
.section-sub,.fortune-point p,.promise-item p{font-size:1rem;line-height:2}
.section-title,.article-header h1,.article-card h3,.article-index-item h2{text-wrap:pretty}
.hero-copy,.card-copy,.about-text,.fortune-layout>div,.promise-layout>div{min-width:0}
.hero h1{font-size:clamp(1.85rem,3vw,2.875rem);letter-spacing:.075em}
.hero-intro{max-width:34em}
.menu-toggle,.menu-close{min-height:44px;font-size:.875rem}
.footer-links{font-size:.875rem}
.breadcrumb a{text-decoration-color:#c4a59c}
@media(hover:hover) and (pointer:fine){
  .feeling{transition:background .55s var(--ease-out),border-color .55s,box-shadow .55s,transform .55s var(--ease-out)}
  .feeling:hover{background:#fffefd;border-color:#c5a39e;box-shadow:0 12px 26px -20px #75585366;transform:translateY(-3px)}
  .feeling.scroll-reveal:not(.is-revealed){transform:translateY(18px)}
  .article-card:hover .article-image img{transform:scale(1.035)}
  .reading-row h3 a:hover,.related a:hover{color:var(--rose)}
}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:clamp(1.7rem,3vw,2.1rem);letter-spacing:.045em}.hero-caption{bottom:78px;right:20px}.motion-toggle{bottom:25px}}
@media(max-width:760px){
  .hero h1{font-size:clamp(1.5rem,6.65vw,2.2rem);letter-spacing:.055em}
  .hero-visual{height:290px}
  .hero-scenes img{object-position:53% 43%}
  .hero-caption{bottom:14px;right:12px;padding:7px 9px;letter-spacing:.015em;font-size:.75rem}
  .motion-toggle{left:12px;bottom:13px;padding:7px 9px;font-size:.75rem}
  .category-navigation{gap:8px;margin-bottom:28px}
  .category-navigation-label{flex-basis:100%}
  .category-navigation>a{font-size:.875rem;padding:7px 10px}
  .post-categories{font-size:.875rem;margin-bottom:10px}
  .post-categories>a{padding:2px 7px}
  .article-card:not(:first-child){grid-template-columns:110px minmax(0,1fr)}
  .article-card:not(:first-child) .post-categories{font-size:.8125rem}
  .article-card:not(:first-child) .article-image{align-self:start}
  .article-card:not(:first-child) .article-type{font-size:.8125rem}
  .article-type b{padding:0;border:0}
  .article-header .story-meta{font-size:.875rem}
  .section-title{line-height:1.8}
  .article-bottom .read-more{min-height:38px}
}
@media(max-width:380px){.hero-caption{bottom:65px}.brand-name{font-size:1.18rem}.brand-tag{font-size:.75rem}.menu-toggle{padding:8px}.hero .eyebrow{white-space:normal}}
/* Native document transitions enhance WordPress navigation where supported. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:koi-page-out .18s ease-out both}
::view-transition-new(root){animation:koi-page-in .32s var(--ease-out) both}
@keyframes koi-page-out{to{opacity:0}}
@keyframes koi-page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-copy>*,.motion-hero .hero-scenes,.motion-hero .hero-smile,.hero-light{animation:none!important;transform:none!important}
  .motion-hero .hero-smile,.hero-light,.motion-ready .hero-light,.motion-toggle{display:none!important}
  .hero-wistful{opacity:1!important}
  .scroll-reveal,.scroll-reveal.is-revealed{opacity:1;transform:none;transition:none}
  .text-link:after,.article-image img,.feeling,.arrow{transition:none!important}
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
