/* Static editorial stories; all selectors stay within the story surfaces. */
.stories-hub{padding-bottom:clamp(4rem,8vw,8rem)}
.stories-intro{max-width:900px;padding:clamp(2rem,5vw,5rem) 0 clamp(2.2rem,5vw,4.5rem)}
.stories-intro h1{margin:.3em 0 .25em;max-width:12ch}
.stories-intro h1 em{font-weight:400;color:#756e59}
.stories-intro p{max-width:64ch;color:var(--muted);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65}
.stories-intro .button{margin-top:1.6rem}
.story-feelings{border-block:1px solid var(--line);display:flex;align-items:center;gap:.5rem 1.25rem;flex-wrap:wrap;padding:1rem 0;margin-bottom:clamp(2rem,4vw,3.5rem)}
.story-feelings span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;margin-right:.5rem}
.story-feelings a{font-size:.82rem;padding:.4rem 0;border-bottom:1px solid transparent}
.story-feelings a:hover,.story-feelings a:focus-visible{border-color:var(--gold)}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(1.2rem,3vw,3rem)}
.story-card{min-width:0;scroll-margin-top:110px}
.story-card-image{display:block;aspect-ratio:3/2;overflow:hidden;background:#dcd8cf}
.story-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.story-card:hover .story-card-image img{transform:scale(1.025)}
.story-card-copy{padding:1.05rem 0 0}
.story-card-copy .eyebrow{color:var(--muted);font-size:.68rem}
.story-card h3{margin:.5rem 0 .65rem;font-size:clamp(1.9rem,2.6vw,2.7rem)}
.story-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.15em}
.story-card-copy p{max-width:58ch;color:var(--muted);font-size:.88rem;line-height:1.65}
.story-card .text-link{margin-top:1rem}
.story-grid>.story-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);align-items:center;gap:clamp(1.3rem,4vw,4rem)}
.story-grid>.story-card:first-child .story-card-image{order:2}
.story-grid>.story-card:first-child .story-card-copy{order:1;padding:1rem 0}
.story-grid>.story-card:first-child h3{font-size:clamp(2.4rem,4.5vw,4.8rem);max-width:12ch}
.story-hub-note{border-top:1px solid var(--line);max-width:78ch;margin-top:clamp(3rem,6vw,6rem);padding-top:1.25rem;color:var(--muted);font-size:.8rem}

