/* 자동 생성 — tools/build-theme-dark.py. 손으로 고치지 않는다. */
:root { --edge: rgba(243, 242, 238, 0.14); --edge-soft: rgba(243, 242, 238, 0.08); --ink: #f3f2ee; --muted: rgba(243, 242, 238, 0.78); --deep: rgba(243, 242, 238, 0.68); --faint: rgba(243, 242, 238, 0.6); }
.brand span,
.site-nav nav { color: rgba(243, 242, 238, 0.72); }
.site-nav nav a:hover { border-color: rgba(243, 242, 238, 0.28); }
body.site-page .site-nav { border-bottom: 1px solid rgba(243, 242, 238, 0.072); }
body.site-page .brand span,
body.site-page .site-nav nav { color: rgba(243, 242, 238, 0.6); }
body.site-page .site-nav nav a:hover { border-color: rgba(243, 242, 238, 0.198); }
.spring-stage { background: radial-gradient(circle at 20% 20%, rgba(243, 242, 238, 0.042), transparent 24%),
    radial-gradient(circle at 78% 18%, rgba(125, 178, 255, 0.3), transparent 24%),
    linear-gradient(135deg, var(--petal) 0%, var(--petal) 52%, var(--petal) 100%); }
.kicker,
.section-kicker { color: rgba(243, 242, 238, 0.72); }
.line { color: rgba(243, 242, 238, 0.78); }
.panel span { color: rgba(243, 242, 238, 0.6); }
.intro { background: radial-gradient(circle at 18% 18%, rgba(243, 242, 238, 0.042), transparent 26%),
    linear-gradient(135deg, var(--petal), var(--petal) 58%, var(--petal)); }
.intro p:not(.section-kicker) { color: rgba(243, 242, 238, 0.76); }
.intro .section-kicker,
.install .section-kicker,
.contact .section-kicker { color: rgba(243, 242, 238, 0.62); }
.intro-media-card { border: 1px solid rgba(243, 242, 238, 0.099); background: radial-gradient(circle at 18% 18%, rgba(125, 178, 255, 0.3), transparent 22%),
    radial-gradient(circle at 78% 62%, rgba(243, 242, 238, 0.042), transparent 26%),
    linear-gradient(145deg, var(--paper), var(--petal) 54%, var(--surface)); }
.intro-media-card dt { color: rgba(243, 242, 238, 0.6); }
.intro-media-card dd { color: rgba(243, 242, 238, 0.82); }
.works-grid { border: 1px solid rgba(243, 242, 238, 0.099); }
.work-copy span { color: rgba(243, 242, 238, 0.6); }
.work-copy p { color: rgba(243, 242, 238, 0.72); }
.inline-work-link { border: 1px solid rgba(243, 242, 238, 0.153); }
.inline-work-link::after { color: rgba(243, 242, 238, 0.62); }
.inline-work-link:hover { border-color: rgba(243, 242, 238, 0.189); }
.mini-data-table { border: 1px solid rgba(243, 242, 238, 0.081); }
.mini-data-table th,
.mini-data-table td { border-top: 1px solid rgba(243, 242, 238, 0.072); color: rgba(243, 242, 238, 0.72); }
.mini-data-table th { color: rgba(243, 242, 238, 0.6); }
.data-table-wrap { border: 1px solid rgba(243, 242, 238, 0.099); }
.data-table caption { color: rgba(243, 242, 238, 0.7); }
.data-table th,
.data-table td { border-top: 1px solid rgba(243, 242, 238, 0.081); color: rgba(243, 242, 238, 0.74); }
.data-table thead th { color: rgba(243, 242, 238, 0.6); }
.proposal-tabs { border: 1px solid rgba(243, 242, 238, 0.099); background: radial-gradient(circle at 8% 18%, rgba(243, 242, 238, 0.042), transparent 24%),
    linear-gradient(135deg, var(--petal), rgba(243, 242, 238, 0.042)); }
.proposal-head p:not(.section-kicker) { color: rgba(243, 242, 238, 0.68); }
.proposal-tab-buttons button { border: 1px solid rgba(243, 242, 238, 0.108); color: rgba(243, 242, 238, 0.68); }
.proposal-panel { border: 1px solid rgba(243, 242, 238, 0.099); }
.proposal-weather { background: radial-gradient(circle at 24% 20%, rgba(125, 178, 255, 0.3), transparent 20%),
    radial-gradient(circle at 72% 52%, rgba(243, 242, 238, 0.042), transparent 18%),
    linear-gradient(145deg, var(--lift), var(--raise) 55%, var(--lift)); }
.proposal-air { background: repeating-linear-gradient(135deg, rgba(0, 71, 44, 0.034) 0 2px, transparent 2px 18px),
    radial-gradient(circle at 70% 22%, rgba(243, 242, 238, 0.042), transparent 20%),
    linear-gradient(145deg, var(--petal), var(--surface)); }
.proposal-mobility { background: linear-gradient(90deg, rgba(0, 71, 44, 0.076) 0 2px, transparent 2px 18px),
    radial-gradient(circle at 30% 70%, rgba(243, 242, 238, 0.042), transparent 14%),
    linear-gradient(145deg, var(--petal), var(--lift)); }
.proposal-energy { background: radial-gradient(circle at 78% 18%, rgba(125, 178, 255, 0.3), transparent 22%),
    radial-gradient(circle at 22% 70%, rgba(243, 242, 238, 0.042), transparent 20%),
    linear-gradient(145deg, var(--raise), var(--petal)); }
.proposal-festival { background: radial-gradient(circle at 18% 30%, rgba(243, 242, 238, 0.042), transparent 14%),
    radial-gradient(circle at 54% 58%, rgba(125, 178, 255, 0.3), transparent 18%),
    radial-gradient(circle at 82% 30%, rgba(125, 178, 255, 0.3), transparent 14%),
    linear-gradient(145deg, var(--surface), var(--raise)); }
.proposal-copy span { color: rgba(243, 242, 238, 0.6); }
.proposal-copy p { color: rgba(243, 242, 238, 0.74); }
.proposal-copy dl { border: 1px solid rgba(243, 242, 238, 0.081); }
.proposal-copy dt,
.proposal-copy dd { color: rgba(243, 242, 238, 0.72); }
.proposal-copy dt { color: rgba(243, 242, 238, 0.6); }
.region-art-grid,
.local-art-strip { border: 1px solid rgba(243, 242, 238, 0.099); }
.region-art-grid article,
.local-art-strip article,
.local-art-strip .region-link { background: radial-gradient(circle at 88% 12%, rgba(125, 178, 255, 0.3), transparent 22%),
    linear-gradient(145deg, var(--petal), rgba(243, 242, 238, 0.042)); }
.region-preview { border-bottom: 1px solid rgba(243, 242, 238, 0.099); }
.media-live-overlay { border: 1px solid rgba(243, 242, 238, 0.234); }
.media-live-overlay span,
.region-art-grid .media-live-overlay span,
.local-art-strip .media-live-overlay span { color: rgba(243, 242, 238, 0.88); }
.media-signal small,
.local-art-strip .media-signal small,
.region-art-grid .media-signal small { color: rgba(243, 242, 238, 0.72); }
.media-meter { background: rgba(243, 242, 238, 0.042); }
.region-art-grid span,
.local-art-strip span { color: rgba(243, 242, 238, 0.6); }
.region-art-grid p,
.local-art-strip p { color: rgba(243, 242, 238, 0.72); }
.region-art-grid dl { border: 1px solid rgba(243, 242, 238, 0.099); }
.region-art-grid dt,
.region-art-grid dd { color: rgba(243, 242, 238, 0.7); }
.region-art-grid dt { color: rgba(243, 242, 238, 0.6); }
.video-grid { border: 1px solid rgba(243, 242, 238, 0.099); }
.video-grid article { background: radial-gradient(circle at 88% 14%, rgba(125, 178, 255, 0.3), transparent 20%),
    linear-gradient(145deg, var(--petal), rgba(243, 242, 238, 0.042)); }
.video-frame { border: 1px solid rgba(243, 242, 238, 0.081); }
.video-frame::after { color: rgba(243, 242, 238, 0.94); }
.video-grid span { color: rgba(243, 242, 238, 0.6); }
.video-grid p { color: rgba(243, 242, 238, 0.72); }
.local-media-preview { border-bottom: 1px solid rgba(243, 242, 238, 0.081); }
.local-art-strip small { color: rgba(243, 242, 238, 0.6); }
.local-art-strip b { color: rgba(243, 242, 238, 0.82); }
.product-grid { border: 1px solid rgba(243, 242, 238, 0.099); }
.product-card { background: linear-gradient(180deg, var(--petal), rgba(243, 242, 238, 0.042)),
    var(--petal); }
.product-card span { color: rgba(243, 242, 238, 0.6); }
.product-card.featured span,
.product-card.featured p,
.product-card.featured dd,
.product-card.featured dt { color: rgba(243, 242, 238, 0.74); }
.product-card p { color: rgba(243, 242, 238, 0.74); }
.product-card dl div { border-top: 1px solid rgba(243, 242, 238, 0.099); }
.product-card dt,
.product-card dd { color: rgba(243, 242, 238, 0.68); }
.page-services { background: radial-gradient(circle at 18% 14%, rgba(243, 242, 238, 0.042), transparent 26%),
    linear-gradient(145deg, var(--surface), var(--paper) 52%, var(--surface)); }
.page-services .section-kicker { color: rgba(243, 242, 238, 0.62); }
.service-layout { border: 1px solid rgba(243, 242, 238, 0.099); }
.service-lead span,
.service-grid span { color: rgba(243, 242, 238, 0.6); }
.service-lead p { color: rgba(243, 242, 238, 0.76); }
.service-actions a { border: 1px solid rgba(243, 242, 238, 0.108); }
.service-grid p { color: rgba(243, 242, 238, 0.76); }
.service-grid dl div { border-top: 1px solid rgba(243, 242, 238, 0.099); }
.service-grid dt,
.service-grid dd { color: rgba(243, 242, 238, 0.74); }
.service-grid dt { color: rgba(243, 242, 238, 0.6); }
.reference-strip { border: 1px solid rgba(243, 242, 238, 0.099); }
.reference-strip span { color: rgba(243, 242, 238, 0.6); }
.profile-layout { border: 1px solid rgba(243, 242, 238, 0.099); }
.profile-lead span,
.profile-grid span { color: rgba(243, 242, 238, 0.66); }
.profile-lead p,
.profile-grid p { color: rgba(243, 242, 238, 0.74); }
.grid span { color: rgba(243, 242, 238, 0.6); }
.grid p { color: rgba(243, 242, 238, 0.72); }
.install li { border-top: 1px solid rgba(243, 242, 238, 0.108); color: rgba(243, 242, 238, 0.78); }
.timeline span { color: rgba(243, 242, 238, 0.6); }
.timeline p { color: rgba(243, 242, 238, 0.76); }
.case-list { border: 1px solid rgba(243, 242, 238, 0.099); }
.case-list p { color: rgba(243, 242, 238, 0.78); }
.website-refs { background: radial-gradient(circle at 16% 18%, rgba(243, 242, 238, 0.035), transparent 24%),
    radial-gradient(circle at 82% 12%, rgba(125, 178, 255, 0.3), transparent 22%),
    linear-gradient(135deg, var(--surface), var(--surface)); }
.website-ref-card { border: 1px solid rgba(243, 242, 238, 0.099); }
.website-ref-card span { color: rgba(243, 242, 238, 0.6); }
.website-ref-card small { color: rgba(243, 242, 238, 0.68); }
.site-preview-dialog { border: 1px solid rgba(243, 242, 238, 0.162); }
.site-preview-dialog header span,
.site-preview-dialog footer p { color: rgba(243, 242, 238, 0.62); }
.site-preview-dialog button { border: 1px solid rgba(243, 242, 238, 0.162); background: rgba(243, 242, 238, 0.035); }
.site-preview-dialog footer { border-top: 1px solid rgba(243, 242, 238, 0.108); }
.contact p:not(.section-kicker) { color: rgba(243, 242, 238, 0.76); }
.contact-summary { border: 1px solid rgba(243, 242, 238, 0.099); }
.contact-summary li { border-top: 1px solid rgba(243, 242, 238, 0.081); color: rgba(243, 242, 238, 0.76); }
.contact-form { border: 1px solid rgba(243, 242, 238, 0.099); }
.contact-form label span,
.contact-form legend { color: rgba(243, 242, 238, 0.66); }
.contact-form input,
.contact-form textarea { border: 1px solid rgba(243, 242, 238, 0.108); }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: rgba(243, 242, 238, 0.6); }
.contact-form fieldset label { color: rgba(243, 242, 238, 0.78); }
.form-assurance,
.form-success { color: rgba(243, 242, 238, 0.68); }
.form-success { border: 1px solid rgba(243, 242, 238, 0.081); }
.credentials { background: radial-gradient(circle at 18% 16%, rgba(243, 242, 238, 0.042), transparent 25%),
    linear-gradient(135deg, var(--petal), var(--petal)); }
