
:root { --font-heading:'Playfair Display', 'Iowan Old Style', Georgia, serif; --font-body:'Jost', ui-sans-serif, system-ui, sans-serif; --font-heading-weight:500;
--color-accent:#0f4c81; --color-accent-2:#17588a; --color-accent-100:#eaf3fa; --color-accent-200:#c9e2f3; --color-accent-300:#93c8e8; --color-accent-400:#5ba0d1; --color-accent-500:#2679ad; --color-accent-600:#17588a; --color-accent-700:#0f4c81; --color-accent-800:#0a3760; --color-accent-900:#06233d; }
body, .btn, .tag, .input, .card, .table, .nav { font-family:var(--font-body); }
body { font-size:15.5px; letter-spacing:.004em; line-height:1.72; font-weight:300; }
h1, h2 { font-family:var(--font-heading) !important; font-weight:500 !important; font-stretch:normal; letter-spacing:-.012em; }
.se-ghost, [style*="var(--font-heading)"] { font-style:normal; }
h1 em, h2 em { font-style:italic; font-weight:400 !important; }
.se-ghost { font-stretch:normal; font-weight:500; }

h3, h4, h5, h6 { font-family:var(--font-body) !important; font-weight:500; letter-spacing:.008em; }
.btn, .tag { font-family:var(--font-body); font-weight:500; }
.table th { font-family:var(--font-body); font-weight:600; letter-spacing:.02em; }
.se-cap { font-family:var(--font-body) !important; font-weight:500 !important; font-size:10.5px !important; letter-spacing:.22em !important; font-stretch:normal !important; text-transform:uppercase; }
.se-num { font-variant-numeric:tabular-nums; }
body { margin:0; overflow-anchor:none; overflow-x:clip; background:#100f0c; color:#efe9dd; background-image:linear-gradient(rgba(15,76,129,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(15,76,129,.035) 1px, transparent 1px); background-size:88px 88px; background-attachment:fixed; }
/* The page is dark: the design-system shell must not paint a light background under cream text */
.se-shell { background:transparent; color:#efe9dd; }
a { color:var(--color-accent-700); text-underline-offset:3px; }
a:hover { color:var(--color-accent-600); }
.se-dark a { color:var(--color-accent-300); }
.se-dark a:hover { color:var(--color-accent-200); }
.plate { filter:saturate(1.04) contrast(1.02); }
.se-cat-tile, .se-thumb, .se-case-card, .plate, .se-layer, .card:has(image-slot) { border-radius:16px !important; overflow:hidden; }
.se-cap { font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
.se-num { font-variant-numeric:tabular-nums; }
.se-link { text-decoration:none; }
.se-link:hover .se-ul { border-bottom-color:var(--color-accent); }
.se-nav { display:flex; align-items:center; gap:19px; flex-wrap:wrap; flex:1 1 auto; min-width:0; }
.se-nav a { font-size:13.5px; letter-spacing:.02em; color:var(--color-text); text-decoration:none; white-space:nowrap; padding:3px 0; border-bottom:1.5px solid transparent; }
.se-nav a:hover { color:var(--color-accent-700); border-bottom-color:var(--color-accent-300); }
.se-nav a[aria-current="page"] { color:var(--color-accent-700); border-bottom-color:var(--color-accent); }
.se-tile:hover .se-tile-t { color:var(--color-accent-700); }
.se-tile:hover .se-shot { transform:scale(1.04); }
.se-cat-tile { transition:transform .35s cubic-bezier(.2,.7,.3,1), border-color .35s, box-shadow .35s; }
.se-cat-tile:hover { transform:translateY(-4px); border-color:var(--color-accent-700) !important; box-shadow:0 22px 40px -26px rgba(0,0,0,.85); }
.se-cat-tile:hover .se-shot { transform:scale(1.05); }
.se-shot { transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.se-logo img { height:34px; width:82%; object-fit:contain; }
.se-logo { border-radius:12px; }

.se-thumb { transition:box-shadow .2s; }
.se-thumb:hover { box-shadow:var(--shadow-md); }
.se-chip[aria-current="page"] { color:var(--color-accent-700); border-color:var(--color-accent) !important; background:var(--color-accent-100); }
.se-fab:hover { background:#211e18 !important; color:var(--color-accent-200) !important; }
.se-fab:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
main:not(.se-dark) > section { position:relative; isolation:isolate; }
main:not(.se-dark) > section:not(.se-dark):nth-of-type(2n)::before { content:""; position:absolute; z-index:-1; inset:0 calc(50% - 50vw); background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--color-accent-100) 60%, transparent) 14%, color-mix(in srgb, var(--color-accent-100) 60%, transparent) 86%, transparent 100%); }
main:not(.se-dark) > section:not(.se-dark):nth-of-type(2n+3)::before { content:""; position:absolute; z-index:-1; inset:0 calc(50% - 50vw); background:linear-gradient(color-mix(in srgb, var(--color-accent-200) 22%, transparent) 1px, transparent 1px) 0 0/100% 120px; }
main section { border:0 !important; }
main > section + section { position:relative; }
.se-cine section[style*="var(--color-accent-100)"] { border-radius:var(--radius-lg); }
.se-cine .se-tint { border:0 !important; border-radius:var(--radius-lg); }
.se-dark .se-tile:hover .se-tile-t { color:var(--color-accent-300); }
.se-dark .btn-primary { color:var(--color-accent-300); border-color:var(--color-accent-300); }
.se-dark .btn-primary:hover { background:rgba(15,76,129,.13); color:var(--color-accent-200); }
.se-head-dark { background:rgba(14,13,11,.9) !important; backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important; border-bottom-color:rgba(15,76,129,.24) !important; color:#efe9dd; }
.se-stat:first-child { border-left:0 !important; }
@media (max-width:1260px) { footer [data-se-fgrid] { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:40px 34px !important; } }
.se-fhead { font-family:var(--font-body); font-weight:500; font-stretch:normal; font-size:11.5px; letter-spacing:.22em; line-height:1; text-transform:uppercase; color:var(--color-accent-300); }
.se-flink { text-decoration:none; transition:color .18s, padding-left .18s; }
.se-flink:hover { color:var(--color-accent-300) !important; padding-left:4px; }
.se-mobile-menu { display:none; }
.se-mlink { text-decoration:none; }
.se-mlink[aria-current="page"] { color:var(--color-accent-300) !important; background:rgba(15,76,129,.09); }
.se-mlink:active { background:rgba(15,76,129,.14); }
.se-head-dark .se-nav a { color:#d7d0c3; }
.se-head-dark .se-nav a:hover { color:var(--color-accent-300); border-bottom-color:var(--color-accent-300); }
.se-head-dark .se-nav a[aria-current="page"] { color:var(--color-accent-300); border-bottom-color:var(--color-accent); }
main.se-flat > section::before { display:none !important; }
.se-layer { box-shadow:0 24px 60px -28px rgba(24,20,12,.55), 0 2px 10px -4px rgba(24,20,12,.25); }
.se-ghost { font-family:var(--font-heading); font-size:clamp(48px,8.5vw,125px); line-height:.8; letter-spacing:-.045em; white-space:nowrap; pointer-events:none; user-select:none; }
.se-par { overflow:hidden; }
.se-par > * { display:block; height:100%; will-change:transform; }
.se-cue { animation:se-bob 2.2s ease-in-out infinite; }
@keyframes se-bob { 0%,100% { transform:translateY(0); opacity:.75 } 50% { transform:translateY(7px); opacity:1 } }
@media (prefers-reduced-motion: reduce) { .se-cue { animation:none } }
.se-cine { background:#141310; color:#efe9dd; }
.se-cine h1, .se-cine h2, .se-cine h3, .se-cine .card-title { color:#efe9dd; }
.se-cine [style*="var(--color-text)"] { color:#b3aa9b !important; }
.se-cine [style*="var(--color-accent-900)"] { color:#efe9dd !important; }
.se-cine [style*="var(--color-accent-800)"] { color:#c4bcad !important; }
.se-cine [style*="var(--color-accent-700)"] { color:var(--color-accent-300) !important; }
.se-cine [style*="var(--color-divider)"] { border-color:rgba(15,76,129,.18) !important; }
.se-cine section[style*="var(--color-accent-100)"], .se-cine .se-tint { background:rgba(15,76,129,.07) !important; border-color:rgba(15,76,129,.26) !important; }
.se-cine .se-tint, .se-cine .se-tint * { color:#efe9dd !important; }
.se-cine .se-tint .se-cap { color:var(--color-accent-300) !important; }
.se-cine .card { background:rgba(239,233,221,.04) !important; backdrop-filter:blur(10px); border-color:rgba(15,76,129,.2) !important; }
.se-cine .card-kicker { color:var(--color-accent-300) !important; }
.se-cine .plate { background:#0f0e0c; border-color:rgba(15,76,129,.18); }
.se-cine .input { background:rgba(239,233,221,.05); backdrop-filter:blur(8px); border-color:rgba(15,76,129,.26); color:#efe9dd; }
.se-cine .input::placeholder { color:#7d7461; }
.se-cine .field label, .se-cine .radio { color:#a89e8c; }
.se-cine .radio .dot { border-color:rgba(15,76,129,.45); background:rgba(239,233,221,.06); }
.se-cine .radio:hover .dot { border-color:var(--color-accent-300); }
.se-cine .radio input:checked + .dot { border-color:var(--color-accent-300); background:var(--color-accent-300); box-shadow:inset 0 0 0 4px #141310; }
.se-cine .radio input:focus-visible + .dot { outline:2px solid var(--color-accent-300); outline-offset:2px; }
.se-cine .tag { background:rgba(15,76,129,.1) !important; border-color:rgba(15,76,129,.34) !important; color:var(--color-accent-300) !important; }
.se-cine .hr { background:rgba(15,76,129,.28) !important; }
.se-cine .se-chip { color:#cdc5b6 !important; border-color:rgba(15,76,129,.3) !important; }
.se-cine .se-chip[aria-current="page"] { color:#17150f !important; background:var(--color-accent-300) !important; border-color:var(--color-accent-300) !important; }
.se-cine .se-thumb:hover { box-shadow:0 0 0 1px var(--color-accent-300); }
.se-cine .btn-primary { color:var(--color-accent-300); border-color:var(--color-accent-300); }
.se-fixed { position:absolute; inset:0; background-size:cover; background-position:center 32%; background-repeat:no-repeat; background-attachment:fixed; image-rendering:-webkit-optimize-contrast; }
.se-cinehero { position:relative; display:flex; align-items:flex-end; overflow:hidden; min-height:56vh; }
.se-cinehero h1 { font-weight:500; font-size:clamp(28px,4.6vw,58px); line-height:1.06; letter-spacing:-.012em; margin:0; text-wrap:balance; }
.se-scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,17,14,.5) 0%,rgba(18,17,14,.2) 42%,rgba(18,17,14,.5) 78%,rgba(18,17,14,.82) 100%), linear-gradient(90deg,rgba(18,17,14,.62) 0%,rgba(18,17,14,.2) 55%,rgba(18,17,14,0) 100%); }
.se-bleed { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw; }
@media (max-width:760px) {
  body { font-size:14.5px; }
  [style*="max-width: 1240px"], [style*="max-width: 1080px"], [style*="max-width: 940px"], [style*="max-width: 900px"] { padding-left:20px !important; padding-right:20px !important; }
  .se-utilbar { display:none !important; }
  header { position:sticky !important; top:0 !important; z-index:1000 !important; background:rgba(10,9,8,.9) !important; backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important; border-bottom:1px solid var(--color-accent-700) !important; box-shadow:0 10px 26px -14px rgba(0,0,0,.9) !important; color:#efe9dd !important; transform:none !important; }
  header > div { flex-wrap:nowrap !important; gap:12px !important; padding:9px 18px !important; align-items:center !important; }
  .se-brand img { height:30px !important; }
  .se-brand span[style*="letter-spacing: 0.26em"] { font-size:17px !important; letter-spacing:.16em !important; color:#efe9dd !important; }
  .se-est { font-size:7.5px !important; letter-spacing:.24em !important; }
  .se-burger { display:flex !important; color:#efe9dd !important; }
  .se-nav { display:none !important; }
  .se-menu-cb:checked ~ .se-mobile-menu { display:flex !important; flex-direction:column !important; position:fixed !important; inset:0 !important; z-index:2147483000 !important; background:rgba(10,9,8,.92) !important; backdrop-filter:blur(20px) !important; -webkit-backdrop-filter:blur(20px) !important; overflow-y:auto !important; }
  .se-nav-unused { position:absolute !important; top:100% !important; left:0 !important; right:0 !important; width:100% !important; z-index:1001 !important; display:none !important; flex-direction:column !important; align-items:stretch !important; gap:0 !important; background:#0c0b09 !important; border-bottom:1px solid var(--color-accent-700) !important; padding:4px 0 10px !important; max-height:calc(100vh - 64px) !important; overflow-y:auto !important; box-shadow:0 22px 44px -18px rgba(0,0,0,.75); }



  main [style*="minmax(320px, 1fr)"] { grid-template-columns:1fr !important; }
  main [style*="minmax(168px, 1fr)"] { grid-template-columns:1fr !important; gap:0 !important; }
  main [style*="padding: 20px 22px 0px 0px"] { padding:15px 0 17px !important; border-top-width:1px !important; display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; gap:2px 14px !important; align-items:baseline !important; }
  main [style*="padding: 20px 22px 0px 0px"] > div:nth-child(1) { grid-row:1 / span 2 !important; font-size:22px !important; }
  main [style*="padding: 20px 22px 0px 0px"] > div:nth-child(2) { margin:0 !important; font-size:14.5px !important; }
  main [style*="padding: 20px 22px 0px 0px"] > div:nth-child(3) { font-size:12.5px !important; line-height:1.55 !important; }
  main .card { padding:18px 18px !important; gap:10px !important; }
  main .card p { font-size:15px !important; line-height:1.5 !important; }
  .se-tint { padding:24px 18px !important; }
  .se-tint p { font-size:16.5px !important; line-height:1.42 !important; }
  main p[style*="font-size: 26px"] { font-size:16.5px !important; line-height:1.42 !important; }
  main [style*="padding: 64px 44px"] { padding:26px 18px !important; }
  main [style*="minmax(260px, 1fr)"] { gap:8px !important; padding-left:20px !important; padding-right:20px !important; }
  main [style*="height: 42vh"] { height:196px !important; min-height:0 !important; }
  main [style*="flex: 1 1 148px"] { flex:0 0 calc((100% - 20px) / 3) !important; height:70px !important; padding:9px !important; }
  .se-logo img { height:24px !important; width:88% !important; }
  main [style*="flex-wrap: wrap"][style*="border-radius: 18px"] { gap:8px !important; padding:10px !important; border-radius:14px !important; }
  main section[style*="padding: 72px 32px 88px"] { padding:40px 18px 56px !important; }
  video, image-slot, .se-par, .se-fixed, .se-layer { touch-action:pan-y !important; }
  image-slot, #se-hero-video, .se-layer, .se-par { pointer-events:none !important; }
  main { position:relative !important; z-index:0 !important; }
  .se-bleed { width:100% !important; margin-left:0 !important; margin-right:0 !important; }
  .se-ghost { display:none !important; }
  [data-parallax] { transform:none !important; }
  main section { overflow-x:clip !important; }
  .se-fixed { background-attachment:scroll !important; }
  .se-cinehero { min-height:42vh !important; }
  main h1 { white-space:normal !important; font-size:clamp(24px,7vw,34px) !important; font-stretch:normal; }
  main h2 { white-space:normal !important; font-size:clamp(21px,6vw,29px) !important; font-stretch:normal; }
  .se-ghost { font-size:clamp(38px,15vw,72px) !important; }
  main [style*="grid-template-columns"]:not([style*="auto-fill"]):not([style*="auto-fit"]):not([style*="repeat("]) { grid-template-columns:1fr !important; }
  main [style*="repeat(3, minmax(0px, 1fr))"] { grid-template-columns:repeat(2, minmax(0px, 1fr)) !important; }
  main [style*="repeat(2, minmax(0px, 1fr))"] { grid-template-columns:repeat(2, minmax(0px, 1fr)) !important; }
  main [style*="repeat(4, minmax(0px, 1fr))"] { grid-template-columns:repeat(4, minmax(0px, 1fr)) !important; }
  .se-stat { padding:18px 3px !important; gap:5px !important; }
  .se-stat > div:first-child { font-size:15px !important; letter-spacing:-.02em !important; }
  .se-stat .se-cap { font-size:7px !important; letter-spacing:.08em !important; }
  main [style*="auto-fill"] { grid-template-columns:repeat(auto-fill, minmax(132px, 1fr)) !important; }
  footer [style*="repeat(3, minmax(0px, 1fr))"] { grid-template-columns:1fr !important; }
  .se-layer { position:relative !important; inset:auto !important; width:100% !important; height:180px !important; }
  [style*="height: 640px"], [style*="height: 620px"], div[style*="height: 600px"]:not(.plate) { height:auto !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
  .plate[style*="height: 600px"] { height:280px !important; }
  .plate[style*="height: 440px"] { height:240px !important; }
  header a[style*="letter-spacing: 0.26em"] span, header span[style*="letter-spacing: 0.26em"] { font-size:17px !important; letter-spacing:.16em !important; }
  header img[alt="Solutions Events"] { height:28px !important; }
  main [style*="padding: 64px"], main [style*="padding: 72px"], main [style*="padding: 76px"], main [style*="padding: 80px"], main [style*="padding: 84px"], main [style*="padding: 86px"] { padding-top:34px !important; padding-bottom:38px !important; }
  main [style*="padding: 112px"], main [style*="padding: 110px"], main [style*="padding: 108px"], main [style*="padding: 104px"], main [style*="padding: 96px"] { padding-top:40px !important; padding-bottom:48px !important; }
  main [style*="position: sticky"] { position:static !important; }
  [style*="text-align: justify"] { text-align:left !important; hyphens:none !important; }
  main [style*="gap: 60px"], main [style*="gap: 70px"], main [style*="gap: 76px"], main [style*="gap: 52px"] { gap:34px !important; }
  .se-case-card { flex:0 0 100% !important; }
  footer [data-se-fgrid] { grid-template-columns:1fr !important; gap:28px !important; }
  .se-fab { right:14px !important; bottom:76px !important; }

  /* Our Services: number, heading, description, photo, tags, button */
  main [style*="80px minmax(0px, 1fr)"] { display:grid !important; grid-template-columns:1fr !important; gap:14px !important; padding:26px 0 !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(2) { display:contents !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(1) { order:1 !important; font-size:22px !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(2) > h2 { order:2 !important; margin:0 !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(2) > p { order:3 !important; margin:0 !important; }
  main [style*="80px minmax(0px, 1fr)"] > a.se-tile { order:4 !important; aspect-ratio:16/11 !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(2) > div { order:5 !important; margin:0 !important; }
  main [style*="80px minmax(0px, 1fr)"] > div:nth-child(2) > a.btn { order:6 !important; justify-self:start !important; width:auto !important; }

  /* Front page: tighter, less wall-of-text */
  main [style*="min-height: calc(100dvh - 96px)"] { min-height:calc(80dvh - var(--se-headh, 50px)) !important; }
  main [style*="padding: 120px 32px 56px"] { padding-top:34px !important; padding-bottom:44px !important; }
  main [style*="max-width: 720px"] { gap:16px !important; }
  main [style*="max-width: 720px"] p { font-size:14.5px !important; line-height:1.62 !important; }
  main [style*="max-width: 720px"] > div:last-child { flex-direction:column !important; gap:10px !important; }
  main [style*="max-width: 720px"] .btn { width:100% !important; text-align:center !important; padding:14px 18px !important; }
  main [style*="padding: 92px 32px"], main [style*="padding: 88px 32px"] { padding-top:32px !important; padding-bottom:38px !important; }
}
@media (max-width:430px) {
  main [style*="flex: 1 1 148px"] { flex:0 0 calc((100% - 8px) / 2) !important; height:66px !important; }
  .se-logo img { height:22px !important; }
  .se-brand span[style*="letter-spacing: 0.26em"] { font-size:15px !important; letter-spacing:.13em !important; }
  .se-brand img { height:26px !important; }
  main [style*="auto-fill"] { grid-template-columns:repeat(auto-fill, minmax(112px, 1fr)) !important; }
  .se-stat > div:first-child { font-size:13.5px !important; }
  .se-stat .se-cap { font-size:6.5px !important; letter-spacing:.05em !important; }
  .se-ghost { font-size:clamp(30px,13vw,48px) !important; }
  .se-layer { height:150px !important; }
  main .btn { width:100% !important; text-align:center !important; justify-content:center !important; }
}
.se-cine .se-svc-n { color:var(--color-accent-300); }
.se-rev { opacity:0; transform:translate3d(0,28px,0); transition:opacity .75s cubic-bezier(.2,.7,.3,1), transform .75s cubic-bezier(.2,.7,.3,1); }
.se-rev.se-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .se-rev { opacity:1 !important; transform:none !important; transition:none } }

/* --- black + gold ground, matching solutionsevents.in --- */
header { background:rgba(18,17,14,.9) !important; border-bottom:1px solid rgba(15,76,129,.22) !important; color:#efe9dd !important; backdrop-filter:blur(14px); }
header .se-nav a { color:#cdc5b6; }
header .se-nav a:hover { color:var(--color-accent-300); border-bottom-color:var(--color-accent-300); }
header .se-nav a[aria-current="page"] { color:var(--color-accent-300); border-bottom-color:var(--color-accent); }
.se-utilbar { background:rgba(9,8,7,.9) !important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:#9a917f !important; border-bottom-color:rgba(15,76,129,.16) !important; }
.se-utilbar a { color:#b0a693 !important; }
.se-utilbar a:hover { color:var(--color-accent-300) !important; }
a { color:var(--color-accent-300); }
a:hover { color:var(--color-accent-200); }
main { background:#141310; color:#efe9dd; }
main [style*="background: var(--color-bg)"], main [style*="background:var(--color-bg)"] { background:#141310 !important; }
main [style*="var(--color-accent-200)"] { border-color:rgba(15,76,129,.22) !important; }
main .se-logo { background:rgba(255,255,255,.94) !important; border:0 !important; border-radius:12px; transition:transform .25s, box-shadow .25s; }
main .se-logo:hover { background:#fff !important; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.35); }
.se-tile-t { letter-spacing:.004em; }
.btn { font-weight:400; letter-spacing:.08em; border-radius:10px; }
.card { border-radius:14px; }
.se-chip { border-radius:999px; }
input, textarea, select { border-radius:10px; }
.se-cine .se-svc-row .tag { background:transparent !important; }

.se-home { background:transparent !important; }
.se-home section { background-color:transparent; }
.se-home .se-cat-tile:hover { background:rgba(16,15,12,.52) !important; }
.se-home footer { position:relative; z-index:1; }

/* --- mobile header: fixed + opaque (sticky is unreliable inside body{overflow-x:clip} on mobile browsers) --- */
@media (max-width:760px) {
  .se-shell { padding-top:var(--se-headh, 50px) !important; }
  header[style], header.se-head-dark { position:fixed !important; top:0 !important; left:0 !important; right:0 !important; width:100% !important; z-index:1100 !important; background:rgba(10,9,8,.9) !important; backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important; border-bottom:1px solid rgba(15,76,129,.38) !important; box-shadow:0 12px 28px -16px rgba(0,0,0,.95) !important; color:#efe9dd !important; transform:none !important; }
  main [style*="min-height: calc(100dvh - 96px)"] { min-height:calc(100dvh - var(--se-headh, 50px) - 8px) !important; }
}

html,body{margin:0}
.se-slot{display:block;position:relative;width:100%;height:100%;aspect-ratio:3/2;overflow:hidden}
.se-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.se-crumbs{max-width:1240px;margin:0 auto;padding:14px 32px 0;font-size:12.5px;position:relative;z-index:2}
.se-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;color:#b5ac9c}
.se-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.se-crumbs a{color:var(--color-accent-300);text-decoration:none}
.se-faq{max-width:900px;margin:0 auto;padding:72px 32px}
.se-faq h2{font-size:34px;margin:12px 0 28px}
.se-faq details{border-top:1px solid rgba(15,76,129,.3);padding:16px 0}
.se-faq summary{cursor:pointer;font-size:17px;color:#efe9dd;font-weight:400}
.se-faq details p,.se-faq-in>p{color:#cdc7bb;margin:10px 0 0;line-height:1.7}
.se-lb{position:fixed;inset:0;z-index:1200;background:rgba(16,14,10,.94);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:18px 20px 24px;color:#efe9dd}
.se-lb img,.se-lb video{max-width:100%;max-height:100%;margin:auto;display:block}
.se-lb .se-lb-bar{display:flex;justify-content:space-between;align-items:center}
.se-lb button{font:inherit;color:#efe9dd;background:transparent;border:1px solid rgba(239,233,221,.35);padding:10px 18px;border-radius:8px;cursor:pointer}
.se-lb .se-lb-nav{display:flex;justify-content:center;gap:16px;padding-top:12px}

/* mobile heroes: content-height, no dead space above the headline */
@media (max-width:760px) {
  .se-crumbs { padding:10px 20px 8px !important; font-size:11.5px; }
  .se-home > section:first-of-type { min-height:0 !important; align-items:flex-start !important; }
  .se-home > section:first-of-type > div:first-child { background:linear-gradient(180deg,rgba(10,9,7,.5) 0%,rgba(10,9,7,.72) 100%) !important; }
  .se-home > section:first-of-type > div:last-child { padding:36px 20px 40px !important; }
  .se-home > section:first-of-type > div:last-child > div { gap:18px !important; }
  .se-home > section:first-of-type h1 { font-size:clamp(34px,10vw,44px) !important; }
  .se-home > section:first-of-type .btn { flex:1 1 0 !important; padding:14px 10px !important; text-align:center !important; justify-content:center !important; }
  main > section[style*="min-height: 62vh"] { min-height:0 !important; }
  main > section[style*="min-height: 62vh"] > div { padding:20px 20px 4px !important; gap:14px !important; }
  main > section[style*="min-height: 62vh"] h1 { font-size:26px !important; line-height:1.15 !important; }
  main > section[style*="min-height: 62vh"] + section { padding-top:24px !important; }
  .se-cinehero { min-height:0 !important; }
  .se-cinehero > div:last-child { padding:132px 20px 28px !important; gap:14px !important; }
  .se-cinehero h1 { font-size:clamp(28px,8.4vw,36px) !important; }
  .se-cinehero p { font-size:15px !important; line-height:1.6 !important; }
  .se-scrim { background:linear-gradient(180deg,rgba(18,17,14,.1) 0%,rgba(18,17,14,.3) 22%,rgba(18,17,14,.86) 46%,rgba(18,17,14,.97) 100%) !important; }
  .se-fixed, .se-cinehero > video { background-position:center top !important; object-position:center top !important; height:62% !important; bottom:auto !important; }
  .se-cinehero + section { padding-top:44px !important; }
}

/* footer: flat ground, brand column, left-aligned link columns */
footer.se-dark { background:#0b0a08 !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:none !important; border-top:1px solid rgba(239,233,221,.12) !important; }
footer.se-dark > div { padding:64px 32px 28px !important; }
footer [data-se-fgrid] { grid-template-columns:minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,2.05fr) minmax(0,1.2fr) !important; gap:40px 40px !important; text-align:left !important; }
footer [data-se-fgrid]::before { content:"Event management and AV production since 1997.\A B-156 Metropolitan, Tangra, Kolkata 700 105"; white-space:pre-line; padding-top:62px; background:url(logo-mark.webp) left top / auto 46px no-repeat; font-size:13.5px; line-height:1.75; color:#a89e8c; max-width:280px; }
footer .se-fhead { text-align:left !important; padding-bottom:14px; border-bottom:1px solid rgba(239,233,221,.1); }
footer [data-se-fgrid] > div > div:last-child { display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 16px !important; margin-top:10px !important; width:100%; }
footer [data-se-fgrid] > div:nth-of-type(3) > div:last-child { grid-template-columns:1fr !important; }
footer .se-flink { white-space:normal !important; overflow-wrap:anywhere; padding:7px 0 !important; font-size:13.5px !important; }
footer.se-dark > div > div:last-child { margin-top:48px !important; border-top-color:rgba(239,233,221,.1) !important; font-size:12px !important; }
@media (max-width:1040px) {
  footer [data-se-fgrid] { grid-template-columns:1fr 1.5fr !important; }
  footer [data-se-fgrid]::before { grid-column:1 / -1; max-width:none; }
  footer [data-se-fgrid] > div:nth-of-type(3) { grid-column:1 / -1; }
  footer [data-se-fgrid] > div:nth-of-type(3) > div:last-child { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:760px) {
  footer.se-dark > div { padding:44px 20px 24px !important; }
  footer [data-se-fgrid] { grid-template-columns:1fr !important; gap:32px !important; }
  footer [data-se-fgrid] > div:nth-of-type(3) > div:last-child { grid-template-columns:1fr !important; }
  footer.se-dark > div > div:last-child { margin-top:32px !important; flex-direction:column; align-items:flex-start !important; white-space:normal !important; }
}

































































/* px: city pages and blog */
.px { --ink:#0c0b09; --panel:#14130f; --line:rgba(239,233,221,.11); --cream:#efe9dd; --mute:#a9a08e; --blue:#93c8e8; --gold:#e0a94f; background:var(--ink); color:var(--cream); }
.px *, .px *::before, .px *::after { box-sizing:border-box; }
.px-wrap { width:100%; max-width:1240px; margin:0 auto; padding:0 32px; }
.px h1, .px h2, .px h3 { font-family:var(--font-heading); font-weight:500; color:var(--cream); margin:0; letter-spacing:-.012em; text-wrap:balance; }
.px h1 { font-size:clamp(34px,4.6vw,60px); line-height:1.05; }
.px h1 em { color:var(--gold); font-style:italic; }
.px h2 { font-size:clamp(26px,3vw,38px); line-height:1.12; }
.px h3, .px-post-card h3 { font-family:var(--font-heading) !important; font-size:22px; line-height:1.2; }
.px p { margin:0; color:var(--mute); line-height:1.75; font-size:16px; }
.px a { color:var(--blue); }
.px img { display:block; max-width:100%; height:auto; }
.px-cap { color:var(--blue) !important; display:block; margin-bottom:14px; }
.px-sec { padding-top:88px; padding-bottom:88px; }
.px-nopad { padding-top:0; }
.px-band { background:linear-gradient(180deg,rgba(15,76,129,.16),rgba(15,76,129,.05)),var(--panel); border-block:1px solid var(--line); padding:88px 0; }
.px-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.px .px-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 26px; border-radius:12px; font-size:14.5px; letter-spacing:.06em; text-decoration:none; border:1px solid rgba(239,233,221,.38); color:var(--cream); background:rgba(239,233,221,.03); transition:background .2s,border-color .2s; }
.px .px-btn:hover { border-color:var(--cream); background:rgba(239,233,221,.08); }
.px .px-btn.px-solid { background:var(--blue); border-color:var(--blue); color:#10202c; font-weight:500; }
.px .px-btn.px-solid:hover { background:#b4daf1; border-color:#b4daf1; }
.px a:focus-visible, .px summary:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:6px; }
.px-hero { position:relative; overflow:hidden; isolation:isolate; padding:120px 0 64px; }
.px-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.px-scrim { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,11,9,.92) 0%,rgba(12,11,9,.72) 50%,rgba(12,11,9,.35) 100%),linear-gradient(180deg,rgba(12,11,9,.2),rgba(12,11,9,.95)); }
.px-hero p { max-width:720px; margin-top:20px; font-size:17px; color:#d6cebd; }
.px-hero h1 { max-width:900px; }
.px-two { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:start; }
.px .px-two h2 + p, .px .px-two p + p { margin-top:16px; }
.px-links, .px-ticks { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.px-links a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); font-family:var(--font-heading); font-size:19px; color:var(--cream); text-decoration:none; }
.px-links a:hover { color:var(--blue); }
.px-links svg { flex:none; color:var(--blue); }
.px-ticks li { position:relative; padding:15px 0 15px 34px; border-bottom:1px solid var(--line); color:#d9d1c1; line-height:1.55; }
.px-ticks li::before { content:""; position:absolute; left:4px; top:21px; width:12px; height:7px; border-left:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(-45deg); }
.px-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:36px; }
.px-cards article { padding:26px; border-radius:18px; border:1px solid var(--line); background:rgba(239,233,221,.035); }
.px-cards p { margin-top:10px; font-size:15px; }
.px-faq { border-top:1px solid var(--line); max-width:920px; margin-top:32px; }
.px-faq details { border-bottom:1px solid var(--line); }
.px-faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 0; font-family:var(--font-heading); font-size:20px; color:var(--cream); }
.px-faq summary::-webkit-details-marker { display:none; }
.px-faq summary::after { content:"+"; flex:none; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-family:var(--font-body); font-size:20px; color:var(--blue); transition:transform .25s; }
.px-faq details[open] summary::after { transform:rotate(45deg); }
.px-faq details p { padding:0 60px 22px 0; }
.px-other { padding-top:0; }
.px-other .px-btns { margin-top:0; }
.px-cta { background:linear-gradient(120deg,rgba(15,76,129,.5),rgba(15,76,129,.12)); border-top:1px solid rgba(147,200,232,.25); padding:72px 0; }
.px-cta .px-wrap { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:28px; }
.px-cta p { margin-top:10px; max-width:620px; color:#cfc7b6; }
.px-cta .px-btns { margin-top:0; }
/* blog */
.px-bloghead { padding-bottom:44px; }
.px-bloghead p { margin-top:16px; max-width:640px; font-size:17px; }
.px-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.px-post-card { display:flex; flex-direction:column; border-radius:18px; overflow:hidden; border:1px solid rgba(239,233,221,.11); background:#14130f; text-decoration:none; transition:border-color .2s,transform .2s; }
.px-post-card:hover { border-color:rgba(147,200,232,.45); transform:translateY(-2px); }
.px-post-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; height:auto; }
.px-post-card .se-cap { color:#93c8e8 !important; display:block; margin:20px 22px 10px; }
.px-post-card h3 { font-family:var(--font-heading); font-weight:500; font-size:21px; line-height:1.22; color:#efe9dd; margin:0 22px; }
.px-post-card p { margin:10px 22px 24px; font-size:14.5px; line-height:1.6; color:#a9a08e; }
.px-post { padding:140px 0 48px; }
.px-post h1 { font-size:clamp(30px,4vw,50px); max-width:880px; }
.px-by { font-size:13.5px !important; letter-spacing:.06em; color:#cfc7b6 !important; }
.px-prose { max-width:800px; padding-top:56px; padding-bottom:40px; }
.px .px-prose > * + * { margin-top:20px; }
.px .px-prose h2 { margin-top:48px; font-size:clamp(24px,2.6vw,32px); }
.px .px-prose h3 { margin-top:34px; font-size:22px; }
.px .px-prose h3 + p { margin-top:10px; }
.px-prose p, .px-prose li { font-size:17px; line-height:1.8; color:#d3cbba; }
.px-prose p.px-lead { font-size:20px; line-height:1.65; color:var(--cream); }
.px .px-prose ul { margin:20px 0 0; padding-left:22px; display:grid; gap:10px; }
.px-prose li::marker { color:var(--gold); }
.px-prose strong { color:var(--cream); font-weight:500; }
.px-author { max-width:800px; display:flex; gap:18px; align-items:center; padding:24px 32px; margin-bottom:24px; border-block:1px solid var(--line); }
.px-author img { width:48px; flex:none; }
.px-author p { font-size:14.5px; line-height:1.65; }
@media (max-width:900px) {
  .px-two { grid-template-columns:1fr; gap:36px; }
  .px-cards { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .px-wrap { padding:0 20px; }
  .px-sec, .px-band { padding-top:60px; padding-bottom:60px; }
  .px-nopad, .px-other { padding-top:0; }
  .px-hero { padding:96px 0 40px; }
  .px-post { padding:110px 0 36px; }
  .px-hero p { font-size:16px; }
  .px-btns .px-btn { flex:1 1 150px; padding:13px 16px; }
  .px-faq summary { font-size:18px; }
  .px-faq details p { padding-right:0; }
  .px-cta { padding:52px 0; }
  .px-posts { grid-template-columns:1fr; }
  .px-prose { padding-top:36px; }
  .px-prose p, .px-prose li { font-size:16.5px; }
  .px-prose p.px-lead { font-size:18.5px; }
  .px-author { padding:20px; margin-inline:20px; width:auto; }
}
/* footer additions: city links, 5-row explore column */
footer [data-se-fgrid] > div:nth-of-type(1) > div:last-child { grid-template-rows:repeat(6,auto) !important; }
footer .se-city { color:inherit; text-decoration:none; }
footer .se-city:hover { color:var(--color-accent-300); }

/* social links: pill buttons */
.se-social { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.se-social a { display:inline-flex; align-items:center; min-height:32px; padding:5px 14px; border-radius:999px; border:1px solid rgba(147,200,232,.5); background:rgba(15,76,129,.28); color:#cfe6f5 !important; font-size:12.5px; letter-spacing:.08em; text-decoration:none !important; line-height:1; transition:background .2s,border-color .2s,color .2s; }
.se-social a:hover { background:var(--color-accent-300); border-color:var(--color-accent-300); color:#10202c !important; }
.se-utility { gap:14px !important; }
.se-social-contact { margin-top:4px; }
.se-social-contact a { min-height:36px; padding:6px 16px; font-size:13.5px; }
.px h3.px-list-h { font-size:20px; margin-bottom:14px; }
.px-items span { display:block; padding:15px 0; border-bottom:1px solid var(--line); font-family:var(--font-heading); font-size:19px; color:var(--cream); }
.px-proof { margin-top:28px; max-width:900px; }
.px-proof p { font-size:16.5px; color:#d6cebd; }
.px-proof a, .px-two p a { text-decoration:underline; text-underline-offset:3px; }
.px-two p strong { color:var(--cream); font-weight:500; }
.se-pop { display:flex; flex-wrap:nowrap; align-items:center; gap:0 22px; margin-top:40px; padding-top:22px; border-top:1px solid rgba(239,233,221,.1); font-size:13px; white-space:nowrap; overflow-x:auto; scrollbar-width:none; }
.se-pop::-webkit-scrollbar { display:none; }
.se-pop span { flex:none; color:#7d7461; letter-spacing:.14em; text-transform:uppercase; font-size:11px; }
.se-pop a { flex:none; color:#cdc7bb !important; text-decoration:none; }
.se-pop a:hover { color:var(--color-accent-300) !important; }
.se-pop + .se-pop { margin-top:0; padding-top:12px; border-top:0; }
.se-pop span { min-width:180px; }
footer.se-dark > div > .se-pop + div:last-child { margin-top:22px !important; }

/* reviews page */
.rv-q { margin:0; padding:26px 26px 22px; border-radius:18px; border:1px solid var(--line); background:rgba(239,233,221,.04); }
.rv-q blockquote { margin:0; font-size:15px; line-height:1.65; color:#e3dccd; }
.rv-q blockquote::before { content:"\201C"; display:block; height:20px; font-family:var(--font-heading); font-size:36px; line-height:1; color:var(--gold); }
.rv-q figcaption { display:flex; align-items:center; gap:14px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.rv-lead { margin-bottom:16px; border-color:rgba(147,200,232,.3); background:linear-gradient(120deg,rgba(15,76,129,.46),rgba(15,76,129,.1)); }
.rv-lead blockquote { max-width:900px; font-size:17px; line-height:1.7; }
.rv-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rv-q { display:flex; flex-direction:column; }
.rv-q blockquote { flex:1; }
.rv-av { flex:none; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:13px; letter-spacing:.08em; color:var(--blue); border:1px solid rgba(147,200,232,.4); background:rgba(15,76,129,.3); }
.rv-who { display:flex; flex-direction:column; gap:3px; min-width:0; }
.rv-who b { font-weight:500; font-size:14px; color:var(--cream); }
.rv-who span { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.px .rv-link { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:13.5px; letter-spacing:.05em; text-decoration:none; }
.rv-link svg { width:16px; height:16px; }
.px p.rv-note { margin-top:8px; font-size:14px; }
.rv-two { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.px .rv-two h2 + p { margin-top:16px; }
.rv-g { margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.px .rv-g p { margin-top:8px; font-size:15px; }
.rv-g .px-btns { margin-top:18px; }
.rv-form { padding:28px; border-radius:20px; border:1px solid var(--line); background:rgba(12,11,9,.55); }
.rv-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; }
.rv-wide { grid-column:1 / -1; }
.rv-f label { display:block; margin-bottom:7px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.rv-f label span { color:var(--gold); }
.rv-f input, .rv-f select, .rv-f textarea { width:100%; min-height:48px; padding:12px 14px; border-radius:10px; border:1px solid rgba(239,233,221,.22); background:rgba(239,233,221,.04); color:var(--cream); font:inherit; font-size:15px; }
.rv-f textarea { resize:vertical; line-height:1.6; }
.rv-f select option { color:#14130f; }
.rv-f ::placeholder { color:#7d7566; }
.rv-f input:focus-visible, .rv-f select:focus-visible, .rv-f textarea:focus-visible, .rv-form button:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.rv-check { display:flex; gap:10px; align-items:flex-start; margin-top:18px; font-size:14px; line-height:1.55; color:#cfc7b6; cursor:pointer; }
.rv-check input { flex:none; width:18px; height:18px; margin-top:2px; accent-color:#93c8e8; }
.rv-hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.rv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:22px; }
.rv-form button { cursor:pointer; font-family:inherit; }
.rv-form button:disabled { opacity:.6; cursor:default; }
.px p.rv-msg { flex:1 1 220px; font-size:14.5px; color:#e3dccd; }
@media (max-width:1000px) { .rv-two { grid-template-columns:1fr; gap:36px; } }
@media (max-width:640px) { .rv-quotes { grid-template-columns:1fr; } .rv-grid { grid-template-columns:1fr; } .rv-form { padding:20px; } .rv-lead blockquote { font-size:15px; line-height:1.65; } .rv-actions .px-btn { width:100%; } }

/* price match page */
.pm-steps { margin-top:0; }
.pm-steps article { position:relative; }
.pm-n { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:14px; border-radius:50%; border:1px solid rgba(147,200,232,.45); color:var(--blue); font-size:14px; }
.px .pm-terms { margin-top:24px; }
.px p.pm-hint { margin-top:6px; font-size:13px; color:#8f8776; }
.rv-f input, .rv-f select, .rv-f textarea { color-scheme:dark; }
.rv-f input[type=file] { padding:10px 12px; cursor:pointer; }
.rv-f input[type=file]::file-selector-button { margin-right:12px; padding:7px 14px; border-radius:8px; border:1px solid rgba(147,200,232,.5); background:rgba(15,76,129,.3); color:#cfe6f5; font:inherit; font-size:13px; cursor:pointer; }

/* services page: Kolkata-only services */
.sv-more { position:relative; z-index:1; background:#0f0e0b; border-top:1px solid rgba(239,233,221,.08); }
.sv-more-in { max-width:1240px; margin:0 auto; padding:88px 32px; }
.sv-more .se-cap { color:#93c8e8 !important; margin:0 0 14px; }
.sv-more h2 { margin:0; font-family:var(--font-heading); font-weight:400; font-size:clamp(26px,3vw,36px); line-height:1.12; color:#efe9dd; }
.sv-more-sub { margin:14px 0 0; max-width:680px; font-size:15.5px; line-height:1.75; color:#a9a08e; }
.sv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:34px; }
.sv-grid a { display:flex; flex-direction:column; gap:8px; padding:24px 24px 22px; border-radius:16px; border:1px solid rgba(239,233,221,.11); background:rgba(239,233,221,.03); text-decoration:none; transition:border-color .2s,transform .2s; }
.sv-grid a:hover { border-color:rgba(147,200,232,.45); transform:translateY(-2px); }
.sv-grid b { font-family:var(--font-heading); font-weight:500; font-size:21px; color:#efe9dd; }
.sv-grid span { font-size:14.5px; line-height:1.6; color:#a9a08e; }
@media (max-width:900px) { .sv-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .sv-more-in { padding:60px 20px; } .sv-grid { grid-template-columns:1fr; } }

/* company profile and careers */
.cp-two { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:start; }
.cp-cover img { width:100%; border-radius:16px; border:1px solid var(--line); box-shadow:0 24px 60px rgba(0,0,0,.45); }
.px .cp-two h2 { font-size:clamp(24px,2.4vw,30px); margin-bottom:18px; }
.px p.cp-note { margin:20px 0 18px; font-size:14.5px; }
.cp-ready { display:flex; flex-wrap:wrap; gap:12px; margin-top:6px; }
.cp-pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:40px; }
.cp-pages img { width:100%; border-radius:12px; border:1px solid var(--line); }
.cv-roles { margin-top:30px; }
@media (max-width:900px) { .cp-two { grid-template-columns:1fr; gap:32px; } }
@media (max-width:640px) { .cp-pages { grid-template-columns:1fr; } }
.px [hidden] { display:none !important; }

/* stage designs gallery */
.sd-group { padding-bottom:64px; }
.px .sd-group h2 { font-size:clamp(24px,2.6vw,32px); }
.px .sd-group > p { margin-top:8px; max-width:640px; }
.sd-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.sd-tile { margin:0; }
.sd-tile a { display:block; overflow:hidden; border-radius:14px; border:1px solid var(--line); }
.sd-tile img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .4s; }
.sd-tile a:hover img { transform:scale(1.04); }
.sd-tile figcaption { margin-top:10px; font-size:14px; color:#cfc7b6; }
@media (max-width:900px) { .sd-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .sd-grid { grid-template-columns:1fr; } }

/* footer: city/service links, collapsed and quiet */
.se-links { margin-top:18px; padding-top:12px; border-top:1px solid rgba(239,233,221,.06); }
.se-links summary { display:inline-block; cursor:pointer; list-style:none; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#5f584a; }
.se-links summary::-webkit-details-marker { display:none; }
.se-links summary::after { content:" +"; }
.se-links[open] summary::after { content:" −"; }
.se-links summary:hover { color:#8a826f; }
.se-links .se-pop { margin-top:0; padding-top:10px; border-top:0; font-size:11.5px; }
.se-links .se-pop span { font-size:10px; color:#5f584a; }
.se-links .se-pop a { color:#8a826f !important; }
.se-links .se-pop a:hover { color:var(--color-accent-300) !important; }

/* FAQs: smaller, two columns on wide screens */
@media (min-width:900px) {
  .px-faq, .hx-faq { display:grid !important; grid-template-columns:1fr 1fr; column-gap:48px; align-items:start; max-width:none !important; }
  .se-faq-in { display:grid; grid-template-columns:1fr 1fr; column-gap:48px; align-items:start; }
  .se-faq-in > :not(details) { grid-column:1 / -1; }
  .px-faq summary, .hx-faq summary { font-size:17px !important; padding-top:16px !important; padding-bottom:16px !important; }
  .se-faq { max-width:1240px; }
  .se-faq summary { font-size:16px; }
  .px-faq details p, .hx-faq details p, .se-faq details p { font-size:14.5px !important; line-height:1.7 !important; }
}
.sv-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1100px) { .sv-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .sv-grid { grid-template-columns:1fr; } }

/* Solutions AV Systems section */
.av { --teal:#5ccfc4; --teal-d:#103b3a; }
.av-nav { position:relative; z-index:5; background:#0b1514; border-bottom:1px solid rgba(92,207,196,.22); }
.av-nav-in { max-width:1240px; margin:0 auto; padding:0 32px; display:flex; align-items:center; gap:22px; min-height:54px; }
.av-brand { flex:none; color:#e6f6f4 !important; text-decoration:none; font-size:14px; letter-spacing:.06em; }
.av-brand b { color:var(--teal); font-weight:600; }
.av-links { display:flex; gap:16px; overflow-x:auto; scrollbar-width:none; flex:1; }
.av-links::-webkit-scrollbar { display:none; }
.av-links a { flex:none; color:#a9c9c5 !important; text-decoration:none; font-size:12.5px; padding:17px 0 15px; border-bottom:2px solid transparent; }
.av-links a:hover, .av-links a[aria-current] { color:#e6f6f4 !important; border-bottom-color:var(--teal); }
.av-cta { flex:none; padding:8px 16px; border-radius:999px; background:var(--teal); color:#062321 !important; font-size:13px; font-weight:500; text-decoration:none; }
.av-wrap { width:100%; max-width:1240px; margin:0 auto; padding:0 32px; }
.av-sec { padding:80px 0; }
.av-sec + .av-sec:not(.av-band):not(.av-quote) { padding-top:0; }
.av-band { background:linear-gradient(180deg,rgba(16,59,58,.45),rgba(16,59,58,.12)),#0f1312; border-block:1px solid rgba(92,207,196,.14); }
.av-cap { display:block; margin-bottom:14px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); }
.av h2 { font-size:clamp(26px,3vw,38px); }
.px p.av-intro { margin-top:14px; max-width:760px; }
.av-hero { position:relative; overflow:hidden; isolation:isolate; padding:110px 0 70px; }
.av-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.av-scrim { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,16,15,.94) 0%,rgba(6,16,15,.78) 52%,rgba(6,16,15,.4) 100%),linear-gradient(180deg,rgba(6,16,15,.2),rgba(6,16,15,.95)); }
.av-hero h1 { max-width:880px; }
.av-hero h1 em { color:var(--teal) !important; }
.px .av-hero p { max-width:740px; margin-top:20px; font-size:17px; color:#d6dedb; }
.av .px-btn.px-solid { background:var(--teal); border-color:var(--teal); color:#062321; }
.av .px-btn.px-solid:hover { background:#86e0d7; border-color:#86e0d7; }
.av a { color:var(--teal); }
.av-two { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:60px; align-items:start; }
.px .av-two h2 + p, .px .av-two p + p { margin-top:16px; }
.px h3.av-list-h { font-size:20px; margin-bottom:12px; }
.av-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.av-list li { padding:14px 0 14px 28px; border-bottom:1px solid var(--line); color:#dbe3e0; position:relative; line-height:1.5; }
.av-list li::before, .av-ticks li::before { content:""; position:absolute; left:2px; top:20px; width:12px; height:7px; border-left:2px solid var(--teal); border-bottom:2px solid var(--teal); transform:rotate(-45deg); }
.av-ticks { list-style:none; margin:22px 0 0; padding:0; }
.av-ticks li { position:relative; padding:7px 0 7px 28px; color:#dbe3e0; }
.av-ticks li::before { top:13px; }
.av-cards { display:grid; gap:16px; margin-top:32px; }
.av-cards-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.av-cards-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.av-cards article, .av-links-cards a { padding:24px; border-radius:16px; border:1px solid rgba(92,207,196,.16); background:rgba(92,207,196,.035); text-decoration:none; display:flex; flex-direction:column; gap:10px; }
.av-cards h3 { font-size:20px !important; }
.av-cards h3 a { color:#efe9dd; text-decoration:none; }
.av-cards h3 a:hover { color:var(--teal); }
.px .av-cards p { font-size:14.5px; line-height:1.65; margin:0; }
.av-links-cards a { transition:border-color .2s,transform .2s; }
.av-links-cards a:hover { border-color:rgba(92,207,196,.5); transform:translateY(-2px); }
.av-go { margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; color:var(--teal); }
.av-go svg { width:16px; height:16px; }
.av-steps { list-style:none; counter-reset:s; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.av-steps li { counter-increment:s; padding:22px 22px 20px; border-radius:16px; border:1px solid var(--line); display:flex; flex-direction:column; gap:8px; }
.av-steps li::before { content:counter(s,decimal-leading-zero); font-size:13px; letter-spacing:.1em; color:var(--teal); }
.av-steps b { font-family:var(--font-heading); font-weight:500; font-size:19px; color:var(--cream); }
.av-steps span { font-size:14.5px; line-height:1.6; color:var(--mute); }
.av-table-wrap { margin-top:28px; overflow-x:auto; border-radius:14px; border:1px solid rgba(92,207,196,.2); }
.av-table { width:100%; border-collapse:collapse; min-width:640px; }
.av-table th { text-align:left; padding:14px 18px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color:var(--teal); background:rgba(92,207,196,.06); }
.av-table td { padding:15px 18px; border-top:1px solid var(--line); color:#dbe3e0; font-size:15px; }
.av-table td b { color:#fff; font-weight:600; }
.px p.av-fine { margin-top:12px; font-size:13px; line-height:1.6; color:#8a8f8c; max-width:900px; }
.av-quote { background:linear-gradient(120deg,rgba(16,59,58,.6),rgba(16,59,58,.15)); border-top:1px solid rgba(92,207,196,.22); }
.av-wa { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.av-faq .px-sec { padding-top:80px; padding-bottom:0; }
@media (max-width:1000px) { .av-cards-4 { grid-template-columns:1fr 1fr; } .av-two { grid-template-columns:1fr; gap:36px; } .av-steps { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .av-nav-in { padding:0 20px; gap:14px; } .av-brand { display:none; } .av-wrap { padding:0 20px; } .av-sec { padding:56px 0; } .av-hero { padding:84px 0 44px; } .av-cards-3, .av-cards-4, .av-steps { grid-template-columns:1fr; } }

/* Solutions AV Systems: own header, footer and mobile menu */
.av-top { background:#071312; border-bottom:1px solid rgba(92,207,196,.14); font-size:11.5px; letter-spacing:.04em; color:#8fb3ae; }
.av-top-in { max-width:1240px; margin:0 auto; padding:7px 32px; display:flex; justify-content:space-between; gap:16px; }
.av-top a { color:#cfeeea; text-decoration:none; }
.av-top a:hover { color:#5ccfc4; }
.av-head { position:sticky; top:0; z-index:1000; background:rgba(8,20,19,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid rgba(92,207,196,.22); }
.av-head-in { max-width:1240px; margin:0 auto; padding:0 32px; min-height:68px; display:flex; align-items:center; gap:24px; }
.av-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex:none; }
.av-logo img { width:34px; height:auto; }
.av-logo > span { display:flex; flex-direction:column; line-height:1.05; }
.av-logo b { font-family:var(--font-heading); font-weight:500; font-size:17px; letter-spacing:.16em; color:#eef7f6; }
.av-logo i { font-style:normal; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#5ccfc4; margin-top:3px; }
.av-menu { flex:1; display:flex; justify-content:flex-end; gap:20px; }
.av-menu a { flex:none; font-size:13px; color:#b9d3cf; text-decoration:none; padding:24px 0 22px; border-bottom:2px solid transparent; }
.av-menu a:hover, .av-menu a[aria-current] { color:#fff; border-bottom-color:#5ccfc4; }
.av-head-cta { flex:none; padding:10px 18px; border-radius:999px; background:#5ccfc4; color:#062321; font-size:13.5px; font-weight:500; text-decoration:none; }
.av-head-cta:hover { background:#86e0d7; }
.av-burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:0 10px; border:1px solid rgba(92,207,196,.35); border-radius:10px; cursor:pointer; }
.av-burger span { display:block; height:2px; background:#e6f6f4; border-radius:2px; }
.av-mobile > div { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid rgba(92,207,196,.2); }
.av-mobile > div label { font-size:30px; line-height:1; color:#e6f6f4; cursor:pointer; }
.av-mobile nav { display:flex; flex-direction:column; }
.av-mobile .se-mlink { display:block; padding:15px 20px; font-size:16px; color:#e6f0ee; text-decoration:none; border-bottom:1px solid rgba(92,207,196,.1); }
.av-mobile .av-mquote { color:#5ccfc4; }
.av-foot { position:relative; z-index:2; background:#061110; border-top:1px solid rgba(92,207,196,.2); color:#b9d3cf; }
.av-foot-in { max-width:1240px; margin:0 auto; padding:64px 32px 28px; }
.av-foot-grid { display:grid; grid-template-columns:1.4fr repeat(4,minmax(0,1fr)); gap:32px; }
.av-foot h4 { margin:0 0 14px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:500; color:#5ccfc4; }
.av-foot-grid > div:not(.av-foot-brand) a { display:block; padding:6px 0; font-size:14px; color:#cfe2df; text-decoration:none; }
.av-foot-grid a:hover { color:#5ccfc4 !important; }
.av-foot-brand p { margin:16px 0 0; max-width:340px; font-size:14px; line-height:1.7; color:#8fb3ae; }
.av-foot-brand .av-foot-div { font-size:13px; }
.av-foot-brand .av-foot-div a { color:#cfe2df; }
.av-foot-areas { margin:40px 0 0; padding-top:20px; border-top:1px solid rgba(92,207,196,.12); font-size:12.5px; line-height:1.7; color:#6f918c; }
.av-foot-bar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; margin-top:14px; font-size:12px; color:#6f918c; }
@media (max-width:1180px) { .av-menu { display:none; } .av-head-in { justify-content:space-between; } .av-burger { display:flex; } }
@media (max-width:760px) { .av-top { display:none; } .av-head-in { padding:0 16px; min-height:60px; gap:10px; } .av-head-cta { padding:8px 14px; font-size:12.5px; } .av-foot-in { padding:48px 20px 24px; } .av-foot-grid { grid-template-columns:1fr 1fr; gap:28px; } .av-foot-brand { grid-column:1 / -1; } }

.se-shell:has(.av-head) { padding-top:0 !important; }

/* av: sections + hub video */
.av-hero > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% center; z-index:-2; }
.av-hero-video { min-height:min(86vh,760px); display:flex; align-items:center; }
.av-hero-video .av-scrim { background:linear-gradient(90deg,rgba(5,10,24,.92) 0%,rgba(5,10,24,.7) 42%,rgba(5,10,24,.08) 72%),linear-gradient(180deg,rgba(5,10,24,0) 70%,rgba(6,16,15,.95)); }
.av-cards-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.av-mobile .av-mgroup { font-weight:600; color:#5ccfc4; }
.av-mobile .av-msub { padding:11px 20px 11px 36px; font-size:15px; color:#b9d3cf; }
@media (max-width:1000px) { .av-foot-grid { grid-template-columns:1fr 1fr 1fr; } .av-foot-brand { grid-column:1 / -1; } }
@media (max-width:760px) { .av-cards-2 { grid-template-columns:1fr; } .av-foot-grid { grid-template-columns:1fr 1fr; } .av-hero-video { min-height:560px; } .av-hero-video .av-scrim { background:linear-gradient(180deg,rgba(5,10,24,.55),rgba(5,10,24,.92)); } }

/* av: galleries, figures, specs, rent call-out */
.av-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:30px; }
.av-fig { margin:0; }
.av-fig img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:14px; border:1px solid rgba(92,207,196,.16); background:#050808; }
.av-fig figcaption { margin-top:9px; font-size:13.5px; line-height:1.5; color:#a9c2be; }
.av-fig-lg img { aspect-ratio:16/9; }
.av-fig-two { align-items:center; }
.av-flip > figure { order:-1; }
.av-table.av-spec { min-width:1180px; }
.av-table.av-spec td, .av-table.av-spec th { font-size:13.5px; padding:12px 14px; vertical-align:top; }
.av-table.av-spec td:first-child { position:sticky; left:0; background:#0d1817; }
.av-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.av-dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:28px 0 0; border-top:1px solid var(--line); }
.av-dl > div { padding:16px 0; border-bottom:1px solid var(--line); }
.av-dl dt { font-weight:600; color:#efe9dd; font-size:15.5px; }
.av-dl dd { margin:6px 0 0; color:#b9cbc8; font-size:14.5px; line-height:1.6; }
.av-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:36px 40px; border-radius:20px; border:1px solid rgba(92,207,196,.35); background:linear-gradient(120deg,rgba(92,207,196,.12),rgba(92,207,196,.03)); }
.av-callout h2 { margin-top:4px; }
.px .av-callout p { margin-top:12px; max-width:680px; }
.av-callout .px-btn { flex:none; }
@media (max-width:1000px) { .av-gallery { grid-template-columns:1fr 1fr; } .av-flip > figure { order:0; } }
@media (max-width:760px) { .av-gallery, .av-dl { grid-template-columns:1fr; } .av-callout { flex-direction:column; align-items:flex-start; padding:26px 22px; } }
.av-table.av-spec th { letter-spacing:.06em; font-size:10.5px; }
.av-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.av-quote-card { margin:0; padding:26px 28px; border-radius:16px; border:1px solid rgba(92,207,196,.16); background:rgba(92,207,196,.03); display:flex; flex-direction:column; gap:16px; }
.av-quote-card blockquote { margin:0; font-size:16.5px; line-height:1.65; color:#e6ece9; }
.av-quote-card figcaption { display:flex; flex-direction:column; gap:2px; font-size:13.5px; color:#9fbab6; }
.av-quote-card figcaption b { color:#efe9dd; font-weight:600; }
@media (max-width:760px) { .av-quotes { grid-template-columns:1fr; } }

/* av: photo-led layouts */
.av-mz { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:190px; grid-auto-flow:dense; gap:10px; margin-top:28px; }
.av-mz-i { position:relative; margin:0; overflow:hidden; border-radius:12px; background:#050808; }
.av-mz-i img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.av-mz-i:hover img { transform:scale(1.04); }
.av-mz-big { grid-column:span 2; grid-row:span 2; }
.av-mz-wide { grid-column:span 2; }
.av-mz-i figcaption { position:absolute; left:0; right:0; bottom:0; padding:22px 12px 9px; font-size:12.5px; line-height:1.4; color:#eef6f5; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.av-pcs { display:grid; gap:16px; margin-top:28px; }
.av-pcs-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.av-pcs-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.av-pc { display:flex; flex-direction:column; border-radius:16px; overflow:hidden; border:1px solid rgba(92,207,196,.14); background:#0c1312; text-decoration:none; }
.av-pc img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.av-pc > div { padding:18px 20px 22px; }
.av-pc h3 { font-size:19px !important; margin:0 0 8px; color:#efe9dd; }
.px .av-pc p { font-size:14px; line-height:1.6; margin:0; }
.av-pband { position:relative; min-height:420px; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.av-pband > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.av-pband::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.78)); }
.av-pband-in { width:100%; max-width:1240px; margin:0 auto; padding:0 32px 48px; }
.px p.av-pband-t { font-family:var(--font-heading); font-size:clamp(26px,3.4vw,44px); line-height:1.15; color:#fff; max-width:900px; margin:0; }
.px p.av-pband-s { margin:12px 0 0; color:#d6e6e3; font-size:16px; }
.av-split { display:grid; grid-template-columns:1fr 1fr; min-height:460px; }
.av-split-img img { width:100%; height:100%; object-fit:cover; display:block; }
.av-split-txt { padding:72px 64px; display:flex; flex-direction:column; justify-content:center; background:#0b1110; }
.px .av-split-txt p { margin-top:14px; max-width:560px; }
.av-split-flip .av-split-img { order:2; }
.av-clients-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.av-logos { list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.av-logos li { background:#f4f2ec; border-radius:12px; height:92px; display:flex; align-items:center; justify-content:center; padding:14px; }
.av-logos img { max-width:100%; max-height:58px; object-fit:contain; }
.av-spec-sl { min-width:1000px; }
@media (max-width:1000px) { .av-mz { grid-template-columns:repeat(2,minmax(0,1fr)); } .av-pcs-3, .av-pcs-4 { grid-template-columns:1fr 1fr; } .av-split { grid-template-columns:1fr; } .av-split-img { order:0 !important; } .av-split-img img { height:320px; } .av-split-txt { padding:44px 32px; } .av-logos { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:760px) { .av-mz { grid-auto-rows:150px; } .av-pcs-3, .av-pcs-4 { grid-template-columns:1fr; } .av-pband { min-height:320px; } .av-pband-in { padding:0 20px 32px; } .av-split-txt { padding:36px 20px; } .av-logos { grid-template-columns:repeat(3,minmax(0,1fr)); } .av-clients-head { flex-direction:column; align-items:flex-start; } }
.av-hero-art { padding:120px 0 64px; }
.px p.av-meta { margin-top:16px; font-size:14px; color:#a9c2be; }
.av-article { max-width:780px; }
.px .av-article h2 { font-size:28px; margin:38px 0 12px; }
.px .av-article p { font-size:17px; line-height:1.75; margin:0 0 16px; color:#d9e2df; }
.av-article ul { margin:0 0 18px; padding-left:22px; }
.av-article li { margin:7px 0; font-size:16.5px; line-height:1.65; color:#d9e2df; }
.av-article a { color:#5ccfc4; }
.av-guide-links { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; margin-top:22px; }
.av-guide-links a { padding:18px 20px; border-radius:14px; border:1px solid rgba(92,207,196,.2); color:#efe9dd; text-decoration:none; font-size:15.5px; line-height:1.45; }
.av-guide-links a:hover { border-color:#5ccfc4; }
.av-logos-lg { grid-template-columns:repeat(4,minmax(0,1fr)); }
.av-logos-lg li { height:130px; }
.av-logos-lg img { max-height:86px; }

/* av: Apple-style scroll story */
.av-story { position:relative; height:420vh; background:#030607; }
.av-st-pin { position:sticky; top:0; height:100vh; overflow:hidden; }
.av-st-pin canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
.av-st-pin::after { content:""; position:absolute; left:0; right:0; bottom:0; height:42vh; background:linear-gradient(transparent, rgba(3,6,7,.9)); pointer-events:none; }
.av-st-caps { position:absolute; z-index:2; left:0; right:0; bottom:9vh; text-align:center; pointer-events:none; }
.av-st-cap { position:absolute; left:50%; bottom:0; width:min(760px,90vw); transform:translate(-50%,18px); opacity:0; transition:opacity .6s, transform .6s; }
.av-st-cap.on { opacity:1; transform:translate(-50%,0); }
.av-st-cap h2 { font-size:clamp(30px,4.6vw,60px) !important; line-height:1.05; color:#fff; margin:0; letter-spacing:-0.01em; }
.px .av-st-cap p { margin:14px auto 0; font-size:clamp(15px,1.4vw,19px); color:#b9d3cf; max-width:600px; }
.av-st-hint { position:absolute; top:24px; left:50%; transform:translateX(-50%); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#5ccfc4; opacity:.7; }
@media (max-width:760px) { .av-st-caps { bottom:15vh; } }
@media (prefers-reduced-motion: reduce) { .av-story { height:auto; } .av-st-pin { position:relative; height:70vh; } .av-st-cap { transition:none; } }

/* av: overview blocks, calculator, review button */
.av-ov-nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:26px; }
.av-ov-nav a { display:flex; flex-direction:column; gap:6px; padding:16px 16px 18px; border-radius:14px; border:1px solid rgba(255,255,255,.12); color:#efe9dd; text-decoration:none; font-size:15px; transition:border-color .2s, background .2s; }
.av-ov-nav a b { font-size:12px; letter-spacing:.14em; color:#8f9a98; font-weight:500; }
.av-ov-nav a:hover { border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.03); }
.av-ov { display:grid; grid-template-columns:1.05fr .95fr; min-height:560px; border-top:1px solid rgba(255,255,255,.06); scroll-margin-top:80px; }
.av-ov:nth-of-type(even) .av-ov-img { order:2; }
.av-ov-img { overflow:hidden; }
.av-ov-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.av-ov:hover .av-ov-img img { transform:scale(1.03); }
.av-ov-txt { padding:72px 64px; display:flex; flex-direction:column; justify-content:center; }
.av-ov-n { font-size:13px; letter-spacing:.2em; color:#8f9a98; }
.av-ov-txt h2 { font-size:clamp(34px,3.6vw,52px) !important; margin:10px 0 0; }
.px .av-ov-txt > p { margin-top:16px; font-size:17px; max-width:560px; }
.av-ov-txt .av-list { margin-top:22px; max-width:560px; }
.av-calc-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:28px; margin-top:28px; }
.av-calc-in { display:flex; flex-direction:column; gap:20px; padding:28px; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:#0b0f0f; }
.av-calc-in label { display:flex; flex-direction:column; gap:10px; font-size:14px; color:#cfd6d4; }
.av-calc-in output { float:right; color:#fff; font-weight:600; }
.av-calc-in input[type=range] { width:100%; accent-color:#e9ecea; }
.av-calc-in select { padding:12px; border-radius:10px; background:#141a19; color:#fff; border:1px solid rgba(255,255,255,.14); font:inherit; }
.av-calc-out { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.av-calc-out > div { padding:22px; border-radius:16px; border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; gap:6px; }
.av-calc-out span { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8f9a98; }
.av-calc-out b { font-family:var(--font-heading); font-weight:500; font-size:clamp(24px,2.4vw,34px); color:#fff; }
.av-calc-out i { font-style:normal; font-size:13px; color:#9aa5a3; }
.av-calc-out .av-calc-cta { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; border:0; padding:6px 0 0; }
.av-review-in { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
@media (max-width:1000px) { .av-ov { grid-template-columns:1fr; } .av-ov:nth-of-type(even) .av-ov-img { order:0; } .av-ov-img img { height:340px; } .av-ov-txt { padding:44px 32px; } .av-ov-nav { grid-template-columns:repeat(3,minmax(0,1fr)); } .av-calc-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .av-ov-txt { padding:36px 20px; } .av-ov-nav { grid-template-columns:1fr 1fr; } .av-calc-out { grid-template-columns:1fr; } }

/* av: teal kept to a minimum (owner, 15 Oct) */
.av-top { background:#0a0a0a; border-bottom:1px solid rgba(255,255,255,.08); color:#9a9a96; }
.av-head { background:rgba(10,10,10,.94); border-bottom:1px solid rgba(255,255,255,.09); }
.av-menu a { color:#bdbdb8; }
.av-menu a:hover, .av-menu a[aria-current] { color:#fff; border-bottom-color:#fff; }
.av-head-cta { background:#fff; color:#0a0a0a; }
.av-head-cta:hover { background:#e6e6e2; }
.av-logo i { color:#9a9a96 !important; }
.av-foot { background:#0a0a0a; border-top:1px solid rgba(255,255,255,.08); color:#a3a39e; }
.av-foot h4 { color:#e8e6df; }
.av-foot-grid > div:not(.av-foot-brand) a { color:#b9b9b4; }
.av-foot-grid a:hover { color:#fff !important; }
.av-foot-brand p, .av-foot-areas, .av-foot-bar { color:#8a8a85; }
.av-foot-areas { border-top-color:rgba(255,255,255,.08); }
.av-mobile .av-mgroup { color:#fff; }
.av-cap { color:#9aa3a1; }
.av-hero h1 em { color:#fff !important; }
.av-band { background:#0d0f0f; border-block:1px solid rgba(255,255,255,.06); }
.av-quote { background:#0d0f0f; border-top:1px solid rgba(255,255,255,.08); }
.av-table th { color:#b9c0be; background:rgba(255,255,255,.04); }
.av-table-wrap { border-color:rgba(255,255,255,.12); }
.av-cards article, .av-links-cards a, .av-pc, .av-quote-card, .av-fig img, .av-mz-i { border-color:rgba(255,255,255,.1); }
.av-links-cards a:hover { border-color:rgba(255,255,255,.35); }
.av-go { color:#e8e6df; }
.av-list li::before, .av-ticks li::before { border-color:#cfd6d4; }
.av-steps li::before { color:#9aa3a1; }
.av-callout { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.03); }
.av-scrim { background:linear-gradient(90deg,rgba(6,6,6,.92) 0%,rgba(6,6,6,.7) 52%,rgba(6,6,6,.3) 100%),linear-gradient(180deg,rgba(6,6,6,.1),rgba(6,6,6,.95)); }
.av-hero-video .av-scrim { background:linear-gradient(90deg,rgba(5,6,10,.9) 0%,rgba(5,6,10,.65) 42%,rgba(5,6,10,.05) 72%),linear-gradient(180deg,rgba(5,6,10,0) 70%,rgba(6,6,6,.95)); }
.av .px-btn.px-solid { background:#fff; color:#0a0a0a; border-color:#fff; }
.av .px-btn.px-solid:hover { background:#e6e6e2; }
.av-st-hint { color:#bdbdb8; }

/* motion: reveal, expanding photo (assets/motion.js) */
.mo-on .mo { opacity:0; transform:translate3d(0,28px,0); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.mo-on .mo.mo-in { opacity:1; transform:none; }
.av-hero > img, .av-hero > video, .px-hero > img { will-change:transform; }
.mx-zoom { position:relative; }
.mx-pin { position:relative; height:78vh; overflow:hidden; background:#050505; }
.mx-frame { position:absolute; inset:0; }
.mx-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.mx-text { position:absolute; left:0; right:0; bottom:0; padding:0 max(24px,calc((100% - 1176px)/2)) 9vh; background:linear-gradient(transparent, rgba(0,0,0,.72)); padding-top:18vh; }
.mx-zoom p.mx-line, .px .mx-zoom p.mx-line { margin:0; font-family:var(--font-heading, Georgia, serif); font-size:clamp(28px,4vw,56px); line-height:1.08; color:#fff; max-width:900px; }
.mx-zoom p.mx-sub, .px .mx-zoom p.mx-sub { margin:14px 0 0; font-size:clamp(15px,1.3vw,18px); color:#e2e2dc; max-width:620px; }
.mo-on .mx-zoom { height:230vh; }
.mo-on .mx-pin { position:sticky; top:0; height:100vh; }
.mo-on .mx-frame { clip-path:inset(14% 19.6% 14% 19.6% round 28px); will-change:clip-path; }
.mo-on .mx-frame img { transform:scale(1.25); will-change:transform; }
.mo-on .mx-text { opacity:0; }
@media (max-width:760px) { .mo-on .mx-zoom { height:200vh; } .mx-text { padding-bottom:12vh; } }

/* events: LED rental estimator */
.ev-calc { display:grid; grid-template-columns:1fr 1.1fr; gap:24px; margin-top:26px; }
.ev-calc-in { display:flex; flex-direction:column; gap:18px; padding:26px; border-radius:18px; border:1px solid var(--line); background:rgba(239,233,221,.03); }
.ev-calc-in label { display:flex; flex-direction:column; gap:10px; font-size:14px; color:#d6cebd; }
.ev-calc-in output { float:right; color:#fff; font-weight:600; }
.ev-calc-in input[type=range] { width:100%; accent-color:#efe9dd; }
.ev-calc-in select { padding:12px; border-radius:10px; background:#15171a; color:#fff; border:1px solid var(--line); font:inherit; }
.ev-calc-out { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ev-calc-out > div { padding:20px; border-radius:16px; border:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.ev-calc-out span { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#a9a291; }
.ev-calc-out b { font-family:var(--font-heading); font-weight:500; font-size:clamp(22px,2.2vw,32px); color:#fff; }
.ev-calc-out i { font-style:normal; font-size:13px; color:#a9a291; }
.ev-calc-out > div:nth-child(3) { grid-column:1 / -1; }
.ev-calc-cta { grid-column:1 / -1; border:0 !important; padding:4px 0 0 !important; }
@media (max-width:900px) { .ev-calc { grid-template-columns:1fr; } }
@media (max-width:560px) { .ev-calc-out { grid-template-columns:1fr; } }
.av-calc-grid > *, .ev-calc > * { min-width:0; }
.av-calc-in select, .ev-calc-in select { width:100%; max-width:100%; }

/* fx: interactive LED wall hero, 3D demos (three.js on desktop, 2D elsewhere), stats, areas, tilt, spotlight, reading bar */
.lw-hero { position:relative; isolation:isolate; min-height:min(100vh,860px); display:flex; align-items:center; padding:96px 0 60px; background:#07080a; overflow:hidden; }
.lw-hero > canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-1; display:block; }
.lw-in { position:relative; display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); column-gap:56px; align-items:end; min-height:calc(min(100vh,860px) - 156px); }
.lw-copy { align-self:center; }
.lw-ctl { grid-column:2; justify-self:center; width:100%; max-width:600px; }
.lw-hero h1 { font-size:clamp(34px,3.6vw,52px); line-height:1.08; }
.lw-hero h1 em { font-style:normal; color:#ffb43c !important; }
.px .lw-hero p { margin-top:18px; font-size:16.5px; color:#cfd3d1; }
.lw-ctl { padding:18px; border-radius:16px; background:rgba(14,15,18,.72); border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.lw-lab { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#9aa3a1; margin-bottom:8px; }
.lw-text { width:100%; box-sizing:border-box; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.16); background:#0b0c0e; color:#fff; font:600 17px/1.2 system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.lw-text:focus { outline:2px solid #ffb43c; outline-offset:1px; }
.lw-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.lw-k { font-size:12px; color:#9aa3a1; min-width:52px; }
.lw-pre, .lw-fx { padding:6px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:transparent; color:#e8ebe9; font-size:12.5px; cursor:pointer; }
.lw-pre:hover, .lw-fx:hover { border-color:rgba(255,255,255,.45); }
.lw-fx[aria-pressed="true"] { background:#fff; color:#0a0a0a; border-color:#fff; }
.lw-col { width:26px; height:26px; border-radius:50%; border:2px solid rgba(255,255,255,.18); background:var(--c); cursor:pointer; padding:0; }
.lw-col[aria-pressed="true"] { border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.18), 0 0 14px var(--c); }
@media (max-width:760px) {
  .lw-hero { display:block; min-height:0; padding:calc(56vw + 76px) 0 44px; }
  .lw-hero > canvas { top:58px; height:62vw; bottom:auto; }
  .lw-in { display:block; min-height:0; }
  .lw-ctl { max-width:none; }
  .lw-ctl { margin-top:24px; }
}

.fx-pin { position:relative; height:330vh; background:#0a0b0d; }
.fx-stick { position:sticky; top:0; height:100vh; overflow:hidden; }
.fx-stage { position:relative; width:100%; height:100%; cursor:grab; touch-action:pan-y; }
.fx-stage.fx-grab { cursor:grabbing; }
.fx-stage canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
.fx-caps { position:absolute; left:max(32px, calc(50% - 588px)); bottom:12vh; width:min(420px, 40vw); pointer-events:none; }
.fx-cap { position:absolute; left:0; bottom:0; opacity:0; transform:translateY(16px); transition:opacity .6s, transform .6s; }
.fx-cap.on { opacity:1; transform:none; }
.px .fx-cap p { margin-top:10px; color:#c9cfcc; }
.fx-hint { position:absolute; left:50%; transform:translateX(-50%); bottom:28px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8d9593; pointer-events:none; }
.fx-box { position:relative; margin-top:30px; border-radius:18px; overflow:hidden; background:#0a0b0d; border:1px solid rgba(255,255,255,.07); }
.fx-box .fx-stage, .fx-arr2d { height:min(62vh,560px); }
.fx-arr2d canvas { width:100%; height:100%; display:block; touch-action:pan-y; }
.fx-ctl { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:16px 20px; border-top:1px solid rgba(255,255,255,.07); background:#0d0e10; }
.fx-ctl label { font-size:13px; color:#c9cfcc; }
.fx-ctl input[type=range] { flex:1; min-width:140px; accent-color:#fff; }
.fx-ctl output { font-variant-numeric:tabular-nums; font-size:13px; color:#fff; min-width:96px; }
.fx-key { display:flex; align-items:center; gap:6px; font-size:12px; color:#8d9593; }
.fx-key i { display:inline-block; width:22px; height:8px; border-radius:2px; margin-left:6px; }
.px p.av-note { margin-top:12px; font-size:12.5px; color:#7f8785; }
html:not(.fx3d) .fx-desk { display:none; }
html.fx3d .fx-mob { display:none; }
@media (max-width:760px) { .fx-box .fx-stage, .fx-arr2d { height:70vw; } .fx-ctl output { min-width:0; } .fx-key { width:100%; } }

.av-stats-sec { padding:56px 0 !important; border-bottom:1px solid rgba(255,255,255,.06); }
.av-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0; }
.av-stats > div { padding:22px; border-radius:14px; background:#0e0f11; border:1px solid rgba(255,255,255,.07); }
.av-stats dt { font-size:clamp(30px,3.2vw,44px); font-weight:600; color:#fff; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.av-stats dd { margin:6px 0 0; font-size:13.5px; color:#9aa3a1; }
.av-stats dd b { display:block; font-weight:500; color:#e3e7e5; }
@media (max-width:760px) { .av-stats { grid-template-columns:1fr; } }
.av-areas { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 6px; padding:0; list-style:none; }
.av-areas li { padding:7px 13px; border-radius:999px; border:1px solid rgba(255,255,255,.12); font-size:13.5px; color:#d6dbd9; }

.mo-read { position:fixed; left:0; top:0; z-index:9999; width:100%; height:3px; background:#fff; transform-origin:0 50%; transform:scaleX(0); pointer-events:none; }
.lw-sec { min-height:min(92vh,800px); padding:72px 0; border-block:1px solid rgba(255,255,255,.06); }
@media (max-width:760px) { .lw-sec { min-height:0; padding:calc(56vw + 18px) 0 44px; } .lw-sec > canvas { top:0; } }
.fx-stick::after { content:""; position:absolute; left:0; right:0; bottom:0; height:42vh; background:linear-gradient(transparent, rgba(10,11,13,.88)); pointer-events:none; }
.fx-caps, .fx-hint { z-index:2; }
.lw-sec .lw-copy { align-self:start; padding-top:4vh; }
/* still photo bands on sub-pages (no pin, no clip animation) */
.mo-on .mx-static { height:auto; }
.mo-on .mx-static .mx-pin { position:relative; height:72vh; }
.mo-on .mx-static .mx-frame { clip-path:none; }
.mo-on .mx-static .mx-frame img { transform:none; }
.mo-on .mx-static .mx-text { opacity:1; }
.lw-up { display:inline-flex; align-items:center; gap:6px; }
.lw-up::before { content:"+"; font-weight:600; }
.px p.lw-note { margin:10px 0 0; font-size:11.5px; color:#7f8785; }
/* 3D part labels */
.fx-lbls { position:absolute; inset:0; pointer-events:none; z-index:3; transition:opacity .25s; }
.fx-lbl { position:absolute; left:0; top:0; width:0; height:0; will-change:transform; }
.fx-lbl i { position:absolute; left:-4px; top:-4px; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.18); }
.fx-lbl b { position:absolute; top:0; height:1px; width:44px; background:rgba(255,255,255,.55); }
.fx-r b { left:4px; } .fx-l b { right:4px; }
.fx-lbl span { position:absolute; top:-17px; white-space:nowrap; padding:6px 10px; border-radius:8px; background:rgba(10,11,13,.8); border:1px solid rgba(255,255,255,.12); }
.fx-r span { left:48px; } .fx-l span { right:48px; }
.fx-lbl strong { display:block; font-size:12.5px; line-height:1.3; color:#fff; font-weight:600; }
.fx-lbl em { display:block; font-style:normal; font-size:11.5px; line-height:1.3; color:#a9b0ae; }
.fx-r b { transform-origin:0 50%; } .fx-l b { transform-origin:100% 50%; }
.fx-caps { bottom:auto; top:13vh; }
.fx-cap { bottom:auto; top:0; }
/* photographic cabinet sequence */
.sq-pin { height:520vh; }
.sq-pin .fx-stick canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1; }
.sq-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.sq-pin .fx-caps { z-index:2; }
@media (max-width:760px) {
  .sq-pin { height:440vh; }
  .sq-poster { height:50%; top:10%; object-fit:cover; }
  .sq-pin .fx-caps { top:auto; bottom:14vh; left:20px; right:20px; width:auto; }
  .sq-pin .fx-cap { top:auto; bottom:0; }
  .sq-pin .fx-lbl span { font-size:10px; padding:4px 6px; } .sq-pin .fx-lbl strong { font-size:11px; } .sq-pin .fx-lbl em { display:none; }
}
.sq-pin .fx-lbl { transition:opacity .2s; }
.sq-pin .fx-caps { transition:top .4s, bottom .4s; }
.sq-pin .fx-cap h2, .sq-pin .fx-cap p { text-shadow:0 2px 18px rgba(0,0,0,.85); }
@media (min-width:761px) { .sq-pin .fx-caps.sq-low { top:auto; bottom:7vh; } .sq-pin .fx-caps.sq-low .fx-cap { top:auto; bottom:0; } }
