.service-worldwide{display:flex;align-items:center;gap:10px;margin:0 0 24px;color:#625276;font-size:.94rem;font-weight:650}
.service-language-note{margin:0 0 30px;padding:25px 28px;border:1px solid #d3c7df;border-left:3px solid var(--gold);border-radius:16px;background:#f0eaf5}
.service-language-note h2{margin:0 0 9px;font-weight:700;font-family:inherit;font-size:1.05rem;line-height:1.5}
.service-language-note p{margin:0;max-width:80ch;color:#51465d;font-size:.95rem}
.service-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.service-offer{min-width:0;padding:32px;border:1px solid #cec2a8;border-radius:22px;background:#fffdf8;box-shadow:0 8px 30px #221c3505;scroll-margin-top:105px}
.service-number{display:inline-block;margin-bottom:20px;color:#997837;font-size:.75rem;font-weight:750;letter-spacing:.12em}
.service-offer>h2,.service-offer>h3{margin:0 0 16px;font-size:clamp(1.65rem,2.3vw,2.15rem);line-height:1.18;overflow-wrap:break-word}
.service-short{margin:0 0 25px;color:#5a5663;font-size:1rem;line-height:1.75}
.service-facts{display:grid;gap:16px;margin:0 0 24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-facts>div{display:grid;gap:4px}
.service-facts dt{color:#766785;font-size:.73rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.service-facts dd{margin:0;color:var(--ink);font-size:.94rem;line-height:1.6}
.service-facts>div:first-child dd{font-size:1.4rem;font-weight:750}
.service-description>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 18px;border:1px solid #a999bb;border-radius:12px;color:#51415f;font-weight:700;font-size:.94rem;list-style:none;cursor:pointer;background:#f5f0f8}
.service-description>summary::-webkit-details-marker{display:none}
.service-description>summary::marker{content:''}
.service-description>summary:hover{background:#eee5f4}
.service-description>summary:focus-visible,.service-book:focus-visible{outline:3px solid #8c68a8;outline-offset:4px}
.service-toggle-icon::before{content:'+';font-size:1.4rem;line-height:1}
.service-description[open] .service-toggle-icon::before{content:'−'}
.service-close-label,.service-description[open] .service-open-label{display:none}
.service-description[open] .service-close-label{display:inline}
.service-description-body{max-width:80ch;margin:28px auto 10px;color:#403948;font-size:1rem;line-height:1.85;overflow-wrap:break-word}
.service-description-body h3,.service-description-body h4{margin:28px 0 11px;font-family:inherit;font-size:1.05rem;line-height:1.5;font-weight:750;color:var(--ink)}
.service-description-body p{margin:0 0 17px}
.service-description-body ul{margin:0 0 22px;padding-left:23px}
.service-description-body li{margin:0 0 8px}
.service-book{width:100%;margin-top:14px;white-space:normal;text-align:center;min-height:48px}
@supports selector(:has(*)){.service-offer:has(>.service-description[open]){grid-column:1/-1}.service-offer:has(>.service-description[open])>.service-short{max-width:85ch}.service-offer:has(>.service-description[open])>.service-facts{grid-template-columns:1fr 2fr;gap:28px}}
@media(max-width:680px){.service-catalogue{grid-template-columns:minmax(0,1fr);gap:20px}.service-offer{padding:25px 22px;scroll-margin-top:90px}.service-offer>h2,.service-offer>h3{font-size:1.8rem}.service-language-note{padding:21px}.service-offer:has(>.service-description[open])>.service-facts{grid-template-columns:1fr;gap:16px}.service-description-body{font-size:1rem;line-height:1.8}.service-worldwide{align-items:flex-start;line-height:1.5}}

.service-contact-notice{padding-top:35px}

/* Photographs share one frame; service names remain accessible, translated HTML. */
.service-offer{overflow:hidden}
.service-visual{display:block;position:relative;margin:-32px -32px 27px;overflow:hidden;background:#e9e4de;border-bottom:1px solid #cec2a8;aspect-ratio:16/9}
.service-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#service-compatibility .service-visual img,#service-children .service-visual img{object-position:center 34%}
.service-number{margin-bottom:14px}
@supports selector(:has(*)){.service-offer:has(>.service-description[open])>.service-visual{aspect-ratio:auto;height:280px}.service-offer:has(>.service-description[open])>.service-visual img{object-position:center 42%}}
@media(max-width:680px){.service-visual{margin:-25px -22px 23px}.service-offer:has(>.service-description[open])>.service-visual{height:auto;aspect-ratio:16/9}}