.credentials .section-kicker { color: rgba(243, 242, 238, 0.62); }
.site-footer p { color: rgba(243, 242, 238, 0.72); }
.footer-info div { border-top: 1px solid rgba(243, 242, 238, 0.14); color: rgba(243, 242, 238, 0.76); }
.footer-info dt { color: rgba(243, 242, 238, 0.62); }
.footer-info dd { color: rgba(243, 242, 238, 0.82); }
.subpage-hero p { color: rgba(243, 242, 238, 0.74); }
.subpage-hero aside { border: 1px solid rgba(243, 242, 238, 0.099); }
.subpage-hero aside span { color: rgba(243, 242, 238, 0.72); }
.simple-cards { border: 1px solid rgba(243, 242, 238, 0.099); }
.simple-cards span { color: rgba(243, 242, 238, 0.6); }
.simple-cards p { color: rgba(243, 242, 238, 0.72); }
.credential-layout { border: 1px solid rgba(243, 242, 238, 0.099); }
.business-card dl div { border-top: 1px solid rgba(243, 242, 238, 0.099); }
.business-card dt,
.business-card dd { color: rgba(243, 242, 238, 0.78); }
.business-card dt { color: rgba(243, 242, 238, 0.6); }
.credential-grid span { color: rgba(243, 242, 238, 0.6); }
.credential-grid p { color: rgba(243, 242, 238, 0.76); }
@media (max-width: 760px) {
  .site-nav nav { border-bottom: 1px solid rgba(243, 242, 238, 0.09)    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28); }
  .site-nav nav a { border-bottom: 1px solid rgba(243, 242, 238, 0.063)    border-left: none; }
  body.site-page .site-nav nav { border-bottom: 1px solid rgba(243, 242, 238, 0.072)    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6); }
  body.site-page .site-nav nav a { border-bottom: 1px solid rgba(243, 242, 238, 0.054); }
}
.spring-stage--framed { box-shadow: 0 26px 62px rgba(0, 0, 0, 0.62),
    inset 0 0 0 1px rgba(243, 242, 238, 0.1); }
