/* Morrow Keeps: paper, walnut and a quiet touch of green.
   Loaded only by the storefront layout; admin controls keep their own theme. */
body {
  --color-background:#faf9f6;
  --color-surface-soft:#eeece5;
  --color-text:#342e28;
  --color-muted:#6b675f;
  --color-primary:#495344;
  --color-accent:#835e46;
  --color-border:#dedbd2;
  --color-sage:#68725d;
  --font-heading:Georgia,'Times New Roman',serif;
  --radius-sm:3px;
  background:var(--color-background);
  font-size:15px;
  line-height:1.7;
  overflow-x:clip;
}
.container{width:min(calc(100% - 5rem),1240px)}
h1,h2,h3{letter-spacing:-.035em;font-weight:400;text-wrap:balance}
h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.16}
p{line-height:1.75}
.eyebrow{font-size:.66rem;font-weight:600;letter-spacing:.13em;color:var(--color-accent)}
.section{padding-block:clamp(3.5rem,6.5vw,6rem)}
.announcement{min-height:32px;background:#eceee7;color:#485040;font-size:.68rem;letter-spacing:.015em}
.announcement button{color:#485040}
.site-header{background:#faf9f6;border-bottom:1px solid #e4e0d7;backdrop-filter:none}
.header-inner{gap:1.5rem}
.brand-logo{width:205px}
.main-nav{gap:clamp(.75rem,1.3vw,1.2rem);font-size:.76rem}
.main-nav a{color:#51483f}
.icon-button{color:#51483f}
.cart-link span{background:#6c5949}
.button{gap:1rem;min-height:48px;font-size:.82rem;font-weight:600;letter-spacing:0;border-radius:3px;padding:.75rem 1.25rem}
.button:hover{background:#374031;transform:none;box-shadow:none}
.button.secondary:hover{background:#eeece5}
.button.light{background:#faf9f6;border-color:#faf9f6;color:#3e4939}
.button.light:hover{background:#e8eadf;border-color:#e8eadf}
.plain-link{font-size:.8rem;font-weight:500;border-color:#b1a89b;padding-bottom:.3rem}
.hero-editorial{background:#f0eee7;padding-block:clamp(2.5rem,4vw,4rem)}
.hero-editorial .hero-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,4.5vw,4.5rem)}
.hero-editorial .hero-copy{padding-left:0}
.hero-editorial h1{font-size:clamp(2.8rem,4.7vw,4.8rem);line-height:1.09;letter-spacing:-.045em;margin:1rem 0 1.4rem}
.hero-editorial h1 em{font-weight:400;color:#6c705e}
.hero-editorial .hero-lead{font-family:var(--font-body);font-size:.95rem;line-height:1.85;max-width:370px;color:#615f56}
.hero-editorial .button-row{gap:1.5rem;margin:1.75rem 0}
.hero-editorial .hero-note{font-size:.66rem;letter-spacing:0;margin-top:2rem;border:0;padding:0;color:#6b675f}
.hero-editorial .hero-image{min-height:0;overflow:visible}
.hero-editorial .hero-image img{min-height:0;height:auto;aspect-ratio:1.18;object-fit:cover;object-position:70% center}
.hero-editorial figcaption,.memorial-story figcaption{font-size:.64rem;letter-spacing:0;color:#706b61}
.trust-strip{background:#faf9f6}
.trust-grid{min-height:92px}
.trust-grid span{padding-inline:1.5rem}
.trust-grid span:first-child{padding-left:0}
.trust-grid b{font-size:.94rem}
.trust-grid small{font-size:.67rem;color:#6b675f;line-height:1.6}
.editorial-heading{grid-template-columns:.7fr 1.3fr 1fr;gap:2rem;align-items:center;margin-bottom:2.5rem}
.editorial-heading h2{font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.035em}
.editorial-heading>p:last-child{font-size:.85rem;margin:0;max-width:310px}
.occasion-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem;align-items:start}
.occasion-story-0{grid-column:1/3;grid-row:1/3}
.occasion-story-1{grid-column:3;grid-row:1}
.occasion-story-2{grid-column:4;grid-row:1}
.occasion-story-3{grid-column:3;grid-row:2}
.occasion-story-4{grid-column:4;grid-row:2}
.occasion-story{margin-top:0;min-width:0}
.occasion-story .occasion-image{aspect-ratio:4/3}
.occasion-story-0 .occasion-image{aspect-ratio:1/1.12}
.occasion-story .occasion-image img,.bestsellers-refined .product-media img{filter:none}
.occasion-copy{grid-template-columns:1fr;gap:0;padding-top:.8rem}
.occasion-copy>span{display:none}
.occasion-copy h3{font-size:1.12rem;letter-spacing:-.02em;line-height:1.3}
.occasion-copy p{grid-column:auto;line-height:1.65;font-size:.73rem;margin-top:.35rem}
.bestsellers-refined{background:#f0eee8}
.section-heading{margin-bottom:2rem}
.product-grid{gap:1.5rem}
.bestsellers-refined .product-media,.product-media{aspect-ratio:4/3;background:#e9e3d9}
.product-card-body{padding-top:1rem}
.product-card-body h3,.bestsellers-refined .product-card-body h3{font-size:1.05rem;line-height:1.4;letter-spacing:-.01em}
.product-card-body p{font-size:.8rem;color:#51483e}
.product-card-body strong{font-weight:600}
.product-card-body .text-link{font-size:.72rem;font-weight:500}
.rating small{font-size:.67rem}
.rating span{font-size:.75rem;color:#8b7456}
.product-card s{color:#78746b;font-size:.72rem}
.memorial-story{background:#e5e7de;padding-block:clamp(3.5rem,7vw,6.5rem)}
.memorial-story-grid{gap:clamp(2rem,7vw,6rem)}
.memorial-story figure img{aspect-ratio:1.1;filter:none}
.memorial-story-copy h2{font-size:clamp(2.4rem,4vw,3.8rem)}
.memorial-story-copy>p:not(.eyebrow){font-family:var(--font-body);font-size:.9rem;color:#5e6256}
.memorial-story-copy dl{margin:1.75rem 0}
.memorial-story-copy dl>div{border-color:#c8ccbd;padding:.85rem 0}
.memorial-story-copy dd b{font-size:1rem}
.memorial-story-copy dd span{font-size:.75rem;color:#636759}
.craft-journal{background:#faf9f6}
.craft-journal-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem)}
.craft-intro h2{font-size:clamp(2rem,3.4vw,3.2rem)}
.craft-intro>p:not(.eyebrow){font-size:.88rem}
.craft-options article{grid-template-columns:24px 1fr;gap:.6rem 1rem;padding:1.5rem 0}
.craft-options h3{font-size:1.35rem}
.craft-options p,.craft-options small{grid-column:2;margin:0}
.craft-options p{font-size:.85rem}
.craft-options small{font-size:.72rem;font-weight:400}
.customer-notes{background:#f0eee8;color:#342e28}
.customer-notes p{color:#6b675f}
.customer-notes-grid{grid-template-columns:.8fr 1.2fr .8fr;gap:2.5rem}
.customer-notes .eyebrow{color:#835e46}
.notes-title h2{font-size:clamp(2rem,3.4vw,3.2rem)}
.notes-title .plain-link{color:#495344;border-color:#b1a89b}
.featured-note{border-color:#ccc5b8;padding-left:2rem}
.featured-note>p{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.5;color:#4b473e}
.featured-note footer b{font-size:.78rem;font-weight:500}
.featured-note footer span,.small-notes footer{color:#6b675f;font-size:.68rem}
.small-notes blockquote{border-color:#ccc5b8;padding-bottom:1.4rem;margin-bottom:1.4rem}
.small-notes blockquote p{color:#514b42;font-size:1rem}
.sympathy-refined{background:#4d5848;padding-block:4rem}
.sympathy-refined h2{font-size:clamp(2rem,3.2vw,3rem);max-width:690px}
.sympathy-refined .eyebrow{color:#dbe0d0}
.sympathy-refined p{color:#e3e6db;font-size:.88rem}
.studio-footer-note{background:#faf9f6;border-color:#dedbd2}
.newsletter{background:#ece9e0;padding-block:3.5rem}
.newsletter-inner{gap:3rem}
.newsletter h2{font-size:clamp(1.8rem,2.8vw,2.6rem)}
.newsletter p:not(.eyebrow){font-size:.82rem;margin-bottom:0}
.newsletter form{min-width:0;flex:0 1 440px}
.newsletter input{min-width:0;background:#faf9f6;border-color:#aca899;font-size:.82rem}
.site-footer{background:#342e28;padding-top:4rem}
.footer-brand .brand-logo{width:235px}
.footer-grid{gap:3rem}
.footer-grid p,.footer-grid a{font-size:.78rem;line-height:1.9}
.footer-grid h2{font-size:.68rem;font-family:var(--font-body);letter-spacing:.08em;color:#eee9df}
.footer-bottom{font-size:.67rem}
.page-hero,.collection-hero,.story-hero,.wholesale-hero{background:#eeece5}
.page-hero.compact{padding-block:3.5rem}
.page-hero h1{font-size:clamp(2.6rem,4.5vw,4rem)}
.filters label,.shop-toolbar{font-size:.82rem}
.filters .button{margin-bottom:.75rem}
.product-info h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.16}
.product-intro{font-size:.92rem}
.personalization-box,.card-form,.photo-note{background:#fefdf9;box-shadow:none}
.option-pills input:checked+span{background:#edf0e7}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #68725d;outline-offset:2px}
input[type=checkbox],input[type=radio]{accent-color:#495344}
.story-hero-refined h1,.craft-hero h1,.review-hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1.06}
.craft-hero,.review-hero,.story-hero-refined{background:#eeece5}
.care-banner{background:#59624f}
@media(min-width:761px) and (max-width:1050px){
  .hero-editorial .hero-grid{grid-template-columns:.9fr 1.1fr;gap:2rem}
  .hero-editorial h1{font-size:clamp(2.6rem,4.8vw,3.5rem)}
  .hero-editorial .hero-image img{aspect-ratio:.94}
  .hero-editorial .button-row{gap:1rem;align-items:flex-start;flex-direction:column}
  .editorial-heading{grid-template-columns:1fr 2fr}
  .editorial-heading>p:last-child{grid-column:2}
  .occasion-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .occasion-story-0{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem}
  .occasion-story-0 .occasion-image{aspect-ratio:4/3}
  .occasion-story-1,.occasion-story-2,.occasion-story-3,.occasion-story-4{grid-column:auto;grid-row:auto}
  .customer-notes-grid{grid-template-columns:1fr 1.5fr}
  .small-notes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:760px){
  .container{width:calc(100% - 2.5rem)}
  .announcement{font-size:.63rem;min-height:30px}
  .header-inner{gap:.6rem}
  .brand-logo{width:170px}
  .header-actions{margin-left:auto}
  .hero-editorial{padding-block:2.5rem 1.8rem}
  .hero-editorial .hero-grid{grid-template-columns:1fr;gap:1.8rem}
  .hero-editorial h1{font-size:clamp(2.8rem,10.5vw,4rem);margin:.8rem 0 1.2rem}
  .hero-editorial .hero-lead{font-size:.88rem;max-width:440px}
  .hero-editorial .button-row{flex-direction:row;align-items:center;gap:1.3rem;margin:1.5rem 0 0}
  .hero-copy .button{width:auto}
  .hero-editorial .hero-note{margin:1.2rem 0 0;font-size:.62rem}
  .hero-editorial .hero-image,.hero-editorial .hero-image img{min-height:0}
  .hero-editorial .hero-image img{aspect-ratio:1.35}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid span,.trust-grid span:first-child{padding:1rem .75rem;min-height:94px}
  .trust-grid span:nth-child(odd){padding-left:0}
  .trust-grid b{font-size:.85rem}
  .trust-grid small{font-size:.63rem}
  .editorial-heading{display:block;margin-bottom:1.8rem}
  .editorial-heading h2{font-size:2.25rem}
  .editorial-heading>p:last-child{margin-top:1rem;max-width:100%;font-size:.82rem}
  .occasion-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem 1rem}
  .occasion-story-0{grid-column:1/-1;grid-row:auto}
  .occasion-story-1,.occasion-story-2,.occasion-story-3,.occasion-story-4{grid-column:auto;grid-row:auto}
  .occasion-story .occasion-image,.occasion-story-0 .occasion-image{aspect-ratio:4/3}
  .occasion-copy h3{font-size:1.05rem}
  .occasion-copy p{display:block;font-size:.7rem}
  .product-grid,.bestsellers-refined .product-grid,.shop-results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 1rem}
  .main-nav,.filters{background:#faf9f6}
  .filters:not(.open){visibility:hidden}
  .shop-results{min-width:0}
  .product-card-body h3,.bestsellers-refined .product-card-body h3{font-size:.97rem}
  .product-card-body p{font-size:.75rem}
  .section-heading{gap:1rem}
  .memorial-story-grid,.craft-journal-grid,.customer-notes-grid{grid-template-columns:1fr;gap:2rem}
  .memorial-story-copy h2{font-size:2.6rem}
  .memorial-story-copy{padding:0}
  .featured-note{border-left:0;border-top:1px solid #ccc5b8;padding:1.5rem 0 0}
  .small-notes{grid-template-columns:1fr;gap:0}
  .newsletter-inner{gap:1.5rem}
  .newsletter form{flex:auto;width:100%}
  .newsletter .button{padding-inline:1rem}
  .footer-grid{gap:2rem}
  .page-hero.compact{padding-block:2.5rem}
  .product-layout{min-width:0}
  .product-info h1{font-size:2.15rem}
  .personalization-box{margin-inline:0}
}
/* Compact image/copy pairs: keep the photograph in proportion to its copy. */
.memorial-story{padding-block:clamp(3rem,5vw,4.5rem)}
.memorial-story-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem)}
.memorial-story figure{width:100%;max-width:460px;justify-self:center}
.memorial-story figure img{height:auto;aspect-ratio:1.2;object-fit:cover}
.memorial-story-copy{padding-right:0;max-width:560px}
.memorial-story-copy dl{margin:1.3rem 0}
.memorial-story-copy dl>div{padding:.65rem 0}
.memorial-story-copy h2{font-size:clamp(2.2rem,3.3vw,3.2rem)}
.story-hero-refined{padding-block:clamp(2.5rem,4vw,4rem)}
.story-hero-refined .story-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:0;gap:clamp(2rem,5vw,4.5rem);padding-top:0}
.story-hero-refined figure{align-self:center;width:100%;max-width:460px;justify-self:end}
.story-hero-refined figure img{height:auto;aspect-ratio:1.25;object-fit:cover}
.story-hero-refined h1,.craft-hero h1{font-size:clamp(2.5rem,3.6vw,3.5rem);line-height:1.13;letter-spacing:-.035em;max-width:560px}
.story-hero-refined .hero-lead,.craft-hero .hero-lead{font-size:1rem;max-width:500px}
.about-manifesto-grid{grid-template-columns:.65fr 1.35fr;gap:3rem}
.about-manifesto-grid h2{font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.2;max-width:760px}
.about-manifesto-grid .dropcap{font-size:1.1rem;line-height:1.8}
.about-studio-notes{padding-block:clamp(3rem,5vw,4.5rem);background:#e6e4dc}
.about-notes-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto;gap:clamp(2rem,5vw,4.5rem)}
.about-note-large{grid-row:auto;width:100%;max-width:460px;justify-self:center}
.about-note-large img{height:auto;aspect-ratio:1.15;filter:none}
.about-note-copy h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.2}
.studio-values{margin-bottom:0;margin-top:1.25rem}
.studio-values>div{padding:.8rem 0}
.craft-hero{padding-block:clamp(2.5rem,4vw,4rem)}
.craft-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem)}
.craft-hero figure{width:100%;max-width:460px;justify-self:end}
.craft-hero figure img{height:auto;aspect-ratio:1.25;filter:none}
.material-ledger-grid{grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.material-intro{position:static}
.material-intro h2{font-size:clamp(2rem,3vw,2.8rem)}
.material-list article{padding:1.4rem 0;gap:1rem;grid-template-columns:30px 1fr}
.material-list article p{margin-bottom:0;font-size:.88rem}
.craft-methods{padding-block:clamp(3rem,5vw,4.5rem);background:#3f473b}
.craft-method-grid{gap:3rem;margin-top:2rem}
.craft-method-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem)}
.craft-method-card.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.craft-method-image{width:100%;max-width:460px;justify-self:center}
.craft-method-image img{height:auto;aspect-ratio:1.3;filter:none}
.craft-method-card h3{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.2;margin:.65rem 0 1rem}
.craft-method-card p{font-size:.9rem}
.craft-method-card li{font-size:.78rem;margin:.4rem 0}
.studio-process-grid{grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.studio-process-grid h2{font-size:clamp(2rem,3vw,2.8rem)}
.care-banner-grid{grid-template-columns:1fr 1fr;gap:2rem 4rem}
.care-banner-grid h2{font-size:clamp(2rem,3vw,2.8rem)}
.care-banner-grid .button{grid-column:2;justify-self:start}
.demo-review-section{background:#eeece5;scroll-margin-top:100px}
.demo-review-notice{max-width:650px;font-size:.8rem;color:#6b675f}
.review-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.review-quote{display:flex;flex-direction:column;margin:0;padding:1.5rem;background:#faf9f6;border-top:1px solid #c6c5b8;min-width:0}
.demo-review-label{display:block;margin-bottom:1rem;color:#655a48;font-size:.65rem;letter-spacing:.02em}
.review-quote .stars{font-size:.8rem}
.review-quote h3{font-size:1.25rem;line-height:1.4;margin:.75rem 0}
.review-quote>p{font-size:.87rem;line-height:1.8}
.review-quote footer{margin-top:auto;padding-top:1rem;border-top:1px solid #dedbd2;font-size:.72rem}
.review-quote footer span,.review-quote footer a{display:block}
.review-quote footer a{margin-top:.4rem;color:#495344;text-decoration:underline;text-underline-offset:3px}
@media(min-width:761px) and (max-width:1050px){
  .review-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .memorial-story-grid,.story-hero-refined .story-grid,.about-notes-grid,.craft-hero-grid,.material-ledger-grid,.craft-method-card,.craft-method-card.reverse,.studio-process-grid,.care-banner-grid,.about-manifesto-grid{grid-template-columns:minmax(0,1fr);gap:1.8rem}
  .memorial-story figure,.story-hero-refined figure,.about-note-large,.craft-hero figure,.craft-method-image{max-width:460px;justify-self:center}
  .memorial-story figure img,.story-hero-refined figure img,.about-note-large img,.craft-hero figure img,.craft-method-image img{height:auto;aspect-ratio:4/3}
  .story-hero-refined h1,.craft-hero h1{font-size:clamp(2.3rem,9vw,3rem)}
  .craft-method-card.reverse .craft-method-image{order:0}
  .care-banner-grid .button{grid-column:auto}
  .review-quote-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
  .review-quote{padding:1.25rem}
}
/* A shorter storefront: collection -> comparison -> personalization. */
.home-curated .section{padding-block:clamp(2.75rem,5vw,4.5rem)}
.home-curated .editorial-heading{grid-template-columns:.7fr 1.3fr 1fr;margin-bottom:1.75rem}
.home-curated .editorial-heading h2{font-size:clamp(1.8rem,2.9vw,2.6rem)}
.home-curated .occasion-mosaic{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem}
.home-curated .occasion-story{display:block;grid-column:auto;grid-row:auto;margin:0}
.home-curated .occasion-story .occasion-image{aspect-ratio:1.12}
.home-curated .occasion-copy{padding-top:.75rem}
.home-curated .occasion-copy h3{font-size:1.04rem;line-height:1.3}
.home-curated .occasion-copy p{display:none}
.home-curated .bestsellers-refined{background:#f0eee8;scroll-margin-top:90px}
.home-curated .bestsellers-refined h2{font-size:clamp(2rem,3.2vw,3rem)}
.home-personalization{background:#faf9f6}
.home-personalization h2{font-size:clamp(2rem,3vw,2.8rem)}
.home-process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2rem 0 0;padding:0;list-style:none}
.home-process-list>li{display:flex;gap:1rem;padding:1.5rem 0 0;border-top:1px solid #d5d6c9}
.home-process-list>li>span{font-family:var(--font-heading);font-size:1.3rem;color:#9a7358;line-height:1.3}
.home-process-list h3{font-size:1.25rem;margin:0 0 .6rem}
.home-process-list p{font-size:.83rem;margin:0;max-width:300px}
.home-process-list a{color:#495344;text-decoration:underline;text-underline-offset:3px}
.home-process-footnote{display:flex;align-items:center;gap:1rem;margin-top:2rem;font-size:.78rem}
.home-process-footnote>span{color:#6b675f}
.home-curated .customer-notes{padding-block:2.75rem}
.home-curated .customer-notes .section-heading h2{font-size:2rem}
.home-curated .customer-notes .review-quote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-curated .review-quote{padding:1.2rem}
.home-curated .review-quote>p{font-size:.8rem}
.home-curated .demo-review-notice{font-size:.73rem;margin-bottom:0}
.catalog-card{display:flex;flex-direction:column;height:100%;min-width:0}
.catalog-card .product-media{flex:0 0 auto;aspect-ratio:4/3;background:#eeebe3}
.catalog-card .product-media img{object-fit:cover}
.catalog-card .product-card-body{display:flex;flex-direction:column;flex:1;padding:1rem 0 0;min-width:0}
.catalog-card .catalog-category{margin:0 0 .4rem;color:#85725e;font-size:.59rem;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.catalog-card .product-card-body h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.8em;margin:0 0 .45rem;font-size:1.14rem;line-height:1.4;letter-spacing:-.025em}
.catalog-card .product-card-body .catalog-detail{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.2em;margin:0 0 .7rem;font-size:.73rem;line-height:1.6;color:#706b62}
.catalog-rating{min-height:23px;font-size:.68rem;color:#6b675f}
.catalog-rating .rating small{font-size:.65rem}
.catalog-rating .rating span{font-size:.68rem}
.catalog-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin: .7rem 0 .9rem;font-size:.68rem;color:#6b675f}
.catalog-price strong{margin-left:.25rem;color:#352e27;font-size:1rem;font-weight:600}
.catalog-price s{color:#827a70;font-size:.73rem}
.catalog-action{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;margin-top:auto;padding:.6rem 0;border-top:1px solid #cfcabd;font-size:.76rem;font-weight:600;color:#495344}
.catalog-action>span:last-child{font-weight:400;transition:transform .2s ease}
.catalog-action:hover>span:last-child{transform:translateX(4px)}
.catalog-action:hover{color:#2e3928}
.catalog-image-label{position:absolute;right:.45rem;bottom:.45rem;padding:.2rem .4rem;background:rgba(250,249,246,.9);font-size:.53rem;line-height:1.4;color:#655e52;letter-spacing:.01em;pointer-events:none}
.illustration-note{margin:.7rem 0 0;padding:.6rem .8rem;background:#f2eee5;color:#776956;font-size:.68rem;line-height:1.65}
@media(min-width:761px) and (max-width:1050px){
  .home-curated .editorial-heading{grid-template-columns:.7fr 1.3fr}
  .home-curated .editorial-heading>p:last-child{grid-column:2;max-width:450px}
  .home-curated .occasion-mosaic{gap:.8rem}
  .home-curated .occasion-copy h3{font-size:.95rem}
  .home-curated .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
  .catalog-card .product-card-body h3{font-size:1.04rem}
}
@media(max-width:760px){
  .home-curated .editorial-heading{display:block}
  .home-curated .occasion-mosaic{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(145px,44vw);gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-bottom:1rem;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b8aa92 transparent}
  .home-curated .occasion-story{scroll-snap-align:start}
  .home-curated .occasion-image{aspect-ratio:1.12}
  .home-curated .collection-emblem{width:32px;height:32px}
  .home-curated .collection-emblem svg{width:23px;height:23px}
  .home-curated .occasion-copy h3{font-size:1rem}
  .home-curated .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 1rem}
  .catalog-card .product-card-body h3{font-size:1.04rem;min-height:2.8em}
  .catalog-card .product-card-body .catalog-detail{font-size:.68rem;margin-bottom:.6rem}
  .catalog-card .catalog-category{font-size:.55rem}
  .catalog-price{gap:.25rem;margin:.6rem 0}
  .catalog-price strong{font-size:.94rem}
  .catalog-image-label{font-size:.46rem;right:.3rem;bottom:.3rem;padding:.16rem .25rem}
  .home-process-list{grid-template-columns:1fr;gap:0;margin-top:1.4rem}
  .home-process-list>li{padding:1.1rem 0}
  .home-process-list p{max-width:100%}
  .home-process-footnote{flex-wrap:wrap;margin-top:1rem;gap:.4rem 1rem}
  .home-curated .customer-notes .review-quote-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.7rem;scrollbar-width:thin;scrollbar-color:#b8aa92 transparent}
  .home-curated .review-quote{scroll-snap-align:start}
}
/* Small botanical and stationery accents, coloured like printed studio notes. */
.hero-studio-label{display:flex;align-items:center;gap:.9rem;margin-bottom:.4rem}
.hero-studio-label .eyebrow{margin:0;max-width:240px;line-height:1.65}
.studio-botanical{width:76px;height:57px;flex:0 0 76px;object-fit:contain}
.occasion-story{position:relative}
.collection-emblem{display:grid;place-items:center;position:absolute;top:.8rem;left:.8rem;width:46px;height:46px;background:#f9efdf;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#ae7161;box-shadow:0 2px 6px rgba(63,47,30,.05);pointer-events:none}
.collection-emblem svg{width:32px;height:32px}
.emblem-sage{background:#edf0e3;color:#718365}
.emblem-rose{background:#f4e4dc;color:#ae7161}
.emblem-gold{background:#f4ebd0;color:#97752f}
.occasion-copy h3{display:flex;align-items:baseline;gap:.7rem}
.occasion-copy h3::after{content:"";width:18px;height:3px;border-radius:2px;background:#c69280;flex-shrink:0}
.occasion-story-1 .occasion-copy h3::after,.occasion-story-3 .occasion-copy h3::after{background:#8da27d}
.occasion-story-4 .occasion-copy h3::after{background:#c3a255}
.newsletter{background:#eee8dc}
.newsletter-heading{display:flex;align-items:center;gap:1.3rem;min-width:0}
.studio-letter{width:98px;height:85px;flex:0 0 98px;object-fit:contain}
.newsletter-heading>div{min-width:0}
.newsletter-inner{gap:2rem}
@media(min-width:761px) and (max-width:1100px){
  .studio-letter{width:76px;height:66px;flex-basis:76px}
  .newsletter-inner{gap:1.5rem}
  .newsletter form{flex-basis:340px}
}
@media(max-width:760px){
  .hero-studio-label{gap:.6rem}
  .studio-botanical{width:62px;height:47px;flex-basis:62px}
  .hero-studio-label .eyebrow{max-width:210px;font-size:.63rem}
  .collection-emblem{width:38px;height:38px;top:.6rem;left:.6rem}
  .collection-emblem svg{width:27px;height:27px}
  .occasion-copy h3{gap:.4rem}
  .occasion-copy h3::after{width:10px}
  .newsletter-heading{gap:1rem;align-items:flex-start}
  .studio-letter{width:62px;height:54px;flex-basis:62px;margin-top:.25rem}
  .newsletter-heading h2{font-size:1.8rem}
}
/* Fixed-ratio crossfade keeps text and surrounding sections from shifting. */
.hero-carousel-frame{position:relative;aspect-ratio:1.18;overflow:hidden;background:#e5e1d7;touch-action:pan-y pinch-zoom}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-editorial .hero-carousel .hero-slide img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center}
.hero-editorial .hero-carousel .hero-slide:first-child img{object-position:70% center}
.hero-carousel-controls{position:absolute;bottom:1rem;left:1rem;right:1rem;z-index:2;display:flex;align-items:center;gap:.4rem;width:max-content;max-width:calc(100% - 2rem);padding:.3rem .4rem;background:rgba(250,249,246,.94);border:1px solid rgba(255,255,255,.6);border-radius:3px;color:#495344}
.hero-carousel-controls[hidden]{display:none}
.hero-carousel-controls button{display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:inherit;border-radius:2px;font-size:1rem}
.hero-carousel-controls button:hover{background:#e5e7de}
.hero-carousel-dots{display:flex;gap:0}
.hero-carousel-dots button{width:25px}
.hero-carousel-dots button span{width:5px;height:5px;border-radius:50%;background:#b5b7a9;transition:background .25s ease,transform .25s ease}
.hero-carousel-dots button[aria-current=true] span{background:#495344;transform:scale(1.4)}
.hero-carousel-count{padding:0 .5rem;font-size:.62rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-carousel-controls .hero-carousel-pause{border-left:1px solid #d8d9ce;border-radius:0;font-size:.7rem}
.hero-carousel figcaption{min-height:2.1em}
@media(min-width:761px) and (max-width:1050px){.hero-carousel-frame{aspect-ratio:.94}}
@media(max-width:760px){
  .hero-carousel-frame{aspect-ratio:1.35}
  .hero-carousel-controls{bottom:.65rem;left:.65rem;right:.65rem;max-width:calc(100% - 1.3rem);gap:.1rem;padding:.15rem .3rem}
  .hero-carousel-controls button{width:36px;height:38px}
  .hero-carousel-dots button{width:24px}
  .hero-carousel-count{padding:0 .35rem}
}
/* Motion follows the reader's scroll; layout and readable content stay stable. */
.site-header{transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{box-shadow:0 3px 18px rgba(52,46,40,.055)}
.page-scroll-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#89947a;transform:scaleX(0);transform-origin:left;pointer-events:none}
.studio-ribbon{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:#e4e7dc;border-bottom:1px solid #d7dccc;color:#59604e}
.studio-ribbon-window{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.studio-ribbon-track{display:flex;width:max-content}
.motion-ready .studio-ribbon-track{animation:studio-notes-drift 42s linear infinite}
.studio-ribbon-copy{display:flex;align-items:center;gap:clamp(2rem,4vw,4rem);padding-right:clamp(2rem,4vw,4rem);flex-shrink:0;white-space:nowrap}
.studio-ribbon-copy span{font-family:var(--font-heading);font-size:1.05rem;font-style:italic}
.studio-ribbon-copy i{font-style:normal;font-size:.75rem;color:#89947a}
.studio-ribbon-toggle{flex:0 0 32px;display:none;place-items:center;width:32px;height:32px;border:1px solid #bfc6b3;border-radius:50%;background:transparent;color:#59604e;font-size:.7rem;transition:background .2s ease}
.motion-ready .studio-ribbon-toggle{display:grid}
.studio-ribbon-toggle:hover{background:#d6dccb}
.studio-ribbon:is(:hover,:focus-within,.is-paused,.is-background) .studio-ribbon-track{animation-play-state:paused}
@keyframes studio-notes-drift{to{transform:translateX(-50%)}}
.occasion-image,.craft-method-image{overflow:hidden}
.occasion-image.has-scroll-drift img,.craft-method-image.has-scroll-drift img{transform:translateY(var(--image-drift,0px)) scale(1.055);transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.product-card,.review-quote{transition:translate .3s ease,box-shadow .3s ease}
.plain-link span,.text-link span,.button span{transition:transform .25s ease}
.plain-link:hover span,.text-link:hover span,.button:hover span{transform:translateX(4px)}
.main-nav a{position:relative;border-bottom-color:transparent!important}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#8b745c;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
  .product-card:hover{translate:0 -4px}
  .product-media img{transition:transform .7s cubic-bezier(.2,.65,.25,1)}
  .product-card:hover .product-media img{transform:scale(1.045)}
  .occasion-story:hover .occasion-image.has-scroll-drift img{transform:translateY(var(--image-drift,0px)) scale(1.085)}
  .review-quote:hover{translate:0 -3px;box-shadow:0 8px 24px rgba(52,46,40,.045)}
}
@media(max-width:760px){
  .studio-ribbon{padding:.6rem .8rem;gap:.5rem}
  .studio-ribbon-copy span{font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .motion-ready .studio-ribbon-toggle{display:none}
  .studio-ribbon-track{width:100%;transform:none}
  .studio-ribbon-copy{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem 1.5rem;padding:0;white-space:normal}
  .studio-ribbon-copy[aria-hidden=true]{display:none}
  .studio-ribbon-window{mask-image:none}
  .has-scroll-drift img,.product-card:hover .product-media img{transform:none!important}
  .product-card:hover,.review-quote:hover{translate:none}
}
