/* Editorial movement. Content stays visible until the enhancement is ready. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--reveal-ease:cubic-bezier(.25,.6,.3,1)}
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:80;pointer-events:none;background:linear-gradient(90deg,#8d5d4e,#e6b6a7);transform:scaleX(var(--page-progress,0));transform-origin:left}
.brand-intro-on .scroll-progress{opacity:0}
.motion-ready [data-reveal]{transition:opacity 1.5s var(--reveal-ease),transform 1.8s var(--reveal-ease),clip-path 1.8s var(--reveal-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal="rise"]:not(.is-revealed){opacity:0;transform:translate3d(0,28px,0)}
.motion-ready [data-reveal="image"]:not(.is-revealed){opacity:0;clip-path:inset(0 0 16% 0);transform:translate3d(0,22px,0)}
.motion-ready [data-reveal="image"].is-revealed{opacity:1;clip-path:inset(0);transform:none}
.motion-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.13em .055em .24em;margin:-.13em -.055em -.24em}
.motion-word-inner{display:inline-block;transform-origin:left bottom}
.motion-ready .motion-word-inner{transition:transform 2.2s var(--reveal-ease),opacity 1.6s ease;transition-delay:calc(var(--word-delay,0ms) + var(--reveal-delay,0ms))}
.motion-ready [data-reveal="heading"]:not(.is-revealed) .motion-word-inner{opacity:0;transform:translate3d(0,115%,0) rotate(3deg)}
.motion-ready [data-reveal="heading"].is-revealed .motion-word-inner{opacity:1;transform:none}
.motion-ready [data-reveal="rise"]:focus-within{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
.band-grid .reading-word{font:inherit;letter-spacing:inherit;color:inherit}
.motion-ready .reading-word{opacity:var(--read-opacity,.38);transition:opacity .45s linear}
.motion-section-rule{position:relative}
.motion-section-rule::before{content:"";position:absolute;top:-27px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--brown),var(--line) 65%,transparent);transform-origin:left;transition:transform 1.4s var(--motion-ease)}
.motion-ready .motion-section-rule:not(.is-revealed)::before{transform:scaleX(0)}
.motion-parallax{overflow:hidden}
.motion-ready .motion-parallax>img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.065)}

/* Quiet depth around the photography and the invitation. */
.hero-copy{position:relative;isolation:isolate;overflow:hidden}
.hero-copy::before{content:"";position:absolute;z-index:-1;width:490px;height:490px;left:-290px;top:14%;border-radius:50%;background:radial-gradient(circle,rgba(230,182,167,.19),transparent 70%);pointer-events:none}
.eyebrow .line{transform-origin:left;transition:transform 1.1s var(--motion-ease)}
.motion-ready .eyebrow:not(.is-revealed) .line{transform:scaleX(0)}
.feature-copy{position:relative;isolation:isolate;overflow:hidden}
.feature-copy::before{content:"";position:absolute;z-index:-1;width:440px;height:660px;border:1px solid rgba(250,247,244,.13);border-radius:50%;right:-250px;top:20px;transform:rotate(-30deg);pointer-events:none}
.cta-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#f5eeea,#f8eee8 55%,#efdfd5)}
.cta-section::before,.cta-section::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}
.cta-section::before{width:clamp(320px,50vw,700px);height:140%;left:-25%;top:-20%;border:1px solid rgba(141,93,78,.18);transform:rotate(25deg)}
.cta-section::after{width:500px;height:500px;right:-260px;bottom:-240px;background:radial-gradient(circle,rgba(204,153,139,.25),transparent 70%)}
.section-heading .kicker{margin-bottom:19px}
.value-grid>div,.value-grid>article,.process-grid>div{position:relative}
.value-grid>div>span,.value-grid>article>span{font-size:48px;line-height:1.1;display:inline-block;color:#a87563;transition:transform .6s var(--motion-ease)}
.product-card{position:relative;transition:border-color .45s ease}
.product-image{position:relative;overflow:hidden}
.product-image::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,253,251,.6);opacity:0;transform:scale(.97);transition:opacity .55s ease,transform .7s var(--motion-ease);pointer-events:none}
.product-content h3{transition:color .35s ease}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .35s ease,color .35s ease,border-color .35s ease,transform .5s var(--motion-ease),box-shadow .5s ease}
.button::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,rgba(230,182,167,.2) 50%,transparent 75%);transform:translateX(-140%);transition:transform .8s var(--motion-ease);pointer-events:none}
.button>span{display:inline-block;transition:transform .4s var(--motion-ease)}
.footer a{transition:color .25s ease}
.site-header{transition:box-shadow .4s ease}
.page-has-scrolled .site-header{box-shadow:0 8px 30px rgba(36,29,28,.055)}
@media(hover:hover) and (pointer:fine){
  .product-card:hover{border-color:var(--brown)}
  .product-card:hover .product-image::after{opacity:1;transform:scale(1)}
  .product-card:hover .product-content h3{color:var(--brown)}
  .product-card:hover .product-image img{transform:scale(1.055)}
  .value-grid>div:hover>span,.value-grid>article:hover>span{transform:translateX(6px)}
  .button:hover::after{transform:translateX(140%)}
  .button:hover>span{transform:translate(3px,-3px)}
  .button:hover{box-shadow:0 8px 20px rgba(36,29,28,.08)}
  .footer a:hover{color:var(--blush)}
}
@media(max-width:680px){
  .motion-ready [data-reveal]{transition-delay:0ms}
  .motion-ready [data-reveal="rise"]:not(.is-revealed){transform:translate3d(0,18px,0)}
  .motion-section-rule::before{top:-20px}
  .value-grid>div>span,.value-grid>article>span{font-size:39px}
  .feature-copy::before{right:-320px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-reveal],.motion-word-inner,.reading-word{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .motion-section-rule::before,.motion-parallax>img,.eyebrow .line{transform:none!important;transition:none!important}
  .button,.button::after,.button>span,.product-image img,.product-image::after,.value-grid span{transition:none!important}
  .scroll-progress{display:none}
}
@media print{
  [data-reveal],.motion-word-inner,.reading-word{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .scroll-progress{display:none}
  .motion-parallax>img{transform:none!important}
}