.home-hero .section-kicker { color: color-mix(in srgb, rgba(226, 234, 252, 0.92) calc(var(--night-mix) * 100%), rgba(243, 242, 238, 0.78)); }
.home-hero .secondary-link { background: color-mix(in srgb, rgba(243, 242, 238, 0.035) calc(var(--night-mix) * 100%), var(--surface)); }
.trust-badges li { border: 1px solid rgba(243, 242, 238, 0.081); }
.trust-badges .trust-badge-lead span { color: rgba(243, 242, 238, 0.78); }
.mediabox-panel { border: 1px solid rgba(243, 242, 238, 0.072); }
.credential-grid .credential-highlight { border-color: rgba(243, 242, 238, 0.216); }
.notfound-links { border-top: 1px solid rgba(243, 242, 238, 0.081); }
.hw-reason { border: 1px solid rgba(243, 242, 238, 0.072); }
.hw-reason-note { border-top: 1px solid rgba(243, 242, 238, 0.072); }
.footer-links { border-top: 1px solid rgba(243, 242, 238, 0.14); }
.footer-links a { color: rgba(243, 242, 238, 0.82); border-bottom: 1px solid rgba(243, 242, 238, 0.14); }
.answer-block { border: 1px solid rgba(243, 242, 238, 0.081); }
.spec-table th,
.spec-table td { border-bottom: 1px solid rgba(243, 242, 238, 0.081); }
.step-list li { border: 1px solid rgba(243, 242, 238, 0.081); }
.signage-copy dl { border-top: 1px solid rgba(243, 242, 238, 0.081); }
.offer-card .offer-more { border-top: 1px solid rgba(243, 242, 238, 0.081); }
.art-tile-screen { box-shadow: 0 14px 34px rgba(0, 0, 0, 0.62),
    inset 0 0 0 1px rgba(243, 242, 238, 0.07); }
.art-tile-screen::after { color: rgba(243, 242, 238, 0.6); }
.signage-screen[data-art]::after { color: rgba(243, 242, 238, 0.6); }
.art-play:hover,
.art-play:focus-visible { border-color: rgba(243, 242, 238, 0.28); }
.footer-stamp { color: rgba(243, 242, 238, 0.62); }
body.site-page:not(.home-2026) .site-nav { background: rgba(243, 242, 238, 0.042); }
@media (prefers-contrast: more) {
  .offer-card,
  .signage-card,
  .step-list li,
  .faq-item { border-color: rgba(243, 242, 238, 0.216); }
}
.artwork-stage .film { box-shadow: 0 24px 60px rgba(243, 242, 238, 0.18); }
@media (min-width: 761px) {
  .nav-group:hover > .nav-sub,
  .nav-group:focus-within > .nav-sub { box-shadow: 0 18px 44px rgba(243, 242, 238, 0.14); }
}
.st-page .brand span,
.st-page .site-nav nav,
.av-page .brand span,
.av-page .site-nav nav { color: rgba(243, 242, 238, 0.66); }
