/* Official services, bilingual navigation and the palette story. */
.language-switch{display:grid;place-items:center;min-width:36px;min-height:44px;font-size:14px;font-weight:500;color:var(--wine);text-decoration:underline;text-underline-offset:5px}
.social-links{max-width:1280px;margin:0 auto 28px;display:flex;gap:32px;justify-content:center;flex-wrap:wrap}
.social-links>a,.social-placeholder{display:flex;align-items:center;gap:12px;font-size:16px}
.social-links small{font-size:14px;opacity:.7}.social-links>a:hover{text-decoration:underline;text-underline-offset:4px}
.service-duration{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--wine);margin-top:12px}
.service-card h3{min-height:2.3em}.service-duration:empty{display:none}
.service-price{gap:12px!important}.price-value{width:fit-content!important;max-width:100%;min-height:78px!important;gap:14px!important}
.price-value .price-pending,.service-price .price-pending{font-size:25px;letter-spacing:-.02em;white-space:normal;line-height:1.2}
.price-value:has(.price-pending){white-space:normal}
.service-index{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding-bottom:35px}
.service-index a{border:1px solid var(--line);border-radius:50px;padding:10px 16px;font-size:15px;color:var(--wine)}
.service-index a:hover{background:var(--blush)}
.price-description>p:not(.section-note):not(.service-inclusion){font-size:16px;max-width:none}
.price-description h2{font-size:clamp(42px,4.3vw,58px)}
.price-description .service-duration{margin-top:14px!important;font-weight:500}
.price-description .service-inclusion{align-items:flex-start;line-height:1.65;margin-top:18px}
.price-description .service-inclusion .motif{margin-top:4px}
.deposit-note{font-size:14px!important;font-weight:500;color:var(--wine)}
.deposit-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0}
.deposit-summary article{background:#f5e5df;border:1px solid var(--line);padding:26px 30px;border-radius:4px 34px 4px 4px}
.deposit-summary strong{font-size:42px;line-height:1.2;color:var(--wine);font-weight:500}
.deposit-summary h3{font-size:30px;margin:10px 0}.deposit-summary p{font-size:16px}
.booking-policies .faq-list details>p{max-width:950px;font-size:16px}
.booking-policy-notice{font-size:15px;line-height:1.65;padding:18px 20px;background:#f5e5df;border-left:2px solid var(--wine);margin-bottom:28px}
.booking-policy-notice a{text-decoration:underline;text-underline-offset:3px}
.ritual-section.has-webgl{height:190svh;position:relative;overflow:visible}
.has-webgl .ritual-inner{position:sticky;top:6svh;min-height:88svh;padding-block:24px;align-items:center}
.ritual-bottom{display:block;position:static;margin-top:14px;padding:0 12px;text-align:center;line-height:1.5}
.has-webgl .cosmetic-stage{height:min(650px,72svh)}
.stage-word{display:none!important}
.cosmetic-stage{overflow:hidden;contain:paint}
.stage-orbit{transform:none}
html[lang='fr-CA'] .hero h1{font-size:clamp(74px,8.3vw,125px)}
html[lang='fr-CA'] .hero-glow{line-height:1.05}
html[lang='fr-CA'] .hero-seal{font-size:16px}
html[lang='fr-CA'] .hero-seal span{white-space:normal;max-width:90%}
html[lang='fr-CA'] .footer-top{gap:clamp(30px,12vw,150px)}
html[lang='fr-CA'] .footer-top>p{white-space:normal}
html[lang='fr-CA'] .about-hero h1{font-size:clamp(52px,5.3vw,76px)}
html[lang='fr-CA'] .video-copy h2{font-size:clamp(44px,4.2vw,58px)}
@media(min-width:761px) and (max-width:1100px){.desktop-nav{gap:16px;font-size:14px}.nav-actions{gap:6px}.nav-book{padding-inline:14px}.brand{flex-basis:100px}}
@media(max-width:760px){
 .nav-shell{width:92%}.nav-actions{gap:4px}.language-switch{min-width:30px;font-size:14px}
 .nav-book{padding-inline:13px}.brand img{width:86px}
 .price-service{scroll-margin-top:24px}.price-description h2{font-size:44px}
 .service-index{justify-content:flex-start;gap:8px;padding-bottom:24px}.service-index a{font-size:14px;padding:8px 12px}
 .service-card h3{font-size:34px}.service-price>strong{font-size:31px}
 .price-value{padding:16px 18px}.price-value strong{font-size:38px}
 .deposit-summary{gap:12px}.deposit-summary article{padding:22px 16px}.deposit-summary h3{font-size:25px}.deposit-summary p{font-size:14px}
 .social-links{gap:22px}.social-links>a,.social-placeholder{gap:8px}
 .ritual-section.has-webgl{height:200svh}
 .has-webgl .ritual-inner{top:3svh;min-height:0;gap:8px;padding-block:20px}
 .has-webgl .ritual-copy>p:not(.section-note){font-size:14px;line-height:1.5;margin-top:12px}
 .has-webgl .ritual-copy .section-note{margin-bottom:12px}
 .has-webgl .ritual-copy h2,.has-webgl .ritual-copy h2 .ritual-bold{font-size:clamp(30px,8.4vw,38px);line-height:1.12}
 .has-webgl .ritual-copy .button{margin-top:16px;min-height:46px;padding-block:10px;font-size:14px}
 .has-webgl .cosmetic-stage{height:calc(42svh - 36px);max-height:400px;aspect-ratio:auto}
 .ritual-bottom{padding:0 12px;margin-top:12px;font-size:14px}
 .has-webgl .stage-caption{font-size:14px}.has-webgl .stage-hint{max-width:190px}
 html[lang='fr-CA'] .nav-book{font-size:14px;padding-inline:10px}
 html[lang='fr-CA'] .hero h1{font-size:clamp(59px,15.6vw,82px);line-height:1}
 html[lang='fr-CA'] .hero h1 br{display:block}
 html[lang='fr-CA'] .hero-actions{gap:15px;flex-wrap:wrap}
 html[lang='fr-CA'] .hero-seal{font-size:16px}
 html[lang='fr-CA'] .occasion-ribbon{gap:8px;padding-inline:10px}html[lang='fr-CA'] .occasion-ribbon span{font-size:15px}
 html[lang='fr-CA'] .occasion-ribbon .motif{width:18px}
 html[lang='fr-CA'] .footer-top{gap:35px 20px}
 html[lang='fr-CA'] .footer-top>p{font-size:28px;min-height:70px}
 html[lang='fr-CA'] .footer-top>p>span{display:block;margin-left:0}
 html[lang='fr-CA'] .about-hero h1{font-size:53px}
 html[lang='fr-CA'] .contact-story h1,html[lang='fr-CA'] .page-intro h1{font-size:52px}
 html[lang='fr-CA'] .invitation h2{font-size:48px}
}
@media(max-width:360px){
 .brand img{width:70px}.nav-actions{gap:1px}.nav-book{padding-inline:10px}.language-switch{min-width:26px}
 html[lang='fr-CA'] .nav-book{max-width:134px;line-height:1.25;text-align:center;justify-content:center}
 .price-value strong{font-size:31px}.price-value{gap:9px!important;padding-inline:12px}
 .social-links{flex-direction:column;align-items:center;gap:14px}
 .has-webgl .ritual-copy h2,.has-webgl .ritual-copy h2 .ritual-bold{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.language-switch,.service-index a{transition:none}}
@media(max-width:760px) and (max-height:740px){
 .has-webgl .ritual-copy>p:not(.section-note){display:none}
 .has-webgl .cosmetic-stage{height:calc(40svh - 36px)}
 .has-webgl .ritual-inner{padding-block:16px;gap:4px}
 .has-webgl .ritual-copy .button{margin-top:12px}
}
