﻿@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#2b1731; --muted:#715f76; --raspberry:#e91672; --raspberry-dark:#bd0757; --violet:#7138c6; --orange:#ff782e; --yellow:#ffd75e; --cream:#fffaf8; --blush:#fff0f6; --line:#f0dfe8; }
* { box-sizing:border-box; }
html { font-size:150%; scroll-behavior:smooth; }
body { color:var(--ink); background:var(--cream); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
h1,h2,h3,h4,.brand-name { font-family:Comfortaa,Arial,sans-serif; font-weight:700; }
a { color:inherit; text-decoration:none; }
.topbar { background:#32123f; color:#fff; font-size:.76rem; }
.topbar a { color:#fff; }
.navbar { background:rgba(255,250,248,.94); backdrop-filter:blur(12px); border-bottom:1px solid rgba(238,208,223,.65); }
.navbar-brand { display:flex; align-items:center; gap:.6rem; }
.brand-gift { display:grid; place-items:center; width:40px; height:40px; color:#fff; background:linear-gradient(135deg,#ff822f,#e91672); border-radius:13px; box-shadow:0 7px 16px rgba(233,22,114,.22); }
.brand-name { display:block; color:var(--raspberry); font-size:.88rem; line-height:1.05; text-transform:uppercase; }
.brand-tagline { display:block; color:var(--violet); font-size:.55rem; font-weight:800; letter-spacing:.02em; }
.nav-link { font-size:.82rem; font-weight:700; color:var(--ink)!important; }
.nav-link:hover,.nav-link.active { color:var(--raspberry)!important; }
.nav-asset-menu { align-items:center; gap:1px; }
.header-right { display:flex; flex-direction:column; align-items:flex-end; gap:2px; width:100%; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-height:30px; }
.header-actions .header-phone { margin:0; text-align:right; }
.header-actions .header-phone b { font-size:.435rem; }
.header-actions .header-phone span { font-size:.293rem; }
.navbar .header-actions .btn-berry { padding:.275rem .46rem; font-size:.325rem; }
.nav-asset-link { display:block; padding:0!important; background:transparent!important; }
.nav-asset-link img { display:block; width:118px; height:auto; background:transparent; filter:drop-shadow(0 2px 2px rgba(88,22,72,.08)); transition:transform .2s ease,filter .2s ease; }
.nav-asset-link:hover img,.nav-asset-link:focus-visible img { filter:drop-shadow(0 4px 4px rgba(88,22,72,.2)); transform:translateY(-2px) scale(1.04); }
.navbar-toggler { color:var(--ink); font-size:1.7rem; line-height:1; }
.navbar-toggler i { display:block; }
.btn { --bs-btn-border-radius:999px; font-weight:800; font-size:.82rem; padding:.7rem 1.2rem; }
.btn-berry { color:#fff; background:var(--raspberry); border-color:var(--raspberry); box-shadow:0 9px 20px rgba(233,22,114,.24); }
.btn-berry:hover { color:#fff; background:var(--raspberry-dark); border-color:var(--raspberry-dark); transform:translateY(-1px); }
.btn-sun { background:var(--yellow); border-color:var(--yellow); color:var(--ink); }
.btn-sun:hover { color:var(--ink); background:#ffc836; border-color:#ffc836; }
.section { padding:5.4rem 0; }
.eyebrow { margin:0 0 .7rem; color:var(--raspberry); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.section-title { max-width:720px; margin:0; font-size:clamp(1.7rem,3.5vw,2.7rem); line-height:1.2; }
.section-lead { max-width:540px; margin:1rem 0 0; color:var(--muted); font-size:.96rem; line-height:1.7; }
.hero { position:relative; min-height:650px; padding:7.5rem 0 5.5rem; overflow:hidden; isolation:isolate; background:#ffeaf3; }
.hero:before { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(255,239,246,.98) 0%,rgba(255,239,246,.87) 42%,rgba(255,239,246,.06) 76%),url('images/hero.jpg') 76% center/cover no-repeat; content:''; }
.hero:after { position:absolute; right:-100px; bottom:-100px; z-index:-1; width:340px; height:340px; border:52px solid rgba(255,215,94,.43); border-radius:50%; content:''; }
.hero-copy { max-width:590px; }
.hero-copy .d-flex { flex-wrap:nowrap; }
.hero-copy .btn { white-space:nowrap; }
.hero-title { max-width:550px; margin:.2rem 0 1rem; color:var(--raspberry); font-size:clamp(2.7rem,6.3vw,5.55rem); line-height:.98; letter-spacing:0; text-transform:uppercase; text-shadow:2px 3px 0 rgba(255,255,255,.5); }
.hero-title span { color:var(--orange); }
.hero-subtitle { max-width:430px; margin:0; font-family:Comfortaa,Arial,sans-serif; font-size:clamp(1.15rem,2vw,1.55rem); font-weight:700; line-height:1.45; }
.hero-text { max-width:425px; margin:1.2rem 0 1.7rem; color:#594159; font-size:.92rem; line-height:1.65; }
.hero-note { display:inline-block; margin-top:2rem; padding:.65rem .85rem; background:#fffdfb; box-shadow:0 9px 20px rgba(108,36,95,.12); color:var(--violet); font-family:Comfortaa,Arial,sans-serif; font-size:.72rem; font-weight:700; transform:rotate(-3deg); }
.confetti { position:absolute; z-index:-1; border-radius:50%; opacity:.9; }
.confetti.one { top:18%; left:45%; width:21px; height:21px; background:var(--yellow); }
.confetti.two { top:30%; left:52%; width:12px; height:12px; background:var(--raspberry); }
.confetti.three { top:12%; right:8%; width:26px; height:26px; background:#e94d91; }
.services-strip { position:relative; margin-top:-3rem; z-index:2; }
.service-tile { display:flex; min-height:195px; flex-direction:column; justify-content:end; padding:1.25rem; overflow:hidden; color:#fff; background:#333 center/cover; border-radius:12px; box-shadow:0 13px 28px rgba(87,25,68,.16); isolation:isolate; transition:transform .2s ease; }
.service-tile:hover { color:#fff; transform:translateY(-5px); }
.service-tile:before { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(44,13,38,.78),rgba(48,11,43,.03) 75%); content:''; }
.service-tile.studio { background-image:url('images/studio.jpg'); }
.service-tile.workshop { background-image:url('images/workshop.jpg'); }
.service-tile.party { background-image:url('images/party.jpg'); }
.tile-label { display:inline-flex; align-items:center; width:fit-content; gap:.4rem; padding:.25rem .55rem; margin-bottom:auto; border-radius:999px; background:rgba(255,255,255,.22); backdrop-filter:blur(4px); font-size:.68rem; font-weight:800; }
.service-tile h3 { margin:0; font-size:1.1rem; }
.service-tile p { margin:.45rem 0 .8rem; font-size:.73rem; }
.tile-arrow { display:inline-flex; align-items:center; justify-content:center; width:31px; height:31px; margin-left:auto; border-radius:50%; background:#fff; color:var(--raspberry); }
.benefits { border-block:1px solid var(--line); background:#fff; }
.benefit { display:flex; align-items:center; gap:.85rem; padding:1.2rem 0; }
.benefit i { display:grid; flex:0 0 38px; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--blush); color:var(--raspberry); font-size:1.05rem; }
.benefit strong { display:block; font-size:.76rem; line-height:1.35; }
.agenda { background:linear-gradient(180deg,#fffaf8,#fff4f8); }
.event-card { height:100%; overflow:hidden; border:0; border-radius:12px; box-shadow:0 8px 21px rgba(87,25,68,.09); }
.event-media { position:relative; height:172px; background:center/cover; }
.event-placeholder { display:grid; place-items:center; background:#fff0f6; }
.event-placeholder > i { color:#e91672; font-size:2.2rem; opacity:.52; }
.event-date { position:absolute; top:12px; left:12px; padding:.45rem .45rem; border-radius:9px; background:#fff; color:var(--raspberry); font-size:.68rem; font-weight:800; line-height:1.05; text-align:center; }
.event-date b { display:block; font-size:1.2rem; }
.event-card .card-body { display:flex; flex-direction:column; padding:1rem; }
.event-card h3 { min-height:2.7em; font-size:.93rem; line-height:1.4; }
.event-meta { display:flex; justify-content:space-between; gap:.5rem; color:var(--muted); font-size:.7rem; }
.price { color:var(--raspberry); font-weight:800; }
.gallery-item { overflow:hidden; border-radius:12px; }
.gallery-item img { width:100%; height:100%; min-height:190px; object-fit:cover; transition:transform .35s ease; }
.gallery-item:hover img { transform:scale(1.05); }
.quote-card { display:grid; grid-template-columns:2.2rem minmax(0,1fr); grid-template-rows:1fr auto; column-gap:.3rem; height:100%; padding:1.5rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.quote-mark { grid-row:1 / -1; align-self:stretch; height:100%; color:var(--orange); font-family:Georgia,serif; font-size:3rem; line-height:.65; }
.quote-card p { grid-column:2; margin:1rem 0; font-size:.85rem; line-height:1.7; }
.quote-author { color:var(--violet); font-size:.72rem; font-weight:800; }
.stars { grid-column:2; color:#ffad18; font-size:.9rem; letter-spacing:.05em; }
.location { background:#fff; }
.map-frame { position:relative; min-height:345px; overflow:hidden; background:linear-gradient(135deg,#d9efe4 0 30%,#f9e1e8 30% 50%,#ecf5d9 50%); border-radius:12px; }
.map-frame:before,.map-frame:after { position:absolute; background:rgba(255,255,255,.75); content:''; transform:rotate(-16deg); }
.map-frame:before { top:46%; left:-9%; width:120%; height:28px; }
.map-frame:after { top:-13%; left:48%; width:32px; height:130%; }
.map-pin { position:absolute; top:47%; left:53%; z-index:1; display:grid; place-items:center; width:47px; height:47px; border-radius:50% 50% 50% 0; background:var(--raspberry); color:#fff; box-shadow:0 9px 18px rgba(233,22,114,.3); transform:rotate(-45deg); }
.map-pin i { transform:rotate(45deg); }
.map-label { position:absolute; top:32%; left:59%; z-index:1; padding:.6rem .7rem; border-radius:9px; background:#fff; color:var(--raspberry); font-family:Comfortaa,Arial,sans-serif; font-size:.7rem; font-weight:700; transform:rotate(-4deg); }
.contact-list { display:grid; gap:1.15rem; margin-top:1.6rem; }
.contact-list div { display:flex; gap:.7rem; align-items:flex-start; }
.contact-list i { color:var(--raspberry); font-size:1rem; }
.contact-list b,.contact-list span { display:block; font-size:.8rem; }
.contact-list span { margin-top:.14rem; color:var(--muted); }
.request { position:relative; overflow:hidden; background:linear-gradient(125deg,#ffe0ed,#fbd8f3 50%,#fff1bd); }
.request:after { position:absolute; top:-80px; right:5%; width:200px; height:200px; border:30px solid rgba(255,255,255,.45); border-radius:50%; content:''; }
.request-form { position:relative; z-index:1; padding:1.5rem; border:1px solid rgba(255,255,255,.7); border-radius:12px; background:rgba(255,255,255,.7); box-shadow:0 12px 28px rgba(157,42,99,.11); backdrop-filter:blur(6px); }
.form-control,.form-select { min-height:47px; border-color:#ecd9e5; border-radius:9px; font-size:.8rem; }
.form-control:focus,.form-select:focus { border-color:#f08ab9; box-shadow:0 0 0 .2rem rgba(233,22,114,.12); }
.form-label { margin-bottom:.35rem; color:var(--ink); font-size:.72rem; font-weight:800; }
.form-note { margin:1rem 0 0; color:var(--muted); font-size:.64rem; line-height:1.5; }
.site-footer { padding:3.8rem 0 1.5rem; color:#fff; background:#32123f; }
.footer-title { margin-bottom:1rem; color:#ffd75e; font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.footer-links { display:grid; gap:.55rem; font-size:.78rem; }
.footer-links a { color:rgba(255,255,255,.78); }
.footer-links a:hover { color:#fff; }
.footer-bottom { padding-top:1.8rem; margin-top:2rem; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.54); font-size:.68rem; }
.page-hero { position:relative; min-height:400px; padding:8.5rem 0 4.4rem; overflow:hidden; color:#fff; background:center/cover; isolation:isolate; }
.page-hero:before { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(54,13,54,.86),rgba(87,22,87,.35)); content:''; }
.page-hero h1 { max-width:650px; margin:.4rem 0 1rem; font-size:clamp(2.3rem,5vw,4.25rem); line-height:1.1; }
.page-hero p { max-width:540px; margin:0; font-size:.95rem; line-height:1.65; }
.pricing-card { height:100%; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 7px 20px rgba(87,25,68,.07); }
.pricing-card img { width:100%; height:210px; object-fit:cover; }
.pricing-card .card-body { padding:1.35rem; }
.pricing-card h3 { font-size:1.1rem; }
.pricing-card p { color:var(--muted); font-size:.78rem; line-height:1.6; }
.pricing-card .price { display:block; margin:1rem 0; font-size:1rem; }
.package { position:relative; height:100%; padding:1.8rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.package.featured { color:#fff; background:linear-gradient(140deg,#e91672,#f36fa7); border:0; box-shadow:0 15px 30px rgba(218,48,118,.25); }
.package-label { color:var(--orange); font-size:.69rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.package.featured .package-label { color:var(--yellow); }
.package h3 { margin:.55rem 0 1rem; font-size:1.45rem; }
.package ul { display:grid; gap:.7rem; padding:0; margin:1.3rem 0; list-style:none; color:var(--muted); font-size:.78rem; }
.package.featured ul { color:rgba(255,255,255,.85); }
.package li:before { margin-right:.5rem; color:var(--raspberry); content:'✓'; font-weight:800; }
.package.featured li:before { color:var(--yellow); }
.package-cost { margin-top:auto; color:var(--raspberry); font-family:Comfortaa,Arial,sans-serif; font-size:1.4rem; font-weight:700; }
.package.featured .package-cost { color:#fff; }
.info-band { background:#fff1c9; }
.info-band i { color:var(--orange); font-size:1.5rem; }
@media (max-width:991.98px) { .navbar > .container { position:relative; } .navbar > .container > .btn.d-lg-none { position:fixed; z-index:1050; top:2.85rem; right:.75rem; display:inline-flex!important; align-items:center; justify-content:center; min-width:44px; min-height:40px; padding:.35rem .6rem; } .navbar-collapse { padding:1rem 0; } .hero:before { background:linear-gradient(90deg,rgba(255,239,246,.96),rgba(255,239,246,.72)),url('images/hero.jpg') 72% center/cover no-repeat; } .services-strip { margin-top:0; padding-top:1.3rem; background:#fff3f7; } }
@media (max-width:575.98px) { .section { padding:3.8rem 0; } .hero { min-height:615px; padding-top:6.6rem; } .hero:before { background:linear-gradient(0deg,rgba(255,239,246,.94),rgba(255,239,246,.83)),url('images/hero.jpg') 68% center/cover no-repeat; } .hero-title { font-size:2.85rem; } .service-tile { min-height:165px; } .map-frame { min-height:270px; } .request-form { padding:1.15rem; } }

/* Home page — live responsive implementation of the supplied layout. */
body { background:#fff9fc; }
.container { max-width:1180px; }
.topbar { display:none; }
.navbar { min-height:66px; padding-block:.55rem!important; background:rgba(255,255,255,.88); backdrop-filter:blur(8px); border-bottom:1px solid rgba(244,230,237,.78); }
.navbar-brand { gap:.45rem; }
.brand-gift { width:34px; height:34px; border-radius:10px; }
.brand-name { font-size:.78rem; line-height:1.02; }
.brand-tagline { font-size:.48rem; }
.nav-link { padding-inline:.48rem!important; color:#2d1732!important; font-size:.65rem; }
.header-phone { margin-inline:.5rem 1rem; line-height:1.05; }
.header-phone b { display:block; font-size:.74rem; }.header-phone span { display:block; color:#806d7d; font-size:.47rem; }
.navbar .btn-berry { padding:.55rem .92rem; font-size:.65rem; }
.mobile-menu-trigger { display:none; border:0; border-radius:9px; padding:.35rem .55rem; background:var(--raspberry); color:#fff; font-size:1.25rem; line-height:1; }
.hero { min-height:430px; padding:2.8rem 0 3.2rem; background:#fff0f6; }
.hero:before { background:linear-gradient(90deg,rgba(255,242,248,.98) 0%,rgba(255,240,247,.88) 39%,rgba(255,240,247,.08) 78%),url('images/hero.jpg') 71% 38%/cover no-repeat; }
.hero:after { right:-25px; bottom:-112px; width:225px; height:225px; border-width:34px; }
.hero-layout { position:relative; min-height:288px; }
.hero-copy { max-width:380px; }.hero-title { margin:0 0 .5rem; font-size:clamp(2.45rem,4.3vw,4.1rem); line-height:.94; }.hero-subtitle { font-size:1rem; line-height:1.4; }.hero-text { max-width:310px; margin:.7rem 0 .9rem; font-size:.67rem; line-height:1.52; }.hero .btn { padding:.48rem .78rem; font-size:.62rem; }.hero-video { color:#2c1930; }
.hero-note-main { position:absolute; top:23px; left:39%; margin:0; padding:.62rem .72rem; color:#603570; font-size:.66rem; line-height:1.38; text-align:center; transform:rotate(-7deg); }.hero-note-main i { color:var(--raspberry); }
.hero-checklist { position:absolute; top:34px; right:1.5%; display:grid; gap:.1rem; width:134px; padding:.86rem .75rem .7rem; background:#fff4b9; box-shadow:0 9px 16px rgba(104,67,29,.16); color:#40223f; font-family:Comfortaa,Arial,sans-serif; font-size:.62rem; line-height:1.36; transform:rotate(5deg); }.hero-checklist i { justify-self:end; margin-bottom:.1rem; color:var(--raspberry); font-size:1.5rem; }.hero-checklist strong:before { margin-right:.3rem; color:var(--raspberry); content:'♥'; }
.confetti.one { top:23%; left:47%; width:18px; height:18px; }.confetti.two { top:48%; left:54%; }.confetti.three { top:12%; right:8%; }
.services-strip { margin-top:-1.4rem; }.services-strip .row { --bs-gutter-x:.65rem; --bs-gutter-y:.65rem; }
.service-tile { min-height:145px; padding:.9rem; border-radius:10px; box-shadow:0 8px 17px rgba(87,25,68,.16); }.service-tile:before { background:linear-gradient(0deg,rgba(67,9,54,.7),rgba(49,9,47,.04) 77%); }.service-tile.studio { background-image:linear-gradient(135deg,rgba(232,24,108,.52),rgba(255,105,158,.02)),url('images/studio.jpg'); }.service-tile.workshop { background-image:linear-gradient(135deg,rgba(244,87,3,.61),rgba(255,174,34,.03)),url('images/workshop.jpg'); }.service-tile.party { background-image:linear-gradient(135deg,rgba(233,46,125,.71),rgba(255,151,190,.04)),url('images/party.jpg'); }
.service-tile h3 { max-width:200px; margin-top:auto; font-size:.94rem; line-height:1.13; }.service-tile p { margin:.3rem 0 .5rem; font-size:.59rem; line-height:1.28; }.tile-more { display:inline-flex; align-items:center; gap:.3rem; width:max-content; padding:.32rem .5rem; border-radius:999px; background:rgba(255,255,255,.88); color:var(--raspberry); font-size:.57rem; font-weight:800; }.rental .tile-more { color:#6b4023; }
.benefits { border:0; background:#fff; }.benefit { gap:.45rem; padding:.72rem 0; }.benefit i { flex-basis:28px; width:28px; height:28px; border-radius:8px; font-size:.76rem; }.benefit strong { font-size:.57rem; line-height:1.2; }
.section { padding:2.65rem 0; }.agenda { background:#fff9fc; }.eyebrow { margin-bottom:.3rem; font-size:.55rem; }.section-title { font-size:clamp(1.25rem,2.2vw,1.82rem); }.section-lead { font-size:.72rem; }
.agenda .btn-outline-dark { padding:.44rem .82rem; border-width:1px; font-size:.6rem; }.event-media { height:126px; }.event-date { top:7px; left:7px; padding:.3rem; border-radius:8px; font-size:.52rem; }.event-date b { font-size:.93rem; }.event-card .card-body { min-height:97px; padding:.66rem; }.event-card h3 { min-height:auto; margin-bottom:.55rem; font-family:Manrope,Arial,sans-serif; font-size:.63rem; font-weight:800; }.event-meta { font-size:.54rem; }
.section-compact-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }.section-compact-head .section-title { font-size:1.3rem; }.section-compact-head .section-title i { color:var(--orange); }.section-compact-head a { flex:0 0 auto; color:var(--raspberry); font-size:.58rem; font-weight:800; }.gallery-section { padding-top:1.4rem; padding-bottom:1.3rem; }.gallery-item { border-radius:9px; }.gallery-item img { min-height:116px; }.testimonials-section { padding-top:1.3rem; padding-bottom:1.5rem; }.quote-card { padding:.8rem; border-radius:9px; }.quote-mark { float:none; margin-right:0; color:var(--orange); font-size:2.25rem; line-height:.8; }.quote-card p { min-height:3.8em; margin:.35rem 0 .35rem; font-size:.62rem; line-height:1.38; }.stars { font-size:.68rem; }.quote-author { display:none; }
.location { padding-top:1.6rem; padding-bottom:1.9rem; }.contact-list { gap:.65rem; margin-top:.8rem; }.contact-list b,.contact-list span { font-size:.64rem; }.map-frame { min-height:230px; border-radius:10px; }.map-label { font-size:.61rem; }.map-pin { width:38px; height:38px; }
.request { padding:1.9rem 0; }.request:after { width:155px; height:155px; border-width:24px; }.request .section-title { font-size:1.45rem; }.request .section-lead { margin-top:.5rem; font-size:.69rem; }.request-form { padding:.8rem; border-radius:9px; }.form-control,.form-select { min-height:35px; border-radius:7px; font-size:.64rem; }.form-label { margin-bottom:.22rem; font-size:.57rem; }.form-note { font-size:.5rem; }.request .btn { padding:.55rem .85rem; font-size:.6rem; }
.site-footer { padding:1.8rem 0 .8rem; color:#3a1d36; background:#fff; }.site-footer .brand-name { color:var(--raspberry)!important; }.footer-title { margin-bottom:.55rem; color:var(--raspberry); font-size:.62rem; }.footer-links { gap:.35rem; font-size:.6rem; }.footer-links a { color:#4d3249; }.site-footer .text-white-50 { color:#806d7d!important; }.footer-bottom { padding-top:.8rem; margin-top:1rem; border-color:#f4dce7; color:#9b8797; font-size:.52rem; }
@media (max-width:991.98px) { .mobile-menu-trigger { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; }.navbar-collapse { padding:.8rem 0; }.hero { min-height:470px; }.hero-checklist { right:2%; }.hero-note-main { left:46%; }.services-strip { margin-top:-.4rem; padding-top:0; background:#fff9fc; } }
@media (max-width:991.98px) { .header-right { align-items:stretch; gap:14px; padding-top:12px; }.header-actions { justify-content:flex-start; }.navbar-nav.nav-asset-menu { justify-content:flex-start!important; align-self:flex-start; width:100%; margin-right:0!important; margin-left:0!important; padding-left:0; flex-wrap:wrap; gap:8px; }.nav-asset-link img { width:132px; } }
@media (max-width:575.98px) { .navbar { min-height:60px; }.hero { min-height:575px; padding:2rem 0 2.7rem; }.hero:before { background:linear-gradient(0deg,rgba(255,241,247,.94),rgba(255,241,247,.76)),url('images/hero.jpg') 58% center/cover no-repeat; }.hero-layout { min-height:500px; }.hero-copy { max-width:288px; }.hero-title { font-size:2.58rem; }.hero-subtitle { font-size:.9rem; }.hero-text { max-width:278px; font-size:.62rem; }.hero-note-main { top:260px; left:7%; }.hero-checklist { display:none; }.services-strip .row { --bs-gutter-x:.5rem; --bs-gutter-y:.5rem; }.service-tile { min-height:138px; padding:.7rem; }.service-tile h3 { font-size:.73rem; }.service-tile p { font-size:.51rem; }.tile-more { font-size:.5rem; padding:.26rem .4rem; }.section { padding:2.45rem 0; }.event-media { height:122px; }.section-compact-head .section-title { font-size:1.15rem; } }
@media (max-width:991.98px) { .mobile-menu-trigger { position:fixed!important; z-index:3000!important; top:12px!important; right:12px!important; display:flex!important; width:42px!important; height:38px!important; align-items:center!important; justify-content:center!important; } }

/* Supplied design assets */
.hero:before { background:linear-gradient(90deg,rgba(255,255,255,.76) 0%,rgba(255,255,255,.52) 42%,rgba(255,255,255,.06) 78%),url('images/hero-balloons.jpg') center top/cover no-repeat; }
.service-tile.studio { background-image:url('images/service-studio-new.png'); }
.service-tile.workshop { background-image:url('images/service-workshops-new.png'); }
.service-tile.party { background-image:url('images/service-parties-new.png'); }
.service-tile.studio:before,.service-tile.workshop:before,.service-tile.party:before { display:none; }
.service-tile.studio h3,.service-tile.studio p,.service-tile.studio .tile-more,.service-tile.workshop h3,.service-tile.workshop p,.service-tile.workshop .tile-more,.service-tile.party h3,.service-tile.party p,.service-tile.party .tile-more { display:none; }
.service-tile.asset-card,.service-tile.workshop { min-height:0; aspect-ratio:1361 / 1156; background-position:center; background-size:100% 100%; }
@media (max-width:575.98px) { .hero:before { background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,241,247,.82)),url('images/hero-balloons.jpg') center top/auto 58% no-repeat; } .service-tile.asset-card,.service-tile.workshop { aspect-ratio:1361 / 1156; } }
@media (max-width:575.98px) { .hero-copy .d-flex { flex-wrap:wrap; } }

.services-slider { position:relative; overflow:hidden; border-radius:10px; box-shadow:0 8px 17px rgba(87,25,68,.16); }
.services-slider-track { display:flex; transition:transform .5s ease; }
.services-slide { display:block; width:100%; min-width:100%; border-radius:0; box-shadow:none; transform:none!important; }
.services-slider-control { position:absolute; top:50%; z-index:1; display:grid; width:38px; height:38px; padding:0; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:var(--raspberry); line-height:1; transform:translateY(-50%); transition:background .2s ease,color .2s ease; }
.services-slider-control:hover,.services-slider-control:focus-visible { background:var(--raspberry); color:#fff; }
.services-slider-control i { line-height:1; }
.services-slider-prev { left:14px; }.services-slider-next { right:14px; }
.services-slider-dots { position:absolute; bottom:12px; left:50%; display:flex; gap:7px; transform:translateX(-50%); }
.services-slider-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.55); transition:width .2s ease,background .2s ease; }
.services-slider-dots button.is-active { width:22px; border-radius:8px; background:#fff; }
.hero-services-slider { position:absolute; top:50%; right:0; width:min(50%,560px); transform:translateY(-50%); }
.hero-layout .hero-checklist { top:185px; right:52%; }
@media (max-width:991.98px) { .hero-services-slider { right:0; width:48%; } }
@media (max-width:991.98px) { .hero-layout .hero-checklist { display:none; } }
@media (max-width:575.98px) { .hero-services-slider { position:relative; top:auto; right:auto; width:100%; margin-top:1.4rem; transform:none; }.hero-layout { min-height:0; }.hero { min-height:unset!important; }.hero-note-main { display:none; } }

.asset-benefits { padding:18px 0 16px; background:#fff; }
.asset-benefits-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; gap:8px; }
.asset-benefit { display:grid; min-width:0; place-items:center; transition:transform .2s ease,filter .2s ease; }
.asset-benefit img { display:block; width:min(100%,110px); height:auto; object-fit:contain; }
.asset-benefit p { margin:4px 0 0; color:#4b2370; font-family:"Segoe Print","Comic Sans MS",cursive; font-size:clamp(.62rem,1.05vw,.86rem); font-weight:700; line-height:1.08; text-align:center; }
.events-load-more { display:block; margin:1.25rem auto 0; }
.agenda .d-md-flex > a { display:none; }
.asset-benefit:hover { filter:drop-shadow(0 8px 8px rgba(198,60,119,.2)); transform:translateY(-5px) scale(1.04); }
@media (max-width:991.98px) { .asset-benefits-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 18px; }.asset-benefit--atmosphere { order:1; }.asset-benefit--team { order:2; }.asset-benefit--family { order:3; }.asset-benefit--emotions { order:4; }.asset-benefit--comfort { order:5; }.asset-benefit--all { order:6; } }
@media (max-width:575.98px) { .asset-benefits { padding:14px 0; }.asset-benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }.asset-benefit--atmosphere { order:1; }.asset-benefit--team { order:2; }.asset-benefit--family { order:3; }.asset-benefit--emotions { order:4; }.asset-benefit--comfort { order:5; }.asset-benefit--all { order:6; } }

/* Reference repository components: same footer, modal and application-form treatment. */
.no-scroll { overflow:hidden; }
.footer-inner { display:grid; grid-template-columns:1fr auto; gap:1.7rem 1.2rem; padding:2rem 0 1.25rem; }
.footer-brand { grid-column:1 / -1; }
.footer-brand > p { margin:1rem 0 0; color:#806d7d; font-size:.72rem; line-height:1.45; }
.brand { display:inline-flex; align-items:center; gap:.55rem; color:inherit; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:2.15rem; height:2.15rem; overflow:hidden; border-radius:50%; }
.brand-text { display:grid; line-height:1; text-transform:uppercase; }
.brand-text strong { color:var(--raspberry); font-size:.82rem; line-height:1.02; }
.brand-text small { margin-top:.18rem; color:#806d7d; font-size:.43rem; font-weight:800; letter-spacing:.06em; }
.footer-label { margin:0 0 .45rem; color:#a77f98; font-size:.53rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.footer-links { display:grid; align-content:start; gap:.35rem; }
.footer-links a,.footer-button { width:max-content; padding:0; border:0; background:none; color:#4d3249; font-size:.62rem; text-align:left; text-decoration:none; }
.footer-links a:hover,.footer-button:hover { color:var(--raspberry); }
.footer-links a span { color:var(--raspberry); }
.to-top { display:grid; width:2.2rem; height:2.2rem; align-self:end; place-items:center; border:1px solid #f1dbe6; border-radius:50%; background:#fff; color:var(--raspberry); }
.to-top svg { width:1rem; height:1rem; stroke-width:1.8; }
.site-footer .footer-bottom { display:flex; justify-content:space-between; gap:.8rem; padding:.7rem 0 1rem; border-top:1px solid #f4dce7; color:#9b8797; font-size:.52rem; }
.modal-backdrop { position:fixed; z-index:1050; inset:0; background:rgba(44,25,48,.52); opacity:0; transition:opacity .22s ease; }
.modal-backdrop.is-open { opacity:1; }
.modal { position:fixed; z-index:1051; top:50%; left:50%; width:min(calc(100% - 24px),760px); max-height:min(88svh,800px); overflow:auto; border-radius:18px; background:#fffdfb; box-shadow:0 24px 80px rgba(65,25,59,.3); opacity:0; transform:translate(-50%,-47%); transition:opacity .22s ease,transform .22s ease; }
.modal.is-open { opacity:1; transform:translate(-50%,-50%); }
.modal[hidden],.modal-backdrop[hidden] { display:none; }
.modal-panel { padding:1.25rem; }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.modal-head h2 { color:#34162f; font-size:clamp(1.7rem,6vw,2.8rem); }
.modal-lead { max-width:470px; margin:1rem 0 1.3rem; color:#806d7d; font-size:.78rem; }
.icon-button { display:grid; width:2.25rem; height:2.25rem; flex:0 0 2.25rem; place-items:center; border:1px solid #ead7e4; border-radius:50%; background:transparent; color:#34162f; }
.icon-button svg { width:1rem; height:1rem; stroke-width:1.8; }
.form-grid { display:grid; gap:.8rem; }
.field { min-width:0; }
.field > label:not(.checkbox-label) { display:block; margin-bottom:.35rem; color:#34162f; font-size:.68rem; font-weight:800; }
.field > label span:not(.field-optional) { color:var(--raspberry); }
.field-optional { color:#806d7d; font-size:.58rem; font-weight:500; }
.field input:not([type=checkbox]),.field textarea,.field select { width:100%; border:1px solid #ecd9e5; border-radius:8px; outline:none; background:#fff; color:#34162f; font-size:.72rem; transition:border-color .18s ease,box-shadow .18s ease; }
.field input:not([type=checkbox]),.field select { min-height:40px; padding:.55rem .65rem; }
.field textarea { min-height:82px; padding:.65rem; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:#e91672; box-shadow:0 0 0 3px rgba(233,22,114,.12); }
.field.is-invalid input,.field.is-invalid textarea,.field.is-invalid select { border-color:#d3125f; }
.field-error { min-height:14px; margin:.25rem 0 0; color:#b40b54; font-size:.58rem; }
.file-control { display:flex; min-height:42px; align-items:center; gap:.45rem; overflow:hidden; border:1px dashed #d8b9cb; border-radius:8px; padding:.25rem; }
.file-control input { position:absolute; width:1px; height:1px; opacity:0; }
.file-control label { display:inline-flex; min-height:32px; align-items:center; gap:.3rem; padding:.4rem .55rem; border-radius:6px; background:#fff1c9; color:#9d1e62; font-size:.62rem; font-weight:800; cursor:pointer; }
.file-control svg { width:14px; height:14px; stroke-width:1.8; }
.file-control > span { overflow:hidden; color:#806d7d; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
.checkbox-label { display:flex; gap:.45rem; align-items:flex-start; color:#594159; font-size:.62rem; line-height:1.4; cursor:pointer; }
.checkbox-label input { position:absolute; width:1px; height:1px; opacity:0; }
.fake-checkbox { display:grid; width:18px; height:18px; flex:0 0 18px; place-items:center; border:1px solid #c8adbd; border-radius:5px; background:#fff; color:#fff; }
.fake-checkbox svg { width:14px; height:14px; stroke-width:2.2; }
.checkbox-label input:checked + .fake-checkbox { border-color:var(--raspberry); background:var(--raspberry); }
.form-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; margin-top:1rem; }
.form-actions p { margin:0; color:#806d7d; font-size:.55rem; }
.form-success { display:grid; place-items:center; padding:3rem 1rem 2rem; text-align:center; }
.form-success .success-icon { display:grid; width:3rem; height:3rem; place-items:center; margin-bottom:.8rem; border-radius:50%; background:#ffe0ed; color:var(--raspberry); }
.success-icon svg { width:1.5rem; height:1.5rem; stroke-width:2; }
.form-success h3 { margin:0 0 .4rem; font-size:1.6rem; }
.form-success p { max-width:280px; color:#806d7d; font-size:.75rem; }
.modal-policy { width:min(calc(100% - 24px),620px); }
.policy-text { margin-top:1rem; color:#806d7d; font-size:.75rem; }
.policy-text p:last-child { margin-bottom:0; }
.policy-text a { color:var(--raspberry); text-decoration:underline; }
@media (min-width:768px) { .footer-inner { grid-template-columns:1.5fr 1fr 1fr auto; }.footer-brand { grid-column:auto; }.modal-panel { padding:2rem; }.form-grid { grid-template-columns:repeat(2,1fr); }.field-full { grid-column:1 / -1; }.form-actions { flex-direction:row; align-items:center; justify-content:space-between; }.form-actions p { max-width:260px; text-align:right; } }

/* Exact scoped component treatment from avito_order_011. */
.reference-footer.site-footer { padding:0; background:#fffcf7; color:#1e2a24; }
.reference-footer .footer-inner { display:grid; grid-template-columns:1fr auto; gap:35px 20px; padding:52px 0 34px; }
.reference-footer .footer-brand { grid-column:1 / -1; }
.reference-footer .footer-brand > p { margin:16px 0 0; color:#687067; font-family:Georgia,"Times New Roman",serif; font-size:17px; line-height:1.3; }
.reference-footer .brand { display:inline-flex; align-items:center; gap:9px; color:#1e2a24; }
.reference-footer .brand-mark { width:36px; height:36px; border-radius:50%; }
.reference-footer .brand-text { display:grid; line-height:1; text-transform:uppercase; }
.reference-footer .brand-text strong { color:#1e2a24; font-size:17px; font-weight:850; letter-spacing:-.06em; }
.reference-footer .brand-text small { margin-top:2px; color:#687067; font-size:7px; font-weight:800; letter-spacing:.06em; }
.reference-footer .footer-links { display:grid; align-content:start; gap:8px; }
.reference-footer .footer-label { margin:0 0 7px; color:#687067; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.reference-footer .footer-links a,.reference-footer .footer-button { width:fit-content; padding:0; border:0; background:none; color:#1e2a24; font-size:13px; text-align:left; }
.reference-footer .footer-links a:hover,.reference-footer .footer-button:hover { color:#8a6a3e; }
.reference-footer .footer-links a span { color:#8a6a3e; }
.reference-footer .to-top { display:grid; width:44px; height:44px; align-self:end; place-items:center; border:1px solid rgba(30,42,36,.14); border-radius:50%; background:#fff; color:#8a6a3e; }
.reference-footer .to-top:hover { background:#f4ebdd; transform:translateY(-3px); }
.reference-footer .to-top svg { width:20px; height:20px; stroke-width:1.8; }
.reference-footer .footer-bottom { display:flex; justify-content:space-between; gap:14px; padding:17px 0 22px; border-top:1px solid rgba(30,42,36,.14); color:#687067; font-size:10px; }
.reference-modal.modal { width:min(calc(100% - 24px),760px); max-height:min(88svh,800px); border-radius:25px; background:#fffcf7; box-shadow:0 24px 80px rgba(30,42,36,.3); }
.reference-modal .modal-panel { padding:25px; }
.reference-modal .modal-head h2 { color:#1e2a24; font-family:Georgia,"Times New Roman",serif; font-size:clamp(37px,6vw,54px); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.reference-modal .modal-lead { max-width:470px; margin:17px 0 24px; color:#687067; font-size:16px; }
.reference-modal .icon-button { border-color:rgba(30,42,36,.14); color:#1e2a24; }
.reference-modal .form-grid { display:grid; gap:18px; }
.reference-modal .field > label:not(.checkbox-label) { margin-bottom:7px; color:#1e2a24; font-size:13px; font-weight:700; }
.reference-modal .field > label span:not(.field-optional) { color:#8a6a3e; }
.reference-modal .field-optional { color:#687067; font-size:11px; }
.reference-modal .field input:not([type=checkbox]),.reference-modal .field textarea,.reference-modal .field select { border:1px solid rgba(30,42,36,.14); border-radius:10px; background:#fff; color:#1e2a24; font-size:16px; }
.reference-modal .field input:not([type=checkbox]),.reference-modal .field select { min-height:46px; padding:11px 12px; }
.reference-modal .field textarea { min-height:100px; padding:12px; }
.reference-modal .field input:focus,.reference-modal .field textarea:focus,.reference-modal .field select:focus { border-color:#8a6a3e; box-shadow:0 0 0 3px rgba(58,87,71,.18); }
.reference-modal .field.is-invalid input,.reference-modal .field.is-invalid textarea,.reference-modal .field.is-invalid select { border-color:#8a6a3e; }
.reference-modal .field-error { min-height:16px; margin:5px 0 0; color:#614724; font-size:11px; line-height:1.35; }
.reference-modal .file-control { display:flex; min-height:48px; gap:9px; border:1px dashed rgba(30,42,36,.32); border-radius:10px; padding:5px; }
.reference-modal .file-control label { min-height:36px; padding:7px 10px; border-radius:7px; background:#f4ebdd; color:#8a6a3e; font-size:12px; }
.reference-modal .file-control > span { color:#687067; font-size:11px; }
.reference-modal .checkbox-label { color:#424a44; font-size:12px; }
.reference-modal .fake-checkbox { border-color:rgba(30,42,36,.4); border-radius:5px; background:#fff; }
.reference-modal .checkbox-label input:checked + .fake-checkbox { border-color:#8a6a3e; background:#8a6a3e; }
.reference-modal .form-actions { gap:11px; margin-top:24px; }
.reference-modal .form-actions p { color:#687067; font-size:10px; }
.reference-modal .button { min-height:52px; padding:13px 20px; border:1px solid #8a6a3e; border-radius:999px; background:#8a6a3e; color:#fff; font-size:14px; }
.reference-modal .button:hover { border-color:#614724; background:#614724; }
.reference-modal .form-success .success-icon { background:#dce7df; color:#1e2a24; }
.reference-modal .form-success h3 { font-size:35px; }
.map-frame { position:relative; overflow:hidden; }
.map-frame iframe { display:block; width:100%; height:449px; min-height:449px; border:0; }
.map-frame::before,.map-frame::after,.map-pin,.map-label { display:none!important; }
@media (min-width:768px) { .reference-footer .footer-inner { grid-template-columns:1.5fr 1fr 1fr auto; }.reference-footer .footer-brand { grid-column:auto; }.reference-modal .modal-panel { padding:35px; }.reference-modal .form-grid { grid-template-columns:repeat(2,1fr); }.reference-modal .field-full { grid-column:1 / -1; }.reference-modal .form-actions { flex-direction:row; align-items:center; justify-content:space-between; }.reference-modal .form-actions p { max-width:300px; text-align:right; } }
@media (max-width:575.98px) { .map-frame iframe { height:351px; min-height:351px; } }

/* Request and footer layout matching the supplied reference. */
.request-reference { padding:3.1rem 0 2.65rem; background:linear-gradient(120deg,#fffaf7 0%,#fff8f4 57%,#fffdf9 100%); }
.request-reference-grid { display:grid; grid-template-columns:270px minmax(0,1fr) 220px; column-gap:34px; row-gap:14px; align-items:center; }
.request-reference-grid::before { grid-column:1 / -1; width:100%; color:#241326; content:'Давайте создадим ваш особенный момент'; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4vw,3.55rem); font-weight:400; line-height:1.08; }
.request-reference .request-intro h2 { margin:0 0 16px; color:#241326; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4vw,3.55rem); font-weight:400; line-height:1.08; letter-spacing:-.04em; }
.request-reference .request-intro p { max-width:235px; margin:0; color:#594159; font-size:.72rem; line-height:1.55; }
.request-gift-mark { display:grid; width:72px; height:72px; place-items:center; margin:28px 0 0 12px; border-radius:50%; background:radial-gradient(circle,#ffe0e8 0 45%,rgba(255,224,232,0) 70%); color:#d74987; font-size:2.1rem; transform:rotate(-8deg); }
.reference-request-form { padding:0; border:0; background:transparent; box-shadow:none; }
.request-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.request-form-grid input,.request-form-grid select,.request-form-grid textarea { width:100%; border:1px solid #ead7d1; border-radius:9px; outline:none; background:rgba(255,255,255,.74); color:#352039; padding:11px 13px; font:500 .72rem Manrope,Arial,sans-serif; }
.request-form-grid input,.request-form-grid select { min-height:38px; }
.request-form-grid textarea { grid-column:1/-1; min-height:80px; resize:vertical; }
.request-form-grid input:focus,.request-form-grid select:focus,.request-form-grid textarea:focus { border-color:#d34a87; box-shadow:0 0 0 3px rgba(211,74,135,.1); }
.request-consent { grid-column:1/-1; display:flex; align-items:center; gap:10px; min-height:38px; padding:0 12px; border:1px solid #ead7d1; border-radius:9px; color:#806d7d; font-size:.58rem; cursor:pointer; }
.request-consent input { width:15px; height:15px; margin:0; accent-color:#ce4c86; }
.request-form-grid .btn { grid-column:1; justify-self:start; min-width:168px; margin-top:2px; padding:.66rem 1.15rem; border-radius:8px; font-size:.7rem; }
.request-form-grid small { grid-column:1/-1; color:#806d7d; font-size:.55rem; }
.request-socials { display:grid; gap:9px; }
.request-socials a { display:flex; min-height:38px; align-items:center; gap:12px; padding:0 14px; border:1px solid #ead7d1; border-radius:9px; background:rgba(255,255,255,.77); color:#241326; font-size:.69rem; font-weight:700; transition:transform .2s ease,box-shadow .2s ease; }
.request-socials a:hover { box-shadow:0 6px 15px rgba(117,48,83,.1); transform:translateY(-2px); }
.request-socials .contact-icon { display:grid; width:22px; height:22px; flex:0 0 22px; place-items:center; border-radius:0; line-height:1; background:transparent; }
.request-socials .contact-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.footer-reference-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:38px; align-items:start; padding:27px 0 20px; }
.reference-footer.site-footer { background:linear-gradient(105deg,#cb4b84,#c63c77); color:#fff; }
.reference-footer .brand-text strong,.reference-footer .brand-text small,.reference-footer .footer-brand > p,.reference-footer .footer-label,.reference-footer .footer-links a { color:#fff; }
.footer-logo { display:inline-flex; align-items:center; gap:11px; color:#fff; text-decoration:none; }
.footer-logo-seal { display:grid; width:47px; height:47px; place-items:center; border:2px solid rgba(255,255,255,.92); border-radius:50%; background:#fff; color:#d14883; font-size:1.55rem; box-shadow:0 4px 10px rgba(101,27,64,.16); }
.footer-logo-copy { display:grid; gap:2px; line-height:1; }
.footer-logo-copy strong { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1rem; font-weight:700; }
.footer-logo-copy small { color:#fff; font-size:.54rem; font-weight:700; }
.reference-footer .brand-mark { border:2px solid rgba(255,255,255,.85); background:#fff; color:#d14883; }
.reference-footer .footer-brand > p { margin-top:17px; font-family:Manrope,Arial,sans-serif; font-size:.68rem; font-weight:600; line-height:1.65; }
.reference-footer .footer-links { display:grid; gap:10px; }
.reference-footer .footer-label { margin:0 0 2px; font-size:.72rem; font-weight:800; }
.reference-footer .footer-links a { font-size:.68rem; }
.footer-motto { align-self:center; justify-self:end; color:#fff; text-align:center; }
.footer-hearts { display:flex; justify-content:center; align-items:center; margin-bottom:20px; }
.footer-hearts svg { width:43px; height:37px; fill:none; stroke:#fff; stroke-width:1.5; }
.footer-hearts svg + svg { margin-left:-12px; transform:translateY(-5px); }
.footer-motto strong { font-size:.77rem; line-height:1.45; }
.reference-footer .footer-bottom { padding:15px 0 18px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.9); font-size:.57rem; }
.site-logo-lockup,.footer-logo-lockup { display:inline-flex; align-items:center; gap:9px; color:inherit; text-decoration:none; }
.site-logo,.footer-logo { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; overflow:hidden; margin:0; border-radius:50%; }
.site-logo img,.footer-logo img { display:block; width:100%; height:100%; object-fit:cover; }
.site-logo-copy,.footer-logo-copy { display:grid; gap:2px; line-height:1; }
.site-logo-copy strong { color:var(--raspberry); font-family:Comfortaa,Arial,sans-serif; font-size:.78rem; font-weight:800; text-transform:uppercase; }
.site-logo-copy small { color:var(--violet); font-size:.48rem; font-weight:800; }
.footer-logo-copy strong { color:#fff; font-family:Comfortaa,Arial,sans-serif; font-size:.8rem; font-weight:800; }
.footer-logo-copy small { color:#fff; font-size:.48rem; font-weight:700; }
/* The inner pages use the compact legacy logo link; keep the same lockup there. */
.navbar > .container > .site-logo { width:auto; flex:0 0 auto; overflow:visible; border-radius:0; display:inline-flex; gap:9px; }
.navbar > .container > .site-logo::after { content:'Подари момент'; color:var(--raspberry); font-family:Comfortaa,Arial,sans-serif; font-size:.78rem; font-weight:800; line-height:1; text-transform:uppercase; }
@media (max-width:991.98px) { .request-reference-grid { grid-template-columns:1fr 1.5fr; }.request-socials { grid-column:1/-1; grid-template-columns:repeat(5,1fr); }.request-socials a { justify-content:center; padding:0 8px; }.request-socials a span { display:none; }.footer-reference-grid { grid-template-columns:1.4fr 1fr .8fr; } }
@media (max-width:575.98px) { .request-reference-grid { grid-template-columns:1fr; gap:24px; }.request-gift-mark { margin-top:18px; }.request-form-grid { grid-template-columns:1fr; }.request-form-grid textarea,.request-consent,.request-form-grid .btn,.request-form-grid small { grid-column:1; }.request-socials { grid-template-columns:1fr; }.request-socials a { justify-content:flex-start; padding:0 14px; }.request-socials a span { display:inline; }.footer-reference-grid { grid-template-columns:1fr 1fr; gap:22px; }.footer-motto { grid-column:1/-1; justify-self:start; text-align:left; }.footer-hearts { justify-content:flex-start; margin-bottom:11px; } }

.reviews-controls { display:flex; gap:8px; }
.reviews-control { display:grid; width:34px; height:34px; padding:0; place-items:center; border:1px solid var(--orange); border-radius:50%; background:#fff; color:var(--orange); line-height:1; transition:background .2s ease,color .2s ease,transform .2s ease; }
.reviews-control i { display:block; margin:0; line-height:1; }
.reviews-control:hover:not(:disabled),.reviews-control:focus-visible:not(:disabled) { background:var(--orange); color:#fff; transform:translateY(-2px); }
.reviews-control:disabled { cursor:not-allowed; opacity:.4; }
.reviews-track { display:grid; grid-auto-columns:calc((100% - 32px) / 3); grid-auto-flow:column; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; padding:2px 0 10px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.reviews-track::-webkit-scrollbar { display:none; }
.reviews-track .quote-card { grid-template-rows:1fr auto auto; min-height:172px; scroll-snap-align:start; }
.reviews-track .quote-author { display:block; grid-column:2; align-self:end; }
@media (max-width:767.98px) { .reviews-track { grid-auto-columns:calc((100% - 12px) / 2); gap:12px; }.reviews-track .quote-card { min-height:148px; } }
@media (max-width:575.98px) { .reviews-track { grid-auto-columns:100%; }.reviews-controls { gap:6px; }.reviews-control { width:31px; height:31px; } }

/* Temporarily hide the service-page content, keeping the request form available. */
main:has(.page-hero) { position:relative; }
main:has(.page-hero) > section:not(.request-reference) { filter:blur(7px); pointer-events:none; user-select:none; }
main:has(.page-hero)::before { position:absolute; z-index:2; top:min(45vh,360px); right:24px; left:24px; display:block; width:max-content; max-width:calc(100% - 48px); padding:18px 28px; margin:auto; border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(91,37,74,.2); color:var(--raspberry); content:'В разработке'; font-size:clamp(1.25rem,3vw,2rem); font-weight:800; letter-spacing:.04em; pointer-events:none; text-align:center; text-transform:uppercase; }
main:has(.page-hero) > .request-reference { position:relative; z-index:3; }

