/* Birthday offer and mobile section overlap. */
:is(html[data-page="home"],html[data-page="dinner"],html[data-page="party"],html[data-page="theme"],html[data-page="country"]) #quiz .quiz-side{background:linear-gradient(#280c1c30,#280c1c65),url('../assets/birthday-rule-toast.webp') center/cover no-repeat}
.offer-trigger{position:fixed;left:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:35;border:1px solid #bba29c;background:#5a142a;color:#fbf5ef;border-radius:30px;padding:13px 20px;font:500 12px 'Manrope',sans-serif;box-shadow:0 6px 25px #260c2020}
.offer-trigger span{margin-left:15px}.offer-dialog{padding:0;border:1px solid #aa8c85;border-radius:24px;width:min(520px,calc(100vw - 30px));max-height:calc(100dvh - 32px);overflow-y:auto;background:#f7f2ec;color:#342425;box-shadow:0 25px 100px #19071050;overscroll-behavior:contain}
.offer-dialog::backdrop{background:#210d1baa;backdrop-filter:blur(5px)}.offer-dialog[open]{animation:offer-in .4s cubic-bezier(.22,1,.36,1)}
.offer-heading{background:radial-gradient(ellipse at 0 0,#95605266,transparent 65%),#571329;color:#fff8f0;padding:32px 34px 30px}.offer-heading>p{font:500 10px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.18em;margin:0 35px 20px 0}.offer-heading h2{color:inherit}.offer-heading strong{display:block;font:500 clamp(68px,19vw,90px)/1 'Manrope',sans-serif;letter-spacing:-.07em}.offer-heading h2>span{display:block;margin-top:15px;font:400 22px/1.2 'Cormorant Garamond',serif}
.offer-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:42px;height:42px;padding:0!important;border:1px solid #ffffff60;border-radius:50%;background:#ffffff15;color:#fff8f0;font:0/0 sans-serif;z-index:1}
.offer-close::before,.offer-close::after{position:absolute;top:50%;left:50%;width:14px;height:1.5px;border-radius:2px;background:currentColor;content:'';transform:translate(-50%,-50%) rotate(45deg)}
.offer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.offer-form{padding:26px 34px 25px}.offer-form>p:first-of-type{font-size:15px;line-height:1.7;margin:0 0 22px}.offer-form>label{display:block;font-size:12px;color:#6c5856;margin-top:16px}.offer-optional{font-size:10px;color:#85736b}.offer-form>label>input:not([type=checkbox]){display:block;margin-top:7px;border:1px solid #d4c3b9;border-radius:10px;background:#fffaf5;width:100%;min-height:48px;padding:12px 14px;color:#342425;font-size:16px}.offer-form .offer-consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.6}.offer-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#681024}.offer-consent a{text-decoration:underline;text-underline-offset:2px}.offer-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:1px solid #681024;border-radius:30px;background:#681024;color:white;padding:15px 20px;font:500 13px 'Manrope',sans-serif;margin-top:22px}.offer-submit:disabled{opacity:.6;cursor:wait}.offer-status{font-size:12px;line-height:1.6;margin:12px 0 0;color:#681024}.offer-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@keyframes offer-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){.offer-trigger{left:12px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 16px}.offer-heading{padding:28px 24px}.offer-form{padding:23px 24px}.offer-heading>p{font-size:9px}.mobile-overlap{position:sticky!important;top:var(--overlap-top);z-index:var(--overlap-layer);isolation:isolate;border-radius:20px 20px 0 0;box-shadow:0 -10px 25px #210d1b14;scroll-margin-top:95px}}
@media(prefers-reduced-motion:reduce){.offer-dialog[open]{animation:none}}
.footer-contact-band{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;min-height:190px;padding:34px clamp(22px,5vw,66px);margin:45px 0 30px;overflow:hidden;isolation:isolate;background:#551025;color:#f6f0eb}
.footer-contact-copy,.footer-contact-details{position:relative;z-index:1}.footer-contact-copy h2{margin:8px 0 0;color:inherit;font:400 clamp(34px,5vw,56px)/1 'Cormorant Garamond',serif}.footer-contact-kicker{font:500 10px 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e5cbd0}.footer-contact-details{display:flex;gap:clamp(24px,5vw,65px)}.footer-contact-item{display:grid;gap:8px}.footer-contact-item>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#e5cbd0}.footer-contact-item strong{font:400 22px 'Cormorant Garamond',serif}.footer-phone-link{color:inherit;text-decoration:none}.footer-phone-link:hover{text-decoration:underline;text-underline-offset:4px}.footer-tulle{position:absolute;z-index:0;left:-4%;top:-145%;width:108%;max-width:none;height:360%;object-fit:cover;opacity:.23;pointer-events:none;animation:footer-silk-flow 18s ease-in-out infinite alternate}
@keyframes footer-silk-flow{from{transform:translate3d(-1.5%,2%,0) rotate(-1.5deg) scale(1.02)}to{transform:translate3d(1.5%,-2%,0) rotate(1.5deg) scale(1.06)}}
@media(max-width:760px){.footer-contact-band{grid-template-columns:1fr;padding:30px 24px;gap:22px;margin:35px 0 25px}.footer-contact-details{justify-content:space-between;gap:12px}.footer-contact-item strong{font-size:18px}.footer-tulle{left:-40%;top:-70%;width:180%;height:230%}}
@media(prefers-reduced-motion:reduce){.footer-tulle{animation:none}}

/* Keep the circular action readable when its arrow is rendered as SVG. */
.wow-section .wow-cta{flex-direction:column;gap:5px;white-space:normal;line-height:1.25;text-wrap:balance}
.wow-section .wow-cta-label{display:block;max-width:100%}
.wow-section .wow-cta .wow-arrow{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;margin:0;line-height:0}
.wow-section .wow-cta .wow-arrow .ui-icon{display:block;width:18px;height:18px;margin:0}

@media(max-width:760px){
 .offer-trigger{bottom:calc(84px + env(safe-area-inset-bottom))}
 .contact-dock{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));gap:0}
 .contact-dock:not(:has(a)){display:grid}
 .contact-dock .contact-link:not(.contact-link-phone){display:none}
 .contact-dock .contact-link-phone{display:grid;width:46px;height:46px;opacity:1}
 #formats .section-heading{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid #bca69c}
 #formats .section-heading h2{color:var(--wine)}
 #approach>.evening-banner{width:100vw;height:100vh;height:100svh;min-height:100vh;min-height:100svh;max-height:none;margin:48px calc(50% - 50vw) 0;padding:32px 6vw calc(42px + env(safe-area-inset-bottom));border-radius:0;background:#4b1427;overflow:hidden;align-items:flex-end}
 #approach>.evening-banner>img,#approach>.evening-banner>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
 #approach>.evening-banner>img{z-index:-3}
 #approach>.evening-banner>video{z-index:-2;filter:none}
 #approach>.evening-banner:after{display:block;z-index:-1;background:linear-gradient(180deg,#4b14270d 0%,#4b14272e 42%,#4b1427e8 100%)}
 #approach>.evening-banner>div{position:relative;z-index:1;inset:auto;width:100%;max-width:none;padding:0}
 #approach>.evening-banner h2{max-width:9ch;color:#f6f0eb;font-size:clamp(30px,8.4vw,38px);line-height:.98;letter-spacing:-.025em;text-shadow:0 2px 16px #2c0a19b8}
 #approach>.evening-banner p{margin:15px 0 0;color:#f4e8e5;font-size:9px;line-height:1.6;letter-spacing:.1em;text-shadow:0 1px 10px #2c0a19}
 html[data-page="home"] #about>:is(svg,canvas).ribbon{position:relative!important;inset:auto!important;order:2;display:block;flex:0 0 100px;width:88%!important;height:100px!important;max-height:100px;margin:24px auto 28px;opacity:.4;mask-image:none;-webkit-mask-image:none;transform:none}
}

/* Mobile home hero: compact centered header, headline, then framed film. */
@media(max-width:760px){
 html[data-page="home"] header{position:fixed;top:12px;left:4%;right:4%;width:92%;height:62px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:0 12px;border:1px solid #fff9;border-radius:36px;background:#f7f2eced;box-shadow:0 8px 24px #39111f12;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 html[data-page="home"] header>.brand{grid-column:2;grid-row:1;order:2;width:clamp(88px,26vw,112px);margin:0;justify-self:center}
 html[data-page="home"] header>.menu-toggle{grid-column:1;grid-row:1;order:1;justify-self:start;display:flex;align-items:center;gap:7px;border:0;border-radius:24px;padding:9px 12px;color:var(--wine);background:#fff9;font-size:11px;min-height:40px}
 html[data-page="home"] header>.header-actions{grid-column:3;grid-row:1;order:3;justify-self:end;margin:0;gap:0}
 html[data-page="home"] header .header-actions .header-phone{display:none!important}
 html[data-page="home"] header .header-actions>.button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:24px;background:var(--wine);border:1px solid var(--wine);color:#fff;font-size:10px;letter-spacing:0;text-transform:none;white-space:nowrap}
 html[data-page="home"] .hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;height:auto;padding:108px 0 28px;gap:0;background:#f6f0eb}
 html[data-page="home"] .hero>.wrap,html[data-page="home"] .hero .hero-content{display:contents}
 html[data-page="home"] .hero>.ribbon{display:none}
 html[data-page="home"] .hero .eyebrow{order:1;width:88%;margin:0 auto 14px;color:#806b66;font-size:9px;line-height:1.6;letter-spacing:.11em}
 html[data-page="home"] .hero h1{order:2;width:88%;margin:0 auto 24px;color:var(--wine);font-size:clamp(40px,11vw,52px);line-height:1.04;letter-spacing:-.035em}
 html[data-page="home"] .hero .photo.home-video{position:relative;inset:auto;order:3;width:88%;height:auto;min-height:0;max-height:none;aspect-ratio:1.55;margin:0 auto 18px;border-radius:18px;overflow:hidden;z-index:1}
 html[data-page="home"] .hero .photo.home-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
 html[data-page="home"] .hero .photo.home-video:after{display:none}
 html[data-page="home"] .hero .hero-content p{order:4;width:88%;max-width:40ch;margin:0 auto 12px;color:#514340;font-size:13px;line-height:1.65}
 html[data-page="home"] .hero .hero-note{order:5;width:88%;margin:0 auto 18px;color:var(--wine);font:500 11px/1.6 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}
 html[data-page="home"] .hero .hero-note br{display:none}
 html[data-page="home"] .hero .actions{order:6;width:88%;margin:0 auto 8px;gap:12px}
 html[data-page="home"] .hero .actions .button{min-height:46px;padding:13px 16px;border-radius:28px;font-size:10px}
 html[data-page="home"] .hero .actions a.button{margin-left:0}
 html[data-page="home"] .hero .hero-sound-button{top:auto;right:12px;bottom:12px;min-height:38px;padding:8px 11px;font-size:9px}
 html[data-page="home"] .hero .hero-fullscreen-button{top:auto;right:12px;bottom:60px;min-height:38px;padding:8px 11px;font-size:9px}
}
@media(max-width:760px){
 html[data-page="home"] header{display:flex;justify-content:space-between}
 html[data-page="home"] header>.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:clamp(88px,26vw,108px)}
 html[data-page="home"] header>.menu-toggle{width:auto;min-width:68px;padding:9px 12px;background:#fff9}
 html[data-page="home"] header>.menu-toggle>span:last-child{display:inline!important;font-size:10px}
 html[data-page="home"] header>.header-actions{position:relative;z-index:3;width:auto}
 html[data-page="home"] header .header-actions>.button{font-size:0;gap:0;padding-inline:13px}
 html[data-page="home"] header .header-actions>.button:before{content:'Обсудить';font-size:10px}
 html[data-page="home"] header .header-actions>.button .ui-icon{display:none}
}
@media(max-width:760px){
 html[data-page="home"] header>.menu-toggle{background:var(--wine);color:#fff}
 html[data-page="home"] .hero h1{color:#251b1a}
 html[data-page="home"] .hero h1>span{color:var(--wine);font-family:'Cormorant Garamond',serif!important;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
}