.story-page{padding-bottom:clamp(4rem,8vw,8rem)}
.story-heading{max-width:850px;padding:clamp(1rem,3vw,2.6rem) 0 clamp(1.5rem,3vw,2.5rem)}
.story-heading h1{margin:.25em 0 .22em;max-width:13ch;font-size:clamp(3.2rem,6vw,6rem)}
.story-dek{max-width:62ch;font-size:clamp(1.05rem,1.3vw,1.25rem);color:var(--muted)}
.story-hero{margin:0}
.story-hero picture,.story-hero img{display:block;width:100%}
.story-hero img{height:auto;aspect-ratio:3/2;object-fit:cover;background:#dedad1}
.story-hero figcaption{padding:.7rem 0;color:var(--muted);font-size:.72rem}
.story-body-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:clamp(2rem,7vw,8rem);align-items:start;margin:clamp(2.5rem,6vw,6rem) auto;max-width:1150px}
.story-narrative{max-width:69ch}
.story-narrative p{font-size:clamp(1.05rem,1.2vw,1.16rem);line-height:1.85;color:var(--ink)}
.story-narrative p+p{margin-top:1.45em}
.story-number{border-top:2px solid var(--gold);background:#eeece4;padding:1.4rem 1.5rem 1.7rem}
.story-number-figure{font-family:var(--serif);font-size:clamp(4.5rem,7vw,7rem);line-height:1;color:var(--gold);margin:.25rem 0 -.1rem}
.story-number h2{font-size:2rem;margin:0 0 .8rem}
.story-number p{font-size:.83rem;color:var(--muted);line-height:1.7}
.story-number a{display:inline-block;margin-top:1rem;font-size:.78rem;text-decoration:underline;text-underline-offset:.25em}
.story-practice{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);border-block:1px solid var(--line);padding:clamp(2.5rem,5vw,5rem) 0}
.story-practice h2,.story-stones h2,.story-related h2{margin:.25em 0 .35em;font-size:clamp(2.25rem,3.6vw,3.8rem)}
.story-practice p{max-width:45ch;color:var(--muted);font-size:.88rem}
.story-practice ol{counter-reset:story-step;list-style:none;padding:0;margin:0}
.story-practice li{counter-increment:story-step;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.94rem;line-height:1.6}
.story-practice li:first-child{padding-top:0}
.story-practice li:last-child{border-bottom:0}
.story-practice li::before{content:'0' counter(story-step);font-family:var(--serif);font-size:1.7rem;line-height:1;color:var(--gold)}
.story-stones{padding:clamp(3rem,6vw,6rem) 0}
.story-stones ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem);padding:0;margin:1.6rem 0 1rem;list-style:none}
.story-stones li{border-top:1px solid var(--line);padding-top:1.1rem}
.story-stones li>a{font-family:var(--serif);font-size:clamp(1.6rem,2.1vw,2.3rem);line-height:1.2}
.story-stones li>a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.15em}
.story-stones li>a span{font-family:var(--sans);font-size:.68em}
.story-stones li p{color:var(--muted);font-size:.82rem;line-height:1.65;margin-top:.65rem}
.story-stones>p{max-width:74ch;color:var(--muted);font-size:.75rem}
.story-collection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;background:var(--plum);color:var(--paper);padding:clamp(1.7rem,4vw,3.5rem)}
.story-collection h2{margin:.25em 0;font-size:clamp(2.4rem,4vw,4rem)}
.story-collection p{max-width:70ch;font-size:.88rem;color:#e1ded5}
.story-collection-note{margin-top:1rem;font-size:.7rem!important;color:#cdcbbf!important}
.story-collection-action{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.story-collection .button{background:var(--paper);border-color:var(--paper);color:var(--ink);white-space:nowrap}
.story-collection .button:hover{background:#e8e5dc}
.story-other-collections{font-size:.72rem!important}
.story-other-collections a{text-decoration:underline;text-underline-offset:.2em}
.story-related{padding-top:clamp(3rem,6vw,6rem)}
.story-related-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}
.story-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem)}
.story-card--compact h3{font-size:clamp(1.7rem,2.2vw,2.3rem)}
.story-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.home-story-teaser{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem);border-block:1px solid var(--line)}
.home-story-teaser h2{margin:.25em 0;font-size:clamp(2.4rem,4vw,4.2rem)}
.home-story-teaser p{color:var(--muted);font-size:.9rem;max-width:50ch}
.home-story-teaser .button{margin-top:1.3rem}
.home-story-teaser .text-link{margin:1.3rem 0 0 1rem}
.home-story-teaser-image{display:block;aspect-ratio:3/2;overflow:hidden}
.home-story-teaser-image img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){.story-body-layout{grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:2rem}.story-collection{grid-template-columns:1fr}.story-collection-action{align-items:flex-start}}
@media(max-width:700px){.story-grid{grid-template-columns:1fr}.story-grid>.story-card:first-child{grid-column:auto;display:block}.story-grid>.story-card:first-child .story-card-image{order:initial}.story-grid>.story-card:first-child h3{font-size:clamp(2rem,8vw,2.7rem)}.story-feelings{gap:.3rem .8rem}.story-feelings span{flex-basis:100%}.story-heading h1{font-size:clamp(3rem,11vw,4.8rem)}.story-body-layout,.story-practice,.story-stones ul,.story-related-grid,.home-story-teaser{grid-template-columns:1fr}.story-body-layout{margin-block:2.5rem}.story-number{max-width:none}.story-practice{gap:1.4rem}.story-stones ul{gap:1.3rem}.story-stones li{padding-top:.8rem}.story-related-head{align-items:start;flex-direction:column}.story-collection .button{white-space:normal}.home-story-teaser .text-link{margin-left:0;display:flex;width:max-content}}
@media(prefers-reduced-motion:reduce){.story-card-image img{transition:none!important}.story-card:hover .story-card-image img{transform:none!important}}

/* Put the editorial photography beside the invitation on large screens. */
.stories-intro{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.stories-intro h1{font-size:clamp(3rem,5vw,5.2rem);max-width:16ch}
.stories-intro-image,.stories-intro-image picture,.stories-intro-image img{display:block;width:100%}
.stories-intro-image img{height:auto;aspect-ratio:3/2;object-fit:cover}
.story-narrative a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.18em}
@media(max-width:760px){.stories-intro{grid-template-columns:1fr;gap:2rem}.stories-intro h1{font-size:clamp(2.7rem,10vw,4rem)}}

/* Shopping markers stay anchored to the uncropped story image at every size. */
.story-shop-image{position:relative;min-width:0}
.story-image-stage{position:relative;isolation:isolate;aspect-ratio:3/2;width:100%}
.story-image-stage>img,.story-image-read,.story-image-read img{display:block;width:100%;height:100%;object-fit:contain}
.story-card:hover .story-shop-image img{transform:none}
.story-image-read:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.story-product-dot .dot-core{width:18px;height:18px;background:#fff;color:#30352d;box-shadow:0 0 0 2px #ffffff70}
.story-product-dot .dot-core::before,.story-product-dot:hover .dot-core::before{content:'+';width:auto;height:auto;border-radius:0;background:none;color:#30352d;font-size:14px;line-height:1;box-shadow:none}
.story-shopping-hint{display:block;margin-bottom:.35rem;font-weight:600;color:var(--ink)}
.popover-story-note{padding:.65rem .8rem;background:#efede6;border-left:2px solid var(--gold);line-height:1.5}

.story-byline{font-size:.85rem;color:var(--muted);margin-top:1.25rem}.story-byline a{text-decoration:underline;text-underline-offset:.18em}
