/* play39w.com — Fotometria 39W: lighting-design sheet on a lit plaster wall */
:root{
  --paper:#F2EFE8;--paper-2:#E8E3D8;--sheet:#FBF9F4;--line:#D6CFC1;--line-2:#BDB4A3;
  --ink:#1B1D20;--ink-2:#4A4D52;--muted:#5E5F60;
  --ceil:#16181B;--ceil-2:#202328;--ceil-3:#2A2E34;--on-ceil:#F4EFE6;--on-ceil-2:#B9B2A6;
  --glow:#FFD58A;--glow-hi:#FFE9C2;--amber:#F2B04F;--copper:#973D15;--copper-2:#7A2F0E;
  --r1:#F5B454;--r2:#F8C97F;--r3:#F6DDB0;--r4:#EEE9DC;--r5:#DDE7EF;--r6:#C3D9EC;
  --steel:#2F5670;
  --fd:'Smooch Sans','Arial Narrow',system-ui,sans-serif;--fb:'Albert Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--fm:'Spline Sans Mono',ui-monospace,Menlo,Consolas,monospace;
  --gut:clamp(16px,4vw,44px);--max:1240px;--hh:64px;
  /* game runtime tokens */
  --primary:#F2B04F;--primary-contrast:#1B1D20;--accent:#C3D9EC;--surface:#23262B;--surface-2:#2A2E34;--border:rgba(255,236,200,.14);--text:#F4EFE6;--heading:#F4EFE6;--font-head:var(--fd);--font-body:var(--fb)
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--fb);overflow-x:hidden;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--copper);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--copper-2);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--steel);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--glow);padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{top:10px}
h1,h2,h3{font-family:var(--fd);font-weight:800;line-height:1;letter-spacing:.002em;margin:0;color:var(--ink);text-wrap:balance}
p{margin:0 0 1em}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hd-in{max-width:var(--max);margin:0 auto;padding:8px var(--gut);min-height:64px;display:flex;align-items:center;gap:14px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px;margin-right:auto}
.brand:hover{color:var(--ink)}
.bt{width:40px;height:14px;flex:none;overflow:visible}
.bt-g{fill:var(--glow);filter:drop-shadow(0 0 4px rgba(242,176,79,.9))}
.bt-p{fill:var(--ink-2)}
.brand-n{font:900 32px/1 var(--fd);letter-spacing:.01em}
.brand-s{font:500 11.5px/1.1 var(--fm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);padding-left:10px;border-left:1px solid var(--line-2);max-width:9.5em}
.nav ul{list-style:none;margin:0;padding:0}
.nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink);font:600 15.5px/1.2 var(--fb);position:relative}
.nav a[aria-current]{color:var(--ink)}
.rocker{display:inline-flex;border:1.5px solid var(--ink);border-radius:10px;padding:2px;gap:2px;background:var(--sheet);flex:none}
.rocker a{min-width:44px;min-height:40px;display:grid;place-items:center;font:600 13px/1 var(--fm);letter-spacing:.06em;color:var(--ink-2);text-decoration:none;border-radius:7px}
.rocker a[aria-current]{background:var(--ink);color:var(--glow);box-shadow:inset 0 -3px 0 rgba(0,0,0,.4),0 0 0 1px var(--ink)}
.rocker a:not([aria-current]):hover{background:var(--paper-2);color:var(--ink)}
.hd-tube{height:5px;margin:0 var(--gut);max-width:calc(var(--max) - 2*var(--gut));position:relative;border-radius:3px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}
@media (min-width:1240px){.hd-tube{margin:0 auto}}
.hd-tube i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--read,0)*100%);min-width:10px;border-radius:3px;background:linear-gradient(90deg,var(--r1),var(--glow-hi) 70%,var(--r5));box-shadow:0 0 10px 1px rgba(242,176,79,.75)}
/* pull cord */
.cord{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 6px 0 12px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:600 14px/1 var(--fb);cursor:pointer;order:3}
.cord-i{position:relative;width:14px;height:30px;display:block}
.cord-i i{position:absolute;left:6px;top:0;width:2px;height:16px;background:var(--ink);transition:height .25s}
.cord-i b{position:absolute;left:2px;top:15px;width:10px;height:12px;border-radius:5px;background:var(--amber);box-shadow:0 0 0 1.5px var(--ink);transition:top .25s}
.hd.is-open .cord-i i{height:20px}.hd.is-open .cord-i b{top:18px;background:var(--glow);box-shadow:0 0 0 1.5px var(--ink),0 0 10px var(--amber)}
.hd.is-open .cord{background:var(--ink);color:var(--glow)}.hd.is-open .cord-i i{background:var(--glow)}
@media (max-width:979.98px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ceil);padding:10px var(--gut) 22px;box-shadow:0 24px 40px rgba(0,0,0,.25);max-height:calc(100vh - 70px);overflow:auto}
  .hd.is-open .nav{display:block}
  .nav li+li{border-top:1px solid rgba(255,236,200,.1)}
  .nav a{color:var(--on-ceil);font:800 30px/1 var(--fd);min-height:58px;gap:14px}
  .nav a::before{content:"";width:22px;height:8px;border-radius:4px;border:1.5px solid var(--on-ceil-2);flex:none}
  .nav a[aria-current],.nav a:hover{color:var(--glow)}
  .nav a[aria-current]::before{background:var(--glow);border-color:var(--glow);box-shadow:0 0 10px var(--amber)}
  .rocker{order:2}
  .brand-s{display:none}
}
@media (min-width:480px) and (max-width:979.98px){.brand-s{display:block}}
@media (min-width:980px){
  .cord{display:none}
  .hd-in{gap:22px}
  .nav ul{display:flex;gap:clamp(12px,1.8vw,26px)}
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:4px;border-radius:2px;background:transparent;transition:background .2s,box-shadow .2s}
  .nav a:hover::after{background:var(--line-2)}
  .nav a[aria-current]::after{background:var(--amber);box-shadow:0 0 8px rgba(242,176,79,.9)}
}

