:root {
  --bg: #08080d;
  --surface: #101018;
  --surface-2: #14131c;
  --fg: #eeeaf8;
  --muted: #9a94b0;
  --subtle: #6e6880;
  --accent: #8d72ff;
  --accent-2: #b9a8ff;
  --border: rgba(157, 148, 184, 0.14);
  --border-strong: rgba(157, 148, 184, 0.28);
}
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: Manrope, system-ui, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent-2); text-decoration: none; }
a:hover { color: var(--fg); }
button { font: inherit; cursor: pointer; }
.wrap { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.top {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  min-height: 4.25rem;
  background: color-mix(in oklab, var(--bg) 82%, transparent);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
}
.mark {
  font-family: Syne, sans-serif;
  letter-spacing: 0.22em;
  font-weight: 800;
  font-size: 0.78rem;
  color: var(--fg);
  flex: 0 0 auto;
}
nav.desk { display: none; flex-wrap: wrap; gap: 1rem; }
nav.desk a { color: var(--muted); font-size: 0.78rem; font-weight: 500; }
nav.desk a:hover, nav.desk a.on { color: var(--fg); }
.top-actions { display: flex; align-items: center; gap: 0.45rem; }
.icon-btn {
  width: 44px; height: 44px; border-radius: 999px;
  border: 1px solid var(--border); background: transparent; color: var(--fg);
  display: inline-flex; align-items: center; justify-content: center;
}
.overlay {
  position: fixed; inset: 0; z-index: 30;
  background: var(--bg);
  padding: 5.5rem 1.25rem 2rem;
  overflow: auto;
}
.overlay[hidden] { display: none; }
.overlay a { display: block; font-family: Syne, sans-serif; font-size: 1.7rem; font-weight: 700; color: var(--fg); margin: 0.55rem 0; }
.eyebrow { color: var(--muted); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
h1, .display {
  font-family: Syne, sans-serif;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.92;
  margin: 0.6rem 0 0.9rem;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
h1 { font-size: clamp(2.2rem, 10vw, 6.4rem); }
h2 { font-family: Syne, sans-serif; font-size: clamp(1.4rem, 4vw, 2rem); margin: 0 0 0.5rem; overflow-wrap: anywhere; }
.lede { max-width: 36rem; color: var(--muted); font-size: 1.02rem; overflow-wrap: anywhere; }
.hero {
  position: relative;
  min-height: 78dvh;
  display: flex;
  align-items: end;
  padding: 5.5rem 0 2.5rem;
  overflow: hidden;
}
.hero img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,8,13,0.35), rgba(8,8,13,0.2) 40%, var(--bg));
}
.hero .inner { position: relative; z-index: 2; width: 100%; }
.btns { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.2rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 1.1rem; border-radius: 999px;
  background: var(--accent); color: #08080d; font-weight: 700; border: 0;
}
.btn.ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--fg); }
.btn:hover { color: #08080d; box-shadow: 0 0 24px rgba(141,114,255,0.28); }
.btn.ghost:hover { color: var(--fg); }
.grid { display: grid; gap: 1rem; }
.g2, .g3 { grid-template-columns: 1fr; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; }
.card .pad { padding: 1rem; }
.card h3 { font-family: Syne, sans-serif; margin: 0.3rem 0; font-size: 1.3rem; }
.muted { color: var(--muted); overflow-wrap: anywhere; }
.subtle { color: var(--subtle); font-size: 0.85rem; }
.rail { height: 6px; background: rgba(238,234,248,0.08); border-radius: 99px; overflow: hidden; margin-top: 0.55rem; }
.fill { height: 100%; background: linear-gradient(90deg, rgba(141,114,255,0.55), var(--accent)); }
.num { font-family: Syne, sans-serif; font-size: clamp(1.6rem, 6vw, 2.2rem); font-weight: 800; font-variant-numeric: tabular-nums; margin: 0.4rem 0 0; }
.block { padding: 2.6rem 0; }
.chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1rem 0 1.4rem; }
.chip {
  min-height: 40px; padding: 0 0.9rem; border-radius: 999px;
  border: 1px solid var(--border); background: transparent; color: var(--muted);
}
.chip.on, .chip:hover { border-color: var(--accent); color: var(--fg); }
.shots { display: grid; gap: 0.6rem; }
.shots img { width: 100%; border-radius: 14px; aspect-ratio: 16/10; object-fit: cover; }
.list { list-style: none; padding: 0; margin: 0; }
.list li { margin: 0.7rem 0; }
footer { border-top: 1px solid var(--border); padding: 2rem 0 3.2rem; color: var(--subtle); font-size: 0.85rem; }
.foot-grid { display: grid; gap: 1.4rem; }
input, textarea, select {
  width: 100%; background: var(--surface); border: 1px solid var(--border);
  color: var(--fg); border-radius: 12px; padding: 0.8rem; font: inherit; margin: 0.3rem 0 0.9rem;
}
label { font-size: 0.8rem; color: var(--muted); }
@media (min-width: 800px) {
  .wrap { width: min(1120px, calc(100% - 4rem)); }
  nav.desk { display: flex; }
  .icon-btn.menu { display: none; }
  .g2 { grid-template-columns: 1fr 1fr; }
  .g3 { grid-template-columns: 1fr 1fr 1fr; }
  .hero { min-height: 86dvh; }
  .shots { grid-template-columns: 1fr 1fr 1fr; }
  .foot-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .mark { font-size: 0.9rem; letter-spacing: 0.28em; }
}

