/* A wedding collection on a white gallery wall. */
.occasion .framed-wall-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(34px,5vw,84px);padding:76px max(5%,calc((100vw - 1480px)/2)) 60px;min-height:0;height:auto;overflow:visible;isolation:isolate;text-align:left;border:0;border-bottom:1px solid #e9e4da;background-color:#fdfcf9;background-image:radial-gradient(ellipse at 22% 34%,#e9e5dc65,transparent 64%),repeating-linear-gradient(105deg,#a49e9403 0 1px,transparent 1px 5px)}
.framed-wall-hero:before,.framed-wall-hero:after{display:none}
.framed-wall-hero>*{min-width:0}
.framed-wall-hero .showcase{position:relative;inset:auto;width:100%;max-width:none;margin:0;align-self:center}
.antique-gallery-frame{position:relative;border:clamp(22px,2.75vw,42px) solid #aa8241;border-image:url('/assets/wedding-antique-frame.svg') 100 stretch;padding:clamp(6px,1vw,14px);background:#f9f6ed;box-shadow:0 29px 32px -19px #3f302265,0 8px 16px #44311e20,1px 2px 1px #3e2b2133}
.antique-gallery-frame:after{content:'';position:absolute;inset:0;box-shadow:inset 0 2px 9px #4c361b30;pointer-events:none}
.framed-wall-hero .showcase-track{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;padding:0;background:#fffdf7;outline-offset:5px;scrollbar-width:none}
.framed-wall-hero .showcase-slide{position:absolute;inset:0;margin:0;padding:0;min-width:0;border:0;border-radius:0;box-shadow:none;background:#fffdf7;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.framed-wall-hero .showcase-slide.is-active{opacity:1;visibility:visible}
.framed-wall-hero .concept-zoom{display:block;width:100%;height:100%;cursor:zoom-in}
.framed-wall-hero .showcase-slide img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;border:0;filter:none;background:#fffdf7}
.framed-wall-hero .showcase-slide figcaption{display:none}
.framed-wall-hero .gallery-frame-invitation{margin:25px 0 0;text-align:center;font:italic 1.12rem/1.5 Georgia,serif;color:#665340}
.gallery-frame-invitation span{display:block;margin-top:5px;font:400 .77rem/1.6 var(--body);letter-spacing:.015em;color:#6f6a60}
.framed-wall-hero .showcase-controls{position:static;display:flex;justify-content:center;align-items:center;gap:18px;margin:19px 0 0;color:#68503c}
.framed-wall-hero .showcase-controls button{width:44px;height:44px;min-height:44px;padding:0;border:1px solid #a6967e;border-radius:50%;background:#fffefa;color:#5d4435;font-size:1.15rem;cursor:pointer;transition:background .15s}
.framed-wall-hero .showcase-controls button:hover{background:#eee5d5}
.framed-wall-hero .showcase-position{font:600 .74rem/1.5 var(--body);letter-spacing:.1em;min-width:37px;text-align:center}
.framed-wall-hero [data-slide-pause]{width:auto!important;padding:0 17px!important;border-radius:24px!important;font:600 .76rem var(--body)!important;margin-left:6px}
.framed-wall-hero .occasion-hero-copy{position:relative;z-index:1;width:100%;padding:0;pointer-events:auto;max-width:550px}
.framed-wall-hero .occasion-hero-copy .occasion-ornament{font:3.25rem/1 Georgia,serif;color:#9b7257;margin-bottom:23px}
.framed-wall-hero .occasion-hero-copy .eyebrow{font-size:.66rem;line-height:1.8;letter-spacing:.13em;color:#756453}
.framed-wall-hero .occasion-hero-copy h1{font-size:clamp(2.65rem,3.9vw,4.7rem);line-height:1.07;letter-spacing:-.045em;color:#673c37;margin:20px 0 24px;text-shadow:none;max-width:520px}
.framed-wall-hero .occasion-hero-copy>p:not(.eyebrow){font-size:1.05rem;line-height:1.8;color:#665b52;max-width:440px;text-shadow:none;margin:0 0 31px}
.framed-wall-hero .occasion-hero-copy .button{background:#824942;border:1px solid #673c37;color:#fffaf1;box-shadow:3px 4px 0 #e3d3c4;font-size:.92rem;padding:16px 22px;max-width:100%;text-align:center}
.framed-wall-hero .occasion-hero-copy .button:hover{background:#683d38}
.occasion .framed-wall-hero+.concept-note{max-width:100%;margin:0;padding:20px 8% 24px;background:#fdfcf9;font-size:.75rem;color:#777065;border-bottom:1px solid #e9e4da}
@media(min-width:1600px){.framed-wall-hero .antique-gallery-frame{border-width:42px}}
@media(max-width:980px){.occasion .framed-wall-hero{grid-template-columns:1fr;gap:42px;padding:48px 7% 52px}.framed-wall-hero .showcase{max-width:720px;margin:auto}.framed-wall-hero .occasion-hero-copy{max-width:650px;margin:auto;text-align:center}.framed-wall-hero .occasion-hero-copy .occasion-ornament{font-size:2.5rem;margin-bottom:15px}.framed-wall-hero .occasion-hero-copy h1{font-size:clamp(2.8rem,6vw,4.2rem);max-width:none}.framed-wall-hero .occasion-hero-copy>p:not(.eyebrow){max-width:550px;margin-left:auto;margin-right:auto}.antique-gallery-frame{border-width:30px}}
@media(max-width:520px){.occasion .framed-wall-hero{padding:35px 5% 42px;gap:36px}.antique-gallery-frame{border-width:21px;padding:5px}.framed-wall-hero .gallery-frame-invitation{margin-top:20px;font-size:1rem}.framed-wall-hero .showcase-controls{gap:12px;margin-top:16px}.framed-wall-hero .occasion-hero-copy h1{font-size:clamp(2.45rem,10vw,3.25rem)}.framed-wall-hero .occasion-hero-copy>p:not(.eyebrow){font-size:1rem}.framed-wall-hero .occasion-hero-copy .eyebrow{font-size:.62rem}.framed-wall-hero .occasion-hero-copy .occasion-ornament{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.framed-wall-hero .showcase-slide{transition:none}}
/* Memorial gallery: a quiet sage wall and moss-green lettering. */
.occasion-memorial .framed-wall-hero{background-color:#dce3d8;background-image:radial-gradient(ellipse at 25% 25%,#f0f2e66b,transparent 60%),repeating-linear-gradient(105deg,#5d6b5904 0 1px,transparent 1px 5px);border-bottom-color:#bdc9b8}
.occasion-memorial .framed-wall-hero .occasion-hero-copy h1{color:#334e43}
.occasion-memorial .framed-wall-hero .occasion-hero-copy .occasion-ornament{color:#667c61}
.occasion-memorial .framed-wall-hero .occasion-hero-copy .eyebrow{color:#4b6353}
.occasion-memorial .framed-wall-hero .occasion-hero-copy>p:not(.eyebrow){color:#435b4d}
.occasion-memorial .framed-wall-hero .occasion-hero-copy .button{background:#3e5b4b;border-color:#354d40;box-shadow:3px 4px 0 #bccbb6}
.occasion-memorial .framed-wall-hero .occasion-hero-copy .button:hover{background:#2f473a}
.occasion-memorial .framed-wall-hero .gallery-frame-invitation{color:#465e4c}
.occasion-memorial .gallery-frame-invitation span{color:#556650}
.occasion-memorial .framed-wall-hero .showcase-controls{color:#425948}
.occasion-memorial .framed-wall-hero .showcase-controls button{background:#edf1e8;border-color:#82927a;color:#344f3f}
.occasion-memorial .framed-wall-hero .showcase-controls button:hover{background:#f9faf4}
.occasion-memorial .framed-wall-hero+.concept-note{background:#dce3d8;color:#53624e;border-color:#bdc9b8}