/* ---------- buttons (tubes with pins) ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;font:700 16px/1.15 var(--fb);text-decoration:none;text-align:center;margin:0 8px;transition:box-shadow .2s,transform .15s,background .2s}
.btn::before,.btn::after{content:"";position:absolute;top:50%;width:7px;height:9px;margin-top:-4.5px;background:linear-gradient(var(--ink-2) 0 3px,transparent 3px 6px,var(--ink-2) 6px)}
.btn::before{left:-7px}.btn::after{right:-7px}
.btn-lit{background:var(--amber);color:var(--ink);box-shadow:0 0 0 1.5px var(--ink),0 10px 34px -6px rgba(242,176,79,.8)}
.btn-lit:hover{color:var(--ink);background:var(--glow);box-shadow:0 0 0 1.5px var(--ink),0 12px 44px -4px rgba(242,176,79,.95)}
.btn-line{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-line:hover{color:var(--ink);background:var(--sheet)}
.btn:active{transform:translateY(1px)}

/* ---------- home hero ---------- */
.hero{position:relative;background:radial-gradient(90% 70% at 78% -8%,rgba(255,213,138,.55),rgba(255,213,138,0) 62%),linear-gradient(var(--paper),var(--paper));overflow:hidden}
.hero-in{max-width:var(--max);margin:0 auto;padding:clamp(28px,5vw,64px) var(--gut) clamp(34px,5vw,60px);display:grid;gap:26px 48px;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "spec" "polar"}
.hero-copy{grid-area:copy}
.kicker{display:inline-flex;align-items:center;gap:10px;font:500 12.5px/1.3 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.led{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px rgba(242,176,79,.25),0 0 10px var(--amber);flex:none}
.hero h1{font-size:clamp(46px,7.2vw,100px);line-height:.9;font-weight:900;letter-spacing:-.005em;max-width:16ch}
.lead{font-size:clamp(17px,1.5vw,19px);color:var(--ink-2);max-width:60ch;margin-top:22px}
.lead p:last-child{margin-bottom:0}
.acts{display:flex;flex-wrap:wrap;gap:14px 10px;margin:28px -8px 0}
.polar{grid-area:polar;margin:0;align-self:start;justify-self:center;width:min(100%,540px)}
.polar svg{display:block;width:100%;height:auto;overflow:visible}
.pg path{fill:none;stroke:var(--line-2);stroke-width:1}
.l1{fill:url(#lg);stroke:var(--copper);stroke-width:2;transform-origin:220px 26px}
.l2{fill:none;stroke:var(--steel);stroke-width:1.5;stroke-dasharray:5 5;transform-origin:220px 26px}
.pl text{font:500 11px var(--fm);fill:var(--ink-2)}
.fx{fill:var(--ceil)}.fx-g{fill:var(--glow-hi);filter:drop-shadow(0 0 5px var(--amber))}
.spec{grid-area:spec;list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1.5px solid var(--ink);align-self:end}
.spec li{display:flex;align-items:center;gap:14px;padding:13px 2px;border-bottom:1px solid var(--line-2);font:500 15px/1.35 var(--fb)}
.sw{width:30px;height:16px;border-radius:9px;background:var(--ink);position:relative;flex:none}
.sw::after{content:"";position:absolute;right:3px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--glow);box-shadow:0 0 6px var(--amber)}
@media (min-width:900px){
  .hero-in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto 1fr;grid-template-areas:"copy polar" "copy spec"}
  .spec{align-self:start}
  .polar{justify-self:end}
}
@media (prefers-reduced-motion:no-preference){
  .l1{animation:breathe 7s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:scale(.97)}50%{transform:scale(1.02)}}
}

