/* Fixed origins for every occasion; only the sentence endings may move. */
.sol .moment-copy-stack{display:grid;align-items:start}
.sol .moment-copy-stack>span{grid-area:1/1;visibility:hidden;opacity:0}
.sol .moment-copy-stack>span[data-active=true]{visibility:visible;opacity:1}
.sol .is-pinned #occasion-panel{min-height:0}
.sol .moments .moments-photo{position:relative;padding:12px 18px;isolation:isolate}
.sol .moment-photo-stage{height:100%;max-width:100%;aspect-ratio:999/1330;position:relative;flex:none;background:#e4d1bf;border-radius:4px;box-shadow:0 14px 40px #52352216}
.sol .moment-photo-stage::before{content:'';position:absolute;inset:-11px;border:1px solid #a37b5966;border-radius:48% 48% 5px 5px;z-index:-1;pointer-events:none}
.sol .moment-photo-stage::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#a37b59;right:-15px;top:48%;box-shadow:0 0 0 5px #efe2d4;pointer-events:none}
.sol .moments .moment-photo-stage img{position:absolute;inset:0;object-fit:contain;border-radius:4px;opacity:0;transition:opacity .65s ease;pointer-events:none}
.sol .moments .moment-photo-stage img[data-current=true]{opacity:1}
.sol .care-columns{grid-template-rows:auto auto repeat(5,auto);gap:0 7vw;align-items:stretch}
.sol .care-columns>div{display:grid;grid-template-rows:subgrid;grid-row:span 7}
.sol .care-columns .care-download{justify-self:start;align-self:start}
.sol .care-columns .care-steps{display:contents}
.sol .care-steps li{border:0;border-top:1px solid #c6ad99;border-radius:0;background:none;padding:25px 0;gap:18px}
.sol .care-step-number{background:none;border-radius:0;justify-content:flex-start;color:#987252}
.sol .care-steps h4{min-height:2.16em;margin:5px 0 10px}
.sol .faq .questions{grid-template-columns:1fr;gap:0}
.sol .faq .questions details,.sol .faq .questions details[open]{border:0;border-bottom:1px solid #c6ad99;border-radius:0;background:none;overflow:visible}
.sol .faq .questions details:first-child{border-top:1px solid #c6ad99}
.sol .faq .questions summary{padding:22px 0;gap:18px;min-height:82px}
.sol .faq .questions details>p{padding:0 28px 25px 52px}
.sol .faq-glyph{background:none;border-radius:0}
.sol .gallery-rail{scroll-snap-type:none;scroll-behavior:auto;cursor:grab;touch-action:pan-x pan-y}
.sol .gallery-rail.is-dragging{cursor:grabbing;user-select:none}
.sol .gallery-rail img{user-select:none;-webkit-user-drag:none}
.sol .gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px}
.sol .gallery-tools .gallery-hint{margin:0}
.sol .gallery-play{background:none;border:0;border-bottom:1px solid #b79b81;padding:8px 0;min-height:44px;color:inherit;font-size:11px;flex:none;cursor:pointer}
.sol .contact-copy>.text-link[href^='tel:']{display:flex;width:fit-content;margin:26px 0;font-size:19px;letter-spacing:.025em}
.sol .contact-copy>.button{display:flex;width:fit-content;min-width:245px;margin:0 0 25px;justify-content:space-between}
.sol .contact-copy>.instagram-link{display:flex;width:fit-content;margin:0;padding-top:22px;border-top:1px solid var(--line);gap:16px}
.sol .booking>.button{margin-right:28px;margin-bottom:24px}
@media(max-width:700px){
.sol .care-columns{display:flex;flex-direction:column;gap:38px}
.sol .care-columns>div{display:block}
.sol .care-columns .care-steps{display:grid;gap:0;margin-top:22px}
.sol .care-steps li{padding:22px 0;grid-template-columns:34px minmax(0,1fr)}
.sol .care-steps h4{font-size:27px}
.sol .moments .moments-photo{padding:12px 15px}
.sol .moment-photo-stage{max-height:100%;max-width:100%;width:auto}
.sol .gallery-tools{align-items:flex-start;gap:16px}
.sol .gallery-tools .gallery-hint{line-height:1.7;max-width:170px}
.sol .gallery-play{font-size:10px;padding-top:0;text-align:right}
.sol .contact-copy>.button{width:100%;margin-bottom:28px}
.sol .contact-copy>.text-link[href^='tel:']{margin:28px 0}
.sol .contact-copy>.instagram-link{width:100%;padding-top:24px}
.sol .booking>.button{display:flex;margin-right:0;width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.sol .moments .moment-photo-stage img{transition:none}}
@media(min-width:1100px){.sol .care-steps h4{min-height:1.08em}}
.sol .moments .moments-photo{container-type:size}
.sol .moments .moment-photo-stage{height:min(100cqh,133.133cqw);width:auto;max-width:100%;background:none}
/* Desktop review: shared sun rotation, level copy and a compact question index. */
.sol #o-nas .intro-details{align-items:flex-start}
.sol .exp-sun,.sol .sun,.sol .questions details:first-child .faq-glyph svg{transform:rotate(var(--sun-spin,0deg));transform-origin:center}
.sol footer .mark-dark{display:none}
.sol footer .mark-light{display:block;filter:brightness(0) invert(1)}
@media(min-width:1051px){
.sol .faq{grid-template-columns:.65fr 1.65fr;gap:7vw;padding-top:80px;padding-bottom:80px}
.sol .faq .questions{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.sol .faq .questions summary{min-height:68px;padding:16px 0;gap:12px}
.sol .faq .questions details:nth-child(2){border-top:1px solid #c6ad99}
.sol .faq .questions details>p{padding:0 16px 20px 46px;font-size:12px;line-height:1.65}
.sol .faq .questions .faq-question{font-size:13px;line-height:1.45}
}
@media(prefers-reduced-motion:reduce){.sol .exp-sun,.sol .sun,.sol .questions details:first-child .faq-glyph svg{transform:none}}
/* Keep the floating reservation action entirely brown. */
.sol .mobile-book{padding:0;background:transparent;border:0;box-shadow:none}
.sol .mobile-book .button{border:0;box-shadow:none}
@media(max-width:700px){.sol .mobile-book{left:16px;right:16px;width:auto;bottom:max(12px,env(safe-area-inset-bottom))}}
