/* Raffine — editorial refinements. Motion is an enhancement: content stays
   readable without IntersectionObserver or when reduced motion is requested. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.65,0,.35,1)}
::selection{background:#e9bfc080;color:#493c34}
.header{position:sticky;top:0;z-index:100;background:rgba(255,248,239,.94);transition:background .45s,box-shadow .45s,border-color .45s;isolation:isolate}
.header.is-scrolled{background:rgba(255,248,239,.87);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 30px #493c3406;border-color:#ddcebd80}
.header .wordmark{transform-origin:left center;transition:transform .55s var(--ease-out)}
.header.is-scrolled .wordmark{transform:scale(.88)}
.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:#b69a6a;transform:scaleX(0);transform-origin:left;z-index:120;pointer-events:none}
nav>a:not(.nav-shop){position:relative;transition:color .3s}
nav>a:not(.nav-shop)::after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:#ad8465;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
nav>a:hover::after,nav>a[aria-current]::after{transform:scaleX(1);transform-origin:left}
nav>a[aria-current]{color:#865c43}
.nav-shop{transition:background .35s,border-color .35s;color:var(--ink)}
.nav-shop:hover{background:#f0e4d5;border-color:#aa8b68}
.nav-shop span,.text-link span,.button span{display:inline-block;transition:transform .45s var(--ease-out)}
.nav-shop:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.text-link{position:relative;isolation:isolate;border-bottom:1px solid #bda98d70;transition:color .3s}
.text-link::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#79543f;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.text-link:hover::after{transform:scaleX(1);transform-origin:left}
.button{position:relative;isolation:isolate;overflow:hidden;background:#654c3c;border:1px solid #654c3c;transition:background .35s,border-color .35s,box-shadow .35s,transform .35s var(--ease-out)}
.button::before{content:'';position:absolute;inset:0;background:#49362b;transform:translateY(101%);transition:transform .5s var(--ease-out);z-index:-1}
.button:hover{background:#654c3c;border-color:#49362b;box-shadow:0 6px 18px #493c3410;transform:translateY(-2px)}
.button:hover::before{transform:translateY(0)}
.button:hover span{transform:translate(3px,-3px)}
.hero-actions .button:hover span{transform:translateY(3px)}
.hero{gap:58px;padding-top:32px;padding-bottom:35px}
.hero h1 em{color:#936f58}
.hero-photo{padding-bottom:9px}
.hero-image-frame{overflow:hidden;background:#eee4d7;position:relative}
.hero-image-frame>img{height:610px;object-fit:cover;object-position:center 40%;transform:translateY(var(--hero-drift,0px)) scale(1.045);will-change:transform}
.hero-photo::before{content:'';position:absolute;left:-16px;right:16px;top:16px;bottom:48px;border:1px solid #c9b28c80;pointer-events:none;z-index:-1}
.hero-photo figcaption{padding-top:20px;font-size:21px}
.photo-tag{bottom:80px;background:#f7f0e4;box-shadow:0 4px 20px #493c3407;border-color:#baa17d}
.photo-tag::after{content:'';position:absolute;inset:5px;border:1px solid #cbb68e60;border-radius:50%}
.hero-footnote{gap:13px}
.hero-footnote>span{font-size:30px}
.hero .word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.hero .word-mask>span{display:inline-block}
.scroll-note{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.18em;color:#806e5d;margin-top:25px}
.scroll-note::before{content:'';height:37px;width:1px;background:linear-gradient(#b59a70,transparent);transform-origin:top}
.section-top h2 em,.intro h2 em,.editorial-copy h2 em{color:#94725b}
.intro{padding-top:120px;padding-bottom:130px}
.intro>.star{align-self:start;margin-top:36px}
.intro h2{line-height:1.12}
.intro>p{padding-left:25px;border-left:1px solid #cdb99580}
.product-grid{column-gap:65px;row-gap:70px}
.product-photo{position:relative;isolation:isolate}
.product-photo::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #493c3404;pointer-events:none;background:linear-gradient(transparent 65%,#493c3412);opacity:0;transition:opacity .6s}
.product-photo img{transition:transform 1.15s var(--ease-out),filter .7s}
.product-corner{position:absolute;right:20px;bottom:20px;z-index:1;width:46px;height:46px;display:grid;place-items:center;background:rgba(255,248,239,.95);border-radius:50%;font-size:20px;opacity:0;transform:translateY(12px) rotate(-20deg);transition:transform .65s var(--ease-out),opacity .4s}
.product-caption{padding-top:22px}
.product-caption .eyebrow{display:flex;align-items:center;gap:9px;letter-spacing:.18em}
.product-caption .eyebrow::before{content:attr(data-number);font:italic 13px var(--serif);color:#98764e;letter-spacing:0}
.product-caption h3{line-height:1.15;transition:color .35s}
.product:hover h3{color:#916950}
.product-photo:focus-visible .product-corner{opacity:1;transform:none}
.handmade{background:linear-gradient(125deg,#f2e9df,#eee2d6)}
.values article{position:relative;padding-top:20px}
.values article::before{content:'';position:absolute;top:0;left:0;height:1px;width:100%;background:#bda88a70;transform-origin:left}
.value-number{font-size:28px}
.quote{padding-top:52px;padding-bottom:52px}
.quote blockquote{font-size:clamp(30px,3vw,44px)}
.quote>span{font-size:14px}
.story figure,.founder figure{position:relative}
.story figure::after{content:'';position:absolute;top:24px;right:-20px;width:1px;height:85px;background:var(--gold)}
.founder figure img{border-radius:48% 48% 0 0}
.custom-images img:first-child{transform:rotate(-3deg)}
.custom-images img:last-child{transform:rotate(3deg)}
.shop{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#f2d9d3,#e9c7c1)}
.shop::before,.shop::after{content:'';position:absolute;width:300px;height:300px;border:1px solid #b88f7635;border-radius:50%;pointer-events:none}
.shop::before{left:-200px;top:-90px}.shop::after{right:-200px;bottom:-90px}
.shop .star{margin-bottom:30px}
.shop h2{line-height:1.08}
.social-grid img{transition:transform 1s var(--ease-out)}
.social-grid a>span{border-radius:50%;transition:transform .45s var(--ease-out),background .35s}
.social-grid a:hover>span{transform:rotate(45deg);background:#fff8ef}
.menu-backdrop{position:fixed;inset:85px 0 0;background:#493c3429;backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;z-index:90;border:0;pointer-events:none}
.motion-ready .reveal{transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out),clip-path 1.2s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(26px)}
.motion-ready .reveal.reveal-image:not(.is-visible){opacity:1;transform:translateY(18px);clip-path:inset(7% 0 0 0)}
.motion-ready .reveal.reveal-image:not(.is-visible) img{opacity:0}
.motion-ready .reveal-image img{transition:opacity 1s var(--ease-out),transform 1.15s var(--ease-out)}
.motion-ready .reveal-image.is-visible{clip-path:inset(0)}
.motion-ready .hero .word-mask>span{animation:word-enter 1.2s var(--ease-out) both;animation-delay:calc(100ms + var(--word-index)*45ms)}
.motion-ready .hero-copy>.eyebrow{animation:soft-enter .9s var(--ease-out) both}
.motion-ready .hero-description{animation:soft-enter 1s .35s var(--ease-out) both}
.motion-ready .hero-actions{animation:soft-enter 1s .5s var(--ease-out) both}
.motion-ready .hero-footnote,.motion-ready .scroll-note{animation:soft-enter 1s .7s var(--ease-out) both}
.motion-ready .hero-image-frame{animation:photo-enter 1.6s .15s var(--ease-out) both}
.motion-ready .hero-photo figcaption{animation:soft-enter 1.1s .65s var(--ease-out) both}
.motion-ready .photo-tag{animation:badge-enter 1.2s .85s var(--ease-out) both}
.motion-ready .is-visible .value-number{animation:soft-enter .8s .12s var(--ease-out) both}
.motion-ready .values article:not(.is-visible)::before{transform:scaleX(0)}
.motion-ready .values article::before{transition:transform 1.2s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
@keyframes word-enter{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
@keyframes soft-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-enter{from{clip-path:inset(5% 0 0 0);opacity:0;transform:translateY(20px)}to{clip-path:inset(0);opacity:1;transform:none}}
@keyframes badge-enter{from{opacity:0;transform:translateY(15px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(9deg)}}
@media(hover:hover) and (pointer:fine){.product-photo:hover img{transform:scale(1.055)}.product-photo:hover::after{opacity:1}.product-photo:hover .product-corner{opacity:1;transform:translateY(0) rotate(0)}.custom-images img{transition:transform .85s var(--ease-out)}.custom-images:hover img:first-child{transform:rotate(-1deg) translateY(-5px)}.custom-images:hover img:last-child{transform:rotate(1deg) translateY(-5px)}}
@media(min-width:1500px){.hero-image-frame>img{height:680px}}
@media(max-width:1050px){.hero{gap:35px}.hero-image-frame>img{height:550px}.product-grid{gap:40px}.intro{padding-top:90px;padding-bottom:90px}}
@media(max-width:760px){.header{background:rgba(255,248,239,.96)}.header.is-scrolled .wordmark{transform:scale(.94)}.hero{gap:30px;padding-top:35px}.hero h1{font-size:50px}.hero-image-frame>img{height:430px;transform:none;will-change:auto}.hero-photo::before{left:-8px;right:8px;top:8px;bottom:48px}.hero-photo figcaption{font-size:19px}.hero-actions{gap:17px}.hero .scroll-note{display:none}.photo-tag{bottom:65px}.intro{padding-top:75px;padding-bottom:75px}.intro>p{padding-left:18px}.product-grid{gap:40px 18px}.product-caption{padding-top:19px}.product-caption h3{font-size:25px}.product-corner{width:35px;height:35px;right:13px;bottom:13px;font-size:17px;opacity:1;transform:none}.values article{padding-top:18px}.value-number{font-size:24px}.story figure::after{right:-10px}.founder figure{padding:0 22px}.quote{padding-top:34px;padding-bottom:34px}.shop{padding-top:75px;padding-bottom:75px}.social-grid a>span{display:none}nav{display:flex;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .35s var(--ease-out),transform .45s var(--ease-out),visibility .45s;top:100%;gap:0;box-shadow:0 15px 20px #493c3405;border-bottom:1px solid var(--line)}nav.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}nav>a:not(.nav-shop)::after{bottom:8px;width:28px}nav>a{transform:translateY(-5px);transition:transform .45s var(--ease-out),opacity .35s;opacity:0}nav.open>a{transform:none;opacity:1;transition-delay:calc(var(--nav-index)*35ms)}.menu-toggle span{transition:transform .4s var(--ease-out)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}body.menu-open .menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}.motion-ready .reveal{transition-duration:.75s,.9s,.95s}.motion-ready .reveal:not(.is-visible){transform:translateY(18px)}}
@media(max-width:370px){.hero h1{font-size:44px}.hero-image-frame>img{height:370px}.product-caption h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none;clip-path:none}.motion-ready .reveal.reveal-image:not(.is-visible) img{opacity:1}.hero-image-frame>img{transform:none;will-change:auto}.motion-ready .hero .word-mask>span{transform:none}}
@media(max-width:760px){nav{flex-direction:column}}
html{scroll-padding-top:132px}.motion-ready .reveal:focus-within{opacity:1;transform:none;clip-path:none}.motion-ready .reveal-image:focus-within img{opacity:1}@media(max-width:760px){html{scroll-padding-top:110px}}
