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

:root {
  --bg: #f4f7fb; --surface: #fff; --surface-2: #eaf0f8; --text: #08111f;
  --muted: #53647c; --border: #ccd8e8; --cyan: #00d8ff; --blue: #156cff;
  --violet: #7950ff; --danger: #b42318; --ok: #07865f;
  --gradient: linear-gradient(120deg, var(--cyan), var(--blue) 52%, var(--violet));
  --shadow: 0 24px 70px rgba(18, 45, 83, .13);
}

/* Content pages */
.content-hero { padding: clamp(80px, 10vw, 150px) max(5vw, 28px); background: radial-gradient(circle at 82% 15%, color-mix(in srgb, var(--blue) 22%, transparent), transparent 32%), linear-gradient(145deg, var(--surface), var(--bg)); }
.content-hero > p:last-child { max-width: 760px; margin: 28px 0 0; color: var(--muted); font-size: 1.1rem; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.story-card { min-height: 420px; padding: 34px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); }.story-card.accent { color: #f3f7ff; background: linear-gradient(145deg, #071729, #17143a); }.story-card > span { color: var(--cyan); font: 700 .8rem Sora; }.story-card h2 { margin: 70px 0 24px; font-size: clamp(2rem, 3vw, 3rem); }.story-card p { color: var(--muted); }.story-card.accent p { color: #afbdd1; }
.price-section { background: color-mix(in srgb, var(--surface-2) 65%, var(--bg)); }.price-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 45px; }.price-card { padding: 34px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); }.price-card.featured-price { border-color: var(--blue); box-shadow: 0 20px 70px color-mix(in srgb, var(--blue) 18%, transparent); }.price-card > div { display: grid; grid-template-columns: 1fr auto; align-items: end; padding-bottom: 24px; border-bottom: 1px solid var(--border); }.price-card strong { font: 700 2.8rem Sora; color: var(--blue); }.price-card small { color: var(--muted); text-align: right; }.price-card li { padding: 7px 0; }.price-card a { font-weight: 700; color: var(--blue); }.price-list { border-top: 1px solid var(--border); }.price-list article { display: grid; grid-template-columns: 1fr .8fr 1.2fr; gap: 30px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--border); }.price-list h3, .price-list p { margin: 0; }.price-list small { color: var(--muted); }.price-note { margin-top: 35px; padding: 24px; display: grid; grid-template-columns: 220px 1fr; gap: 20px; border: 1px solid var(--cyan); border-radius: 14px; background: color-mix(in srgb, var(--cyan) 7%, var(--surface)); }
.contact-layout { width: min(1180px, 92%); margin: 70px auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 45px; }.contact-options { display: grid; gap: 14px; align-content: start; }.contact-options > a { padding: 24px; display: grid; gap: 5px; text-decoration: none; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }.contact-options span, .contact-options i { color: var(--blue); font-size: .8rem; font-style: normal; }.contact-options b { font-size: 1.1rem; }.contact-options p { color: var(--muted); }.contact-form { margin: 0; }.contact-form h2 { font-size: 2rem; }
.contact-visual { height: 280px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #080b12; box-shadow: var(--shadow); }.contact-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
@media (max-width: 960px) { .story-grid, .contact-layout { grid-template-columns: 1fr; }.story-card { min-height: 0; } }
@media (max-width: 720px) { .price-grid { grid-template-columns: 1fr; }.price-list article { grid-template-columns: 1fr; gap: 6px; }.price-note { grid-template-columns: 1fr; }.story-card h2 { margin-top: 35px; } }
[data-theme="dark"] {
  --bg: #05070c; --surface: #0d121b; --surface-2: #121a27; --text: #f3f7ff;
  --muted: #9daec5; --border: #222f42; --cyan: #29dcff; --blue: #5995ff;
  --violet: #9a7cff; --danger: #ff8d7f; --ok: #5adea0; --shadow: 0 28px 80px rgba(0, 0, 0, .44);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font: 400 16px/1.65 Manrope, system-ui, sans-serif; }
h1, h2, h3 { font-family: Sora, system-ui, sans-serif; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 6.5vw, 6.25rem); margin: 0; }
h2 { font-size: clamp(2.25rem, 4.3vw, 4rem); margin: 0; }
h3 { font-size: 1.35rem; }
h1 strong, h2 em { font-style: normal; color: transparent; background: var(--gradient); -webkit-background-clip: text; background-clip: text; }
a { color: inherit; }

.site-header { height: 84px; padding: 0 max(4vw, 24px); display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--bg) 82%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent); backdrop-filter: blur(20px); }
.site-header nav { display: flex; gap: clamp(.8rem, 2.2vw, 2rem); align-items: center; }
.site-header nav > a { font-weight: 600; text-decoration: none; font-size: .92rem; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--text); font: 700 1.12rem/1 Sora, sans-serif; letter-spacing: .13em; text-decoration: none; }
.brand img { width: 175px; height: 66px; object-fit: contain; object-position: center; }
.brand .logo-dark { display: none; }
[data-theme="dark"] .brand .logo-light { display: none; }
[data-theme="dark"] .brand .logo-dark { display: block; }
.brand > span:last-child > span { color: var(--cyan); }
.brand-mark, .cta-mark { position: relative; display: inline-block; width: 34px; height: 32px; transform: skewX(-8deg); }
.brand-mark i, .cta-mark i { position: absolute; top: 0; width: 7px; height: 31px; border-radius: 3px; background: var(--gradient); transform: rotate(-29deg); }
.brand-mark i:nth-child(1), .cta-mark i:nth-child(1) { left: 4px; height: 21px; top: 7px; }
.brand-mark i:nth-child(2), .cta-mark i:nth-child(2) { left: 14px; }
.brand-mark i:nth-child(3), .cta-mark i:nth-child(3) { left: 24px; height: 23px; }
.theme-toggle { border: 1px solid var(--border); background: var(--surface); color: var(--text); padding: .28rem .5rem; min-height: 32px; border-radius: 999px; cursor: pointer; font-size: .72rem; line-height: 1; }
.cta, .button-ghost { min-height: 46px; padding: .7rem 1rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: .7rem; font-weight: 700; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.cta { color: #fff !important; background: var(--gradient); box-shadow: 0 12px 32px rgba(36, 105, 255, .25); }
.cta:hover, .button-ghost:hover { transform: translateY(-2px); }
.cta.lg, .button-ghost.lg { min-height: 56px; padding: .95rem 1.4rem; }
.button-ghost { border: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 75%, transparent); }

.hero { position: relative; min-height: calc(100vh - 84px); padding: clamp(70px, 9vw, 130px) max(5vw, 28px) 70px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); align-items: center; background: radial-gradient(circle at 78% 23%, color-mix(in srgb, var(--blue) 23%, transparent), transparent 30%), radial-gradient(circle at 58% 68%, color-mix(in srgb, var(--violet) 16%, transparent), transparent 27%), linear-gradient(145deg, color-mix(in srgb, var(--surface) 92%, var(--blue)), var(--bg)); }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(color-mix(in srgb, var(--border) 40%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 40%, transparent) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, black, transparent 75%); }
.hero-content { position: relative; z-index: 2; max-width: 800px; }
.eyebrow { margin: 0 0 24px; color: var(--blue); text-transform: uppercase; letter-spacing: .17em; font-size: .72rem; font-weight: 700; }
.eyebrow span { display: inline-block; width: 34px; height: 2px; vertical-align: middle; margin-right: 11px; background: var(--gradient); }
.hero-copy { max-width: 680px; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.2rem); margin: 28px 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 55px; color: var(--muted); font-size: .76rem; }
.hero-proof span { padding-left: 14px; border-left: 1px solid var(--border); }
.hero-proof b { display: block; color: var(--text); font: 700 1.15rem/1.2 Sora; }
.hero-visual { position: relative; z-index: 1; width: min(42vw, 640px); aspect-ratio: 1; justify-self: end; }
.visual-stage { position: absolute; inset: 7%; border: 1px solid color-mix(in srgb, var(--cyan) 35%, transparent); border-radius: 50%; background: radial-gradient(circle at 50% 62%, rgba(0, 215, 255, .32), transparent 3%, rgba(19, 83, 166, .18) 13%, transparent 44%), conic-gradient(from 210deg, transparent, rgba(0, 216, 255, .25), transparent 26%, rgba(124, 76, 255, .25), transparent 54%); box-shadow: inset 0 0 90px rgba(25, 92, 255, .16), 0 0 90px rgba(0, 216, 255, .1); }
.visual-stage::before, .visual-stage::after { content: ''; position: absolute; border: 1px solid color-mix(in srgb, var(--blue) 28%, transparent); border-radius: 50%; inset: 12%; }
.visual-stage::after { inset: 26%; }
.hero-photo { position: absolute; inset: 4%; width: 92%; height: 92%; object-fit: cover; object-position: 58% center; border-radius: 50%; filter: saturate(1.05) contrast(1.04); }
.hero-photo-shade { position: absolute; inset: 4%; border-radius: 50%; background: linear-gradient(125deg, color-mix(in srgb, var(--blue) 13%, transparent), transparent 48%), radial-gradient(circle at 50% 50%, transparent 55%, color-mix(in srgb, var(--bg) 62%, transparent)); box-shadow: inset 0 0 55px color-mix(in srgb, var(--bg) 55%, transparent); }
.stage-light { position: absolute; top: 12%; width: 9%; height: 54%; opacity: .8; background: linear-gradient(to bottom, var(--cyan), transparent); filter: blur(9px); clip-path: polygon(40% 0, 60% 0, 100% 100%, 0 100%); }
.light-one { left: 26%; transform: rotate(18deg); }.light-two { left: 47%; }.light-three { right: 25%; transform: rotate(-19deg); background: linear-gradient(to bottom, var(--violet), transparent); }
.stage-console { position: absolute; width: 55%; height: 24%; left: 23%; bottom: 23%; display: grid; grid-template-columns: repeat(8, 1fr); gap: 7px; padding: 5%; transform: perspective(450px) rotateX(58deg); background: #090d15; border: 1px solid #2869b5; box-shadow: 0 25px 50px #000; }
.stage-console i { border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }.stage-console i:nth-child(3n) { background: var(--violet); }
.visual-badge { position: absolute; right: -2%; bottom: 20%; padding: .7rem 1rem; border: 1px solid var(--border); border-radius: 10px; background: color-mix(in srgb, var(--surface) 80%, transparent); backdrop-filter: blur(12px); font-size: .75rem; font-weight: 700; box-shadow: var(--shadow); }
.visual-badge span { color: var(--ok); margin-right: 6px; }
.hero-beam { position: absolute; width: 300px; height: 900px; background: linear-gradient(to bottom, color-mix(in srgb, var(--cyan) 26%, transparent), transparent); filter: blur(2px); clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%); opacity: .23; }.hero-beam-one { right: 5%; top: -25%; transform: rotate(24deg); }.hero-beam-two { right: 31%; top: -38%; transform: rotate(-18deg); background: linear-gradient(to bottom, color-mix(in srgb, var(--violet) 28%, transparent), transparent); }

