/* LIRIO editorial pages: existing Botanical/Manrope type, paper and olive. */
.detail-main{max-width:1180px}.detail-intro h1{font-size:clamp(43px,4.3vw,68px);line-height:1.07}.detail-photo{aspect-ratio:.82}.detail-photo img{object-position:center}
.detail-section,.service-gallery,.service-faq{scroll-margin-top:40px}.detail-section p{max-width:65ch}.detail-toc{top:32px}.detail-article{min-width:0}.detail-toc nav{line-height:1.65}.detail-facts{line-height:1.6}
.result-panel{background:#e3e6da;border-radius:4px 44px 4px 4px;padding:32px}.result-panel .detail-list{margin-bottom:0}.marina-note .text-link{margin-top:16px;display:table;font-family:Manrope,Arial,sans-serif}.course-pending{font-size:12px;line-height:1.6;color:var(--olive);padding-left:14px;border-left:2px solid var(--olive);margin:0 0 24px}
.service-gallery{padding:35px 0 80px}.gallery-heading{max-width:700px;margin-bottom:35px}.gallery-heading h2,.service-faq h2{font:400 clamp(36px,4vw,60px)/1.08 Botanical,Georgia,serif;letter-spacing:-.025em;margin:0 0 20px}.gallery-heading p{font-size:13px;line-height:1.8;color:var(--muted);max-width:480px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px}.gallery-item{display:block;position:relative;overflow:hidden;border-radius:4px;background:#e5ddd2;aspect-ratio:.8}.gallery-item:nth-child(3n+2){margin-top:40px}.gallery-item:first-child{border-top-left-radius:50px}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.025)}.gallery-zoom{position:absolute;right:12px;bottom:12px;width:36px;height:36px;background:#f4f1e9ef;border-radius:50%;display:grid;place-items:center;color:#333c2c;font-size:20px}
.service-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:25px 0 65px}.service-faq h2{font-size:40px}.service-faq details{border-bottom:1px solid var(--line);padding:18px 0}.service-faq summary{cursor:pointer;font:400 25px/1.25 Botanical,Georgia,serif;padding-right:10px}.service-faq details p{font:400 13px/1.9 Manrope,Arial,sans-serif;color:var(--muted);margin:16px 0 0}.service-faq summary:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.gallery-open{overflow:hidden}.gallery-viewer{width:min(1100px,96vw);max-width:96vw;height:min(940px,94dvh);max-height:94dvh;padding:0;border:1px solid #ffffff60;border-radius:12px;background:#f3eee7;color:#333a2b}.gallery-viewer::backdrop{background:#20251be8;backdrop-filter:blur(8px)}.gallery-viewer-inner{height:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box}.gallery-full{display:block;min-height:0;flex:1;width:100%;object-fit:contain}.gallery-full[hidden]{display:none}.gallery-load-error{margin:auto;text-align:center}.gallery-close{position:absolute;right:12px;top:12px;width:44px;height:44px;background:#f3eee7ed;border:1px solid #8d927d;border-radius:50%;font-size:27px;color:#333a2b;cursor:pointer;z-index:1}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:15px;margin-top:auto}.gallery-controls>div{text-align:center;min-width:0}.gallery-controls p{font-size:12px;line-height:1.6;margin:0}.gallery-controls .gallery-count{font-size:11px;color:#646a58;margin-top:4px}.gallery-controls button{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:1px solid #8d927d;background:transparent;color:#333a2b;font-size:22px;cursor:pointer}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item:nth-child(n){margin-top:0}.gallery-item:nth-child(2n){margin-top:32px}.service-faq{gap:30px}}
@media(max-width:768px){.detail-photo{aspect-ratio:.92}.detail-intro h1{font-size:clamp(40px,10.6vw,54px)}.gallery-grid{gap:12px}.gallery-item:nth-child(2n){margin-top:20px}.service-gallery{padding:15px 0 50px}.gallery-heading h2{font-size:38px}.gallery-heading p{font-size:12px}.service-faq{grid-template-columns:1fr;gap:8px;padding:10px 0 40px}.service-faq h2{font-size:35px}.service-faq summary{font-size:24px}.result-panel{padding:26px 20px}.gallery-viewer{width:96vw;height:90dvh}.gallery-viewer-inner{padding:12px}.gallery-controls{gap:10px}.gallery-controls p{font-size:11px}.gallery-zoom{right:8px;bottom:8px;width:28px;height:28px;font-size:18px}.detail-body{gap:30px}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}