/* ---------- game stage: pendant over the dimmer ---------- */
.stage{position:relative;background:radial-gradient(70% 55% at 50% 0%,rgba(255,213,138,calc(var(--lux,.35)*.32)),rgba(255,213,138,0) 70%),var(--ceil);color:var(--on-ceil);padding:0 var(--gut) clamp(34px,5vw,64px);scroll-margin-top:var(--hh);overflow:hidden}
.pendant{position:relative;height:84px;max-width:780px;margin:0 auto}
.cab{position:absolute;top:0;width:1.5px;height:56px;background:#5b5e63}
.cab-l{left:14%}.cab-r{right:14%}
.pendant .body{position:absolute;left:8%;right:8%;top:56px;height:16px;border-radius:8px;background:linear-gradient(#3a3e44,#1d2024);box-shadow:0 1px 0 rgba(255,255,255,.08) inset}
.diff{position:absolute;left:10px;right:10px;bottom:-2px;height:5px;border-radius:3px;background:var(--glow-hi);opacity:calc(.35 + var(--lux,.35)*.65);box-shadow:0 0 calc(6px + var(--lux,.35)*26px) calc(var(--lux,.35)*6px) rgba(242,176,79,.9);transition:opacity .25s,box-shadow .25s}
.wash{position:absolute;left:0;right:0;top:74px;height:120px;background:radial-gradient(50% 100% at 50% 0%,rgba(255,213,138,calc(var(--lux,.35)*.3)),transparent 75%);pointer-events:none}
.stage.is-cool .diff{background:var(--r6);box-shadow:0 0 22px 4px rgba(195,217,236,.8)}
.stage.is-off .diff{opacity:.15;box-shadow:none}
.stage-in{position:relative;max-width:1120px;margin:0 auto}
.stage-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:500 12.5px/1.3 var(--fm);letter-spacing:.07em;text-transform:uppercase;color:var(--on-ceil);margin:6px 0 16px}
.stage-s{color:var(--on-ceil-2);text-transform:none;letter-spacing:.02em}
.stage-s{flex-basis:100%;padding-left:21px}
@media (min-width:640px){.stage-s{flex-basis:auto;padding-left:0}.stage-s::before{content:"/";margin-right:12px;color:#6b6760}}
.stage-box{container-type:inline-size;min-height:300px}
@media (prefers-reduced-motion:no-preference){.stage.is-off .diff{animation:flick .5s steps(2) 1}@keyframes flick{0%{opacity:.9}30%{opacity:.1}60%{opacity:.6}100%{opacity:.15}}}

/* ---------- document sheet ---------- */
.sheet{max-width:var(--max);margin:0 auto;padding:clamp(34px,5vw,72px) var(--gut) clamp(40px,6vw,80px)}
.doc{min-width:0}
.sec{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 0 clamp(30px,4vw,48px);margin:0 0 clamp(30px,4vw,48px);border-bottom:1px solid var(--line);--kc:var(--r1)}
.sec:last-child{border-bottom:0;margin-bottom:0}
.sec[data-k="2"]{--kc:var(--r2)}.sec[data-k="3"]{--kc:var(--r3)}.sec[data-k="4"]{--kc:var(--r4)}.sec[data-k="5"]{--kc:var(--r5)}.sec[data-k="6"]{--kc:var(--r6)}
.sec-plain{padding-bottom:8px;border:0}
.sec-k{display:flex;align-items:center;gap:10px}
.code{display:inline-grid;place-items:center;min-width:56px;height:26px;padding:0 10px;border-radius:13px;background:var(--kc);box-shadow:0 0 0 1.5px var(--ink),0 0 16px -2px var(--kc);font:600 13px/1 var(--fm);letter-spacing:.04em;color:var(--ink)}
.kel{font:500 11.5px/1 var(--fm);color:var(--ink-2);letter-spacing:.05em}
.sec-b{min-width:0}
.sec-b>:last-child{margin-bottom:0}
.doc h2{font-size:clamp(32px,4.2vw,50px);line-height:.98;margin:0 0 18px;scroll-margin-top:calc(var(--hh) + 20px)}
.doc h3{font:700 19px/1.3 var(--fb);margin:26px 0 8px}
.doc p,.doc li{max-width:68ch}
.doc ul,.doc ol{padding:0;margin:0 0 1.1em;list-style:none}
.doc li{position:relative;padding-left:32px;margin:0 0 .55em}
.doc ul>li::before{content:"";position:absolute;left:2px;top:.62em;width:18px;height:7px;border-radius:4px;background:var(--kc,var(--r1));box-shadow:0 0 0 1.2px var(--ink)}
.doc ol{counter-reset:o}
.doc ol>li{counter-increment:o}
.doc ol>li::before{content:counter(o);position:absolute;left:0;top:.18em;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11.5px/1 var(--fm);background:var(--ink);color:var(--glow)}
.doc strong{font-weight:700;color:var(--ink)}
.table-wrap{overflow-x:auto;margin:10px 0 1.2em;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.doc table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:420px}
.doc th{font:600 12px/1.3 var(--fm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:left;padding:12px 12px 10px 0;border-bottom:1px solid var(--line-2)}
.doc td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.doc tr:last-child td{border-bottom:0}
.doc td:first-child{font-weight:600}
@media (min-width:760px){
  .sec{grid-template-columns:96px minmax(0,1fr);gap:0 28px}
  .sec-plain{grid-template-columns:minmax(0,1fr)}
  .sec-plain .sec-b{padding-left:124px}
  .sec-k{flex-direction:column;align-items:flex-start;gap:10px;padding-top:6px}
}
/* FAQ: bulbs light up when open */
.qa{border-top:1.5px solid var(--ink)}
.qa details{border-bottom:1px solid var(--line-2)}
.qa summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:60px;padding:14px 2px;cursor:pointer;font:600 18px/1.35 var(--fb)}
.qa summary::-webkit-details-marker{display:none}
.q{flex:1}
.bulb{width:26px;height:26px;border-radius:50%;flex:none;border:1.5px solid var(--ink);background:radial-gradient(circle at 50% 45%,var(--sheet) 0 35%,transparent 36%);position:relative;transition:background .2s,box-shadow .2s}
.bulb::after{content:"";position:absolute;left:50%;bottom:-6px;width:8px;height:5px;margin-left:-4px;background:var(--ink-2);border-radius:0 0 2px 2px}
.qa details[open] .bulb{background:radial-gradient(circle at 50% 45%,var(--glow-hi),var(--amber));box-shadow:0 0 14px 2px rgba(242,176,79,.7)}
.qa summary:hover .q{color:var(--copper)}
.a{padding:0 44px 18px 2px;color:var(--ink-2)}
.a p:last-child{margin-bottom:0}

/* ---------- inner page head + switch plate ---------- */
.phead{position:relative;background:radial-gradient(60% 90% at 88% -10%,rgba(255,213,138,.6),rgba(255,213,138,0) 65%),var(--paper);border-bottom:1px solid var(--line);overflow:hidden}
.phead-in{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:clamp(22px,4vw,44px) var(--gut) clamp(30px,5vw,56px)}
.phead h1{font-size:clamp(40px,6.4vw,82px);line-height:.92;font-weight:900;max-width:15ch;margin-top:18px}
.phead .lead{margin-top:18px}
.downlight{position:absolute;right:clamp(16px,10vw,160px);top:0;width:70px;height:12px;border-radius:0 0 35px 35px/0 0 12px 12px;background:var(--ceil)}
.downlight i{position:absolute;left:12px;right:12px;bottom:-2px;height:4px;border-radius:50%;background:var(--glow-hi);box-shadow:0 0 16px 5px rgba(242,176,79,.8)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;font:500 13px/1.3 var(--fm)}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"";width:14px;height:5px;border-radius:3px;background:var(--line-2);margin:0 10px 0 6px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
.crumbs span{color:var(--ink)}
.sheet-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.plate{background:var(--sheet);border-radius:14px;box-shadow:0 0 0 1px var(--line-2),0 14px 30px -18px rgba(27,29,32,.45);padding:6px 16px 10px;position:relative}
.plate summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;font:600 12.5px/1.2 var(--fm);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.plate summary::-webkit-details-marker{display:none}
.pc{width:12px;height:12px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s}
.plate[open] .pc{transform:rotate(225deg)}
.plate ol{list-style:none;margin:0;padding:4px 0 6px;display:grid;gap:2px}
.plate a{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 6px;border-radius:8px;text-decoration:none;color:var(--ink);font:500 15px/1.3 var(--fb)}
.plate a:hover{background:var(--paper)}
.sx{width:16px;height:26px;border-radius:4px;border:1.5px solid var(--ink-2);position:relative;flex:none;background:linear-gradient(var(--paper-2) 50%,var(--sheet) 50%)}
.sx i{position:absolute;left:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--line-2)}
.plate a[aria-current] .sx{background:linear-gradient(var(--sheet) 50%,var(--paper-2) 50%);border-color:var(--ink)}
.plate a[aria-current] .sx i{background:var(--amber);box-shadow:0 0 6px var(--amber)}
.plate a[aria-current] .tl{font-weight:700}
@media (min-width:980px){
  .sheet-grid{grid-template-columns:minmax(0,1fr) 300px;gap:56px}
  .plate-w{order:2}
  .plate{position:sticky;top:calc(var(--hh) + 22px);max-height:calc(100vh - var(--hh) - 44px);overflow:auto}
  .plate::before,.plate::after{content:"";position:absolute;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--line-2);box-shadow:inset 0 0 0 2px var(--sheet)}
  .plate::before{top:5px}.plate::after{bottom:5px}
}
/* CTA light box */
.lightbox{position:relative;margin-top:clamp(34px,5vw,56px);background:var(--ceil);color:var(--on-ceil);border-radius:18px;padding:40px clamp(20px,4vw,40px) 30px;overflow:hidden}
.lb-fix{position:absolute;left:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px);top:0;height:8px;border-radius:0 0 6px 6px;background:var(--ceil-3)}
.lb-fix::after{content:"";position:absolute;left:8px;right:8px;bottom:-3px;height:4px;border-radius:2px;background:var(--glow-hi);box-shadow:0 0 24px 6px rgba(242,176,79,.55)}
.lb-t{font:800 clamp(28px,3.4vw,38px)/1 var(--fd);color:var(--glow);margin:0 0 12px}
.lb-p{color:var(--on-ceil-2);max-width:60ch}
.lightbox .btn{margin-top:6px}
.lightbox .btn::before,.lightbox .btn::after{background:linear-gradient(#8d8a84 0 3px,transparent 3px 6px,#8d8a84 6px)}

/* ---------- catalogue of fixtures (related) ---------- */
.catalog{background:var(--paper-2);border-top:1px solid var(--line)}
.cat-in{max-width:var(--max);margin:0 auto;padding:clamp(36px,5vw,70px) var(--gut)}
.catalog h2{font-size:clamp(34px,4.4vw,54px);margin-bottom:26px}
.fx-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.fx-card{--fc:var(--r1)}
.fx-card[data-f="2"]{--fc:var(--r2)}.fx-card[data-f="3"]{--fc:var(--r3)}.fx-card[data-f="4"]{--fc:var(--r4)}.fx-card[data-f="5"]{--fc:var(--r5)}.fx-card[data-f="6"]{--fc:var(--r6)}
.fx-card a{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;padding:0 18px 20px;background:var(--sheet);border-radius:14px;box-shadow:0 0 0 1px var(--line-2);text-decoration:none;color:var(--ink);transition:box-shadow .2s,transform .2s;overflow:hidden}
.fx-card a:hover{box-shadow:0 0 0 1.5px var(--ink),0 18px 34px -20px rgba(27,29,32,.6)}
.fx-pic{position:relative;display:block;height:92px;margin:0 -18px 6px;background:radial-gradient(60% 110% at 50% 0%,color-mix(in srgb,var(--fc) 75%,transparent),transparent 75%),var(--paper)}
.fx-pic::before{content:"";position:absolute;left:50%;top:0;width:1.5px;height:30px;background:var(--ink-2)}
.fx-pic i{position:absolute;left:50%;top:30px;width:64px;height:20px;margin-left:-32px;border-radius:32px 32px 4px 4px;background:var(--ceil)}
.fx-pic i::after{content:"";position:absolute;left:10px;right:10px;bottom:-3px;height:4px;border-radius:2px;background:var(--fc);box-shadow:0 0 14px 3px var(--fc)}
.fx-card[data-f="2"] .fx-pic i{width:110px;margin-left:-55px;height:10px;top:36px;border-radius:5px}
.fx-card[data-f="3"] .fx-pic::before{height:0}.fx-card[data-f="3"] .fx-pic i{top:0;width:52px;margin-left:-26px;height:14px;border-radius:0 0 26px 26px}
.fx-card[data-f="4"] .fx-pic i{width:34px;height:34px;margin-left:-17px;border-radius:50%;top:28px;background:radial-gradient(circle at 50% 60%,var(--fc),var(--ceil) 70%)}
.fx-card[data-f="4"] .fx-pic i::after{display:none}
.fx-card[data-f="5"] .fx-pic i{width:40px;height:28px;margin-left:-20px;border-radius:4px 4px 20px 20px;top:28px}
.fx-card[data-f="6"] .fx-pic::before{left:30%;height:22px}.fx-card[data-f="6"] .fx-pic i{width:86px;margin-left:-43px;height:12px;top:22px;border-radius:6px;transform:rotate(-8deg)}
.fx-no{position:absolute;right:14px;top:12px;font:600 12px/1 var(--fm);color:var(--ink-2)}
.fx-card strong{font:800 26px/1 var(--fd)}
.fx-d{font-size:15px;line-height:1.5;color:var(--ink-2)}

/* ---------- footer: ceiling with recessed downlights ---------- */
.ft{background:var(--ceil);color:var(--on-ceil-2);position:relative}
.ft-lights{height:26px;background:radial-gradient(circle at 50% 0,var(--glow-hi) 0 5px,rgba(242,176,79,.45) 6px,transparent 18px) 0 0/90px 26px repeat-x,var(--ceil-2);border-bottom:1px solid rgba(255,236,200,.08)}
.ft-in{max-width:var(--max);margin:0 auto;padding:clamp(34px,5vw,60px) var(--gut) 26px;display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
.ft .brand{color:var(--on-ceil);margin:0 0 14px}
.ft .bt-p{fill:#8d8a84}
.ft-a p{font-size:15px;line-height:1.6;max-width:52ch;margin:0}
.ft h2{font:600 12px/1.2 var(--fm);text-transform:uppercase;letter-spacing:.09em;color:var(--on-ceil-2);margin:0 0 8px}
.ft ul{list-style:none;margin:0;padding:0}
.ft-n a{display:flex;align-items:center;min-height:44px;color:var(--on-ceil);text-decoration:none;font-size:16px}
.ft-n a:hover{color:var(--glow)}
.ft-b{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:22px;border-top:1px solid rgba(255,236,200,.12);font:500 13px/1.3 var(--fm)}
.age{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--amber);color:var(--glow);font:700 14px/1 var(--fm);box-shadow:0 0 12px -2px rgba(242,176,79,.7)}
.ft-top{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;color:var(--on-ceil)}
.ft-top:hover{color:var(--glow)}
.ft :focus-visible,.stage :focus-visible,.nav :focus-visible,.lightbox :focus-visible{outline-color:var(--glow)}
@media (min-width:760px){.ft-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}

/* ---------- 404 ---------- */
.nf-in{max-width:760px;margin:0 auto;padding:80px var(--gut)}
.nf-code{font:900 120px/1 var(--fd);color:var(--amber);margin:0}
.nf h1{font-size:clamp(40px,6vw,64px);margin-bottom:16px}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
