/* Silver & black theme: loaded after styles.css, overrides tokens and key components */
:root{--black:#050506;--coal:#0d0e10;--steel:#16181b;--line:#2a2d33;--silver:#c4cad3;--mute:#8b93a0;--chalk:#f4f6fa;--paper:#e4e8ee;--ink:#0a0b0d;
  --yellow:#ffc400;--yellow-dk:#7a5800;--chrome:linear-gradient(180deg,#ffffff 0%,#c7cdd8 48%,#8e97a6 100%);
  --display:'Sora','Inter',system-ui,sans-serif;--head:'Sora','Inter',system-ui,sans-serif;--body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(190,205,230,.07),transparent 60%),var(--black)}
h1,h2,h3,h4,.display{letter-spacing:-.025em;line-height:1.05}
h2{font-size:clamp(1.9rem,4vw,3.1rem)}
.hero h1,.hero .display{background:linear-gradient(110deg,#fff 20%,#9aa3b2 60%,#fff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{background-image:radial-gradient(900px 520px at 78% 8%,rgba(200,215,240,.16),transparent 62%)}
.btn{background:linear-gradient(180deg,#ffd95a,#ffc400 55%,#d49a00);color:#050506;border:0;border-bottom:0;border-radius:999px;padding:1rem 1.7rem;letter-spacing:.06em;
  box-shadow:inset 0 1px 0 #fff,0 10px 34px -10px rgba(255,196,0,.65);transition:transform .2s,box-shadow .2s,filter .2s}
.btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 16px 44px -10px rgba(255,196,0,.85)}
.btn:active{transform:translateY(0);border-bottom-width:0}
.btn.ghost{background:rgba(255,255,255,.03);color:var(--chalk);border:1px solid rgba(255,255,255,.22);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn.ghost:hover{border-color:var(--yellow);color:var(--yellow)}
:focus-visible{outline-color:var(--yellow)}
.dash{height:5px;background:repeating-linear-gradient(90deg,var(--yellow) 0 46px,transparent 46px 86px);box-shadow:0 0 22px rgba(255,196,0,.35)}
.light{background:linear-gradient(180deg,#eef1f5,#d3d8e0);color:var(--ink)}
.light .lede{color:#3a4049}
.topbar{background:#0d0e10;border-bottom:1px solid var(--line);color:var(--silver)}
.nav{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.role{background:var(--yellow);color:#050506;border-radius:999px}
.p-head{background:rgba(5,5,6,.8);border-bottom:1px solid rgba(255,255,255,.08)}
input,select,textarea{border-radius:10px}

/* intro: "The Reveal" */
.fx{display:none;position:fixed;inset:0;z-index:1000;background:#050506;overflow:hidden;transition:opacity .8s;--mx:50%;--my:50%}
html.intro-on .fx{display:grid;place-items:center}
html.intro-on body{overflow:hidden}
.fx.out{opacity:0;pointer-events:none}
.fx-glow{position:absolute;inset:0;background:radial-gradient(640px circle at var(--mx) var(--my),rgba(190,208,235,.2),transparent 62%)}
.fx-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%)}
.fx-center{position:relative;text-align:center;padding:0 1.2rem;width:100%}
.fx-cap{margin:0;min-height:1.6em;font:500 clamp(.8rem,2vw,1.1rem)/1.2 var(--body);letter-spacing:.32em;text-transform:uppercase;color:#8b93a0;opacity:0;transition:opacity .7s}
.fx-cap.show{opacity:1}
.fx-beam{height:2px;width:min(560px,72vw);margin:1.5rem auto;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 28px 3px rgba(210,225,245,.65);transform:scaleX(0);transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.fx.beam .fx-beam{transform:scaleX(1)}
.fx-mark{margin:0}
.fx-word{display:block;font:800 clamp(2.6rem,12.5vw,9rem)/1.05 var(--display);letter-spacing:-.04em;padding:.05em 0;background:linear-gradient(110deg,#5d6573 0%,#f6f8fb 28%,#8f98a8 46%,#fff 60%,#6d7685 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 100% 0 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}
.fx.mark .fx-word{clip-path:inset(0 0 0 0);animation:fxshine 3.4s linear infinite}
.fx-sub{display:block;margin-top:.3rem;font:600 clamp(.9rem,3.2vw,1.9rem)/1 var(--head);letter-spacing:.9em;padding-left:.9em;color:#ffc400;opacity:0;transform:translateY(10px);transition:opacity .9s .5s,transform .9s .5s}
.fx-tag{margin:1.1rem 0 0;color:#7c8492;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;opacity:0;transition:opacity .9s .9s}
.fx.mark .fx-sub{opacity:1;transform:none}.fx.mark .fx-tag{opacity:1}
.fx-enter{margin-top:2rem;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .8s,transform .8s}
.fx.ready .fx-enter{opacity:1;transform:none;pointer-events:auto}
.fx-skip{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;z-index:5;background:rgba(255,255,255,.05);color:#cfd5de;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.45rem 1rem;font:600 .8rem var(--body);letter-spacing:.08em;cursor:pointer}
.fx-skip:hover{border-color:var(--yellow);color:var(--yellow)}
@keyframes fxshine{to{background-position:-260% 0}}

.hero h1 em{font-style:normal;background:none;-webkit-text-fill-color:var(--yellow);color:var(--yellow)}
#menu a[aria-current]{color:var(--yellow)}
.pagehead{padding:4.5rem 0 3rem;border-bottom:1px solid var(--line);background:radial-gradient(800px 360px at 85% 0,rgba(255,196,0,.12),transparent 65%)}
.eyebrow{color:var(--yellow);font:700 .8rem var(--body);letter-spacing:.3em;text-transform:uppercase;margin:0 0 1rem}
.pagehead h1{font-size:clamp(2.2rem,5.5vw,4rem);max-width:18ch;background:linear-gradient(110deg,#fff 30%,#9aa3b2);-webkit-background-clip:text;background-clip:text;color:transparent}
.pg{padding:3.5rem 0}.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 0}
.chips a{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.45rem 1rem;text-decoration:none;color:var(--silver);font-weight:600;font-size:.9rem}.chips a:hover{border-color:var(--yellow);color:var(--yellow)}
.svc-grid,.cards3{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));margin:1.2rem 0 3rem}
.svc-card,.cards3>div{background:linear-gradient(160deg,#17191d,#0d0e10);border:1px solid var(--line);border-radius:16px;padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s,transform .2s}
.svc-card:hover,.cards3>div:hover{border-color:var(--yellow);transform:translateY(-3px)}
.svc-card h4,.cards3 h3{font-size:1.15rem;color:#fff}.svc-card p,.cards3 p{color:var(--silver);margin:0;font-size:.98rem}
.svc-card small{color:var(--mute)}.svc-card a{margin-top:auto;color:var(--yellow);font-weight:700;text-decoration:none}
.pg h2.grp{font-size:1.7rem;color:var(--yellow);margin-top:2.5rem}
.faq details{border:1px solid var(--line);border-radius:14px;margin:.7rem 0;background:#0d0e10}.faq summary{cursor:pointer;padding:1.1rem 1.3rem;font:700 1.05rem var(--head);list-style:none}
.faq summary::after{content:'+';float:right;color:var(--yellow);font-size:1.4rem;line-height:1}.faq details[open] summary::after{content:'–'}.faq details p{padding:0 1.3rem 1.2rem;color:var(--silver);margin:0}
.ctaband{margin:3rem 0 0;padding:2.5rem;border-radius:20px;border:1px solid rgba(255,196,0,.4);background:linear-gradient(120deg,rgba(255,196,0,.14),rgba(255,255,255,.04));display:flex;gap:1.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ctaband h2{font-size:clamp(1.5rem,3vw,2.2rem)}.ctaband .cta{display:flex;gap:.8rem;flex-wrap:wrap}

/* motion layer */
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ffc400,#fff);transform-origin:0 50%;transform:scaleX(0);z-index:900}
.glow{position:fixed;left:-260px;top:-260px;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,196,0,.1),transparent 65%);mix-blend-mode:screen}
.rv{opacity:0;transform:translateY(48px) scale(.98);filter:blur(8px);transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform 1s cubic-bezier(.2,.7,.2,1) var(--d,0s),filter 1s ease var(--d,0s)}
.rv.in{opacity:1;transform:none;filter:none}
.fxcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero,.pagehead{position:relative;overflow:hidden}.hero>.wrap,.pagehead>.wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(2.8rem,8vw,6.4rem);letter-spacing:-.045em}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:#08090a;padding:1.1rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee>div{display:flex;gap:3.2rem;width:max-content;animation:mq 90s linear infinite}
.marquee span{font:700 clamp(1.5rem,3.4vw,2.8rem) var(--head);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px #7d8591;white-space:nowrap}.marquee span:nth-child(3n){color:var(--yellow);-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-50%)}}
.stats{padding:4.5rem 0}.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.stats .wrap>div{padding:2.2rem 1.5rem;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at var(--gx,50%) var(--gy,0),rgba(255,196,0,.15),transparent 60%),#0d0e10}
.stats b{display:block;font:800 clamp(2.4rem,6vw,4.6rem)/1 var(--display);letter-spacing:-.045em;margin-bottom:.4rem;background:linear-gradient(180deg,#fff,#8e97a6);-webkit-background-clip:text;background-clip:text;color:transparent}.stats span{color:var(--mute)}
.svc-card,.cards3>div,.board,.stats .wrap>div{will-change:transform;transition:transform .18s ease-out,border-color .2s}
.fx-gate{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin:0 0 1.2rem}.fx.go .fx-gate{display:none}
.fx-snd{top:auto;bottom:max(16px,env(safe-area-inset-bottom));right:auto;left:16px}.fx-snd[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.marquee>div{animation:none}}
.fx-gate{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);margin:0;padding:0 1rem}
.fx-gate::before{content:'FINELINE PAINTING · Best with sound on';flex-basis:100%;text-align:center;color:#8b93a0;font:600 .8rem var(--body);letter-spacing:.32em;text-transform:uppercase;margin-bottom:.8rem}
.stats b{white-space:nowrap;font-size:clamp(2.2rem,4.6vw,3.8rem)}

/* ===== polish: calm, Apple-like ===== */
:root{--display:'Inter',system-ui,-apple-system,sans-serif;--head:'Inter',system-ui,-apple-system,sans-serif;--body:'Inter',system-ui,-apple-system,sans-serif}
body{background:#000;font-weight:400;-webkit-font-smoothing:antialiased}
.topbar,.dash{display:none}
.nav{position:sticky;top:0;z-index:800;background:rgba(10,10,11,.72);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav .wrap{min-height:56px}
.brand-mark{font:700 .7rem/1.15 var(--head);letter-spacing:.34em;color:#f5f5f7}.brand-bar{height:2px;margin-top:4px;background:var(--yellow)}
#menu a{font:500 .85rem var(--body);color:#c7c7cc;letter-spacing:0;text-transform:none}#menu a:hover,#menu a[aria-current]{color:#fff}
.btn{background:var(--yellow);color:#000;border:0;border-radius:999px;font:600 .95rem var(--body);letter-spacing:0;text-transform:none;padding:.8rem 1.5rem;box-shadow:none}
.btn:hover{filter:brightness(1.08);transform:none;box-shadow:none}
.btn.ghost{background:rgba(255,255,255,.08);color:#f5f5f7;border:0;box-shadow:none}.btn.ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.nav-cta .btn{padding:.5rem 1rem;font-size:.82rem}
h1,h2,h3,h4,.display{font-family:var(--head);font-weight:700;letter-spacing:-.045em}
h2{font-size:clamp(2.1rem,5.4vw,4rem);line-height:1.03}
.hero{padding:clamp(4.5rem,10vw,9rem) 0 clamp(3rem,6vw,5rem);text-align:center;background-image:radial-gradient(900px 480px at 50% 0,rgba(255,255,255,.07),transparent 70%)}
.hero>.wrap{display:flex;flex-direction:column;align-items:center;gap:clamp(2.5rem,6vw,4.5rem)}
.hero h1{font-size:clamp(3rem,9vw,7.4rem);line-height:.98;letter-spacing:-.055em;max-width:12ch;margin:0 auto 1.4rem}
.hero .lede{margin:0 auto 2rem;font-size:clamp(1.1rem,2vw,1.4rem);color:#a1a1a6;max-width:36rem}
.hero .cta{justify-content:center;display:flex;gap:.8rem;flex-wrap:wrap}.hero .phone{color:#6e6e73;font-size:.9rem;margin-top:1.4rem}
.board{width:min(680px,100%);text-align:left;border:1px solid rgba(255,255,255,.1);border-image:none;border-radius:28px;background:rgba(255,255,255,.035);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.board::before,.board::after{display:none}
.strip{background:#000;border-top:1px solid #1c1c1e}.strip *{color:#f5f5f7!important;font-weight:600}
.light{background:#f5f5f7;color:#1d1d1f;padding-block:clamp(4rem,9vw,8rem)}.light .lede{color:#6e6e73}.svc-group h3{color:#1d1d1f}
.why,.process,.teaser,.contact{padding-block:clamp(4rem,9vw,8rem)}
.marquee{border-color:#1c1c1e;background:#000;padding:1.4rem 0}.marquee span{font-size:clamp(1.2rem,2.6vw,2rem);-webkit-text-stroke:1px #3a3a3f}.marquee span:nth-child(5n){color:#ffc400;-webkit-text-stroke:0}
.stats .wrap>div{background:none;border:0;border-top:1px solid #2c2c2e;border-radius:0;padding:1.6rem 0 0}.stats b{font-size:clamp(2.8rem,6.4vw,5rem)}
.svc-card,.cards3>div{border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#101012}.svc-card:hover,.cards3>div:hover{border-color:rgba(255,255,255,.22);transform:none}
.pagehead{padding:clamp(4rem,9vw,7rem) 0 3rem;background-image:radial-gradient(800px 360px at 50% 0,rgba(255,255,255,.06),transparent 70%)}
.pagehead h1{font-size:clamp(2.6rem,7vw,5.4rem);letter-spacing:-.05em;max-width:16ch}
.glow{width:700px;height:700px;left:-350px;top:-350px;background:radial-gradient(circle,rgba(255,255,255,.055),transparent 65%)}
.prog{height:2px}.rv{transform:translateY(28px);filter:blur(4px)}
.fx-skip{background:none;border:0;opacity:.65;font-weight:500;letter-spacing:.04em;padding:.5rem}.fx-skip:hover{opacity:1;color:#fff;border:0}
.fx-grid{opacity:.5}.fx-cap{letter-spacing:.34em;font-size:clamp(.72rem,1.6vw,.9rem)}
.fx-word{font-weight:700;letter-spacing:-.05em}.fx-sub{font-weight:500;color:#ffc400}
.fx-snd{position:absolute;top:auto;right:auto;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:5;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);display:flex;gap:3px;align-items:center;justify-content:center;cursor:pointer;opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fx-snd i{width:2px;height:14px;border-radius:2px;background:#f5f5f7;animation:fxeq 1.1s ease-in-out infinite}.fx-snd i:nth-child(2){animation-delay:-.35s}.fx-snd i:nth-child(3){animation-delay:-.7s}.fx-snd i:nth-child(4){animation-delay:-.2s}
.fx-snd.off i{animation:none;height:2px;opacity:.45}.fx-snd:hover{border-color:#fff}
@keyframes fxeq{50%{transform:scaleY(.25)}}
.nav{background:rgba(8,8,9,.92)}
