:root{--bg:#07050b;--surface:#100c16;--text:#f8f5fb;--muted:#b0a8b7;--purple:#a719ff;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:radial-gradient(circle at 82% 8%,rgba(128,14,211,.16),transparent 30%),var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:10px max(24px,calc((100vw - 1240px)/2));background:rgba(7,5,11,.84);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:flex;width:220px;height:70px}.brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 18px rgba(167,25,255,.22))}nav{display:flex;align-items:center;gap:26px}nav a{color:#c7c0cc;font-weight:600;font-size:.95rem}nav a:hover{color:#fff}.nav-cta{padding:10px 17px;border:1px solid rgba(183,59,255,.7);border-radius:999px;background:rgba(159,27,255,.09)}.menu-button{display:none;color:#fff;background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 13px}.section{max-width:1240px;margin:0 auto;padding:112px 28px}.hero{position:relative;max-width:1240px;min-height:760px;margin:0 auto;padding:90px 28px 60px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:28px}.hero-copy{position:relative;z-index:2}.hero-beam{position:absolute;right:-180px;top:-260px;width:820px;height:820px;border-radius:50%;background:radial-gradient(circle,rgba(177,29,255,.27),rgba(111,19,178,.08) 40%,transparent 68%);filter:blur(12px)}.eyebrow,.kicker{display:block;color:#d39af8;font-size:.78rem;font-weight:800;letter-spacing:.2em}.hero h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;line-height:1.06;margin:0}.hero h1{margin-top:20px;font-size:clamp(3.6rem,7vw,7.2rem);letter-spacing:-.065em}.hero h1 span{display:block;color:transparent;background:linear-gradient(110deg,#eeeef3 12%,#a91cff 58%,#ef26ff);-webkit-background-clip:text;background-clip:text}.hero-copy>p{max-width:660px;margin:28px 0 0;color:#cac3cf;font-size:clamp(1.05rem,1.8vw,1.3rem)}.hero-logo{position:relative;z-index:1;width:100%;max-height:520px;object-fit:contain;filter:drop-shadow(0 22px 55px rgba(137,21,221,.25))}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:7px;font-weight:800;cursor:pointer}.button.primary{color:#fff;background:linear-gradient(120deg,#7813d8,#c72aff);box-shadow:0 12px 34px rgba(161,24,255,.27)}.button.ghost{border:1px solid var(--line);background:rgba(255,255,255,.035)}.quick-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-facts span{padding:18px 24px;text-align:center;color:#c3bcc8;font-weight:600;border-right:1px solid var(--line)}.quick-facts span:last-child{border-right:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:54px}.section-heading h2{margin-top:13px}.section-heading>p{max-width:440px;margin:0;color:var(--muted)}h2{font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.05em}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{min-height:245px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent);transition:.25s ease}.service-grid article:hover{transform:translateY(-3px);background:linear-gradient(145deg,rgba(162,31,255,.14),rgba(255,255,255,.02))}.service-grid article>span{color:#8d8293;font:700 .76rem "Space Grotesk";letter-spacing:.15em}.service-grid h3{margin-top:38px;font-size:1.45rem}.service-grid p{margin:12px 0 0;color:var(--muted);font-size:.94rem}.gallery{border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:54px}.gallery-grid figure{position:relative;overflow:hidden;margin:0;min-height:430px;border:1px solid var(--line);background:var(--surface)}.gallery-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;left:18px;bottom:18px;padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,3,9,.72);font-weight:700;backdrop-filter:blur(12px)}.quote{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;border-top:1px solid var(--line)}.quote-intro{position:sticky;top:120px;align-self:start}.quote-intro h2{margin-top:15px}.quote-intro>p{max-width:450px;color:var(--muted);font-size:1.08rem}.direct-contact{display:grid;gap:8px;margin-top:32px;color:#eadbf4}.direct-contact a{width:max-content;border-bottom:1px solid rgba(190,69,255,.42)}.quote-form{display:grid;gap:20px;padding:34px;border:1px solid rgba(179,50,255,.3);background:linear-gradient(145deg,rgba(29,19,39,.94),rgba(13,10,18,.96));box-shadow:0 24px 70px rgba(0,0,0,.28)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-row.three{grid-template-columns:1.2fr 1fr 1fr}label,legend{color:#eee9f1;font-size:.9rem;font-weight:700}input,select,textarea{width:100%;margin-top:7px;color:#fff;background:#0b0810;border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:13px 14px;outline:none}input,select{height:50px}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus{border-color:#b02cff;box-shadow:0 0 0 3px rgba(176,44,255,.12)}select{color-scheme:dark}fieldset{margin:0;padding:0;border:0}.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.service-options label{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.02);font-weight:600}.service-options input{width:17px;height:17px;margin:0;accent-color:#ad21ff}.submit-button{width:100%}.form-note{margin:-6px 0 0;color:#8f8794;text-align:center;font-size:.78rem}.success-message{display:none;padding:17px;border:1px solid rgba(190,69,255,.42);border-radius:7px;background:rgba(155,29,255,.13);color:#ede6f2}.success-message.show{display:block}.contact{text-align:center;border-top:1px solid var(--line)}.contact h2{max-width:880px;margin:16px auto 0}.contact-actions{justify-content:center}footer{max-width:1240px;min-height:130px;margin:0 auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}footer img{width:190px;height:70px;object-fit:contain}footer p{color:#847d89;font-size:.82rem;text-align:right}
@media(max-width:960px){nav{gap:14px}.service-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-logo{max-width:720px;margin:0 auto}.quote{grid-template-columns:1fr}.quote-intro{position:static}.gallery-grid figure{min-height:350px}}
@media(max-width:760px){html{scroll-padding-top:78px}.site-header{min-height:78px;padding:8px 18px}.brand{width:170px;height:58px}.menu-button{display:block}nav{display:none;position:absolute;left:14px;right:14px;top:72px;flex-direction:column;align-items:stretch;padding:18px;background:#100b16;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.4)}nav.open{display:flex}nav a{padding:7px}.nav-cta{text-align:center}.hero{padding:56px 20px 44px}.hero h1{font-size:clamp(3.1rem,15vw,5.6rem)}.quick-facts{grid-template-columns:1fr}.quick-facts span{border-right:0;border-bottom:1px solid var(--line)}.quick-facts span:last-child{border-bottom:0}.section{padding:82px 20px}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{min-height:330px}.quote-form{padding:22px}.form-row,.form-row.three{grid-template-columns:1fr}.service-options{grid-template-columns:1fr}footer{flex-direction:column;text-align:center}footer p{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.gallery-grid{position:relative;display:block;width:min(100%,980px);aspect-ratio:4/3;margin:54px auto 0;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.36)}
.gallery-grid figure{position:absolute;inset:0;min-height:0;overflow:hidden;margin:0;opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .8s ease,transform .8s ease,visibility .8s}
.gallery-grid figure.is-active{z-index:1;opacity:1;visibility:visible;transform:scale(1)}
.gallery-grid img{width:100%;height:100%;display:block;object-fit:contain;transition:none}
.gallery-grid figure:hover img{transform:none}
@media(max-width:760px){.gallery-grid{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.gallery-grid figure{transition:none!important}}
.gallery-grid{touch-action:pan-y}
.gallery-controls{position:absolute;z-index:3;right:16px;bottom:16px;display:flex;gap:8px}
.gallery-control{min-width:48px;height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(7,5,11,.82);color:#fff;font-weight:800;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 8px 25px rgba(0,0,0,.28)}
.gallery-control:hover{background:rgba(145,24,226,.88);border-color:rgba(220,154,255,.72)}
.gallery-control:focus-visible,.gallery-grid:focus-visible{outline:3px solid #d98cff;outline-offset:3px}
.gallery-toggle{min-width:82px;font-size:.86rem}
@media(max-width:760px){.gallery-controls{right:10px;bottom:10px;gap:6px}.gallery-control{min-width:44px;height:44px;padding:0 11px}.gallery-toggle{min-width:72px}}

/* Cinematic single-page layout inspired by the approved mobile reference. */
body{background:#07020d}
body:before{opacity:.16;background-size:52px 52px}
.site-header{min-height:122px;padding:12px clamp(22px,6vw,86px);background:rgba(7,2,13,.96);border-bottom:1px solid rgba(181,47,255,.2)}
.brand{width:280px;height:94px}
.menu-button{display:flex;align-items:center;gap:12px;padding:14px 18px;border-color:rgba(182,48,255,.52);border-radius:12px;background:rgba(20,8,29,.78);font-weight:700}
.menu-button span{font-size:1.15rem;color:#c77bff}
nav{display:none;position:absolute;right:clamp(22px,6vw,86px);top:104px;min-width:250px;flex-direction:column;align-items:stretch;padding:18px;background:rgba(14,5,23,.98);border:1px solid rgba(182,48,255,.42);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.52)}
nav.open{display:flex}nav a{padding:9px 10px}.nav-cta{text-align:center}
.hero{isolation:isolate;max-width:none;min-height:720px;padding:92px 24px;display:flex;justify-content:center;text-align:center;background-image:linear-gradient(180deg,rgba(8,2,14,.34),rgba(8,2,14,.72)),linear-gradient(90deg,rgba(15,2,25,.44),transparent 30%,transparent 70%,rgba(15,2,25,.44)),url('hero-event-ballroom.png');background-size:cover;background-position:center}
.hero:after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:42%;background:linear-gradient(transparent,#07020d)}
.hero-copy{max-width:900px;margin:auto;text-shadow:0 3px 28px rgba(0,0,0,.75)}
.eyebrow{color:#ead3ff;letter-spacing:.36em;font-size:.88rem}
.hero h1{margin-top:18px;font-size:clamp(4.2rem,8.2vw,8rem);letter-spacing:-.06em}
.hero h1 span{color:transparent;background:linear-gradient(100deg,#fff 5%,#c783ff 45%,#a922ff 90%);-webkit-background-clip:text;background-clip:text}
.hero-copy>p{max-width:820px;margin:24px auto 0;color:#f0e4f7;font-family:"Caveat",cursive;font-size:clamp(1.85rem,3.2vw,2.6rem);font-weight:600;line-height:1.18;letter-spacing:.01em;text-shadow:0 3px 18px rgba(0,0,0,.9),0 0 22px rgba(173,63,255,.32)}
.hero-actions{justify-content:center;margin-top:38px}
.hero-actions .button{min-width:270px;min-height:66px;border-radius:999px;font-size:1.02rem;letter-spacing:.04em}
.hero-actions .button span{margin-left:16px;font-size:1.55rem;line-height:1}
.hero-call{color:#fff;border:1px solid rgba(225,190,255,.48);background:rgba(8,3,14,.64);backdrop-filter:blur(12px)}
.hero-call:hover{border-color:#d995ff;background:rgba(137,28,211,.25)}
.hero-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:25px;color:#e2d9e7;font-size:.86rem;font-weight:700;letter-spacing:.04em}
.hero-trust span{position:relative}.hero-trust span+span:before{content:"";position:absolute;left:-14px;top:50%;width:4px;height:4px;border-radius:50%;background:#c245ff;box-shadow:0 0 10px #c245ff}
.gallery.section{max-width:none;padding:0;background:#07020d;border-top:0}
.gallery-intro{max-width:1100px;margin:0 auto;padding:104px 28px 44px;text-align:center}.gallery-intro h2{margin-top:16px}.gallery-intro h2 span{color:transparent;background:linear-gradient(105deg,#f7effc,#c87dff 52%,#a31bff);-webkit-background-clip:text;background-clip:text}.gallery-intro p{max-width:680px;margin:20px auto 0;color:#bdb3c5;font-size:1.05rem}
.gallery-grid{width:100%;height:560px;aspect-ratio:auto;margin:0;overflow:hidden;border:0;background:#07020d;box-shadow:none}
.gallery-grid figure{top:28px;bottom:78px;left:50%;right:auto;width:min(760px,62vw);min-height:0;border:1px solid rgba(200,123,255,.38);border-radius:14px;opacity:0;visibility:hidden;transform:translateX(-50%) scale(.86);transition:opacity .65s ease,transform .65s ease,filter .65s ease,visibility .65s;filter:brightness(.62);box-shadow:0 28px 80px rgba(0,0,0,.48)}
.gallery-grid figure.is-active{z-index:2;opacity:1;visibility:visible;transform:translateX(-50%) scale(1);filter:brightness(1)}
.gallery-grid figure.is-prev{z-index:1;opacity:.72;visibility:visible;transform:translateX(-145%) scale(.88)}
.gallery-grid figure.is-next{z-index:1;opacity:.72;visibility:visible;transform:translateX(45%) scale(.88)}
.gallery-grid img{object-fit:contain;background:#09040f}
.gallery-grid figcaption{display:none}
.gallery-controls{position:absolute;z-index:4;inset:0;display:block;pointer-events:none}
.gallery-control{position:absolute;pointer-events:auto;min-width:58px;width:58px;height:58px;padding:0;border-color:rgba(255,255,255,.28);background:rgba(4,2,8,.88);font-size:1.4rem}
.gallery-prev{left:clamp(16px,5vw,74px);top:44%}.gallery-next{right:clamp(16px,5vw,74px);top:44%}
.gallery-toggle{left:50%;bottom:16px;width:auto;min-width:92px;height:42px;transform:translateX(-50%);font-size:.82rem}
.about.section{max-width:1180px;padding-top:112px;padding-bottom:116px;border-top:1px solid rgba(182,48,255,.18)}
.about-heading{max-width:900px}.about-heading h2{margin-top:16px}.about-heading h2 span{color:transparent;background:linear-gradient(105deg,#f4ebfa 5%,#c983ff 48%,#a51dff 92%);-webkit-background-clip:text;background-clip:text}
.about-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:76px;margin-top:58px;align-items:start}
.about-story{padding:30px 32px;border-left:3px solid #ad27ff;background:linear-gradient(100deg,rgba(157,31,236,.12),transparent)}
.about-story p{margin:0;color:#bdb3c5}.about-story .about-lead{color:#f1eaf5;font-size:1.2rem;line-height:1.65}.about-story p+p{margin-top:20px}.about-story .button{margin-top:28px}
.about-points{display:grid;gap:0;border-top:1px solid rgba(211,154,248,.2)}
.about-points article{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:23px 4px;border-bottom:1px solid rgba(211,154,248,.2)}
.about-points article>span{color:#c66eff;font:700 .78rem "Space Grotesk",sans-serif;letter-spacing:.12em;padding-top:5px}.about-points h3{font-size:1.28rem}.about-points p{margin:7px 0 0;color:#afa5b6;line-height:1.65}
.quote.section{max-width:880px;padding:96px 28px 112px;display:block;border-top:0}
.quote-intro{position:static;text-align:center}
.quote-intro h2{font-size:clamp(3.7rem,8vw,6.2rem)}
.quote-intro h2 span{color:transparent;background:linear-gradient(105deg,#dca7ff,#9c16ff);-webkit-background-clip:text;background-clip:text}
.quote-intro>p{max-width:650px;margin:16px auto 0;color:#bdb3c5}
.direct-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:20px 0 32px}
.quote-form{gap:16px;padding:0;border:0;background:transparent;box-shadow:none}
label,legend{color:#c9bfce;font-weight:600}
input,select,textarea{margin-top:6px;border-color:rgba(207,147,255,.24);border-radius:10px;background:rgba(18,8,27,.82);padding:15px 16px}
input,select{height:54px}textarea{min-height:128px}
.service-options label{border-color:rgba(207,147,255,.2);border-radius:9px;background:rgba(18,8,27,.72)}
.submit-button{min-height:62px;border-radius:12px;font-size:1rem;letter-spacing:.04em}
.submit-button span{margin-left:10px;font-size:1.3rem}
.quote-form.is-submitted{min-height:320px;align-content:center}
.quote-form.is-submitted>:not(.success-message){display:none}
.success-message{text-align:center}
.success-message.show{display:grid;justify-items:center;gap:12px;padding:34px 24px;border:1px solid rgba(210,139,255,.55);border-radius:16px;background:linear-gradient(145deg,rgba(121,18,200,.24),rgba(24,10,35,.96));box-shadow:0 20px 55px rgba(112,18,185,.22)}
.success-message:focus{outline:2px solid #c667ff;outline-offset:4px}
.success-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#8d18e8,#d54dff);color:#fff;font-size:2rem;font-weight:900;box-shadow:0 0 28px rgba(193,61,255,.35)}
.success-message strong{font:700 clamp(1.45rem,4vw,2rem)/1.2 "Space Grotesk",sans-serif;color:#fff}
.success-message p{margin:0;color:#d5cadb;font-size:1.05rem}.success-message .button{margin-top:8px}
.mobile-booking{transition:opacity .25s ease,transform .25s ease}
.mobile-booking.is-hidden{opacity:0;transform:translateY(120%);pointer-events:none}
.contact.section{padding-top:68px;padding-bottom:78px;background:rgba(20,7,31,.44)}
.social-button{width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;gap:0}.social-button svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}.social-button svg .icon-dot{fill:currentColor;stroke:none}.social-button svg path{fill:currentColor;stroke:none}.social-button.is-disabled{opacity:.52;cursor:not-allowed;pointer-events:none}
footer{border-top-color:rgba(182,48,255,.18)}
.footer-meta{display:grid;justify-items:end;gap:5px}.footer-meta p{margin:0}.visitor-count{color:#6f6875;font-size:.7rem;line-height:1;letter-spacing:.04em;opacity:.72}.visitor-count span:first-child{color:#8b4caf;font-size:.58rem;margin-right:2px}
.mobile-booking{display:none}

@media(max-width:760px){
  body{padding-bottom:76px}html{scroll-padding-top:96px}.site-header{min-height:96px;padding:8px 16px}.brand{width:230px;height:78px}.menu-button{padding:12px 15px}.site-header nav{top:88px;left:14px;right:14px}
  .hero{min-height:650px;padding:62px 20px 54px;background-position:center top}.eyebrow{font-size:.68rem;letter-spacing:.22em}.hero h1{font-size:clamp(3.3rem,14vw,5.4rem)}.hero-copy>p{font-size:clamp(1.45rem,6vw,1.8rem);line-height:1.28}.hero-actions{display:grid;justify-items:center;gap:12px}.hero-actions .button{width:min(100%,310px);min-width:0;min-height:58px}.hero-trust{gap:8px 18px;margin-top:22px;font-size:.78rem}.hero-trust span+span:before{left:-10px}.gallery-intro{padding:76px 20px 28px}.gallery-intro p{font-size:.96rem}
  .gallery-grid{height:500px}.gallery-grid figure{top:18px;bottom:72px;width:74vw;border-radius:10px}.gallery-grid figure.is-prev{transform:translateX(-123%) scale(.88)}.gallery-grid figure.is-next{transform:translateX(23%) scale(.88)}
  .gallery-control{min-width:50px;width:50px;height:50px}.gallery-prev{left:12px;top:43%}.gallery-next{right:12px;top:43%}
  .about.section{padding:78px 20px 82px}.about-layout{grid-template-columns:1fr;gap:42px;margin-top:38px}.about-story{padding:24px 22px}.about-story .about-lead{font-size:1.08rem}.about-points article{grid-template-columns:42px 1fr;gap:12px;padding:20px 0}.quote.section{padding:76px 20px 90px}.quote-intro h2{font-size:clamp(3rem,14vw,3.8rem)}.quote-form{padding:0}.form-row,.form-row.three{grid-template-columns:1fr}.service-options{grid-template-columns:1fr 1fr}.contact.section{padding:64px 20px}.footer-meta{width:100%;justify-items:center}.visitor-count{justify-self:start}.mobile-booking{position:fixed;z-index:40;left:12px;right:12px;bottom:10px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;border:1px solid rgba(226,178,255,.42);border-radius:999px;background:linear-gradient(110deg,#7510d8,#c126ff);color:#fff;font-weight:800;letter-spacing:.04em;box-shadow:0 12px 34px rgba(0,0,0,.56),0 0 24px rgba(172,33,255,.32)}
}
@media(max-width:430px){.brand{width:205px}.menu-button{font-size:.92rem}.gallery-grid{height:450px}.service-options{grid-template-columns:1fr}.direct-contact{display:grid}.hero h1{font-size:3.35rem}}

/* Readable gallery previews, with a scrollable full-size view. */
.gallery-grid figure.is-active{cursor:zoom-in}
.gallery-grid figure:focus-visible{outline:3px solid #dba0ff;outline-offset:-4px}
.gallery-hover-preview[hidden]{display:none}
.gallery-hover-preview{position:fixed;z-index:60;inset:4vh 4vw;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(5,2,10,.95);border:1px solid #a850da;border-radius:16px;box-shadow:0 24px 100px #000;padding:14px}
.gallery-hover-preview img{display:block;width:100%;height:calc(92vh - 64px);object-fit:contain}
.gallery-hover-preview span{color:#e4cfef;font-size:.8rem;padding-top:6px}
.image-viewer{width:min(1200px,96vw);max-width:96vw;height:94vh;max-height:94vh;margin:auto;padding:64px 12px 12px;border:1px solid #a850da;border-radius:14px;background:#09040f;color:#fff;overflow:hidden}
.image-viewer::backdrop{background:rgba(0,0,0,.88)}
.image-viewer-close{position:absolute;top:12px;right:14px;padding:8px 18px;background:#361247;border:1px solid #c880ed;border-radius:8px;color:#fff;cursor:pointer}
.image-viewer-hint{position:absolute;top:18px;left:18px;margin:0;color:#cbb8d6;font-size:.82rem;max-width:65%}
.image-viewer-scroll{height:100%;overflow:auto;overscroll-behavior:contain}
.image-viewer-scroll img{display:block;width:100%;min-width:800px;height:auto;max-width:none;margin:auto}
body.image-viewer-open{overflow:hidden}
@media(max-width:760px){.image-viewer{padding-top:92px}.image-viewer-hint{top:58px;left:14px;max-width:100%;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.gallery-grid figure{transition:none}}
