/* Eight customer-photo story layouts. All rules stay within the shared host. */
.occasi-story .story-layout[class*="storya-"]{--sa-ink:var(--story-ink,#263b36);--sa-paper:var(--story-paper,#faf7ef);--sa-accent:var(--story-accent,#a46e57);--sa-line:color-mix(in srgb,var(--sa-ink) 22%,transparent);--sa-serif:var(--serif,'Cormorant Garamond',Georgia,serif);--sa-sans:var(--sans,'DM Sans',Arial,sans-serif);box-sizing:border-box;min-width:0;max-width:100%;color:var(--sa-ink);font:400 16px/1.65 var(--sa-sans);overflow-wrap:anywhere}
.occasi-story .story-layout[class*="storya-"] *{box-sizing:border-box;min-width:0}
.occasi-story .story-layout[class*="storya-"] [hidden]{display:none!important}
.occasi-story .storya-heading{margin:0 0 2rem;text-align:center}
.occasi-story .storya-heading h2,.occasi-story .storya-masthead h2{color:inherit;font:500 clamp(32px,5vw,56px)/1.08 var(--sa-serif);letter-spacing:-.035em;margin:.4rem 0 0;overflow-wrap:anywhere}
.occasi-story .storya-kicker{color:inherit;font:500 16px/1.4 var(--sa-sans);letter-spacing:.09em;margin:0 0 .55rem}
.occasi-story .storya-copy h3,.occasi-story .storya-news-article h3{font:500 clamp(28px,3.4vw,38px)/1.1 var(--sa-serif);letter-spacing:-.02em;color:inherit;margin:.45rem 0 1rem}
.occasi-story .storya-copy p,.occasi-story .storya-news-article>p{font-size:16px;line-height:1.7;color:inherit;margin:0 0 1rem}
.occasi-story .storya-copy>:last-child{margin-bottom:0}
.occasi-story .storya-text{white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty}
.occasi-story .storya-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;font:500 16px/1.5 var(--sa-sans);margin:0 0 .6rem}
.occasi-story .storya-date,.occasi-story .storya-location{font:inherit;color:inherit}
.occasi-story .storya-meta-dot{opacity:.5}
.occasi-story .storya-copy .storya-speaker{font:italic 500 21px/1.4 var(--sa-serif);margin-top:1.1rem}
.occasi-story .storya-photo{position:relative;display:block;margin:0;isolation:isolate}
.occasi-story .storya-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-width:100%;border:0}
.occasi-story .storya-star{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.1}
.occasi-story .storya-controls{display:flex;justify-content:center;align-items:center;gap:clamp(.4rem,2vw,1.5rem);margin:1.6rem 0 0;padding:.7rem 0 .2rem;border-top:1px solid var(--sa-line)}
.occasi-story .storya-controls button{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:46px;padding:.5rem .65rem;color:inherit;background:transparent;border:1px solid var(--sa-line);border-radius:0;font:500 16px/1.3 var(--sa-sans);cursor:pointer;touch-action:manipulation}
.occasi-story .storya-controls button:hover:not(:disabled){background:color-mix(in srgb,var(--sa-ink) 7%,transparent)}
.occasi-story .storya-controls button:disabled{opacity:.4;cursor:default}
.occasi-story .storya-controls button:focus-visible,.occasi-story .storya-letter summary:focus-visible{outline:2px solid var(--sa-accent);outline-offset:4px}
.occasi-story .storya-counter{font:500 16px/1.4 var(--sa-sans);white-space:nowrap;min-width:3.5rem;text-align:center;font-variant-numeric:tabular-nums}

/* Milestones: numbered metal pins on a continuous stitched chronology. */
.occasi-story .storya-timeline{list-style:none;margin:0;padding:0 0 0 2.9rem;position:relative}
.occasi-story .storya-timeline:before{content:"";position:absolute;left:1rem;top:1.1rem;bottom:1.8rem;border-left:1px solid var(--sa-line)}
.occasi-story .storya-milestone{position:relative;padding:0 0 2.4rem}
.occasi-story .storya-milestone:last-child{padding-bottom:0}
.occasi-story .storya-mile-marker{position:absolute;left:-2.9rem;top:0;width:2.1rem;height:2.1rem;display:grid;place-items:center;border:1px solid var(--sa-accent);border-radius:50%;background:var(--sa-paper);font:500 16px/1 var(--sa-sans);box-shadow:0 0 0 5px var(--sa-paper)}
.occasi-story .storya-mile-card{border-bottom:1px solid var(--sa-line);padding:0 0 1.8rem;display:grid;gap:1.25rem}
.occasi-story .storya-milestone:last-child .storya-mile-card{border-bottom:0}
.occasi-story .storya-mile-card .storya-photo{border:1px solid var(--sa-line);padding:5px;background:var(--sa-paper)}
.occasi-story .storya-mile-card .storya-date{color:var(--sa-accent)}

