/* Consistent contact actions and responsive landing pages. */
.v5-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.v5-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid hsl(var(--gold));border-radius:10px;background:hsl(var(--gold));color:hsl(var(--background));font-weight:600;text-align:center;line-height:1.4;white-space:normal}
.v5-button:hover{filter:brightness(1.1)}
.v5-button:focus-visible,.v5-link-grid a:focus-visible{outline:3px solid hsl(var(--gold));outline-offset:4px}
.v5-button-outline{background:transparent;color:hsl(var(--gold))}
.v5-cta{padding:48px 0;background:hsl(var(--dark-light));border-block:1px solid hsl(var(--gold)/.2);text-align:center}
.v5-cta h2,.v5-related h2{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2;font-weight:700;margin-bottom:16px}
.v5-cta p,.v5-related p{color:hsl(var(--muted-foreground));max-width:720px;margin:0 auto;line-height:1.7}
.v5-cta .v5-actions{justify-content:center}
.v5-related{padding:56px 0;background:hsl(var(--background))}
.v5-related h2,.v5-related>div>p{text-align:center}
.v5-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin-top:28px}
.v5-link-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border:1px solid hsl(var(--gold)/.35);border-radius:12px;color:hsl(var(--gold));background:hsl(var(--card));font-weight:600}
.v5-link-grid a:hover{border-color:hsl(var(--gold));background:hsl(var(--gold)/.08)}
.v5-parent-link{text-align:center;margin:24px 16px;color:hsl(var(--gold));text-decoration:underline}
.v5-mobile-contact{display:none}
.v5-contact-grid>*{min-width:0}
.v5-form-panel{width:100%;min-width:0;opacity:1!important;transform:none!important}
#contact-form{width:100%;max-width:100%;box-sizing:border-box;scroll-margin-top:100px}
#contact-form textarea{resize:vertical}
.v5-contact-section a[href^="mailto:"]{overflow-wrap:anywhere}
.v5-nav{background:hsl(var(--background)/.96)!important;transform:none!important}
@media(max-width:1023px){
 .v5-nav .hidden.md\:flex{display:none}
 #mobile-menu-toggle{display:flex;align-items:center;justify-content:center}
 #mobile-menu:not(.hidden){display:block}
 .v5-contact-grid{grid-template-columns:minmax(0,1fr)!important;max-width:680px;margin-inline:auto}
 .v5-form-panel{order:-1;transform:none!important}
 .v5-occasion-hero{padding-top:108px;padding-bottom:40px}
 .v5-occasion-hero .grid{gap:28px}
 .v5-occasion-hero img{height:300px;object-fit:cover}
}
@media(max-width:767px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 main{overflow-x:clip}
 .v5-nav>div>div{height:68px;gap:8px}
 .v5-nav a[href="/"]{font-size:16px;line-height:1.2;max-width:245px;min-width:0}
 .v5-nav a[href="/"] svg{flex-shrink:0;width:20px;height:20px}
 #mobile-menu-toggle{flex-shrink:0;min-width:44px;min-height:44px}
 .v5-home-hero{min-height:0!important;padding:96px 0 36px}
 .v5-home-hero>.container{padding-top:0!important}
 .v5-home-hero .grid{gap:0}
 .v5-home-hero .space-y-8>*+*{margin-top:18px}
 .v5-home-hero h1{font-size:32px;line-height:1.15}
 .v5-home-hero h1 span:last-child{font-size:24px}
 .v5-home-hero p.text-2xl{font-size:20px;line-height:1.4}
 .v5-home-hero p.text-lg{font-size:16px;line-height:1.55}
 .v5-home-hero>.absolute:last-child{display:none}
 .v5-home-hero>.absolute:first-child::after{content:"";position:absolute;inset:0;background:rgba(8,8,15,.5)}
 .v5-home-hero a{white-space:normal;padding-inline:16px}
 .v5-home-hero .flex.flex-col{gap:10px}
 .v5-service-photo{padding-top:68px}
 .v5-service-photo img{height:180px!important;object-position:center 35%}
 .v5-service-intro{margin-top:0!important;padding-top:20px;padding-bottom:32px}
 .v5-service-intro>.container>a{margin-bottom:12px}
 .v5-service-intro h1{font-size:30px;line-height:1.2}
 .v5-service-intro .grid{gap:24px}
 .v5-service-intro [data-motion-initial]{opacity:1!important;transform:none!important}
 .v5-service-intro h1+.v5-actions{margin-top:14px}
 .v5-occasion-hero h1{font-size:30px;line-height:1.2;margin-block:12px 16px}
 .v5-occasion-hero p{font-size:16px;line-height:1.6;margin-bottom:16px}
 .v5-occasion-hero nav{margin-bottom:20px}
 .v5-occasion-hero a{white-space:normal;padding:12px 16px}
 .v5-occasion-hero img{height:240px}
 .v5-actions{gap:10px}
 .v5-actions>a{flex:1 1 180px}
 .v5-contact-section{padding-block:40px}
 .v5-contact-section .mb-16{margin-bottom:28px}
 .v5-contact-grid{gap:24px;width:100%;margin-inline:auto}
 #contact-form{padding:20px;margin-inline:auto}
 #contact-form input:not([name="website"]),#contact-form textarea{min-width:0;font-size:16px}
 #contact-form button[type="submit"]{padding-inline:12px;white-space:normal}
 .v5-contact-grid .p-8{padding:20px}
 .v5-contact-section .flex.items-center.gap-4>div:first-child{flex-shrink:0}
 .v5-contact-section .flex.items-center.gap-4>div:last-child{min-width:0}
 [data-gallery] .grid{gap:10px}
 [data-gallery]{padding-block:40px}
 .v5-cta,.v5-related{padding-block:36px}
 .v5-mobile-contact{display:block;position:fixed;z-index:35;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:hsl(var(--background)/.98);border-top:1px solid hsl(var(--gold)/.35)}
 .v5-mobile-contact .v5-actions{margin:0;flex-wrap:nowrap;gap:8px}
 .v5-mobile-contact .v5-button{flex:1 1 50%;font-size:13px;padding:10px 8px;min-height:48px}
 body.menu-open .v5-mobile-contact,body.v5-form-focus .v5-mobile-contact{display:none}
 footer .flex{flex-wrap:wrap}
}