/* 2026 polish pass */
html { scroll-behavior: smooth; }
body { min-height: 100dvh; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(70rem 38rem at 70% -10%,rgba(141,114,255,.09),transparent 60%); }
::selection { background: rgba(141,114,255,.35); color:var(--fg); }
:focus-visible { outline:2px solid var(--accent-2); outline-offset:3px; border-radius:6px; }
.top { width:100%; max-width:none; padding-left:max(1rem,calc((100vw - 1120px)/2)); padding-right:max(1rem,calc((100vw - 1120px)/2)); min-height:4.5rem; }
.top::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(8,8,13,.74); backdrop-filter:blur(22px) saturate(130%); -webkit-backdrop-filter:blur(22px) saturate(130%); }
nav.desk { align-items:center; }
nav.desk a { position:relative; padding:.45rem .05rem; transition:color .2s ease; }
nav.desk a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--accent-2); transition:right .25s ease; }
nav.desk a:hover::after,nav.desk a.on::after { right:0; }
.icon-btn,.btn,.chip,.card,a { -webkit-tap-highlight-color:transparent; }
.icon-btn { transition:border-color .2s,background .2s,transform .2s; }
.icon-btn:hover { border-color:rgba(185,168,255,.5); background:rgba(141,114,255,.08); transform:translateY(-1px); }
.overlay { z-index:39; padding-top:6.5rem; background:linear-gradient(145deg,#08080d 45%,#0f0c1a); }
.overlay::after { content:""; position:fixed; width:18rem; height:18rem; right:-8rem; bottom:-7rem; border-radius:50%; background:rgba(141,114,255,.12); filter:blur(70px); pointer-events:none; }
.overlay a { width:max-content; max-width:100%; transition:transform .2s,color .2s; }
.overlay a:hover { transform:translateX(6px); color:var(--accent-2); }
.hero { min-height:calc(100dvh - 4.5rem); }
.hero .bg { transform:scale(1.015); animation:hero-in 1.1s cubic-bezier(.2,.8,.2,1) both; }
.hero .shade { background:linear-gradient(180deg,rgba(8,8,13,.28),rgba(8,8,13,.18) 38%,rgba(8,8,13,.92) 88%,var(--bg)); }
.hero .inner { padding-bottom:clamp(.5rem,3vh,2rem); }
.hero h1 { text-shadow:0 12px 50px rgba(0,0,0,.35); }
@keyframes hero-in { from{opacity:.55;transform:scale(1.06)} to{opacity:1;transform:scale(1.015)} }
.block { padding:clamp(3.25rem,7vw,6rem) 0; }
.block + .block { border-top:1px solid rgba(157,148,184,.07); }
.card { position:relative; transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s; }
.card::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 1px rgba(255,255,255,.025); }
.card:hover { transform:translateY(-4px); border-color:rgba(141,114,255,.34); box-shadow:0 18px 55px rgba(0,0,0,.26),0 0 30px rgba(141,114,255,.045); }
.card > a:first-child { display:block; overflow:hidden; }
.card > a:first-child img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s; }
.card:hover > a:first-child img { transform:scale(1.025); }
.btn { position:relative; overflow:hidden; transition:transform .2s,box-shadow .25s,background .25s,border-color .25s; }
.btn:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(141,114,255,.22),0 0 26px rgba(141,114,255,.16); }
.btn:active { transform:translateY(0) scale(.985); }
.btn.ghost:hover { border-color:rgba(185,168,255,.55); background:rgba(141,114,255,.07); box-shadow:0 8px 26px rgba(0,0,0,.16); }
.rail { position:relative; }
.fill { box-shadow:0 0 18px rgba(141,114,255,.28); }
.shots { grid-template-columns:minmax(0,1fr); }
.shots img { cursor:zoom-in; border:1px solid var(--border); transition:transform .25s,border-color .25s,filter .25s; }
.shots img:hover { transform:translateY(-2px); border-color:rgba(141,114,255,.4); filter:brightness(1.04); }
.lightbox { position:fixed; inset:0; z-index:100; background:rgba(3,3,7,.92); display:grid; place-items:center; padding:1rem; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.lightbox[hidden] { display:none; }
.lightbox img { max-width:min(1200px,96vw); max-height:88dvh; object-fit:contain; border-radius:14px; box-shadow:0 30px 90px #000; }
.lightbox button { position:fixed; top:max(1rem,env(safe-area-inset-top)); right:1rem; width:48px; height:48px; border-radius:50%; border:1px solid var(--border-strong); color:white; background:rgba(16,16,24,.8); font-size:1.5rem; }
input,textarea,select { transition:border-color .2s,box-shadow .2s,background .2s; }
input:focus,textarea:focus,select:focus { outline:0; border-color:rgba(141,114,255,.7); box-shadow:0 0 0 3px rgba(141,114,255,.11); background:#12111b; }
textarea { resize:vertical; min-height:10rem; }
footer { padding-top:3rem; }
footer a { color:#aaa4bc; }
footer a:hover { color:var(--fg); }
@media (min-width:800px){
  .top { padding-left:max(2rem,calc((100vw - 1120px)/2)); padding-right:max(2rem,calc((100vw - 1120px)/2)); }
  .shots { grid-template-columns:1.55fr .725fr .725fr; align-items:stretch; }
  .shots img { height:100%; min-height:220px; }
  .shots img:first-child { grid-row:span 2; }
}
@media (max-width:799px){
  .top { min-height:4rem; padding-left:1rem; padding-right:1rem; }
  .mark { max-width:42vw; overflow:hidden; text-overflow:ellipsis; }
  .top-actions .btn { min-height:38px!important; padding:0 .9rem; }
  .hero { min-height:78dvh; padding-top:4rem; }
  .hero h1 { font-size:clamp(2.7rem,15vw,5.2rem); }
  .block { padding:3.5rem 0; }
  .grid { gap:.8rem; }
  .card .pad,.card.pad { padding:1.05rem; }
  .shots { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:.75rem; padding-bottom:.5rem; scrollbar-width:none; }
  .shots::-webkit-scrollbar{display:none}.shots img{flex:0 0 88%;scroll-snap-align:center;aspect-ratio:16/10}
  footer { padding-bottom:max(3rem,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* 2026 premium art-direction pass */
:root{--max:1180px;--ease:cubic-bezier(.22,.8,.2,1);--hair:rgba(238,234,248,.075)}
html{background:#07070b}
body{background:linear-gradient(180deg,#08080d 0%,#07070b 100%);letter-spacing:-.006em}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:120;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.wrap{width:min(var(--max),calc(100% - 2rem))}
.top{min-height:4.65rem;border-bottom-color:rgba(255,255,255,.065)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(141,114,255,.22),transparent);opacity:.7}
.mark{font-size:.84rem;letter-spacing:.32em;text-shadow:0 0 24px rgba(185,168,255,.12)}
nav.desk{gap:1.35rem}nav.desk a{font-size:.74rem;letter-spacing:.035em}
.top-actions .btn{background:#eeeaf8;color:#09090e;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 8px 28px rgba(0,0,0,.2)}
.top-actions .btn:hover{background:white;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 8px 30px rgba(141,114,255,.2)}
.hero{min-height:calc(100svh - 4.65rem);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(55% 55% at 72% 40%,rgba(126,91,255,.10),transparent 72%)}
.hero .shade{background:linear-gradient(90deg,rgba(5,5,9,.58),rgba(5,5,9,.12) 60%,rgba(5,5,9,.18)),linear-gradient(180deg,rgba(8,8,13,.18),rgba(8,8,13,.12) 38%,rgba(8,8,13,.82) 83%,var(--bg))}
.hero .inner{max-width:850px;padding-bottom:clamp(1.5rem,6vh,4.5rem)}
.hero .eyebrow{color:#c5bed5}.hero h1{font-size:clamp(4.1rem,10vw,8.4rem);letter-spacing:-.07em;line-height:.82;margin:.8rem 0 1.35rem;text-wrap:balance}.hero .lede{font-size:clamp(1.2rem,2.2vw,1.7rem);color:#f1edf8;letter-spacing:-.025em}.hero .muted{max-width:42rem;font-size:.96rem}
.eyebrow{font-size:.68rem;letter-spacing:.24em;color:#8e889f}
h2{font-size:clamp(2rem,5vw,4.4rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.lede{font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.65}
.block{position:relative;padding:clamp(4.6rem,9vw,8rem) 0}.block+.block{border-top:1px solid var(--hair)}
.block>.eyebrow{margin-bottom:1.15rem}.block>h2{max-width:900px}.block>.lede{max-width:680px}
.grid{gap:1.15rem}.card{background:linear-gradient(180deg,rgba(20,19,28,.98),rgba(14,14,21,.98));border-color:rgba(255,255,255,.075);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,.025)}
.card:hover{transform:translateY(-6px);border-color:rgba(157,136,255,.36);box-shadow:0 28px 80px rgba(0,0,0,.38),0 0 0 1px rgba(141,114,255,.08),0 0 48px rgba(141,114,255,.07)}
.card .pad{padding:1.25rem 1.3rem 1.35rem}.card h3{font-size:clamp(1.35rem,2.2vw,1.8rem);letter-spacing:-.035em}.card .subtle{font-size:.77rem}.card .muted{min-height:3.1em}.card>a:first-child{position:relative}.card>a:first-child::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,8,13,.4));pointer-events:none}.card>a:first-child img{aspect-ratio:16/9;filter:saturate(.88) contrast(1.04)}.card:hover>a:first-child img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
.btn{min-height:48px;padding:0 1.25rem;letter-spacing:-.015em;box-shadow:inset 0 1px rgba(255,255,255,.16)}.btn.ghost{background:rgba(13,13,20,.34);backdrop-filter:blur(8px)}
.btns{gap:.7rem;margin-top:1.5rem}.chip{background:rgba(255,255,255,.018);transition:.22s var(--ease)}.chip.on,.chip:hover{background:rgba(141,114,255,.09);box-shadow:inset 0 0 0 1px rgba(141,114,255,.12)}
.rail{height:4px;background:rgba(255,255,255,.065)}.fill{background:linear-gradient(90deg,#6851d8,#a78fff)}
.list{border-top:1px solid var(--hair);margin-top:2rem}.list li{margin:0;padding:1rem 0;border-bottom:1px solid var(--hair);display:flex;justify-content:space-between;gap:1rem}.list li a{color:var(--fg);font-weight:700}.list li a:hover{color:var(--accent-2)}
.shots{gap:.8rem}.shots img{border-radius:16px;border-color:rgba(255,255,255,.085);box-shadow:0 12px 38px rgba(0,0,0,.2)}
input,textarea,select{background:rgba(16,16,24,.82);border-color:rgba(255,255,255,.09);border-radius:14px;padding:.92rem 1rem}label{font-size:.75rem;letter-spacing:.025em}
footer{border-top-color:var(--hair);padding-top:4rem}.foot-grid{gap:2.5rem}footer p{margin:.55rem 0}
.overlay{padding-left:max(1.25rem,calc((100vw - var(--max))/2));padding-right:max(1.25rem,calc((100vw - var(--max))/2))}.overlay a{font-size:clamp(2rem,7vw,4.4rem);letter-spacing:-.05em;line-height:1.05;margin:.35rem 0}.overlay .eyebrow{margin-top:1.6rem}
/* editorial entrance: content stays visible without JS */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media(min-width:800px){.wrap{width:min(var(--max),calc(100% - 5rem))}.top{padding-left:max(2.5rem,calc((100vw - var(--max))/2));padding-right:max(2.5rem,calc((100vw - var(--max))/2))}.g2{gap:1.25rem}.g2 .card:nth-child(1),.g2 .card:nth-child(4){transform-origin:center}.hero .inner{padding-left:.1rem}.foot-grid{grid-template-columns:1.5fr .75fr .75fr}}
@media(max-width:799px){body::after{opacity:.025}.wrap{width:min(100% - 1.35rem,var(--max))}.top{min-height:4.1rem;padding-left:.75rem;padding-right:.75rem}.mark{font-size:.7rem;letter-spacing:.24em}.top-actions{gap:.35rem}.top-actions .btn{font-size:.72rem!important;padding:0 .8rem}.icon-btn{width:40px;height:40px}.hero{min-height:82svh;padding-bottom:1.2rem}.hero .inner{padding-bottom:1rem}.hero h1{font-size:clamp(3.35rem,17vw,5.5rem);line-height:.84}.hero .lede{font-size:1.16rem}.hero .muted{font-size:.88rem;line-height:1.65}.btns{display:grid;grid-template-columns:1fr 1fr}.btns .btn:first-child:last-child{grid-column:1/-1}.hero .btns .btn:first-child{grid-column:1/-1}.btn{min-height:46px;padding:0 .9rem}.block{padding:4.6rem 0}.block h2{font-size:clamp(2.25rem,11vw,3.6rem)}.card{border-radius:16px}.card .pad{padding:1.05rem}.card .muted{min-height:0}.list li{display:block}.shots img{flex-basis:92%}.overlay{padding-top:5.6rem}.overlay a{font-size:clamp(2rem,10vw,3.2rem)}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1!important;transform:none!important}}

/* === Gravemark Signature Finish / 1000x pass === */
:root{--violet:#9a82ff;--violet-soft:#c2b5ff;--ink:#06060a;--glass:rgba(10,10,16,.72);--line:rgba(255,255,255,.075)}
html{scrollbar-color:#51466f #09090e;scrollbar-width:thin}
body{min-height:100vh}
::selection{background:rgba(154,130,255,.28);color:#fff}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#09090e}::-webkit-scrollbar-thumb{background:#393246;border:2px solid #09090e;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#5a4d76}
/* global ambient pointer light */
.pointer-aura{position:fixed;z-index:0;width:42rem;height:42rem;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(127,95,255,.055),rgba(127,95,255,.018) 34%,transparent 68%);filter:blur(12px);opacity:0;transition:opacity .5s;will-change:left,top}.pointer-aura.on{opacity:1}
body>header,body>section,body>main,body>footer,.overlay{position:relative;z-index:1}
/* scroll progress */
.scroll-progress{position:fixed;z-index:150;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#6650d5,#b9a8ff 65%,#fff);box-shadow:0 0 14px rgba(141,114,255,.55);pointer-events:none}
/* header */
.top{transition:min-height .35s var(--ease),background .35s,border-color .35s,box-shadow .35s;isolation:isolate}
.top.is-scrolled{min-height:4.15rem;background:rgba(7,7,12,.88);border-bottom-color:rgba(185,168,255,.11);box-shadow:0 14px 50px rgba(0,0,0,.22)}
.top::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(90deg,transparent,rgba(141,114,255,.035),transparent);transition:opacity .35s}.top.is-scrolled::before{opacity:1}
.mark{position:relative}.mark::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--violet-soft);right:-.65rem;top:50%;box-shadow:0 0 12px var(--violet);opacity:.8}
nav.desk a{position:relative;padding:.5rem .05rem;transition:color .2s}
/* buttons */
.btn{isolation:isolate}.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.22) 47%,transparent 68%);transform:translateX(-130%);transition:transform .65s var(--ease)}.btn:hover::before{transform:translateX(130%)}
.btn:not(.ghost){background:linear-gradient(135deg,#9a82ff,#8065f3);box-shadow:inset 0 1px rgba(255,255,255,.28),0 9px 30px rgba(74,52,157,.2)}
.top-actions .btn:not(.ghost){background:linear-gradient(135deg,#f4f1fb,#ded8ef)}
/* cards */
.card{isolation:isolate;transform:translateZ(0)}.card::before{content:"";position:absolute;z-index:3;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(500px circle at var(--mx,50%) var(--my,0%),rgba(183,165,255,.105),transparent 38%);opacity:0;transition:opacity .3s}.card:hover::before{opacity:1}
.card::after{z-index:4}.card .pad{position:relative;z-index:5}.card h3 a{color:var(--fg);transition:color .2s,text-shadow .2s}.card:hover h3 a{color:#fff;text-shadow:0 0 22px rgba(185,168,255,.16)}
.card .eyebrow{color:#a99dc3}.card:hover .eyebrow{color:#c8bbeb}
.card>a:first-child::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);transform:translateX(-130%);transition:transform .8s var(--ease);pointer-events:none}.card:hover>a:first-child::before{transform:translateX(130%)}
/* editorial links */
.block>p>a,.list a,footer a{transition:color .2s,opacity .2s}.block>p>a{display:inline-flex;align-items:center;gap:.4rem}.block>p>a::after{content:"↗";font-size:.85em;transition:transform .25s var(--ease)}.block>p>a:hover::after{transform:translate(3px,-3px)}
/* hero signature */
.hero .bg{will-change:transform}.hero::after{content:"";position:absolute;z-index:2;left:50%;bottom:1.2rem;width:1px;height:38px;background:linear-gradient(180deg,rgba(255,255,255,.65),transparent);opacity:.5;animation:scrollcue 2s ease-in-out infinite}.hero .inner::after{content:"SCROLL";position:absolute;right:0;bottom:.55rem;font-size:.56rem;letter-spacing:.25em;color:#817b8f;writing-mode:vertical-rl}
@keyframes scrollcue{0%,100%{transform:scaleY(.45);transform-origin:top;opacity:.25}50%{transform:scaleY(1);opacity:.7}}
.hero h1{background:linear-gradient(180deg,#fff 0%,#e8e2f5 78%,#c8bedc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 14px 34px rgba(0,0,0,.32))}
/* images / gallery */
.shots{position:relative}.shots img{background:#0d0d13}.shots img:hover{box-shadow:0 20px 60px rgba(0,0,0,.36),0 0 0 1px rgba(154,130,255,.15)}
.lightbox{animation:lbIn .24s ease both}.lightbox img{animation:imgIn .38s var(--ease) both}@keyframes lbIn{from{opacity:0}to{opacity:1}}@keyframes imgIn{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}
/* section rhythm and premium divider */
.block::before{content:"";position:absolute;left:0;top:-1px;width:5rem;height:1px;background:linear-gradient(90deg,rgba(141,114,255,.32),transparent);opacity:.55}.block:first-of-type::before{display:none}
.eyebrow{font-variant-numeric:tabular-nums}
/* forms */
input,textarea,select{box-shadow:inset 0 1px rgba(255,255,255,.018)}input:hover,textarea:hover,select:hover{border-color:rgba(255,255,255,.15)}
/* footer */
footer{position:relative;overflow:hidden}footer::after{content:"GRAVEMARK";position:absolute;right:-.03em;bottom:-.26em;font:800 clamp(5rem,18vw,14rem)/.8 Syne,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none;white-space:nowrap}
/* touch/mobile precision */
@media (hover:hover) and (pointer:fine){.icon-btn,.btn,.chip{will-change:transform}}
@media(max-width:799px){.pointer-aura{display:none}.hero::after,.hero .inner::after{display:none}.top.is-scrolled{min-height:3.85rem}.block::before{width:3rem}.card:hover{transform:none}.btn::before,.card>a:first-child::before{display:none}.hero h1{letter-spacing:-.065em}.overlay{background:linear-gradient(155deg,#07070c 50%,#100c1b)}footer::after{font-size:25vw;bottom:-.08em}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}.scroll-progress{transition:none}.pointer-aura{display:none}}
