
/* Cinematic layer styling */
body{ background:var(--bg); color:var(--text); }
a{ color:#7db7ff; }
a:not(.button):not(.wp-element-button){ text-decoration:none; background:linear-gradient(currentColor,currentColor) bottom left/0 1px no-repeat; transition:background-size .25s ease }
a:not(.button):not(.wp-element-button):hover{ background-size:100% 1px }

.site-header{ position:sticky; top:0; z-index:50; backdrop-filter:saturate(140%) blur(8px);
  background: color-mix(in srgb, var(--bg) 94%, transparent); border-bottom:1px solid #222; }
.site-header .menu{ display:flex; gap:clamp(.5rem,1.2vw,1rem); list-style:none; margin:0; padding:0 }
.site-header .menu>li>a{ color:var(--text); padding:.45rem .7rem; border-radius:.6rem }
.site-header .menu>li>a:hover,.site-header .menu>li>a:focus{ background:var(--bg-alt); outline:none }

.button,.wp-element-button,button,input[type=submit]{ background:var(--brand-grad); color:#fff; border:0; border-radius:.8rem; padding:.8rem 1.05rem; font-weight:600; transition:transform .15s ease, box-shadow .25s ease }
.button:hover,.wp-element-button:hover,button:hover,input[type=submit]:hover{ transform:translateY(-1px); box-shadow:0 10px 20px rgba(0,0,0,.25) }
.button.is-secondary{ background:transparent; border:1px solid #2a2a2a; color:var(--text) }
.button.is-secondary:hover{ background:#1a1a1a }

.card{ background:#191919; border:1px solid #262626; border-radius:1rem; padding:1rem; transition:transform .18s ease, box-shadow .25s ease, border-color .2s ease }
.card:hover{ transform:translateY(-2px); box-shadow:0 24px 54px rgba(0,0,0,.35); border-color:color-mix(in srgb, var(--primary) 35%, #262626) }

/* Utilities */
.section{ padding:clamp(1.5rem,3vw,3rem) 0 }
.grid{ display:grid; gap:min(2vw,20px) }
.grid-auto{ grid-template-columns: repeat(auto-fill, minmax(260px,1fr)) }
.ratio-16x9{ aspect-ratio:16/9; object-fit:cover; border-radius:14px; display:block }

/* Hero */
.ds-hero{ position:relative; min-height:72vh; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid #222 }
.ds-hero .bg{ position:absolute; inset:0; z-index:-1 }
.ds-hero .glass{ background: color-mix(in srgb, var(--bg-alt) 60%, transparent); border:1px solid #262626; border-radius:1rem; padding:clamp(1rem,2.5vw,1.8rem); box-shadow:0 10px 20px rgba(0,0,0,.25) }
.ds-hero h1{ font-size:clamp(2.2rem,6.5vw,4.4rem); line-height:1.05; margin:.25rem 0 .25rem; letter-spacing:-.02em }
.ds-hero .grad{ background:var(--brand-grad); -webkit-background-clip:text; background-clip:text; color:transparent }
.ds-hero .sub{ color:var(--muted); max-width:70ch; margin:.75rem auto 0 }
.ds-hero .cta{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:1rem }

/* Category tiles */
.cat-grid .card{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.75rem }
.cat-grid .card div[aria-hidden="true"]{ width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--brand-grad); color:#fff }

/* Forms & tables */
input[type="search"],input[type="text"],input[type="email"],textarea{ background:#191919; color:var(--text); border:1px solid #2a2a2a; border-radius:.6rem; padding:.65rem .75rem; width:100% }
input::placeholder,textarea::placeholder{ color:var(--muted) }
table{ border-collapse:collapse; width:100% } table th,table td{ padding:.6rem .8rem; border-bottom:1px solid #2a2a2a }