.brand-strip { min-height: 68px; padding: 18px 5vw; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: clamp(14px, 3vw, 44px); color: var(--muted); border-block: 1px solid var(--border); background: var(--surface); font-size: .7rem; font-weight: 700; letter-spacing: .18em; }.brand-strip i { width: 5px; height: 5px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 12px var(--cyan); }
.section { padding: clamp(70px, 9vw, 130px) max(5vw, 28px); }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 50px; margin-bottom: 55px; }.section-heading > p { color: var(--muted); max-width: 540px; }.section-heading.compact { grid-template-columns: 1fr auto; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { position: relative; min-height: 360px; padding: 34px; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); color: var(--text); text-decoration: none; box-shadow: var(--shadow); transition: transform .25s, border-color .25s; }.service-card:hover { transform: translateY(-7px); border-color: var(--cyan); }.service-card::after { content: ''; position: absolute; width: 230px; height: 230px; right: -90px; bottom: -90px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--cyan) 25%, transparent), transparent 65%); }.service-card:nth-child(2)::after { background: radial-gradient(circle, color-mix(in srgb, var(--violet) 30%, transparent), transparent 65%); }
.service-number { color: var(--muted); font: 600 .72rem Sora; }.service-icon { margin: 50px 0 40px; font-size: 3.2rem; color: var(--cyan); text-shadow: 0 0 30px color-mix(in srgb, var(--cyan) 65%, transparent); }.service-card p { color: var(--muted); }.service-card b { position: absolute; bottom: 30px; font-size: .8rem; color: var(--blue); }
.process-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; background: color-mix(in srgb, var(--surface-2) 65%, var(--bg)); }.process-copy > p:not(.eyebrow) { color: var(--muted); max-width: 580px; margin: 28px 0; }.text-link { color: var(--text); font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--cyan); padding-bottom: 5px; }.text-link span { color: var(--cyan); margin-left: 8px; }
.process-list { list-style: none; padding: 0; margin: 0; }.process-list li { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--border); }.process-list li:last-child { border-bottom: 1px solid var(--border); }.process-list li > b { color: var(--cyan); font: 700 1.1rem Sora; }.process-list h3 { margin: 0 0 7px; }.process-list p { margin: 0; color: var(--muted); }
.impressions-section { background: #080b12; color: #f3f7ff; }
.impressions-section .section-heading > p { color: #9daec5; }
.impressions-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: repeat(2, clamp(190px, 20vw, 320px)); gap: 14px; }
.impression { position: relative; margin: 0; overflow: hidden; border: 1px solid #24324a; border-radius: 16px; background: #111827; }
.impression::after { content: ''; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(0, 216, 255, .08), transparent 45%, rgba(121, 80, 255, .12)); pointer-events: none; }
.impression img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(1.05) contrast(1.03); transition: transform .5s ease; }
.impression:hover img { transform: scale(1.035); }
.impression-wide { grid-column: span 2; }
.impression-tall { grid-row: span 2; }
.impression-ambient { grid-column: 1; grid-row: 1 / span 2; }
.impression-person img { object-position: center 34%; }
.impression-setup img { object-position: center 56%; }
.equipment-section { background: var(--bg); }.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }.card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 24px; }.equipment-card { min-height: 410px; }.equipment-visual { position: relative; height: 200px; margin: -12px -12px 24px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: radial-gradient(circle at 50% 48%, rgba(0, 216, 255, .22), transparent 23%), linear-gradient(145deg, #090e17, #131f33); }.equipment-visual::before { content: ''; position: absolute; width: 130px; height: 130px; border: 1px solid rgba(0, 216, 255, .3); border-radius: 50%; box-shadow: 0 0 45px rgba(0,216,255,.15); }.equipment-visual span { font: 700 3rem Sora; color: var(--cyan); text-shadow: 0 0 25px var(--blue); }.equipment-card > small { color: var(--blue); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }.equipment-card h3 { margin: 10px 0; }.equipment-card p { color: var(--muted); font-size: .9rem; }.availability { margin-top: 20px; color: var(--muted); font-size: .75rem; }.availability i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--ok); border-radius: 50%; box-shadow: 0 0 8px var(--ok); }
.final-cta { text-align: center; position: relative; overflow: hidden; background: #080b12; color: #f3f7ff; }.final-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 100%, rgba(0,216,255,.25), transparent 34%), radial-gradient(circle at 85% 10%, rgba(121,80,255,.23), transparent 24%); }.final-cta > * { position: relative; }.final-cta p:not(.eyebrow) { color: #9daec5; }.cta-mark { width: 65px; height: 62px; transform: scale(1.8) skewX(-8deg); margin-bottom: 40px; }.cta-mark i { width: 9px; height: 42px; }.cta-mark i:nth-child(1) { left: 12px; height: 29px; }.cta-mark i:nth-child(2) { left: 27px; }.cta-mark i:nth-child(3) { left: 42px; height: 31px; }.final-cta .cta { margin-top: 18px; }

.site-footer { padding: 70px max(5vw, 28px) 25px; color: #9daec5; background: #05070c; border-top: 1px solid #1e2b3e; }.footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; max-width: 1400px; margin: auto; }.footer-brand { color: #f3f7ff; }.footer-brand img { width: 220px; height: 76px; object-fit: cover; mix-blend-mode: screen; }.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.footer-links b { color: #f3f7ff; margin-bottom: 8px; }.footer-links a, .footer-social a { color: #9daec5; text-decoration: none; }.footer-social { display: flex; flex-wrap: wrap; gap: 12px; max-width: 1400px; margin: 25px auto 0; }.footer-social a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #26364d; border-radius: 999px; transition: color .2s ease, border-color .2s ease, background .2s ease; }.footer-social a:hover, .footer-social a:focus-visible { color: #f3f7ff; border-color: #36d9f0; background: #101927; }.social-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }.social-icon-fill { fill: currentColor; stroke: none; }.footer-bottom { display: flex; justify-content: space-between; max-width: 1400px; margin: 60px auto 0; padding-top: 22px; border-top: 1px solid #1e2b3e; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }

.form, .preview-card { display: grid; gap: .75rem; max-width: 1100px; margin: 40px auto; padding: 30px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; }.form.narrow { max-width: 520px; }.form.compact { margin: 0; padding: 0; border: 0; }.muted-text { color: var(--muted); }.warn-box, .conflict-card { padding: .75rem; border: 1px solid #f5b9af; border-radius: 10px; background: #fff7f5; }.error { color: var(--danger); }.ok { color: var(--ok); } label { display: grid; gap: .35rem; } input, textarea, select, button { font: inherit; padding: .7rem .8rem; border: 1px solid var(--border); border-radius: 8px; } input, textarea, select { color: var(--text); background: var(--surface); } button { cursor: pointer; } table { width: 100%; border-collapse: collapse; background: var(--surface); } th, td { padding: .65rem; border: 1px solid var(--border); text-align: left; }.container, main > section:not(.hero):not(.brand-strip):not(.section) { width: min(1100px, 92%); margin: 40px auto; }
.mobile-contact-rail { display: none; }
.footer-brand img { width: 220px; height: 84px; object-fit: contain; mix-blend-mode: normal; }

@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }.hero-visual { width: min(80vw, 560px); justify-self: center; margin-top: 20px; }.service-grid { grid-template-columns: 1fr 1fr; }.service-card:last-child { grid-column: 1 / -1; }.process-section { grid-template-columns: 1fr; }.section-heading { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 720px) {
  .site-header { height: 72px; }.site-header nav > a:not(.cta) { display: none; }.site-header nav { gap: 7px; }.site-header .cta { padding: .6rem .75rem; font-size: .78rem; }.brand { font-size: .9rem; letter-spacing: .08em; }.brand-mark { transform: scale(.82) skewX(-8deg); margin-right: -3px; }.theme-toggle { width: 32px; min-height: 32px; overflow: hidden; white-space: nowrap; color: transparent; padding: 0; }.theme-toggle span { color: var(--text); font-size: .85rem; }
  .hero { padding-top: 70px; }.hero-copy { margin: 20px 0; }.hero-actions { flex-direction: column; }.hero-actions a { width: 100%; }.hero-proof { margin-top: 38px; gap: 14px; }.hero-proof span { width: calc(50% - 8px); }.hero-visual { width: 100vw; margin-inline: -28px; }.visual-badge { right: 7%; }.brand-strip { justify-content: flex-start; overflow: hidden; flex-wrap: nowrap; white-space: nowrap; }
  .section { padding-block: 75px; }.service-grid { grid-template-columns: 1fr; }.service-card:last-child { grid-column: auto; }.service-card { min-height: 320px; }.section-heading.compact { grid-template-columns: 1fr; }.process-list li { grid-template-columns: 48px 1fr; }.impressions-grid { grid-template-columns: 1fr; grid-template-rows: 270px 320px 240px; gap: 9px; }.impression-ambient { grid-column: auto; grid-row: auto; }.impression-wide { grid-column: auto; }.impression-tall { grid-row: auto; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-main > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 8px; }
  .mobile-contact-rail { position: fixed; bottom: 0; inset-inline: 0; z-index: 40; display: flex; gap: 5px; padding: 7px; background: color-mix(in srgb, var(--surface) 94%, transparent); border-top: 1px solid var(--border); backdrop-filter: blur(16px); }.mobile-contact-rail a { flex: 1; min-height: 42px; display: grid; place-items: center; padding: 5px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); text-decoration: none; font-size: .72rem; }.mobile-contact-rail .cta { color: #fff; } body { padding-bottom: 58px; } table { display: block; overflow-x: auto; white-space: nowrap; }
}
/* Google reviews */
.google-summary { display: grid; gap: .25rem; min-width: 14rem; }
.google-summary strong { font-size: 1.5rem; }
.google-summary span, .review-stars { color: #f5b301; letter-spacing: .12em; }
.google-summary small, .review-selection-note, .review-card footer span { color: var(--muted); }
.review-selection-note { margin-top: -.5rem; }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.review-card, .admin-panel { border: 1px solid var(--border); border-radius: 1rem; padding: 1.4rem; background: var(--surface); }
.review-card blockquote { margin: 1rem 0; line-height: 1.65; }
.review-card footer { display: grid; gap: .2rem; }
.admin-panel { margin: 1.25rem 0; }
.admin-panel code { overflow-wrap: anywhere; }
.connection-guide > p { max-width: 54rem; }
.setup-steps { display: grid; gap: 1.15rem; padding-left: 1.5rem; }
.setup-steps > li { padding-left: .35rem; }
.setup-steps > li::marker { color: var(--blue); font-weight: 700; }
.setup-steps p { margin: .35rem 0; }
.setup-steps ul { margin: .55rem 0; }
.copy-value, .config-example { margin: .65rem 0; padding: .8rem 1rem; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface-2); overflow-x: auto; }
.config-example { white-space: pre-wrap; }
.success-box { border: 1px solid #2f9e62; background: rgba(47, 158, 98, .12); border-radius: .75rem; padding: 1rem; }
.danger-panel { border-color: #b74444; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gallery-item { margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface); }
.gallery-item img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; }
.gallery-item figcaption { display: grid; gap: .2rem; padding: 1rem; }
.gallery-item figcaption span { color: var(--muted); font-size: .9rem; }
.gallery-preview .gallery-item { border-color: #24324a; background: #111827; }
.gallery-preview .gallery-item figcaption { color: #f3f7ff; }
.gallery-preview .gallery-item figcaption span { color: #9daec5; }
.event-gallery, .testimonials-section { background: color-mix(in srgb, var(--surface-2) 65%, var(--bg)); }
.equipment-photo-section { background: color-mix(in srgb, var(--surface-2) 65%, var(--bg)); }
.equipment-category + .equipment-category { border-top: 1px solid var(--border); }
.testimonial-card { position: relative; padding-top: 2.5rem; }
.testimonial-card::before { content: '“'; position: absolute; top: .3rem; color: var(--cyan); font: 700 3rem Sora; }
.admin-page-header { margin-bottom: 1.4rem; }
.admin-page-header h1, .media-step-heading h2 { margin-bottom: .35rem; }
.admin-page-header p, .media-step-heading p, .media-empty p { margin: 0; color: var(--muted); }
.media-step-heading { display: flex; align-items: flex-start; gap: .9rem; }
.media-step-heading > span { flex: 0 0 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; color: #06111b; background: var(--cyan); font-weight: 800; }
.media-upload-panel { padding: clamp(1rem, 3vw, 2rem); }
.media-dropzone { min-height: 190px; margin-top: 1.25rem; display: grid; place-items: center; align-content: center; gap: .4rem; border: 2px dashed color-mix(in srgb, var(--cyan) 55%, var(--border)); border-radius: 1rem; background: color-mix(in srgb, var(--cyan) 6%, var(--surface-2)); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.media-dropzone:hover, .media-dropzone.is-dragging { border-color: var(--cyan); background: color-mix(in srgb, var(--cyan) 12%, var(--surface)); transform: translateY(-1px); }
.media-dropzone input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.media-dropzone strong { font-size: 1.15rem; }
.media-dropzone span { color: var(--muted); }
.media-upload-selection { margin-top: 1rem; }
.media-selection-summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .8rem; }
.media-preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.media-preview-grid figure { min-width: 0; margin: 0; }
.media-preview-grid img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; border-radius: .55rem; }
.media-preview-grid figcaption { margin-top: .3rem; overflow: hidden; color: var(--muted); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.media-library-heading { display: grid; gap: 1rem; margin: 2.2rem 0 1rem; }
.media-filters { display: flex; flex-wrap: wrap; gap: .45rem; }
.media-filters a { display: flex; gap: .45rem; align-items: center; padding: .55rem .8rem; border: 1px solid var(--border); border-radius: 999px; color: var(--text); text-decoration: none; }
.media-filters a.active { border-color: var(--cyan); background: color-mix(in srgb, var(--cyan) 12%, var(--surface)); }
.media-filters b { min-width: 1.5rem; padding: .1rem .35rem; border-radius: 999px; background: var(--surface-2); font-size: .75rem; text-align: center; }
.admin-media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1rem; }
.admin-media-grid .media-card { display: grid; align-content: start; gap: .8rem; padding: 0 0 1rem; overflow: hidden; }
.media-card-preview { position: relative; }
.media-card-preview img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; }
.media-status { position: absolute; top: .7rem; left: .7rem; padding: .3rem .6rem; border-radius: 999px; color: #fff; background: #667085; font-size: .75rem; font-weight: 800; }
.media-status.draft { background: #a45f08; }.media-status.ready { background: #3d647f; }.media-status.published { background: #24734a; }
.media-file-meta, .media-edit-form, .media-delete-form { margin-inline: 1rem; }
.media-file-meta { min-width: 0; display: flex; justify-content: space-between; gap: .8rem; color: var(--muted); font-size: .78rem; }
.media-file-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-edit-form { display: grid; gap: .65rem; }
.media-edit-form textarea { resize: vertical; }
.media-form-row { display: grid; grid-template-columns: minmax(100px, .7fr) 1.3fr; gap: .7rem; align-items: end; }
.check-label { min-height: 44px; display: flex; flex-direction: row; align-items: center; gap: .45rem; }
.media-card-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .25rem; }
.media-card-actions button { flex: 1 1 120px; }
.button-secondary { color: var(--text); border-color: var(--border); background: var(--surface-2); }
.button-danger { color: #c94242; border-color: color-mix(in srgb, #c94242 55%, var(--border)); background: transparent; }
.media-delete-form { padding-top: .7rem; border-top: 1px solid var(--border); }
.media-empty { text-align: center; }
.event-rotation { position: relative; min-height: clamp(320px, 55vw, 680px); overflow: hidden; border: 1px solid #24324a; border-radius: 1rem; background: #111827; }
.rotation-slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease; }
.rotation-slide.is-active { opacity: 1; visibility: visible; }
.rotation-slide img { width: 100%; height: 100%; object-fit: cover; }
.rotation-slide figcaption { position: absolute; inset: auto 0 0; display: grid; gap: .2rem; padding: 3rem 1.3rem 1.3rem; color: #fff; background: linear-gradient(transparent, rgba(5, 7, 12, .88)); }
.rotation-slide figcaption span { color: #d4deec; }
.rotation-controls { position: absolute; z-index: 2; right: 1rem; top: 1rem; display: flex; align-items: center; gap: .5rem; padding: .35rem; border-radius: 999px; color: #fff; background: rgba(5, 7, 12, .72); backdrop-filter: blur(10px); }
.rotation-controls button { min-width: 2.2rem; padding: .35rem; color: #fff; border-color: #42516a; background: #111827; }
@media (max-width: 800px) { .review-grid { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .gallery-grid { grid-template-columns: 1fr; } }
