:root{
  color-scheme:dark;
  --bg:#000000;
  --surface:#000000;
  --text:#ffffff;
  --muted:#ffffff;
  --faint:#ffffff;
  --accent:#ed1c24;
  --line:rgba(255,255,255,.17);
}
body[data-theme]{--bg:#000000;--surface:#000000;--text:#ffffff;--muted:#ffffff;--faint:#ffffff;--accent:#ed1c24;--line:rgba(255,255,255,.17);color-scheme:dark}
body{background:#000000;color:#ffffff}
.concept-strip{background:#ed1c24;color:#ffffff}
.concept-name{color:#ffffff}
.palette-note{margin-left:auto;color:#ffffff;font:9px var(--mono);letter-spacing:.1em}
.palette-note i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#ffffff}
.skip-link{background:#ed1c24;color:#ffffff}
.site-header,.services-section,.about-section,.site-footer{background:#000000}
.button-primary,.header-cta span,.project-sticker,.card-arrow,.contact-section{background:#ed1c24;color:#ffffff}
.button-primary,.project-sticker,.card-arrow,.header-cta span,.contact-button{color:#ffffff}
.hero-visual{background:#000000}
.hero-image,.visual-porsche img{filter:grayscale(1) contrast(1.06)}
.image-shade{background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 48%),linear-gradient(90deg,rgba(0,0,0,.2),transparent)}
.visual-label small,.contact-section .eyebrow{color:#ffffff}
.visual-seoul{background:radial-gradient(ellipse at 57% 39%,#ed1c24 0,#870b11 20%,#290205 51%,#000000 86%)}
.seoul-sky{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.67))}
.seoul-moon{background:#ffffff;box-shadow:0 0 70px rgba(237,28,36,.45)}
.seoul-sign{color:#ffffff;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.skyline i,.skyline i:nth-child(4n){background:linear-gradient(180deg,#160204,#000000)}
.skyline i:before{background:repeating-linear-gradient(180deg,rgba(237,28,36,.9) 0 2px,transparent 2px 15px)}
.visual-music{background:radial-gradient(circle at 52% 48%,#ed1c24 0,#710a10 31%,#190103 68%,#000000 90%)}
.visual-music:after{background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 55%)}
.music-orbit{border-color:rgba(255,255,255,.65)}
.music-core{color:#ffffff;text-shadow:0 0 35px rgba(237,28,36,.62)}
.music-core span{color:#ed1c24}
.waveform i{background:#ffffff;box-shadow:0 0 12px rgba(255,255,255,.3)}
.music-tag{color:#ffffff}
.visual-run{background:#ed1c24;color:#ffffff}
.visual-run:before,.visual-run:after{border-color:rgba(255,255,255,.35)}
.runner{fill:#000000}
.visual-store{background:radial-gradient(ellipse at 50% 60%,#ed1c24,#68090e 46%,#000000 100%)}
.store-glow{background:rgba(237,28,36,.36)}
.store-sign{color:#ffffff;text-shadow:0 0 15px rgba(255,255,255,.24)}
.store-front i{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(0,0,0,.82));border-color:rgba(255,255,255,.43);box-shadow:inset 0 0 24px rgba(255,255,255,.12)}
.store-front i:nth-child(2n){background:linear-gradient(180deg,rgba(237,28,36,.25),rgba(0,0,0,.85))}
.store-caption{color:#ffffff}
.contact-section{background:#ed1c24;color:#ffffff}
.contact-section .eyebrow{color:#ffffff}
.contact-section .eyebrow-line{background:#ffffff}
.contact-section h2 em{color:transparent;-webkit-text-stroke:1px #ffffff}
.contact-button{background:#000000;color:#ffffff}
.contact-button span{color:#ed1c24}
.contact-bottom{border-color:rgba(255,255,255,.34)}
.contact-orbit{border-color:rgba(255,255,255,.28)}
@media(max-width:680px){.palette-note{font-size:8px}.hero-visual{align-self:stretch;width:100%}}

/* Motion pass: energetic, short and limited to the existing palette. */
.wordmark-dot{display:inline-block;animation:red-pop 1.8s ease-in-out infinite}
.hero h1{animation:hero-enter .78s cubic-bezier(.16,1,.3,1) both}
.headline-shift{display:inline-block;text-shadow:0 0 26px rgba(237,28,36,.22);animation:word-pop .82s .14s cubic-bezier(.16,1,.3,1) both}
.hero-intro{animation:hero-enter .72s .18s cubic-bezier(.16,1,.3,1) both}
.hero-actions{animation:hero-enter .72s .28s cubic-bezier(.16,1,.3,1) both}
.hero-visual{animation:frame-pop .85s .1s cubic-bezier(.16,1,.3,1) both}
.hero-image{animation:hero-arrive .9s .05s cubic-bezier(.16,1,.3,1) both,background-drift 22s ease-in-out 1s infinite alternate}
.round-stamp{animation:slow-spin 14s linear infinite,stamp-breathe 3.2s ease-in-out infinite}
.ticker-track{animation-duration:19s}
.button-primary{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s}
.button-primary:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 8px 28px rgba(237,28,36,.28)}
.project-card{transition:transform .32s cubic-bezier(.16,1,.3,1)}
.project-card.reveal.is-visible:hover{transform:translateY(-7px)}
.project-card:hover .project-visual img{transform:scale(1.065)}
.project-card:hover .project-sticker{animation:sticker-wobble .42s ease-in-out}
.project-card:hover .caption-mark{transform:translate(3px,-3px)}
.caption-mark{transition:transform .22s}
.service-row{transition:padding .28s cubic-bezier(.16,1,.3,1),color .2s,background .2s}
.service-arrow{transition:transform .22s cubic-bezier(.16,1,.3,1)}
.service-row:hover .service-arrow{transform:translate(4px,-4px)}
.about-mark i{animation:red-spin 14s linear infinite}
.contact-orbit{animation:orbit-breathe 6s ease-in-out infinite alternate}
.orbit-b{animation-delay:-3s}
@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes word-pop{0%{opacity:0;transform:translateY(26px) scale(.84) rotate(-4deg)}72%{opacity:1;transform:translateY(-3px) scale(1.035) rotate(1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes frame-pop{from{opacity:.4;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes background-drift{from{background-size:cover;background-position:55% 50%}to{background-size:cover;background-position:49% 54%}}
@keyframes red-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
@keyframes stamp-breathe{0%,100%{box-shadow:0 0 0 rgba(237,28,36,0)}50%{box-shadow:0 0 18px rgba(237,28,36,.22)}}
@keyframes sticker-wobble{0%,100%{transform:rotate(-12deg) scale(1)}35%{transform:rotate(-5deg) scale(1.09)}68%{transform:rotate(-16deg) scale(1.04)}}
@keyframes red-spin{to{transform:rotate(360deg)}}
@keyframes orbit-breathe{from{transform:scale(.98)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.wordmark-dot,.hero h1,.headline-shift,.hero-intro,.hero-actions,.hero-visual,.hero-image,.round-stamp,.ticker-track,.project-sticker,.about-mark i,.contact-orbit{animation:none!important}.hero h1,.headline-shift,.hero-intro,.hero-actions,.hero-visual{opacity:1;transform:none}.project-card,.button-primary,.service-row,.service-arrow,.caption-mark{transition:none!important}}
@media(max-width:680px){.hero-image{animation-duration:30s}.project-card.reveal.is-visible:hover{transform:none}}