/* Storybook: a cloth binding, inset paper block, chapter heading and folded edge. */
.occasi-story .storya-storybook{padding:1.5rem .7rem 1rem;background:linear-gradient(90deg,#0000001a,transparent 18px),var(--sa-ink);border:1px solid color-mix(in srgb,var(--sa-ink) 70%,black);border-radius:3px 9px 9px 3px;box-shadow:0 10px 24px #00000012,inset 0 0 0 4px #ffffff18}
.occasi-story .storya-storybook>.storya-heading{color:var(--sa-paper);padding:0 .5rem;margin-bottom:1.5rem;text-shadow:0 1px 1px #00000020}
.occasi-story .storya-book-leaf{position:relative;background:var(--sa-paper);padding:1.6rem 1.2rem 1.2rem 1.5rem;border-radius:1px 4px 4px 1px;box-shadow:2px 2px 0 #e0d6c6,4px 4px 0 #f1e9dc,6px 6px 0 #d2c8b6;isolation:isolate}
.occasi-story .storya-book-leaf:after{content:"";position:absolute;right:0;top:0;width:25px;height:25px;background:linear-gradient(225deg,var(--sa-accent) 49%,#b6aa9335 51%,transparent 75%);pointer-events:none}
.occasi-story .storya-book-gutter{position:absolute;top:0;bottom:0;left:0;width:14px;background:linear-gradient(90deg,#00000013,transparent);border-left:1px solid #0000000a;pointer-events:none}
.occasi-story .storya-chapter-number{font:500 16px/1.4 var(--sa-sans);letter-spacing:.1em;color:var(--sa-accent);padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--sa-line);display:flex;align-items:center;gap:1rem}
.occasi-story .storya-chapter-number b{font:400 44px/1 var(--sa-serif);letter-spacing:-.04em}
.occasi-story .storya-chapter{display:grid;gap:1.4rem}
.occasi-story .storya-chapter .storya-copy h3{font-size:32px}
.occasi-story .storya-book-picture{padding:7px;border:1px solid var(--sa-line)}
.occasi-story .storya-book-picture img{aspect-ratio:4/5}
.occasi-story .storya-book-folio{display:flex;align-items:center;justify-content:center;gap:1.5rem;border-top:1px solid var(--sa-line);padding-top:1.2rem;margin-top:1.8rem;font:500 16px/1 var(--sa-serif)}
.occasi-story .storya-storybook>.storya-controls{color:var(--sa-paper);border-color:#ffffff44;margin-left:.5rem;margin-right:.5rem}
.occasi-story .storya-storybook>.storya-controls button{border-color:#ffffff66}
.occasi-story .storya-book-leaf:not([hidden]) .storya-chapter-number{animation:storya-ink-arrive .6s ease both}
.occasi-story .storya-book-leaf:not([hidden]){transform-origin:left center;animation:storya-turn-page .6s cubic-bezier(.2,.65,.3,1) both}

/* Polaroids: separate prints, translucent tape, handwritten-sized captions. */
.occasi-story .storya-print-wall{display:grid;gap:2.5rem;padding:1rem .65rem .75rem;align-items:start}
.occasi-story .storya-print{position:relative;padding:.65rem;background:#fffef9;color:#26352f;box-shadow:0 1px 2px #00000022,0 12px 25px #00000012;outline:1px solid #00000008}
.occasi-story .storya-print-tape{position:absolute;z-index:2;top:-.7rem;left:calc(50% - 2.3rem);width:4.6rem;height:1.7rem;transform:rotate(-4deg);background:linear-gradient(100deg,#d9cdaaaa,#e8ddbbcc 45%,#d0c09699);clip-path:polygon(2% 0,100% 4%,97% 94%,0 100%);box-shadow:0 1px 1px #0000000d}
.occasi-story .storya-print:nth-child(3n+2) .storya-print-tape{transform:rotate(5deg);background:#b5beb599}
.occasi-story .storya-print .storya-photo img{aspect-ratio:1;filter:saturate(.92)}
.occasi-story .storya-print-caption{padding:1.1rem .5rem .65rem}
.occasi-story .storya-print-caption h3{font-style:italic;font-size:32px}
.occasi-story .storya-print-number{aspect-ratio:1.6;background:linear-gradient(135deg,#efebe2,#faf7ef);display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--sa-accent);border:1px solid #d8d2c5}
.occasi-story .storya-print-number>span{font:italic 500 80px/1 var(--sa-serif)}
.occasi-story .storya-print-number .storya-star{width:34px;height:34px;opacity:.6}

/* Film: perforated stock surrounds the customer's frame; copy sits on its caption card. */
.occasi-story .storya-film{background:#202321;color:#f8f4e7;padding:1.5rem .65rem 1rem;border:1px solid #414641;box-shadow:0 14px 30px #00000012}
.occasi-story .storya-film>.storya-heading{color:#f8f4e7;padding:0 .4rem}
.occasi-story .storya-reel{position:relative;width:60px;height:60px;margin:0 auto 1.3rem;border-radius:50%;border:2px solid #d4c9a7;background:radial-gradient(circle at 50% 23%,#202321 0 6px,transparent 7px),radial-gradient(circle at 76% 43%,#202321 0 6px,transparent 7px),radial-gradient(circle at 67% 74%,#202321 0 6px,transparent 7px),radial-gradient(circle at 33% 74%,#202321 0 6px,transparent 7px),radial-gradient(circle at 24% 43%,#202321 0 6px,transparent 7px),conic-gradient(from 20deg,#9e977e,#e9dfbf,#999482,#d3c6a7,#9e977e);box-shadow:inset 0 0 0 3px #635f50,0 3px 6px #00000044}
.occasi-story .storya-reel i{position:absolute;inset:24px;border-radius:50%;background:#202321;box-shadow:0 0 0 2px #ece1bd}
.occasi-story .storya-film-stock{background:#0f1211;border:1px solid #42473e;padding:.5rem .75rem}
.occasi-story .storya-film-edge{position:relative;display:flex;justify-content:space-between;gap:1rem;min-height:3rem;color:#dcc590;align-items:center;font:500 16px/1.3 var(--sa-sans);letter-spacing:.04em;padding:.75rem .4rem 1.1rem}
.occasi-story .storya-film-edge:after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:7px;background:repeating-linear-gradient(90deg,#d8d7c9 0 10px,transparent 10px 23px);opacity:.65}
.occasi-story .storya-film-edge:last-child{padding:.95rem .4rem .65rem}
.occasi-story .storya-film-edge:last-child:after{top:.1rem;bottom:auto}
.occasi-story .storya-film .storya-photo img{aspect-ratio:16/10;border:1px solid #dcd7c322}
.occasi-story .storya-empty-frame{position:relative;aspect-ratio:16/10;display:grid;place-items:center;background:radial-gradient(circle,#5f6b5c 0,#30392f 54%,#1d241e 100%);isolation:isolate;color:#ede3c6}
.occasi-story .storya-empty-frame:before,.occasi-story .storya-empty-frame:after{content:"";position:absolute;inset:12%;border:1px solid #ffffff33;border-radius:50%}
.occasi-story .storya-empty-frame:after{inset:17%}
.occasi-story .storya-empty-frame>span{font:500 clamp(60px,12vw,120px)/1 var(--sa-serif);z-index:1}
.occasi-story .storya-empty-frame i,.occasi-story .storya-empty-frame b{position:absolute;left:50%;height:100%;border-left:1px solid #ffffff15}
.occasi-story .storya-empty-frame b{left:0;top:50%;height:0;width:100%;border-top:1px solid #ffffff15}
.occasi-story .storya-film-caption{padding:1.25rem .8rem;background:var(--sa-paper);color:var(--sa-ink);border-top:4px double #a49779}
.occasi-story .storya-scene-label{display:block;font:600 16px/1.4 var(--sa-sans);letter-spacing:.07em;margin-bottom:1rem;color:var(--sa-accent)}
.occasi-story .storya-film>.storya-controls{border-color:#ffffff33;color:#f8f4e7}
.occasi-story .storya-film>.storya-controls button{border-color:#ffffff55}
.occasi-story .storya-film-frame:not([hidden]) .storya-scene-label{animation:storya-projector .4s ease both}

/* Places: an illustrated route of the supplied places, deliberately without a map. */
.occasi-story .storya-places{background:radial-gradient(circle,var(--sa-line) .6px,transparent .9px) 0 0/13px 13px;padding:1.5rem .7rem 1rem;border:1px solid var(--sa-line)}
.occasi-story .storya-places>.storya-heading{background:var(--sa-paper);padding:.5rem .5rem 1rem}
.occasi-story .storya-route{list-style:none;position:relative;padding:0 0 0 2.8rem;margin:0}
.occasi-story .storya-route:before{content:"";position:absolute;top:1.6rem;bottom:1.5rem;left:1rem;border-left:2px dashed var(--sa-accent);opacity:.65}
.occasi-story .storya-stop{position:relative;padding-bottom:2rem}
.occasi-story .storya-stop:last-child{padding-bottom:0}
.occasi-story .storya-route-marker{position:absolute;left:-2.8rem;top:.5rem;width:2.1rem;color:var(--sa-accent);display:grid;justify-items:center;gap:.45rem;background:var(--sa-paper);padding-bottom:.25rem}
.occasi-story .storya-pin{display:block;width:28px;height:35px;fill:var(--sa-paper);stroke:var(--sa-accent);stroke-width:1.6}
.occasi-story .storya-pin circle{fill:var(--sa-accent);stroke:none}
.occasi-story .storya-route-marker b{font:500 16px/1 var(--sa-sans)}
.occasi-story .storya-route-card{background:var(--sa-paper);border:1px solid var(--sa-line);padding:.9rem;box-shadow:3px 4px 0 color-mix(in srgb,var(--sa-accent) 12%,transparent)}
.occasi-story .storya-route-label{border-bottom:1px dashed var(--sa-line);padding-bottom:.8rem;margin-bottom:1rem;display:grid;gap:.3rem}
.occasi-story .storya-route-label>span{font:500 16px/1.4 var(--sa-sans);letter-spacing:.08em;color:var(--sa-accent)}
.occasi-story .storya-route-label>strong{font:500 24px/1.25 var(--sa-serif)}
.occasi-story .storya-route-card>.storya-photo{margin:0 0 1.1rem}
.occasi-story .storya-route-card .storya-photo img{aspect-ratio:3/2}
.occasi-story .storya-route-end{display:block;text-align:center;font-size:30px;color:var(--sa-accent);margin-top:1rem}

/* Love letters: personal correspondence on folded cotton stationery. */
@font-face{font-family:'Occasi Letter Hand';src:url('../assets/fonts/caveat-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
.occasi-story .storya-letters{--letter-sheet:#fffdf7;--letter-ink:#3e4540;--letter-seal:color-mix(in srgb,var(--sa-accent) 80%,#572329);}
.occasi-story .storya-correspondence{display:grid;gap:42px;max-width:730px;margin:0 auto;padding:8px 12px 24px;}
.occasi-story .storya-letter{position:relative;background:var(--letter-sheet);color:var(--letter-ink);border:1px solid #c9bda370;box-shadow:0 3px 4px #3d30260a,0 14px 28px -16px #3926194a;isolation:isolate;}
.occasi-story .storya-letter::before{content:'';position:absolute;inset:6px -5px -5px 5px;border:1px solid #c9bda342;background:#f4eee3;z-index:-1;transform:rotate(.6deg);}
.occasi-story .storya-letter summary{position:relative;display:grid;grid-template-columns:1fr;gap:26px;list-style:none;cursor:pointer;padding:28px 38px 23px;background:linear-gradient(180deg,#fffdf600,#fffdf655),url('../assets/tactile-openings/cotton-paper.webp') center/480px;transition:padding .5s;}
.occasi-story .storya-letter summary::-webkit-details-marker{display:none;}
.occasi-story .storya-letter-cover-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font:500 12px/1.6 var(--sa-sans);letter-spacing:.1em;color:#737366;}
.occasi-story .storya-letter-cover-meta .storya-date{letter-spacing:0;font-size:13px;}
.occasi-story .storya-letter-address{display:grid;gap:10px;max-width:100%;padding:10px 0;}
.occasi-story .storya-letter-from{font:500 24px/1.25 'Occasi Letter Hand',cursive;}
.occasi-story .storya-letter-address strong{font:500 clamp(34px,5.2cqi,48px)/1.1 'Occasi Letter Hand',cursive;color:var(--letter-ink);overflow-wrap:anywhere;}
.occasi-story .storya-letter-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;border-top:1px solid #a695791f;padding-top:16px;font:500 13px/1.5 var(--sa-sans);}
.occasi-story .storya-letter-seal{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--letter-seal);outline:1px solid color-mix(in srgb,var(--letter-seal) 42%,transparent);outline-offset:-5px;border-radius:50%;color:var(--letter-sheet);background:var(--letter-seal);font:500 26px/1 'Occasi Letter Hand',cursive;box-shadow:inset 1px 1px 3px #ffffff46,1px 2px 3px #4631242e;}
.occasi-story .storya-letter .storya-close-word{display:none;}
.occasi-story .storya-letter[open] .storya-close-word{display:inline;}
.occasi-story .storya-letter[open] .storya-open-word{display:none;}
.occasi-story .storya-letter[open] summary{padding-bottom:18px;gap:16px;}
.occasi-story .storya-letter[open] .storya-letter-address{padding:0;}
.occasi-story .storya-letter[open] .storya-letter-seal{background:transparent;color:var(--letter-seal);box-shadow:none;}
.occasi-story .storya-letter-sheet{position:relative;padding:36px 48px 52px;border-top:1px solid #b09e7c33;background:linear-gradient(180deg,#8f785220 0,transparent 22px),linear-gradient(180deg,transparent 33%,#b2a18a14 33.1%,#fffcf975 33.4%,transparent 34%,transparent 66%,#b2a18a14 66.1%,transparent 67%),url('../assets/tactile-openings/cotton-paper.webp') center/480px,var(--letter-sheet);transform-origin:50% 0;}
.occasi-story .storya-letter-dateline{display:grid;justify-items:end;gap:3px;margin:0 0 26px;font:500 21px/1.4 'Occasi Letter Hand',cursive;}
.occasi-story .storya-letter-sheet .storya-copy{color:var(--letter-ink);}
.occasi-story .storya-letter-sheet .storya-copy .storya-letter-greeting{font:500 32px/1.3 'Occasi Letter Hand',cursive;margin:0 0 15px;}
.occasi-story .storya-letter-sheet .storya-copy .storya-text{font:500 27px/1.65 'Occasi Letter Hand',cursive;margin:0;color:var(--letter-ink);background:repeating-linear-gradient(180deg,transparent 0,transparent calc(1.65em - 1px),#8c9a9720 calc(1.65em - 1px),#8c9a9720 1.65em);padding:0 0 .15em;text-wrap:pretty;}
.occasi-story .storya-letter-sheet .storya-copy .storya-signature{font:500 35px/1.3 'Occasi Letter Hand',cursive;margin:26px 0 0;}
.occasi-story .storya-letter-sheet .storya-signature>span{display:block;font-size:24px;margin-bottom:1px;}
.occasi-story .storya-letter-enclosure{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:28px;padding:12px 0 4px;}
.occasi-story .storya-letter-photo{width:46%;max-width:220px;flex-shrink:0;padding:7px 7px 19px;background:#fffefa;border:1px solid #00000012;box-shadow:2px 5px 10px #00000020;transform:rotate(-4deg);}
.occasi-story .storya-letter-photo img{aspect-ratio:4/3;}
.occasi-story .storya-letter-enclosure>p{max-width:140px;font:500 23px/1.2 'Occasi Letter Hand',cursive;transform:rotate(-4deg);}
.occasi-story .storya-letter-folio{display:block;margin-top:34px;text-align:center;font:500 12px/1.4 var(--sa-sans);letter-spacing:.12em;color:#777364;}
@container(max-width:600px){
 .occasi-story .storya-correspondence{padding:5px 6px 17px;gap:30px;}
 .occasi-story .storya-letter summary{padding:21px 23px 18px;gap:20px;}
 .occasi-story .storya-letter-address strong{font-size:37px;}
 .occasi-story .storya-letter-from{font-size:23px;}
 .occasi-story .storya-letter-sheet{padding:26px 23px 30px;}
 .occasi-story .storya-letter-sheet .storya-copy .storya-text{font-size:25px;line-height:1.65;}
 .occasi-story .storya-letter-sheet .storya-copy .storya-letter-greeting{font-size:29px;}
 .occasi-story .storya-letter-dateline{font-size:20px;margin-bottom:23px;}
 .occasi-story .storya-letter-enclosure{gap:16px;margin-top:22px;}
 .occasi-story .storya-letter-photo{width:54%;padding:5px 5px 14px;}
 .occasi-story .storya-letter-enclosure>p{font-size:21px;}
}
@media(prefers-reduced-motion:no-preference){.occasi-story .storya-letter[open] .storya-letter-sheet{animation:storya-letter-unfold .8s cubic-bezier(.2,.65,.25,1) both;}}
@keyframes storya-letter-unfold{from{opacity:.15;transform:perspective(1400px) rotateX(-12deg);filter:brightness(.91);}to{opacity:1;transform:perspective(1400px) rotateX(0);filter:brightness(1);}}
@media print{.occasi-story .storya-letter{break-inside:avoid;}.occasi-story .storya-letter-sheet{display:block!important;}.occasi-story .storya-letter-toggle{display:none;}}

/* Newspaper: broad lead story and balanced, ruled columns in normal reading order. */
.occasi-story .storya-newspaper{background:var(--sa-paper);border:1px solid var(--sa-line);padding:1.2rem;box-shadow:0 7px 16px #00000008}
.occasi-story .storya-masthead{text-align:center;border-top:4px double var(--sa-ink);border-bottom:4px double var(--sa-ink);padding:.7rem 0 1rem;margin-bottom:1.7rem}
.occasi-story .storya-news-rule{display:flex;justify-content:space-between;gap:.5rem;font:500 16px/1.5 var(--sa-sans);border-bottom:1px solid var(--sa-line);padding-bottom:.7rem;margin-bottom:.8rem}
.occasi-story .storya-masthead h2{font-size:clamp(38px,7vw,76px);margin:.5rem 0 .7rem;font-weight:600}
.occasi-story .storya-news-subtitle{font:italic 400 18px/1.4 var(--sa-serif);margin:0}
.occasi-story .storya-news-columns{display:grid;gap:1.8rem}
.occasi-story .storya-news-article{border-bottom:1px solid var(--sa-line);padding-bottom:1.7rem}
.occasi-story .storya-news-article h3{font-size:32px;margin:.65rem 0 1rem}
.occasi-story .storya-news-index{font:600 16px/1 var(--sa-sans);float:right;margin:.3rem 0 .4rem .8rem;color:var(--sa-accent)}
.occasi-story .storya-news-article>.storya-photo{margin:.9rem 0 1.2rem}
.occasi-story .storya-news-article .storya-photo img{aspect-ratio:3/2;filter:saturate(.65)}
.occasi-story .storya-news-article>.storya-text{font-family:var(--sa-serif);font-size:19px;line-height:1.6}
.occasi-story .storya-news-lead>.storya-text:first-letter{float:left;font:600 4rem/.82 var(--sa-serif);padding:.13rem .35rem 0 0}
.occasi-story .storya-news-article>.storya-news-byline{font:600 16px/1.5 var(--sa-sans);border-top:1px solid var(--sa-line);padding-top:.7rem;display:inline-block;margin-bottom:0}
.occasi-story .storya-news-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 0;font:500 16px/1.5 var(--sa-serif)}

/* Album: paired linen-backed leaves, mounted photographs and a narrow binding gutter. */
.occasi-story .storya-album{background:linear-gradient(90deg,#00000009,transparent 20%),repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 3px),var(--sa-ink);border:1px solid color-mix(in srgb,var(--sa-ink) 80%,black);padding:1.5rem .65rem 1rem;border-radius:5px;box-shadow:0 10px 24px #00000014}
.occasi-story .storya-album>.storya-heading{color:var(--sa-paper);padding:0 .5rem}
.occasi-story .storya-album-spread{display:grid;grid-template-columns:1fr;gap:2px;background:#746d5c;box-shadow:2px 2px 0 #e0d8c7,4px 4px 0 #c2b9a5}
.occasi-story .storya-album-page{position:relative;background:var(--sa-paper);padding:1.2rem 1.05rem 2.8rem;display:flex;flex-direction:column;align-items:stretch}
.occasi-story .storya-album-page:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(0deg,#0000000a,transparent);pointer-events:none}
.occasi-story .storya-mounted-photo{padding:10px;margin:0 0 1.25rem;background:#e8e1d1;box-shadow:0 2px 4px #00000018}
.occasi-story .storya-mounted-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5c655c 0 15px,transparent 16px) top left/30px 30px no-repeat,linear-gradient(225deg,#5c655c 0 15px,transparent 16px) top right/30px 30px no-repeat,linear-gradient(45deg,#5c655c 0 15px,transparent 16px) bottom left/30px 30px no-repeat,linear-gradient(315deg,#5c655c 0 15px,transparent 16px) bottom right/30px 30px no-repeat;z-index:1;pointer-events:none}
.occasi-story .storya-mounted-photo img{aspect-ratio:4/3}
.occasi-story .storya-album-page .storya-copy h3{font-size:30px}
.occasi-story .storya-album-folio{position:absolute;bottom:1.1rem;left:0;right:0;text-align:center;font:500 16px/1 var(--sa-serif);color:var(--sa-accent)}
.occasi-story .storya-album-emboss{display:grid;place-items:center;min-height:90px;color:var(--sa-accent);opacity:.65;margin-bottom:1.2rem;border-bottom:1px solid var(--sa-line)}
.occasi-story .storya-album-blank{display:none}
.occasi-story .storya-album>.storya-controls{color:var(--sa-paper);border-color:#ffffff44}
.occasi-story .storya-album>.storya-controls button{border-color:#ffffff66}
.occasi-story .storya-album-spread:not([hidden]) .storya-mounted-photo{animation:storya-ink-arrive .5s ease both}

/* Enhancement is opt-in; absent JavaScript every scroll story remains visible. */
.story-scenes-motion .occasi-story .story-layout[class*="storya-"] .story-reveal:not(.is-visible),.occasi-story.story-scenes-motion .story-layout[class*="storya-"] .story-reveal:not(.is-visible){opacity:0;transform:translateY(14px)}
.occasi-story .story-layout[class*="storya-"] .story-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.6,.3,1)}
@keyframes storya-ink-arrive{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes storya-turn-page{from{transform:perspective(1600px) rotateY(7deg)}to{transform:none}}
@keyframes storya-projector{0%{opacity:.3}30%{opacity:1}45%{opacity:.65}100%{opacity:1}}
@media(min-width:650px){
 .occasi-story .storya-mile-card.storya-with-photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}
 .occasi-story .storya-milestone:nth-child(even) .storya-mile-card.storya-with-photo .storya-photo{order:2}
 .occasi-story .storya-timeline{padding-left:3.5rem}
 .occasi-story .storya-mile-marker{left:-3.5rem}
 .occasi-story .storya-print-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.8rem;padding:1.5rem 1.2rem}
 .occasi-story .storya-print:nth-child(even){margin-top:2.7rem}
 .occasi-story .storya-print:nth-child(3n+1){rotate:-1.2deg}
 .occasi-story .storya-print:nth-child(3n+2){rotate:1.1deg}
 .occasi-story .storya-storybook{padding:2rem 1.4rem 1rem}
 .occasi-story .storya-book-leaf{padding:2.2rem 2rem 1.4rem 2.5rem}
 .occasi-story .storya-chapter.storya-with-photo{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:2rem}
 .occasi-story .storya-chapter .storya-copy h3{font-size:38px}
 .occasi-story .storya-book-gutter{width:22px}
 .occasi-story .storya-film{padding:2rem 1.5rem 1.2rem}
 .occasi-story .storya-film-caption{padding:1.8rem 2rem}
 .occasi-story .storya-film-caption .storya-copy{max-width:52rem}
 .occasi-story .storya-places{padding:2rem 1.2rem 1.2rem}
 .occasi-story .storya-route{padding-left:calc(50% + 2rem)}
 .occasi-story .storya-route:before{left:calc(50% - 1px)}
 .occasi-story .storya-route-marker{left:-3.05rem}
 .occasi-story .storya-stop:nth-child(even){left:calc(-100% - 4rem)}
 .occasi-story .storya-stop:nth-child(even) .storya-route-marker{left:auto;right:-3.05rem}
 .occasi-story .storya-route-card{padding:1.2rem}
 .occasi-story .storya-newspaper{padding:1.6rem 2rem}
 .occasi-story .storya-news-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
 .occasi-story .storya-news-lead{grid-column:1/-1}
 .occasi-story .storya-news-lead h3{font-size:44px;max-width:22ch}
 .occasi-story .storya-news-lead .storya-photo img{aspect-ratio:2/1}
 .occasi-story .storya-news-article:not(.storya-news-lead):nth-child(2n){padding-right:2rem;border-right:1px solid var(--sa-line);margin-right:-1rem}
 .occasi-story .storya-album{padding:2rem 1.1rem 1rem}
 .occasi-story .storya-album-spread{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .occasi-story .storya-album-page{padding:1.5rem 1.5rem 3rem;background:linear-gradient(270deg,#00000009,transparent 20px),var(--sa-paper)}
 .occasi-story .storya-album-page:nth-child(even){background:linear-gradient(90deg,#00000013,transparent 24px),var(--sa-paper);border-left:1px solid #00000012}
 .occasi-story .storya-album-page:after{display:none}
 .occasi-story .storya-album-blank{display:grid;place-items:center;color:var(--sa-accent)}
 .occasi-story .storya-album-blank .storya-star{width:80px;height:80px;opacity:.45}
}
/* Containers embedded in a narrow column keep the mobile composition. */
@container(max-width:600px){
 .occasi-story .storya-mile-card.storya-with-photo,.occasi-story .storya-chapter.storya-with-photo,.occasi-story .storya-print-wall,.occasi-story .storya-news-columns,.occasi-story .storya-album-spread,.occasi-story .storya-letter-sheet.storya-with-photo{grid-template-columns:minmax(0,1fr)}
 .occasi-story .storya-milestone:nth-child(even) .storya-mile-card.storya-with-photo .storya-photo{order:0}
 .occasi-story .storya-print:nth-child(n){rotate:none;margin-top:0}
 .occasi-story .storya-print-wall{padding:1rem .65rem .75rem}
 .occasi-story .storya-storybook{padding:1.5rem .7rem 1rem}
 .occasi-story .storya-film,.occasi-story .storya-album{padding:1.5rem .65rem 1rem}
 .occasi-story .storya-places{padding:1.5rem .7rem 1rem}
 .occasi-story .storya-newspaper{padding:1.2rem}
 .occasi-story .storya-book-leaf{padding:1.6rem 1.2rem 1.2rem 1.5rem}
 .occasi-story .storya-route{padding-left:2.8rem}
 .occasi-story .storya-route:before{left:1rem}
 .occasi-story .storya-stop:nth-child(n){left:0}
 .occasi-story .storya-stop:nth-child(n) .storya-route-marker{left:-2.8rem;right:auto}
 .occasi-story .storya-news-article:not(.storya-news-lead):nth-child(2n){padding-right:0;border-right:0;margin-right:0}
 .occasi-story .storya-album-blank{display:none}
 .occasi-story .storya-album-page:nth-child(n){padding:1.2rem 1.05rem 2.8rem;background:var(--sa-paper);border-left:0}
}
@media(prefers-reduced-motion:reduce){
 .occasi-story .story-layout[class*="storya-"] .story-reveal,.story-scenes-motion .occasi-story .story-layout[class*="storya-"] .story-reveal:not(.is-visible),.occasi-story.story-scenes-motion .story-layout[class*="storya-"] .story-reveal:not(.is-visible){opacity:1;transform:none;transition:none}
 .occasi-story .story-layout[class*="storya-"] *{animation:none!important;transition:none!important}
}
.motion-paused .occasi-story .story-layout[class*="storya-"] .story-reveal,.occasi-story.motion-paused .story-layout[class*="storya-"] .story-reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .occasi-story .story-layout[class*="storya-"] *,.occasi-story.motion-paused .story-layout[class*="storya-"] *{animation:none!important;transition:none!important}
