/* SACMID / Paper, sage & clay. No layout or typography changes. */
:root{
 --color-bg:#f8f6f0;--color-surface:#fffdf8;--color-text:#303832;
 --color-text-muted:#626b61;--color-border:#deded1;--color-accent:#805739;
 --color-focus:#54654b;--color-sage:#d9e1d0;--color-clay:#e6d1bb;
 --ease-editorial:cubic-bezier(.22,.61,.36,1);
}
html{background:var(--color-bg);scroll-behavior:smooth}
body{background-color:var(--color-bg);color:var(--color-text);background-image:url('/images/paper-grain.svg');background-size:180px 180px}
::selection{background:#dce3cc;color:#303832}
h1,h2,h3,h4{color:var(--color-text)}
.lede,.text-ink-soft{color:var(--color-text-muted)}
.bg-night,.bg-night-900,.bg-sunrise{background-color:#f0efe5;background-image:url('/images/paper-grain.svg'),linear-gradient(125deg,#f0eee2,#eff1e8 62%,#f5eee5);background-size:180px 180px,cover}
.bg-warm{background-image:linear-gradient(135deg,#f1e6d9,#e5d0b8);color:#805739}
.bg-cool{background-image:linear-gradient(135deg,#e5eadb,#d7e5e3);color:#45666b}
.text-gradient{background-image:linear-gradient(110deg,#805739,#617053 62%,#45666b);background-size:100% 100%}
.bg-dots-light{background-image:radial-gradient(#79856d1c .7px,transparent .7px);background-size:26px 26px;opacity:.6}
.noise:after{background-image:url('/images/paper-grain.svg');opacity:.27;mix-blend-mode:multiply}
.orb{opacity:.45;filter:blur(80px);animation:paper-drift 22s ease-in-out infinite}
.orb:nth-child(3){background-color:#d9e1d0!important}
.orb:nth-child(4){background-color:#e4dbc8!important}
.card{background-color:var(--color-surface);border-color:var(--color-border)}
.shadow-soft,.shadow-lift,.shadow-glow,.shadow-glow-grape,.shadow-glow-azure{box-shadow:0 5px 20px -10px #3b463521,0 18px 42px -28px #3b46352b}
.btn-primary,.btn-grape{background:var(--color-accent);color:#fffdf8;box-shadow:0 7px 20px -12px #604b38aa}
.btn-primary:hover,.btn-grape:hover{background:#6b4b34;box-shadow:0 9px 22px -14px #604b3880}
.btn-light{background:#fffdf899;color:var(--color-text);--tw-ring-color:#bfc5b4;backdrop-filter:blur(8px)}
.btn-light:hover{background:#fffdf8}
.btn-ghost{background:#fffdf8;color:var(--color-text);--tw-ring-color:var(--color-border)}
.eyebrow,.eyebrow-dark{background:#e9e8db;color:#626b50;box-shadow:none;border-color:#d4d7c8}
.chip{box-shadow:none}
nav[aria-label=Main]{color:var(--color-text);background-color:#fffdf8e8!important}
nav[aria-label=Main]>div{background-color:#fffdf8e8!important;--tw-ring-color:#dcded2;box-shadow:0 6px 30px -22px #43503a66}
nav[aria-label=Main] a:not(.btn-primary),nav[aria-label=Main] button{color:#303832}
nav[aria-label=Main] a[aria-current=page]{background:#e8ecde;color:#526247}
nav[aria-label=Main] a:hover,nav[aria-label=Main] button:hover{color:#805739}
footer{background:#eceee3!important;color:#303832;background-image:url('/images/paper-grain.svg')!important}
footer h3{color:#526247!important}
footer a:hover{color:#805739!important}
[class*="border-white/"]{border-color:#aeb89d40}
[class*="ring-white/"]{--tw-ring-color:#e3e6d8}
input,select,textarea{color:var(--color-text);background-color:#fffdf8;border-color:#cfd3c3}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
.voice-strip,.conversation{background:#eeeee2;background-image:url('/images/paper-grain.svg')}
.voice-strip span,.kicker{color:#805739}.voice-strip p{color:#626b61}
.journal-nav{background:#fffdf8e8;border-color:#deded1}.journal-footer{background:transparent!important}
.pill{background:#805739;color:#fffdf8;border-color:#805739}.pill:hover{background:#6b4b34}
.collection-tabs{border-color:#deded1;overflow-y:hidden}.collection-tabs a.active{color:#805739}.collection-tabs a.active:after{background:#805739}
.story-card,.photo-label{background:#fffdf8;border-color:#deded1}
.hero-photo:before{border-color:#c4cdb8}.play-icon{color:#805739;background:#fffdf8ed}
.read-link{color:#805739}.journal-footer p,.journal-hero p{color:#626b61}
/* Slower cadence, shorter travel. Nothing scrolls the page for the visitor. */
.reveal{transition:opacity .95s var(--ease-editorial),transform .95s var(--ease-editorial);transition-delay:var(--delay,0ms)}
.reveal[data-anim=up]{transform:translateY(20px)}
.reveal[data-anim=left]{transform:translateX(-24px)}
.reveal[data-anim=right]{transform:translateX(24px)}
.reveal[data-anim=zoom]{transform:scale(.97)}
.reveal.is-visible{transform:none;opacity:1}
.animate-fade-up{animation:paper-rise 1.05s var(--ease-editorial) both}
.animate-fade-in{animation:fade-in 1.2s ease both}
.animate-word-in{animation:paper-word .9s var(--ease-editorial) both}
.animate-float{animation:paper-float 9s ease-in-out infinite}
.animate-spin-slow{animation-duration:60s}
.animate-marquee{animation-duration:55s}
.animate-pulse{animation-duration:3s}
.animate-slide-in-right{animation-duration:.55s}
.transition,.transition-all,.transition-colors,.transition-transform,.card-hover,.btn-primary,.btn-grape,.btn-ghost,.btn-light,.story-image,.pill{transition-duration:.45s;transition-timing-function:var(--ease-editorial)}
.group:hover [class*="group-hover:scale-110"]{--tw-scale-x:1.035;--tw-scale-y:1.035}
.group:hover [class*="group-hover:scale-105"]{--tw-scale-x:1.025;--tw-scale-y:1.025}
.story-card{animation-duration:1.1s;animation-timing-function:var(--ease-editorial)}
@keyframes paper-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes paper-word{from{opacity:0;transform:translateY(14%)}to{opacity:1;transform:translateY(0)}}
@keyframes paper-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.4deg)}}
@keyframes paper-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-12px) scale(1.04)}}
html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion=reduced] .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 html:not([data-motion=full]){scroll-behavior:auto}
 html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important}
 html:not([data-motion=full]) .reveal{opacity:1;transform:none}
}
