.header{margin:14px 3%;padding:0 24px;border:1px solid var(--line);border-radius:18px;top:12px;box-shadow:0 10px 35px #10081510;background:var(--paper);gap:14px;z-index:90}.header>.brand{margin-right:auto}.header nav{gap:20px}.header .theme-toggle{order:3;margin:0}.utility-language{order:4;position:relative}.utility-icon{order:5}.menu-toggle{order:6}.utility-language summary,.utility-icon{width:38px;height:42px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ink);cursor:pointer;list-style:none}.utility-language summary::-webkit-details-marker{display:none}.utility-language svg,.utility-icon svg,.footer-socials svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}.utility-language>div{position:absolute;right:0;top:48px;width:255px;background:var(--paper);color:var(--ink);padding:18px;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 40px #0003}.utility-language>div a{display:block;padding:10px}.menu-brand{display:none}.header .menu-toggle{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:20px;height:2px;background:currentColor;transition:transform .25s}.menu-lines{position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;top:-6px}.menu-lines:after{top:6px}.menu-is-open .menu-lines{background:transparent}.menu-is-open .menu-lines:before{top:0;transform:rotate(45deg)}.menu-is-open .menu-lines:after{top:0;transform:rotate(-45deg)}
.hero-services{position:absolute;right:5%;bottom:120px;z-index:5;width:310px;color:var(--ink);padding-top:12px}.hero-services-toggle{width:100%;display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 20px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;cursor:pointer;box-shadow:0 10px 35px #0003}.service-grid-icon{font-size:28px;color:var(--magenta)}.service-toggle-plus{font-size:28px;margin-left:auto;transition:transform .3s}.is-open .service-toggle-plus{transform:rotate(45deg)}.hero-service-cards{position:absolute;bottom:100%;left:0;right:0;display:flex;flex-direction:column;gap:8px;visibility:hidden;pointer-events:none}.hero-service-cards>a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 25px #0002;opacity:0;transform:translateY(35px);transition:transform .32s ease,opacity .25s ease}.hero-service-cards img{width:58px;height:58px;border-radius:9px;object-fit:cover}.hero-service-cards strong{display:block;font-size:14px;line-height:1.3}.hero-service-cards small{display:block;font-size:9px;letter-spacing:.1em;color:var(--plum);margin-bottom:5px}.hero-service-cards a>span:last-child{margin-left:auto;color:var(--magenta)}.is-open .hero-service-cards{visibility:visible;pointer-events:auto}.is-open .hero-service-cards>a{opacity:1;transform:none}.is-open .hero-service-cards>a:nth-child(3){transition-delay:.04s}.is-open .hero-service-cards>a:nth-child(2){transition-delay:.08s}.is-open .hero-service-cards>a:nth-child(1){transition-delay:.12s}.hero-service-cards>a:hover{border-color:var(--magenta);transform:translateX(-6px)}
footer{background:#41162b!important;color:#fff!important;--ink:#fff;--copy:#fff;--line:#ffffff55;--plum:#fff;--paper:#41162b}.footer-brand .brand-lockup>.brand-symbol,.footer-brand .brand-lockup>.brand-wordmark{display:none}.footer-brand .brand-lockup>img.brand-dark{display:block!important}.footer-brand .brand-lockup{background:transparent;mix-blend-mode:normal}.footer-socials{display:flex;gap:10px;margin:12px 0}.footer-socials>a{display:grid!important;place-items:center;width:44px;height:44px;border:1px solid #66505f;border-radius:50%}.footer-socials>a:hover{background:#d61b6d;color:#fff}.client-dialog{width:min(520px,calc(100% - 32px));padding:40px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink)}.client-dialog::backdrop{background:#09040cbf;backdrop-filter:blur(5px)}.client-dialog h2{font-size:42px;line-height:1.15}.client-close{float:right;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}
@media(max-width:1200px){.header nav{gap:12px}.header{padding:0 16px;gap:7px}.header>.brand{width:180px}.header>.brand .brand-lockup{max-width:180px}.header nav>a,.nav-dropdown>summary{font-size:12px}}
@media(max-width:1050px){.header .menu-toggle{display:flex;align-items:center;justify-content:center}.header nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;max-height:calc(100dvh - 190px);overflow:auto}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a:not(.menu-brand){font-size:23px;padding:14px 10px;border-bottom:1px solid var(--line)}.header .menu-brand{display:block;padding:10px 0 22px}.menu-brand .brand-lockup{width:210px;max-width:210px!important;transform:none!important}.header nav>.nav-dropdown{width:100%}.header nav .nav-dropdown>summary{font-size:23px;padding:14px 10px}.header .mega-menu{position:static;max-height:none;margin:0;box-shadow:none;padding:20px 10px}.header .mega-grid{grid-template-columns:1fr 1fr}.header .mega-group a{font-size:14px}.video-hero .hero-copy{width:100%;max-width:650px}.hero-services{right:4%;bottom:110px;width:280px}.video-hero{padding-bottom:210px}}
@media(max-width:760px){.header{height:72px;margin:8px 10px;padding:0 10px;top:8px;gap:2px;border-radius:16px}.header>.brand{width:115px;min-width:95px;max-width:140px;height:48px}.header>.brand .brand-lockup{width:228px;max-width:none;min-width:228px;transform:scale(.49);transform-origin:left center}.header .theme-toggle,.utility-language summary,.utility-icon,.header .menu-toggle{width:35px;height:40px;min-width:35px}.header .theme-toggle svg{width:19px}.header .menu-toggle{padding:7px}.header nav{top:82px;left:0;right:0;padding:18px;max-height:calc(100dvh - 185px)}.header .mega-grid{grid-template-columns:1fr}.hero-services{right:20px;bottom:110px;width:250px}.hero-services-toggle{min-height:56px;padding:10px 16px}.hero-service-cards img{width:48px;height:48px}.hero-service-cards>a{padding:8px}.hero-service-cards strong{font-size:13px}.video-hero{padding-bottom:210px;min-height:790px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.client-dialog{padding:26px}.client-dialog h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-service-cards>a,.service-toggle-plus,.menu-lines,.menu-lines:before,.menu-lines:after{transition:none!important}}
.header>.menu-toggle{order:6}.header>.utility-language{order:4}.header>.client-access{order:5}.client-access[hidden]{display:none}.video-hero .hero-bottom{position:relative}
@media(max-width:1050px){.hero.video-hero{padding-bottom:180px}.video-hero .hero-bottom{position:absolute;bottom:24px;left:5%;width:90%}.hero-services{bottom:130px}}
@media(max-width:760px){.hero.video-hero{min-height:790px;padding:42px 6% 235px}.hero-services{bottom:142px}.video-hero .hero-bottom{bottom:22px}.menu-brand .brand-lockup{min-width:210px;height:70px}}
/* Supplied transparent dark logo; preserve its complete proportions. */
.header .brand-lockup>img.brand-dark,.menu-brand .brand-lockup>img.brand-dark,.footer-brand .brand-lockup>img.brand-dark{width:100%;height:70px;object-fit:contain;object-position:center;max-width:100%;border-radius:0}

footer .footer-socials{margin:18px 0;justify-content:flex-start}footer .footer-socials>a{border-color:#ffffff80;color:#fff}footer .footer-subscription{margin:0 0 22px;max-width:285px}footer .footer-subscription .button{background:#fff;color:#743758;border:1px solid #fff;font-size:14px;padding:12px 16px}footer .footer-subscription .button:hover{background:#f5e8ef}footer .footer-subscription .form-note{color:#fff;font-size:12px;line-height:1.5;margin-top:10px}footer .footer-bottom{color:#fff}
/* Persistent production planner, separate from the hero's service menu. */
.hero-services.production-float{position:fixed;left:24px;right:auto;bottom:24px;width:310px;z-index:74;padding-top:12px}.production-float .hero-services-toggle{background:#41162b;color:#fff;border-color:#a15d80;font-size:14px}.production-float .service-grid-icon{color:#ff9cc8}.production-float .hero-service-cards{padding-bottom:4px;max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}.production-float .hero-service-cards>a{min-height:72px;flex-shrink:0}.production-float .hero-service-cards small{font-size:12px;letter-spacing:0;margin:4px 0 0}.planning-number{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#d61b6d18;color:var(--plum);border-radius:50%;font-size:12px}.production-float.is-open .hero-service-cards>a:nth-child(4){transition-delay:.03s}.production-float.is-open .hero-service-cards>a:nth-child(3){transition-delay:.06s}.production-float.is-open .hero-service-cards>a:nth-child(2){transition-delay:.09s}.production-float.is-open .hero-service-cards>a:nth-child(1){transition-delay:.12s}.video-modal-open .production-float{visibility:hidden}
@media(max-width:760px){.hero-services.production-float{left:12px;bottom:calc(86px + env(safe-area-inset-bottom));width:min(270px,calc(100vw - 84px))}.production-float .hero-services-toggle{font-size:12px;min-height:48px;padding:8px 12px;gap:8px}.production-float .service-grid-icon{font-size:21px}.production-float .service-toggle-plus{font-size:22px}.production-float .hero-service-cards{max-height:calc(100dvh - 225px)}.production-float .hero-service-cards>a{min-height:67px}.production-float .hero-service-cards strong{font-size:14px}}

/* Compact personal occasions CTA above the main menu. */
.personal-alert{position:relative;background:#41162b;color:#fff;display:flex;justify-content:center;align-items:center;gap:18px;padding:7px 16px;font-size:12px;line-height:1.45;text-align:center}
.personal-alert a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 14px;border:1px solid #ffffff80;border-radius:6px;color:#fff;background:#ffffff10;font-size:12px;font-weight:600;white-space:nowrap;transition:background .18s,color .18s}
.personal-alert a:hover{background:#fff;color:#41162b}.personal-alert a:focus-visible{outline:2px solid #ff91c0;outline-offset:3px}
@media(max-width:480px){.personal-alert{gap:10px;padding:7px 12px;font-size:11px}.personal-alert span{max-width:190px;text-align:left}.personal-alert a{font-size:11px;padding:6px 10px;min-height:34px}}
@media(prefers-reduced-motion:reduce){.personal-alert a{transition:none}}
