
:root{
  --navy:#071225;--ink:#0f172a;--muted:#64748b;--line:#e5e7eb;--soft:#f8fafc;
  --cream:#fff7ed;--orange:#f97316;--orange2:#fb923c;--white:#fff;
  --shadow:0 24px 70px rgba(15,23,42,.13);--shadow2:0 16px 40px rgba(15,23,42,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;color:var(--ink);background:#f8fafc;letter-spacing:-.04em}
a{text-decoration:none;color:inherit} img,video{max-width:100%;display:block}
.container{width:min(1520px,calc(100% - 64px));margin:0 auto}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.75)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:188px}
.menu{display:flex;gap:24px;align-items:center;font-weight:800;font-size:15px;color:#334155}.menu a{position:relative;white-space:nowrap}.menu a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--orange);transition:.25s}.menu a:hover:after{width:100%}
.nav-cta{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:900;border:1px solid var(--line);background:#fff;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(15,23,42,.08)}.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn.small{min-height:38px;padding:0 14px;font-size:14px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 6% 18%,rgba(249,115,22,.10),transparent 24%),radial-gradient(circle at 88% 8%,rgba(251,146,60,.12),transparent 22%),linear-gradient(180deg,#f8fafc 0%,#fff 63%,#fff7ed 100%);padding:68px 0 28px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:38px;align-items:stretch}
.media-card{position:relative;border-radius:34px;overflow:hidden;min-height:500px;background:#111827;box-shadow:var(--shadow);isolation:isolate}.media-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,17,.58),rgba(4,8,17,.05) 46%,rgba(4,8,17,.62));z-index:1}.media-card:after{content:"";position:absolute;inset:auto -12% -18% auto;width:52%;height:46%;border-radius:50%;background:rgba(249,115,22,.45);filter:blur(60px);z-index:2}
.hero-video{width:100%;height:500px;object-fit:cover;filter:saturate(1.02) contrast(1.01)}
.media-top{position:absolute;z-index:3;top:30px;left:34px;right:32px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;color:#fff}.media-brand{display:flex;align-items:center;gap:15px}.mark{width:42px;height:42px;border-radius:50%;background:rgba(249,115,22,.14);border:2px solid rgba(249,115,22,.85);position:relative;box-shadow:0 0 0 8px rgba(249,115,22,.08)}.mark:after{content:"";position:absolute;inset:9px;border:2px solid var(--orange);border-radius:50%}.media-title strong{display:block;font-size:24px;letter-spacing:-.06em}.media-title span{display:block;margin-top:5px;font-size:13px;font-weight:800;color:#f8fafc}.auto-pill{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(12px);font-weight:900;font-size:14px;border:1px solid rgba(255,255,255,.16)}
.float-card{position:absolute;z-index:4;left:28px;bottom:78px;width:320px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 18px 50px rgba(0,0,0,.16);padding:24px 26px;backdrop-filter:blur(18px)}.float-card .icon{width:54px;height:54px;border-radius:18px;background:#fff7ed;color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:12px}.float-card h3{margin:0 0 10px;font-size:20px;line-height:1.42}.float-card p{margin:0;color:#475569;font-weight:700;line-height:1.8;font-size:15px}
.video-progress{position:absolute;z-index:4;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px}.bar{width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.45)}.bar.on{background:var(--orange);width:54px}.pause{color:#fff;font-size:19px;font-weight:900;margin-left:4px}
.position-card{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.9);border-radius:34px;box-shadow:var(--shadow);padding:42px 46px 34px;display:flex;flex-direction:column;justify-content:center}.eyebrow{display:block;color:#ea580c;font-weight:950;letter-spacing:.18em;font-size:14px;margin-bottom:18px}.position-card h1{margin:0;font-size:46px;line-height:1.16;letter-spacing:-.075em;color:#071225;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;font-weight:950}.position-card>p{margin:20px 0 24px;color:#475569;font-size:17px;line-height:1.82;font-weight:700}
.feature-list{display:grid;gap:12px}.feature{display:grid;grid-template-columns:70px 1fr 48px;gap:14px;align-items:center;border:1px solid #e5e7eb;border-radius:20px;padding:18px 20px;background:linear-gradient(180deg,#fff,#fffaf7);transition:.25s}.feature:hover{transform:translateX(4px);box-shadow:0 14px 34px rgba(15,23,42,.07)}.num{width:58px;height:58px;border-radius:21px;background:#fff3e6;color:#ea580c;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:950}.feature h3{margin:0 0 8px;font-size:21px;letter-spacing:-.05em}.feature p{margin:0;color:#64748b;font-weight:700;line-height:1.65}.line-icon{font-size:30px;text-align:right}
.section{padding:84px 0;background:#fff}.section.alt{background:#f8fafc}.section.warm{background:linear-gradient(180deg,#fff7ed,#fff)}.section.dark{background:#071225;color:#fff}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.section-title{text-align:left}.section-head.center{display:block;text-align:center}.section-head.center .section-title{text-align:center}.section-head .eyebrow{margin-bottom:12px}.section-head h2{margin:0;font-size:38px;line-height:1.25;letter-spacing:-.07em}.section-head p{margin:12px 0 0;max-width:760px;color:#64748b;font-size:16px;line-height:1.75;font-weight:700}.dark .section-head p{color:#cbd5e1}.more-link{font-weight:950;color:#ea580c;white-space:nowrap}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card-grid.three{grid-template-columns:repeat(3,1fr)}
.mini-card{overflow:hidden;border-radius:22px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 28px rgba(15,23,42,.055);transition:.25s;min-height:372px}.mini-card:hover{transform:translateY(-6px);box-shadow:var(--shadow2)}.mini-thumb{height:168px;background:linear-gradient(135deg,#0f172a,#f97316);position:relative;overflow:hidden}.mini-thumb img{width:100%;height:100%;object-fit:cover;opacity:.92}.badge{position:absolute;left:14px;top:14px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#ea580c;font-weight:950;font-size:12px}.pin-badge{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(7,18,37,.82);color:#fff;font-size:12px;font-weight:950}.mini-body{padding:20px}.mini-body h3{margin:0 0 9px;font-size:20px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-body p{margin:0;color:#64748b;line-height:1.68;font-size:14px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:47px}.mini-meta{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.chip{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#475569}.mini-info{display:grid;gap:7px;margin:14px 0 18px}.info-line{display:grid;grid-template-columns:64px 1fr;gap:8px;color:#475569;font-weight:700;font-size:13px;line-height:1.55}.info-line b{color:#0f172a}
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.exp-card{background:#fff;border:1px solid #eef2f7;border-radius:24px;padding:30px 26px;box-shadow:0 14px 35px rgba(15,23,42,.05);min-height:205px;transition:.25s}.exp-card:hover{transform:translateY(-8px);box-shadow:var(--shadow2)}.exp-card .big-icon{font-size:40px;color:var(--orange);margin-bottom:20px}.exp-card h3{margin:0 0 12px;font-size:21px}.exp-card p{margin:0;color:#64748b;line-height:1.75;font-weight:700}
.network-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.network-card{position:relative;overflow:hidden;min-height:270px;border-radius:24px;background:#111827;box-shadow:var(--shadow2);padding:24px;display:flex;align-items:flex-end}.network-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,37,.1),rgba(7,18,37,.86));z-index:1}.network-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.network-card div{position:relative;z-index:2;color:#fff}.network-card h3{font-size:21px;margin:0 0 10px}.network-card p{font-weight:700;line-height:1.65;color:#e2e8f0;margin:0}
.guide-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.guide-item{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px 18px;text-align:center;box-shadow:0 10px 30px rgba(15,23,42,.05)}.guide-item b{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:18px;background:#fff3e6;color:#ea580c;margin:0 auto 14px;font-size:21px}.guide-item h3{margin:0 0 8px;font-size:17px}.guide-item p{margin:0;color:#64748b;font-weight:700;line-height:1.55;font-size:14px}
.gallery-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.gallery-main{position:relative;border-radius:26px;overflow:hidden;min-height:420px;background:#111827;box-shadow:var(--shadow2)}.gallery-main img{width:100%;height:100%;min-height:420px;object-fit:cover}.gallery-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,18,37,.8))}.gallery-main .gallery-caption{position:absolute;left:26px;right:26px;bottom:24px;color:#fff;z-index:2}.gallery-caption h3{font-size:26px;margin:0 0 8px}.gallery-caption p{margin:0;color:#e2e8f0;font-weight:700}.gallery-small{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-tile{position:relative;border-radius:22px;overflow:hidden;min-height:201px;background:#111827}.gallery-tile img{width:100%;height:100%;min-height:201px;object-fit:cover}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,18,37,.75))}.gallery-tile span{position:absolute;left:16px;right:16px;bottom:15px;color:#fff;font-weight:900;z-index:2}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:28px;box-shadow:0 12px 35px rgba(15,23,42,.05)}.stat-card span{color:#ea580c;font-weight:950}.stat-card h3{font-size:28px;margin:10px 0 10px}.stat-card p{margin:0;color:#64748b;font-weight:700;line-height:1.7}
.coop-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:stretch}.coop-main{background:linear-gradient(135deg,#071225,#1e293b 55%,#ea580c);border-radius:32px;color:#fff;padding:42px;box-shadow:var(--shadow)}.coop-main h2{font-size:38px;margin:0 0 18px;line-height:1.28}.coop-main p{line-height:1.85;color:#e2e8f0;font-weight:700}.coop-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.coop-item{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px}.coop-item h3{margin:0 0 10px}.coop-item p{margin:0;color:#64748b;font-weight:700;line-height:1.7}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.time-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:26px 22px}.time-card b{display:block;color:#ea580c;font-size:18px;margin-bottom:12px}.time-card h3{margin:0 0 10px;font-size:20px}.time-card p{margin:0;color:#64748b;line-height:1.7;font-weight:700}
.org-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:32px;padding:38px;box-shadow:var(--shadow2)}.org-top{text-align:center;background:#071225;color:#fff;border-radius:24px;padding:28px;margin-bottom:22px}.org-top h3{margin:0;font-size:26px}.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.org-item{border:1px solid #e5e7eb;border-radius:20px;padding:22px;background:#f8fafc}.org-item h4{margin:0 0 8px;font-size:18px}.org-item p{margin:0;color:#64748b;line-height:1.7;font-weight:700}
.cta{background:linear-gradient(135deg,#071225,#1e293b 58%,#ea580c);color:#fff;border-radius:34px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:32px;box-shadow:var(--shadow)}.cta h2{margin:0;font-size:36px;line-height:1.25}.cta p{margin:14px 0 0;color:#e2e8f0;line-height:1.75;font-weight:700}.cta-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.footer{background:#071225;color:#cbd5e1;padding:46px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footer strong{color:#fff;font-size:20px}.footer p{line-height:1.8;margin:12px 0 0}
.sub-hero{padding:92px 0 72px;background:linear-gradient(135deg,#071225,#1e293b);color:#fff}.sub-hero h1{font-size:52px;margin:0 0 18px;letter-spacing:-.065em;font-weight:950}.sub-hero p{font-size:18px;color:#cbd5e1;line-height:1.8;max-width:840px;font-weight:700}
.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:28px;padding:34px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.panel h2,.panel h3{margin-top:0}.panel p{line-height:1.8;color:#64748b;font-weight:700}
.detail-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:30px;align-items:start}.detail-media{border-radius:30px;overflow:hidden;background:#fff;box-shadow:var(--shadow2);border:1px solid #e5e7eb}.detail-media img{width:100%;height:430px;object-fit:cover}.detail-box{background:#fff;border-radius:30px;border:1px solid #e5e7eb;padding:36px;box-shadow:var(--shadow2)}.detail-box h1{font-size:42px;line-height:1.2;margin:0 0 16px}.detail-box p{color:#64748b;font-weight:700;line-height:1.85}.detail-table{display:grid;gap:10px;margin:24px 0}.detail-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.detail-row b{color:#0f172a}.detail-row span{color:#475569;font-weight:700}.detail-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.detail-gallery img{height:150px;width:100%;object-fit:cover;border-radius:16px}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden}.table th,.table td{border-bottom:1px solid #e5e7eb;padding:16px;text-align:left}.table th{background:#f8fafc}
.admin-box{max-width:1100px;margin:0 auto;background:#fff;border-radius:30px;padding:36px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:1px solid #dbe2ea;border-radius:14px;padding:14px 16px;font:inherit}textarea{min-height:140px}.preview-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.photo-admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}.file-box{border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;padding:18px}.file-box label{display:block;font-weight:900;margin-bottom:8px}.file-help{font-size:13px;color:#64748b;font-weight:700;line-height:1.6;margin-top:8px}.image-preview{margin-top:14px;border-radius:18px;overflow:hidden;background:#eef2f7;min-height:170px;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:900}.image-preview img{width:100%;height:100%;object-fit:cover}.multi-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.multi-preview img{height:105px;width:100%;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb}.mobile-menu{display:none}
@media(max-width:1200px){.hero-grid{grid-template-columns:1fr}.position-card h1{font-size:42px}.menu{display:none}.mobile-menu{display:inline-flex}.network-grid{grid-template-columns:repeat(3,1fr)}.guide-grid{grid-template-columns:repeat(3,1fr)}.exp-grid,.card-grid,.timeline,.org-grid,.stats-grid,.preview-list{grid-template-columns:1fr 1fr}.coop-wrap,.gallery-layout,.detail-layout{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:min(100% - 32px,1520px)}.nav{height:68px}.logo img{width:154px}.nav-cta .btn:not(.mobile-menu){display:none}.hero{padding:44px 0 22px}.media-card,.hero-video{min-height:390px;height:390px}.media-top{left:22px;top:24px;right:22px}.auto-pill{display:none}.float-card{width:calc(100% - 44px);left:22px;bottom:74px;padding:20px}.position-card{padding:30px 22px;border-radius:26px}.position-card h1{font-size:32px}.feature{grid-template-columns:52px 1fr;padding:17px}.line-icon{display:none}.num{width:44px;height:44px}.section{padding:68px 0}.section-head{display:block}.section-head h2{font-size:30px}.section-head .more-link{display:inline-block;margin-top:14px}.exp-grid,.card-grid,.timeline,.org-grid,.page-grid,.preview-list,.stats-grid,.coop-list,.network-grid,.guide-grid,.gallery-small,.detail-gallery,.photo-admin-grid,.form-grid{grid-template-columns:1fr}.gallery-main,.gallery-main img{min-height:310px}.cta{display:block;padding:32px}.cta h2{font-size:27px}.cta-btns{justify-content:flex-start;margin-top:20px}.footer-grid{display:block}.sub-hero h1{font-size:36px}.detail-box h1{font-size:32px}.detail-media img{height:300px}}

.hero-shell{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,247,237,.9));border:1px solid rgba(226,232,240,.9);border-radius:42px;padding:34px 38px;box-shadow:0 22px 60px rgba(15,23,42,.06)}
.media-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,17,.36),rgba(4,8,17,.08) 42%,rgba(4,8,17,.48));z-index:1}
.feature .line-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa}
@media(max-width:1200px){.hero-shell{padding:26px}}
@media(max-width:760px){.hero-shell{padding:18px;border-radius:28px}.hero{padding:34px 0 18px}.media-card,.hero-video{min-height:340px;height:340px}.position-card h1{font-size:34px}.position-card{padding:28px 22px}.float-card{width:calc(100% - 36px);left:18px;bottom:66px;padding:18px 20px}.media-top{left:18px;right:18px;top:18px}.hero-video{height:340px}}


/* ===== v6 final direction refinements ===== */
.menu{gap:30px;font-size:15px}
.header .nav{height:76px}

.hero{padding:58px 0 22px}
.hero-shell{max-width:1480px;background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,247,237,.88));border:1px solid rgba(226,232,240,.9);border-radius:42px;padding:32px 36px;box-shadow:0 22px 60px rgba(15,23,42,.06)}
.hero-grid{grid-template-columns:1fr 1fr;gap:34px;align-items:stretch}
.media-card{min-height:500px}
.hero-video{height:500px;object-fit:cover;filter:saturate(.92) contrast(1.04) brightness(1.02)}
.media-card:before{background:linear-gradient(180deg,rgba(4,8,17,.20),rgba(4,8,17,.05) 42%,rgba(4,8,17,.50)) !important}
.media-top{top:30px;left:34px;right:32px}
.float-card{left:28px;bottom:78px;width:320px;padding:24px 26px;background:rgba(255,255,255,.96)}
.float-card h3{font-size:20px;line-height:1.42}
.float-card p{font-size:15px;line-height:1.68}
.video-progress{bottom:34px;gap:10px}

.position-card{padding:42px 46px 34px;display:flex;flex-direction:column;justify-content:center}
.position-card h1{font-size:44px;line-height:1.17}
.position-card>p{font-size:16px;line-height:1.78;margin:20px 0 24px}
.feature-list{gap:12px}
.feature{grid-template-columns:70px 1fr 48px;gap:14px;padding:18px 20px}
.feature h3{font-size:18px;margin-bottom:6px}
.feature p{font-size:14px;line-height:1.6}
.feature .line-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#f97316}
.line-icon svg,.big-icon svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.big-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:#fff3e6;border:1px solid #fed7aa;color:#f97316;margin-bottom:18px;font-weight:950}
.big-icon svg{width:27px;height:27px}

.section{padding:78px 0}
.section-head{margin-bottom:26px}
.section-head h2{font-size:36px}
.section-head p{font-size:15.5px;line-height:1.72}

.mini-card{min-height:330px}
.mini-thumb{height:160px}
.mini-body{padding:16px 16px 18px}
.mini-body h3{font-size:20px;margin-bottom:8px}
.mini-body p{display:none}
.mini-meta{margin:12px 0}
.mini-info{gap:5px;margin:12px 0 16px}
.info-line{font-size:13px;grid-template-columns:58px 1fr}
.card-actions .btn.small{min-height:36px}

.mini-thumb img,.network-card img,.gallery-main img,.gallery-tile img,.detail-media img,.detail-gallery img,.company-visual img{filter:saturate(.93) contrast(1.03) brightness(1.02)}

.company-hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch}
.company-visual{border-radius:34px;overflow:hidden;min-height:480px;box-shadow:var(--shadow);position:relative;background:#071225}
.company-visual img{width:100%;height:100%;min-height:480px;object-fit:cover}
.company-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,37,.06),rgba(7,18,37,.64))}
.company-visual-caption{position:absolute;z-index:2;left:34px;right:34px;bottom:32px;color:#fff}
.company-visual-caption h2{margin:0 0 10px;font-size:32px;line-height:1.2}
.company-visual-caption p{margin:0;color:#e2e8f0;font-weight:700;line-height:1.7}
.company-overview{background:#fff;border:1px solid #e5e7eb;border-radius:34px;padding:42px;box-shadow:var(--shadow2)}
.company-overview h1{margin:0 0 18px;font-size:42px;line-height:1.2;letter-spacing:-.07em}
.company-overview p{color:#475569;font-weight:700;line-height:1.85}
.overview-list{display:grid;gap:10px;margin-top:24px}
.overview-list div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #e5e7eb}
.overview-list b{color:#071225}
.overview-list span{color:#475569;font-weight:700;line-height:1.6}
.value-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.value-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:26px 22px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.value-card strong{display:inline-flex;width:44px;height:44px;border-radius:16px;align-items:center;justify-content:center;background:#fff3e6;color:#ea580c;margin-bottom:18px}
.value-card h3{margin:0 0 10px;font-size:20px}
.value-card p{margin:0;color:#64748b;font-weight:700;line-height:1.68;font-size:14px}

.partners-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.partners-panel{border-radius:34px;background:linear-gradient(135deg,#071225,#172033 62%,#f97316);padding:46px;color:#fff;box-shadow:var(--shadow)}
.partners-panel h2{margin:0 0 18px;font-size:40px;line-height:1.25}
.partners-panel p{color:#e2e8f0;font-weight:700;line-height:1.85}
.partners-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.partners-item{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px;box-shadow:0 12px 30px rgba(15,23,42,.045)}
.partners-item h3{margin:0 0 10px;font-size:20px}
.partners-item p{margin:0;color:#64748b;font-weight:700;line-height:1.65}

@media(max-width:1200px){
  .hero-grid,.company-hero,.partners-hero{grid-template-columns:1fr}
  .value-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .menu{display:none}
  .hero-shell{padding:16px;border-radius:28px}
  .hero{padding:34px 0 18px}
  .media-card,.hero-video{min-height:340px;height:340px}
  .position-card h1{font-size:30px}
  .section-head h2{font-size:28px}
  .company-overview h1,.partners-panel h2{font-size:30px}
  .company-visual,.company-visual img{min-height:330px}
  .overview-list div{grid-template-columns:1fr}
  .value-grid,.partners-list{grid-template-columns:1fr}
}


/* ===== v7 final feature + detail refinements ===== */

/* Main hero copy/card refinement */
.position-card>p{max-width:620px}
.float-card{width:292px}
.float-card .icon{display:none}
.float-card h3{font-size:19px;margin-bottom:6px}
.float-card p{font-size:14px}

/* Small UI consistency */
.btn{letter-spacing:-.035em}
.more-link{display:inline-flex;align-items:center;gap:6px}
.more-link:after{content:"";width:18px;height:1px;background:#ea580c;display:inline-block;transition:.25s}
.more-link:hover:after{width:30px}

/* Show fewer badges visually */
.mini-meta .chip:nth-child(n+3){display:none}
.badge{box-shadow:0 8px 22px rgba(15,23,42,.10)}

/* Performance filter */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 26px;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.filter-btn{
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#334155;
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
  transition:.22s;
}
.filter-btn:hover{transform:translateY(-1px);background:#fff7ed;color:#ea580c;border-color:#fed7aa}
.filter-btn.active{background:#071225;color:#fff;border-color:#071225}

/* Detail tabs */
.tabs-wrap{
  margin-top:42px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:28px;
  box-shadow:0 14px 36px rgba(15,23,42,.055);
  overflow:hidden;
}
.tab-nav{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-bottom:1px solid #e5e7eb;
  background:#f8fafc;
}
.tab-btn{
  flex:1;
  min-width:130px;
  border:0;
  border-right:1px solid #e5e7eb;
  padding:18px 16px;
  background:transparent;
  color:#475569;
  font-weight:950;
  cursor:pointer;
}
.tab-btn:last-child{border-right:0}
.tab-btn.active{background:#fff;color:#ea580c}
.tab-panel{display:none;padding:30px}
.tab-panel.active{display:block}
.tab-panel h3{font-size:24px;margin:0 0 14px}
.tab-panel p{color:#64748b;font-weight:700;line-height:1.85}
.tab-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:18px;
}
.tab-list div{
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:18px;
  background:#f8fafc;
}
.tab-list b{display:block;margin-bottom:7px;color:#071225}
.tab-list span{color:#64748b;font-weight:700;line-height:1.6}

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(7,18,37,.86);
  backdrop-filter:blur(8px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:36px;
}
.lightbox.open{display:flex}
.lightbox-inner{
  position:relative;
  max-width:min(1100px,92vw);
  max-height:88vh;
}
.lightbox img{
  max-width:100%;
  max-height:82vh;
  object-fit:contain;
  border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.lightbox-close,.lightbox-prev,.lightbox-next{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.94);
  color:#071225;
  border-radius:999px;
  cursor:pointer;
  font-weight:950;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.lightbox-close{right:-16px;top:-16px;width:44px;height:44px}
.lightbox-prev,.lightbox-next{
  top:50%;
  transform:translateY(-50%);
  width:48px;height:48px;
  font-size:24px;
}
.lightbox-prev{left:-62px}
.lightbox-next{right:-62px}
.gallery-main,.gallery-tile,.detail-gallery img{cursor:pointer}

/* Floating CTA */
.floating-cta{
  position:fixed;
  z-index:90;
  right:24px;
  bottom:24px;
  display:grid;
  gap:10px;
}
.float-action{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:154px;
  min-height:46px;
  border-radius:999px;
  background:#071225;
  color:#fff;
  font-weight:950;
  box-shadow:0 14px 38px rgba(15,23,42,.18);
  border:1px solid rgba(255,255,255,.14);
  transition:.22s;
}
.float-action.orange{background:#f97316}
.float-action:hover{transform:translateY(-3px)}
.float-action small{font-size:12px;opacity:.82;margin-left:6px}

/* FAQ */
.faq-wrap{
  max-width:980px;
  margin:0 auto;
  display:grid;
  gap:12px;
}
.faq-item{
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.045);
  overflow:hidden;
}
.faq-q{
  width:100%;
  border:0;
  background:#fff;
  padding:20px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:17px;
  font-weight:950;
  color:#071225;
  cursor:pointer;
  text-align:left;
}
.faq-q span{color:#ea580c;font-size:24px;line-height:1}
.faq-a{
  display:none;
  padding:0 22px 22px;
  color:#64748b;
  font-weight:700;
  line-height:1.8;
}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-q span{transform:rotate(45deg)}

/* Operating basis count cards */
.basis-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.basis-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:28px;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.basis-card em{
  display:block;
  font-style:normal;
  color:#ea580c;
  font-weight:950;
  letter-spacing:.12em;
  font-size:12px;
  margin-bottom:12px;
}
.basis-card h3{font-size:26px;margin:0 0 8px}
.basis-card p{margin:0;color:#64748b;font-weight:700;line-height:1.7}

/* Partner additional boxes */
.resource-grid,.effect-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.resource-card,.effect-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:24px;
  box-shadow:0 12px 30px rgba(15,23,42,.045);
}
.resource-card h3,.effect-card h3{margin:0 0 10px;font-size:20px}
.resource-card p,.effect-card p{margin:0;color:#64748b;font-weight:700;line-height:1.7}

/* Scroll motion */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.card-grid .mini-card,.exp-grid .exp-card,.network-grid .network-card,.value-card,.partners-item,.time-card{
  transition:opacity .55s ease, transform .55s ease, box-shadow .25s ease;
}
.card-grid .mini-card:hover,.value-card:hover,.partners-item:hover,.resource-card:hover,.effect-card:hover{
  transform:translateY(-5px);
}

/* Admin refinement */
.admin-box h2{margin-top:0}
.file-box{background:linear-gradient(180deg,#f8fafc,#fff)}
.preview-list .mini-card{min-height:320px}

/* Mobile optimization */
@media(max-width:760px){
  .floating-cta{right:12px;bottom:12px;left:12px;grid-template-columns:1fr 1fr}
  .float-action{min-width:0;min-height:44px;font-size:13px}
  .float-action:nth-child(3){grid-column:1/3}
  .tab-nav{display:grid;grid-template-columns:1fr 1fr}
  .tab-btn{border-bottom:1px solid #e5e7eb}
  .tab-list,.basis-grid,.resource-grid,.effect-grid{grid-template-columns:1fr}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
  .lightbox-close{right:8px;top:8px}
  .hero-shell .feature-list{display:none}
  .position-card{padding:24px 20px}
  .position-card>p{margin-bottom:0}
  .float-card{display:none}
}


/* ===== v8 typewriter + final visual polish ===== */

/* Header depth only after scroll */
.header{transition:box-shadow .25s ease, background .25s ease, border-color .25s ease}
.header.scrolled{
  background:rgba(255,255,255,.94);
  border-color:rgba(203,213,225,.95);
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}

/* Typewriter headline */
.type-hero{
  min-height:104px;
}
.type-line{
  position:relative;
  display:inline-block;
  white-space:nowrap;
}
.type-line.typing::after{
  content:"";
  display:inline-block;
  width:3px;
  height:.92em;
  margin-left:4px;
  transform:translateY(4px);
  background:#f97316;
  border-radius:999px;
  animation:caretBlink .72s steps(1,end) infinite;
}
.type-line.done::after{display:none}
@keyframes caretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}

/* Hero copy compression */
.position-card .eyebrow{
  margin-bottom:14px;
}
.position-card>p{
  border-left:3px solid #f97316;
  padding-left:16px;
  max-width:590px;
}

/* Floating message becomes a design accent, not a long info box */
.float-card{
  width:275px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.65);
}
.float-card h3{
  font-size:18px;
  line-height:1.38;
}
.float-card p{
  font-size:13.5px;
}

/* Stronger premium rhythm */
.section{
  position:relative;
}
.section.warm{
  background:linear-gradient(180deg,#fff7ed 0%,#fff 72%);
}
.section.alt{
  background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);
}

/* Card polish */
.mini-card{
  border-color:#e8edf4;
}
.mini-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,18,37,0) 45%,rgba(7,18,37,.22));
  pointer-events:none;
}
.mini-card .btn.small{
  width:100%;
}
.card-actions{
  display:block;
}

/* Better content density in cards */
.mini-info{
  min-height:44px;
}
.mini-meta{
  min-height:30px;
}

/* Network cards more cinematic */
.network-card{
  min-height:252px;
}
.network-card:before{
  background:linear-gradient(180deg,rgba(7,18,37,.04) 0%,rgba(7,18,37,.88) 92%);
}

/* Partners and about stronger bottom CTAs */
.cta{
  position:relative;
  overflow:hidden;
}
.cta:after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-80px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(249,115,22,.26);
  filter:blur(28px);
  pointer-events:none;
}

/* Production note: admin hidden-looking but still accessible */
.nav-cta .btn[href="admin.html"]{
  display:none;
}

/* Better mobile typewriter */
@media(max-width:760px){
  .type-hero{
    min-height:74px;
  }
  .type-line{
    white-space:normal;
  }
  .type-line.typing::after{
    height:.82em;
    transform:translateY(2px);
  }
  .position-card>p{
    border-left:0;
    padding-left:0;
  }
}
@media(prefers-reduced-motion: reduce){
  .type-line.typing::after{animation:none}
  .reveal{opacity:1!important;transform:none!important}
}


/* ===== v9 final visual polish ===== */

/* Remove old hero UI elements and replace with text rotator */
.auto-pill,
.float-card{
  display:none !important;
}
.hero-media-message{
  position:absolute;
  z-index:4;
  left:42px;
  right:42px;
  bottom:72px;
  color:#fff;
  text-shadow:0 14px 34px rgba(0,0,0,.42);
}
.hero-media-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.18em;
  color:rgba(255,255,255,.78);
  margin-bottom:13px;
}
.hero-media-kicker:before{
  content:"";
  width:34px;
  height:2px;
  border-radius:999px;
  background:#f97316;
}
.hero-media-message strong{
  display:block;
  max-width:620px;
  font-size:31px;
  line-height:1.34;
  letter-spacing:-.065em;
  font-weight:950;
  opacity:1;
  transform:translateY(0);
  transition:opacity .45s ease, transform .45s ease;
}
.hero-media-message strong.is-changing{
  opacity:0;
  transform:translateY(10px);
}
.video-progress{
  left:42px !important;
  transform:none !important;
  bottom:34px !important;
}
.pause{display:none}

/* Main right copy and CTA */
.mobile-hero-cta{
  display:none;
  gap:10px;
  flex-wrap:wrap;
  margin:20px 0 2px;
}
.position-card>p{
  font-size:16px;
  color:#334155;
}

/* State badge color system */
.status-badge{
  position:absolute;
  right:14px;
  top:14px;
  z-index:3;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  color:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.18);
}
.status-live{background:#f97316}
.status-upcoming{background:#071225}
.status-ended{background:#64748b}
.status-ready{background:#2563eb}
.status-open{background:#16a34a}
.status-partner{background:#4338ca}
.badge{
  z-index:3;
}

/* Gallery hover detail */
.gallery-main img,
.gallery-tile img{
  transition:transform .55s ease, filter .55s ease;
}
.gallery-main:hover img,
.gallery-tile:hover img{
  transform:scale(1.045);
  filter:saturate(.96) contrast(1.06) brightness(1.04);
}
.gallery-caption,
.gallery-tile span{
  transition:transform .35s ease, opacity .35s ease;
}
.gallery-tile span{
  opacity:.92;
  transform:translateY(4px);
}
.gallery-tile:hover span{
  opacity:1;
  transform:translateY(0);
}
.gallery-main .gallery-caption:before{
  content:"현장 스케치";
  display:block;
  width:max-content;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(249,115,22,.92);
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}

/* About declaration block */
.declaration-block{
  border-radius:34px;
  background:linear-gradient(135deg,#071225,#111827 62%,#f97316);
  color:#fff;
  padding:64px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.declaration-block:after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-120px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(249,115,22,.22);
  filter:blur(32px);
}
.declaration-block span{
  display:block;
  color:#fb923c;
  font-weight:950;
  letter-spacing:.18em;
  margin-bottom:18px;
}
.declaration-block h2{
  margin:0;
  font-size:42px;
  line-height:1.35;
  letter-spacing:-.07em;
  max-width:980px;
  position:relative;
  z-index:2;
}
.declaration-block p{
  margin:22px 0 0;
  color:#cbd5e1;
  font-weight:700;
  line-height:1.8;
  max-width:820px;
  position:relative;
  z-index:2;
}

/* Proposal cards for partners */
.proposal-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.proposal-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:24px 20px;
  box-shadow:0 12px 30px rgba(15,23,42,.045);
  min-height:184px;
}
.proposal-card b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:#fff3e6;
  color:#ea580c;
  margin-bottom:16px;
}
.proposal-card h3{
  margin:0 0 10px;
  font-size:19px;
}
.proposal-card p{
  margin:0;
  color:#64748b;
  font-weight:700;
  line-height:1.65;
  font-size:14px;
}

/* Image upload guide */
.upload-guide{
  margin-top:34px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid #e5e7eb;
  border-radius:28px;
  padding:28px;
  box-shadow:0 12px 30px rgba(15,23,42,.045);
}
.upload-guide h3{
  margin:0 0 14px;
  font-size:24px;
}
.upload-guide-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.upload-guide-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  padding:18px;
}
.upload-guide-card b{
  display:block;
  color:#ea580c;
  margin-bottom:8px;
}
.upload-guide-card p{
  margin:0;
  color:#64748b;
  font-size:14px;
  font-weight:700;
  line-height:1.65;
}

/* Button hover deeper */
.btn.orange:hover{
  background:#ea580c;
  border-color:#ea580c;
}
.btn:not(.orange):hover{
  color:#071225;
  border-color:#cbd5e1;
}

/* Mobile CTA and hero message */
@media(max-width:760px){
  .hero-media-message{
    left:22px;
    right:22px;
    bottom:56px;
  }
  .hero-media-message strong{
    font-size:22px;
    max-width:310px;
  }
  .hero-media-kicker{
    font-size:10px;
    margin-bottom:8px;
  }
  .video-progress{
    left:22px !important;
    bottom:24px !important;
  }
  .mobile-hero-cta{
    display:flex;
  }
  .mobile-hero-cta .btn{
    min-height:42px;
    padding:0 14px;
    font-size:13px;
  }
  .declaration-block{
    padding:36px 26px;
    border-radius:26px;
  }
  .declaration-block h2{
    font-size:28px;
  }
  .proposal-grid,
  .upload-guide-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:1200px){
  .proposal-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .upload-guide-grid{
    grid-template-columns:repeat(2,1fr);
  }
}



/* ===== v11 clean hero correction ===== */

/* 1. Remove remaining hero separation feeling completely */
.hero{
  background:#fff !important;
  padding:54px 0 26px !important;
}
.hero > .container.hero-shell,
.hero-shell{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* 2. Keep only the image card and brand card floating naturally */
.media-card,
.position-card{
  min-height:500px !important;
}
.hero-video{
  height:500px !important;
}
.media-card{
  border-radius:30px !important;
  box-shadow:0 18px 46px rgba(15,23,42,.12) !important;
}

/* 3. Remove heavy bottom block feeling from image */
.media-card:before{
  background:
    linear-gradient(180deg,
      rgba(7,18,37,.10) 0%,
      rgba(7,18,37,.02) 48%,
      rgba(7,18,37,.18) 72%,
      rgba(7,18,37,.46) 100%
    ) !important;
}
.media-card:after{
  width:34% !important;
  height:18% !important;
  right:-8% !important;
  bottom:-8% !important;
  opacity:.46 !important;
  filter:blur(46px) !important;
}

/* 4. White message becomes cleaner and less heavy */
.hero-media-message{
  left:36px !important;
  right:36px !important;
  bottom:72px !important;
}
.hero-media-kicker{
  margin-bottom:8px !important;
  font-size:10.5px !important;
  letter-spacing:.18em !important;
  color:rgba(255,255,255,.76) !important;
}
.hero-media-message strong{
  max-width:520px !important;
  font-size:24px !important;
  line-height:1.36 !important;
  letter-spacing:-.055em !important;
  text-shadow:0 10px 26px rgba(0,0,0,.52) !important;
}

/* 5. Replace thick progress bars with subtle dots */
.video-progress{
  left:36px !important;
  bottom:34px !important;
  gap:9px !important;
}
.bar,
.bar.on{
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
}
.bar{
  background:rgba(255,255,255,.34) !important;
}
.bar.on{
  background:#f97316 !important;
}

/* 6. Reduce logo watermark feeling */
.media-top{
  top:26px !important;
  left:30px !important;
  right:30px !important;
}
.media-brand{
  transform:scale(.92);
  transform-origin:left top;
  opacity:.88;
}

/* 7. Right card slight lightness so it does not feel boxed */
.position-card{
  border-radius:30px !important;
  box-shadow:0 16px 42px rgba(15,23,42,.075) !important;
  border:1px solid #edf1f6 !important;
}

/* 8. Less abrupt transition to next section */
.hero + .section{
  padding-top:64px !important;
}

/* 9. Mobile clean hero */
@media(max-width:760px){
  .hero{
    padding:28px 0 14px !important;
  }
  .media-card,
  .hero-video{
    min-height:320px !important;
    height:320px !important;
    border-radius:24px !important;
  }
  .hero-media-message{
    left:22px !important;
    right:22px !important;
    bottom:54px !important;
  }
  .hero-media-message strong{
    font-size:19px !important;
    max-width:290px !important;
  }
  .video-progress{
    left:22px !important;
    bottom:24px !important;
  }
}



/* ===== v12 alignment + one-line hero correction ===== */

/* 1) Left/right hero exact height alignment */
.hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
  align-items:stretch !important;
}
.media-card,
.position-card{
  min-height:496px !important;
  height:496px !important;
}
.hero-video{
  height:496px !important;
}
.position-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}

/* 2) Right card inner rhythm tightened so the bottom aligns neatly */
.position-card .eyebrow{
  margin-bottom:12px !important;
}
.position-card h1{
  font-size:40px !important;
  line-height:1.13 !important;
  margin-bottom:0 !important;
}
.position-card > p{
  margin:16px 0 18px !important;
  font-size:15px !important;
  line-height:1.68 !important;
}
.feature-list{
  display:grid !important;
  grid-template-rows:repeat(3,1fr) !important;
  gap:12px !important;
  margin-top:auto !important;
}
.feature{
  min-height:90px !important;
  height:90px !important;
  align-items:center !important;
}
.feature h3{
  font-size:17px !important;
  margin-bottom:4px !important;
}
.feature p{
  font-size:13px !important;
  line-height:1.5 !important;
}

/* 3) Hero image lower area less bulky */
.media-card:before{
  background:
    linear-gradient(180deg,
      rgba(7,18,37,.08) 0%,
      rgba(7,18,37,.02) 56%,
      rgba(7,18,37,.10) 72%,
      rgba(7,18,37,.34) 100%
    ) !important;
}
.hero-media-message{
  left:34px !important;
  right:34px !important;
  bottom:64px !important;
}
.hero-media-message strong{
  max-width:none !important;
  white-space:nowrap !important;
  font-size:20px !important;
  line-height:1.18 !important;
  letter-spacing:-.045em !important;
}
.hero-media-kicker{
  margin-bottom:7px !important;
}
.video-progress{
  left:34px !important;
  bottom:28px !important;
}

/* 4) Section transition cleaner */
.hero + .section{
  padding-top:58px !important;
}

/* 5) Mobile: allow wrap again, but maintain cleaner rhythm */
@media(max-width:760px){
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .media-card,
  .position-card{
    min-height:auto !important;
    height:auto !important;
  }
  .hero-video{
    height:318px !important;
  }
  .hero-media-message{
    left:22px !important;
    right:22px !important;
    bottom:52px !important;
  }
  .hero-media-message strong{
    white-space:normal !important;
    font-size:18px !important;
    line-height:1.24 !important;
  }
  .position-card h1{
    font-size:29px !important;
  }
  .feature{
    min-height:84px !important;
    height:auto !important;
  }
}



/* ===== v13 design-only polish ===== */

/* Overall visual system refinement */
:root{
  --radius-xl:30px;
  --radius-lg:22px;
  --shadow-premium:0 18px 42px rgba(15,23,42,.09);
  --shadow-soft:0 10px 26px rgba(15,23,42,.045);
}
body{
  background:#fff !important;
}

/* Header active/hover refinement */
.header{
  border-bottom:1px solid rgba(226,232,240,.78) !important;
}
.menu a{
  color:#1f2937 !important;
  opacity:.92;
}
.menu a:hover,
.menu a.active{
  color:#ea580c !important;
}
.menu a.active:after{
  width:100% !important;
}

/* Header CTA more premium */
.nav-cta .btn.orange{
  min-height:46px !important;
  padding:0 22px !important;
  box-shadow:0 12px 24px rgba(249,115,22,.20);
}
.nav-cta .btn.orange:hover{
  box-shadow:0 16px 32px rgba(249,115,22,.26);
}

/* Hero final balance */
.hero{
  padding:56px 0 22px !important;
  background:
    radial-gradient(circle at 8% 8%,rgba(249,115,22,.055),transparent 26%),
    radial-gradient(circle at 92% 8%,rgba(15,23,42,.035),transparent 30%),
    #fff !important;
}
.hero-grid{
  gap:32px !important;
}
.media-card,
.position-card{
  height:488px !important;
  min-height:488px !important;
  border-radius:30px !important;
}
.hero-video{
  height:488px !important;
}
.media-card{
  box-shadow:0 22px 50px rgba(15,23,42,.12) !important;
}
.media-card:before{
  background:
    linear-gradient(180deg,
      rgba(7,18,37,.10) 0%,
      rgba(7,18,37,.02) 52%,
      rgba(7,18,37,.09) 70%,
      rgba(7,18,37,.38) 100%
    ) !important;
}
.position-card{
  box-shadow:0 18px 42px rgba(15,23,42,.075) !important;
  border:1px solid #edf1f6 !important;
  padding:38px 42px 32px !important;
}

/* Hero text */
.type-hero{
  min-height:98px !important;
}
.position-card h1{
  font-size:39px !important;
  letter-spacing:-.078em !important;
}
.position-card>p{
  border-left:2px solid #f97316 !important;
  padding-left:15px !important;
  font-size:15px !important;
}

/* Feature cards: calmer, more consistent */
.feature{
  background:#fff !important;
  border-color:#e9eef5 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.feature:hover{
  transform:translateX(3px) !important;
  box-shadow:0 12px 26px rgba(15,23,42,.06) !important;
}
.feature .num{
  width:48px !important;
  height:48px !important;
  border-radius:17px !important;
}

/* Hero overlay text: elegant one-line, never too heavy */
.hero-media-message{
  bottom:62px !important;
}
.hero-media-message strong{
  font-size:19px !important;
  letter-spacing:-.048em !important;
  text-shadow:0 8px 22px rgba(0,0,0,.48) !important;
}
.hero-media-kicker{
  opacity:.86;
}
.video-progress{
  bottom:29px !important;
}

/* Brand ribbon between hero and content */
.brand-ribbon{
  background:#fff;
  padding:18px 0 6px;
}
.brand-ribbon-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#94a3b8;
  font-size:12px;
  letter-spacing:.16em;
  font-weight:950;
}
.brand-ribbon-inner i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#f97316;
  opacity:.72;
}

/* Sections: more editorial rhythm */
.section{
  padding:72px 0 !important;
}
.section-head{
  align-items:flex-start !important;
}
.section-title .eyebrow,
.eyebrow{
  font-size:12px !important;
  letter-spacing:.17em !important;
}
.section-head h2{
  font-size:34px !important;
  letter-spacing:-.07em !important;
}
.section-head p{
  font-size:15px !important;
  color:#64748b !important;
}

/* Cards: more expensive feel */
.card-grid{
  gap:20px !important;
}
.mini-card{
  border-color:#e9eef5 !important;
  border-radius:24px !important;
  box-shadow:var(--shadow-soft) !important;
  overflow:hidden !important;
}
.mini-card:hover{
  box-shadow:0 18px 42px rgba(15,23,42,.10) !important;
}
.mini-thumb{
  height:154px !important;
  flex-basis:154px !important;
}
.mini-body h3{
  font-size:18.5px !important;
  line-height:1.38 !important;
}
.info-line{
  color:#475569 !important;
}
.mini-card .btn.small{
  border-radius:14px !important;
}

/* Status badges refined */
.badge,
.status-badge{
  backdrop-filter:blur(10px);
}
.badge{
  background:rgba(255,255,255,.88) !important;
}
.status-badge{
  right:12px !important;
  top:12px !important;
}

/* Gallery: premium spacing */
.gallery-layout{
  gap:18px !important;
}
.gallery-main{
  box-shadow:0 18px 42px rgba(15,23,42,.08) !important;
}
.gallery-main .gallery-caption h3{
  font-size:24px !important;
}
.gallery-tile span{
  font-size:14px !important;
}

/* About/partners document pages: calmer cards */
.company-overview,
.org-wrap,
.tabs-wrap,
.admin-box,
.panel{
  box-shadow:var(--shadow-soft) !important;
  border-color:#e9eef5 !important;
}
.value-card,
.partners-item,
.resource-card,
.effect-card,
.proposal-card,
.basis-card,
.time-card,
.org-item{
  box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
  border-color:#e9eef5 !important;
}
.declaration-block,
.partners-panel,
.cta{
  box-shadow:0 22px 54px rgba(7,18,37,.16) !important;
}

/* FAQ more polished */
.faq-item{
  box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
}
.faq-q{
  font-size:16px !important;
}

/* Floating CTA less intrusive */
.floating-cta{
  right:22px !important;
  bottom:22px !important;
}
.float-action{
  min-width:146px !important;
  min-height:44px !important;
  font-size:14px !important;
}

/* Admin image guide premium */
.upload-guide{
  border-color:#e9eef5 !important;
  box-shadow:var(--shadow-soft) !important;
}

/* Mobile detail */
@media(max-width:760px){
  .hero{
    padding:24px 0 10px !important;
  }
  .media-card,
  .hero-video{
    height:310px !important;
    min-height:310px !important;
  }
  .hero-media-message strong{
    white-space:normal !important;
    font-size:18px !important;
  }
  .position-card{
    height:auto !important;
    min-height:auto !important;
  }
  .type-hero{
    min-height:68px !important;
  }
  .position-card h1{
    font-size:28px !important;
  }
  .brand-ribbon{
    display:none;
  }
  .section{
    padding:54px 0 !important;
  }
  .section-head h2{
    font-size:27px !important;
  }
  .card-grid{
    gap:16px !important;
  }
}

/* Reduce motion safety */
@media(prefers-reduced-motion: reduce){
  *{
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}



/* ===== v14 Korean labels + hero clipping fix ===== */

/* 1. Remove ribbon area completely */
.brand-ribbon{
  display:none !important;
}

/* 2. Hero structure: no clipping, exact clean balance */
.hero{
  padding:48px 0 18px !important;
}
.hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:30px !important;
  align-items:stretch !important;
}
.media-card{
  min-height:500px !important;
  height:100% !important;
}
.hero-video{
  height:100% !important;
  min-height:500px !important;
}
.position-card{
  min-height:500px !important;
  height:auto !important;
  overflow:visible !important;
  padding:34px 38px 30px !important;
}

/* 3. Right card inner content must never cut */
.position-card h1{
  font-size:38px !important;
  line-height:1.12 !important;
  margin-bottom:0 !important;
}
.position-card > p{
  margin:15px 0 16px !important;
  font-size:15px !important;
  line-height:1.64 !important;
}
.feature-list{
  margin-top:10px !important;
  display:grid !important;
  gap:12px !important;
}
.feature{
  min-height:88px !important;
  height:auto !important;
  padding:16px 18px !important;
}
.feature h3{
  font-size:16px !important;
  line-height:1.3 !important;
  margin-bottom:3px !important;
}
.feature p{
  font-size:12.5px !important;
  line-height:1.45 !important;
}

/* 4. Left hero image: cleaner lower area */
.media-card{
  border-radius:28px !important;
}
.media-card:before{
  background:
    linear-gradient(180deg,
      rgba(7,18,37,.08) 0%,
      rgba(7,18,37,.02) 58%,
      rgba(7,18,37,.08) 74%,
      rgba(7,18,37,.30) 100%
    ) !important;
}
.hero-media-message{
  left:30px !important;
  right:30px !important;
  bottom:58px !important;
}
.hero-media-kicker{
  margin-bottom:7px !important;
  font-size:10px !important;
  letter-spacing:.15em !important;
}
.hero-media-message strong{
  max-width:none !important;
  white-space:nowrap !important;
  font-size:16px !important;
  line-height:1.15 !important;
  letter-spacing:-.04em !important;
}
.video-progress{
  left:30px !important;
  bottom:24px !important;
  gap:8px !important;
}
.bar, .bar.on{
  width:6px !important;
  height:6px !important;
}

/* 5. More space before next section */
.hero + .section{
  padding-top:54px !important;
}

/* 6. Make section eyebrow Korean look calmer */
.eyebrow{
  letter-spacing:.06em !important;
  font-size:12px !important;
}

/* 7. Mobile */
@media(max-width:1100px){
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .media-card, .hero-video, .position-card{
    min-height:auto !important;
    height:auto !important;
  }
  .hero-video{
    height:340px !important;
  }
}
@media(max-width:760px){
  .hero{
    padding:22px 0 8px !important;
  }
  .hero-video{
    height:306px !important;
  }
  .hero-media-message{
    left:20px !important;
    right:20px !important;
    bottom:50px !important;
  }
  .hero-media-message strong{
    white-space:normal !important;
    font-size:17px !important;
    line-height:1.25 !important;
  }
  .video-progress{
    left:20px !important;
    bottom:22px !important;
  }
  .position-card{
    padding:24px 20px !important;
  }
  .position-card h1{
    font-size:28px !important;
  }
}



/* ===== v15 운영네트워크 흔들림/움직임 고정 ===== */

/* 운영네트워크 카드는 스크롤/hover 때 움직이지 않게 고정 */
.network-grid{
  align-items:stretch !important;
}
.network-card,
.network-card:hover,
.network-card.reveal,
.network-card.reveal.in-view{
  transform:none !important;
  opacity:1 !important;
  will-change:auto !important;
  backface-visibility:hidden !important;
}

/* 운영네트워크 안쪽 이미지는 확대 움직임 없이 톤만 유지 */
.network-card img,
.network-card:hover img{
  transform:none !important;
  transition:filter .25s ease, opacity .25s ease !important;
}

/* 운영네트워크 카드 그림자도 hover 때 크게 변하지 않게 고정 */
.network-card{
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}
.network-card:hover{
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}

/* 운영네트워크 카드 텍스트 위치 고정 */
.network-card div,
.network-card:hover div{
  transform:none !important;
}



/* ===== v16 관람안내 아이콘 개선 + 상상콘텐츠 히어로 재디자인 ===== */

/* 관람안내 가이드 카드 */
.guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:18px;
}
.guide-card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:24px;
  padding:22px 18px 20px;
  text-align:center;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  transition:transform .22s ease, box-shadow .22s ease;
}
.guide-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(15,23,42,.08);
}
.guide-icon{
  width:54px;
  height:54px;
  margin:0 auto 14px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff4e9;
  font-size:28px;
  line-height:1;
}
.guide-card h4{
  margin:0 0 8px;
  font-size:20px;
  color:#071225;
}
.guide-card p{
  margin:0;
  color:#64748b;
  font-weight:700;
  line-height:1.6;
  font-size:14px;
}

/* 상상콘텐츠 상단 비주얼 재디자인 */
.contents-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 16%,rgba(249,115,22,.18),transparent 28%),
    radial-gradient(circle at 90% 15%,rgba(59,130,246,.10),transparent 28%),
    linear-gradient(135deg,#071225 0%,#102241 60%,#172c52 100%) !important;
}
.contents-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:34px 34px;
  opacity:.28;
  pointer-events:none;
}
.contents-hero .container{
  position:relative;
  z-index:2;
}
.contents-hero-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:28px;
  align-items:center;
  padding:16px 0;
}
.contents-hero-copy .eyebrow{
  color:#fb923c !important;
}
.contents-hero-copy h1{
  margin:10px 0 16px;
  color:#fff;
  font-size:48px;
  line-height:1.2;
  letter-spacing:-.06em;
}
.contents-hero-copy p{
  margin:0 0 22px;
  max-width:760px;
  color:#cbd5e1;
  font-size:17px;
  line-height:1.8;
  font-weight:700;
}
.contents-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.contents-chip{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:900;
  font-size:14px;
  backdrop-filter:blur(10px);
}
.contents-focus-card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.22);
  border-radius:28px;
  padding:28px 26px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.focus-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#fff4e9;
  color:#ea580c;
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
}
.contents-focus-card h3{
  margin:16px 0 14px;
  color:#071225;
  font-size:24px;
  line-height:1.35;
}
.contents-focus-card ul{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:grid;
  gap:10px;
}
.contents-focus-card li{
  position:relative;
  padding-left:18px;
  color:#475569;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
}
.contents-focus-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f97316;
}

@media(max-width:1100px){
  .guide-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .contents-hero-wrap{
    grid-template-columns:1fr;
  }
  .contents-hero-copy h1{
    font-size:38px;
  }
}
@media(max-width:760px){
  .guide-grid{
    grid-template-columns:1fr;
  }
  .guide-card{
    padding:18px 16px;
    border-radius:20px;
  }
  .guide-card h4{
    font-size:18px;
  }
  .guide-icon{
    width:48px;
    height:48px;
    font-size:24px;
    border-radius:16px;
  }
  .contents-hero-wrap{
    gap:18px;
    padding:4px 0;
  }
  .contents-hero-copy h1{
    font-size:30px;
    line-height:1.28;
  }
  .contents-hero-copy p{
    font-size:15px;
    line-height:1.7;
  }
  .contents-chip{
    min-height:36px;
    padding:0 13px;
    font-size:13px;
  }
  .contents-focus-card{
    border-radius:22px;
    padding:22px 18px;
  }
  .contents-focus-card h3{
    font-size:20px;
  }
}



/* ===== v17 공연안내 상단 재디자인 + 관람안내 아이콘 전면 교체 ===== */

/* 전체 체감 크기 상향 */
.container{
  max-width:1380px !important;
}
.section{
  padding:84px 0 !important;
}
.section-head h2{
  font-size:40px !important;
}
.section-head p{
  font-size:16px !important;
}
.card-grid{
  gap:24px !important;
}

/* 공연안내 상단 히어로 재디자인 */
.performance-hero{
  background:
    radial-gradient(circle at 12% 18%, rgba(249,115,22,.14), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(59,130,246,.08), transparent 30%),
    linear-gradient(135deg,#071225 0%,#0f2344 58%,#173258 100%) !important;
  position:relative;
  overflow:hidden;
}
.performance-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:36px 36px;
  opacity:.22;
  pointer-events:none;
}
.performance-hero .container{
  position:relative;
  z-index:2;
}
.performance-hero-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);
  gap:34px;
  align-items:center;
  padding:22px 0;
}
.performance-hero-copy .eyebrow{
  color:#fb923c !important;
  font-size:13px !important;
}
.performance-hero-copy h1{
  margin:10px 0 18px;
  color:#fff;
  font-size:56px;
  line-height:1.18;
  letter-spacing:-.07em;
}
.performance-hero-copy p{
  margin:0 0 24px;
  max-width:760px;
  color:#d8e2ee;
  font-size:18px;
  line-height:1.85;
  font-weight:700;
}
.performance-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.performance-chip{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:14px;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.performance-hero-card{
  background:rgba(255,255,255,.96);
  border-radius:30px;
  border:1px solid rgba(255,255,255,.22);
  padding:28px 26px;
  box-shadow:0 20px 44px rgba(0,0,0,.18);
}
.hero-side-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#fff4e9;
  color:#ea580c;
  font-size:12px;
  font-weight:950;
}
.hero-side-grid{
  margin-top:16px;
  display:grid;
  gap:12px;
}
.hero-side-item{
  border:1px solid #e8edf4;
  border-radius:20px;
  background:#fff;
  padding:16px 16px 15px;
}
.hero-side-item strong{
  display:block;
  color:#071225;
  font-size:18px;
  margin-bottom:6px;
}
.hero-side-item p{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.65;
  font-weight:700;
}

/* 필터/카드도 한 단계 크게 */
.filter-bar{
  padding:12px 14px !important;
  border-radius:24px !important;
}
.filter-chip{
  min-height:46px !important;
  padding:0 18px !important;
  font-size:14px !important;
}
.mini-card{
  border-radius:26px !important;
}
.mini-thumb{
  height:180px !important;
  flex-basis:180px !important;
}
.mini-body{
  padding:18px 18px 18px !important;
}
.mini-body h3{
  font-size:22px !important;
  min-height:60px !important;
}
.info-line{
  font-size:14px !important;
}
.mini-card .btn.small{
  min-height:48px !important;
  font-size:15px !important;
}

/* 관람안내 카드 아이콘 전면 교체 */
.guide-grid{
  gap:18px !important;
}
.guide-card{
  border-radius:26px !important;
  padding:26px 20px 22px !important;
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}
.guide-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.09) !important;
}
.guide-icon-wrap{
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fff4e9,#ffedd5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.guide-svg{
  width:30px;
  height:30px;
  stroke:#ea580c;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.guide-card h4{
  font-size:21px !important;
  margin-bottom:8px !important;
}
.guide-card p{
  font-size:14px !important;
  line-height:1.65 !important;
}

/* 모바일 */
@media(max-width:1100px){
  .performance-hero-wrap{
    grid-template-columns:1fr;
  }
  .performance-hero-copy h1{
    font-size:42px;
  }
}
@media(max-width:760px){
  .container{
    max-width:100% !important;
  }
  .section{
    padding:58px 0 !important;
  }
  .performance-hero-wrap{
    gap:20px;
    padding:4px 0;
  }
  .performance-hero-copy h1{
    font-size:34px;
    line-height:1.25;
  }
  .performance-hero-copy p{
    font-size:15px;
    line-height:1.72;
  }
  .performance-chip{
    min-height:38px;
    padding:0 14px;
    font-size:13px;
  }
  .performance-hero-card{
    border-radius:24px;
    padding:22px 18px;
  }
  .guide-grid{
    grid-template-columns:1fr !important;
  }
  .guide-icon-wrap{
    width:58px;
    height:58px;
    border-radius:20px;
  }
  .guide-svg{
    width:28px;
    height:28px;
  }
}



/* ===== v18 전체 레이아웃 와이드 확장 ===== */

/* 기본 컨테이너를 더 넓게 */
.container{
  width:min(1540px, calc(100% - 72px)) !important;
  max-width:1540px !important;
}

/* 헤더도 전체 폭 체감 넓게 */
.header .container{
  width:min(1540px, calc(100% - 72px)) !important;
  max-width:1540px !important;
}

/* 메인 히어로와 페이지 히어로 더 넓게 */
.hero,
.page-hero,
.performance-hero,
.contents-hero{
  padding-left:0 !important;
  padding-right:0 !important;
}
.hero-grid,
.performance-hero-wrap,
.contents-hero-wrap{
  gap:40px !important;
}

/* 카드/섹션도 조금 더 넓은 호흡으로 */
.section{
  padding:88px 0 !important;
}
.section-head{
  margin-bottom:30px !important;
}
.card-grid{
  gap:26px !important;
}

/* 메인 카드 영역을 더 시원하게 */
.media-card,
.position-card{
  border-radius:30px !important;
}
.filter-bar{
  width:100% !important;
  max-width:none !important;
}

/* 상세/탭/문의 등 내부 패널도 와이드 */
.tabs-wrap,
.company-overview,
.org-wrap,
.panel,
.admin-box,
.upload-guide,
.cta,
.declaration-block,
.partners-panel{
  width:100% !important;
  max-width:none !important;
}

/* 갤러리/네트워크/콘텐츠 목록도 조금 더 넓은 감각 */
.gallery-layout,
.network-grid,
.card-grid{
  width:100% !important;
}

/* 공연 카드 이미지도 체감상 조금 더 넓게 보이도록 */
.mini-thumb{
  height:188px !important;
  flex-basis:188px !important;
}

/* 공연안내 상세 관람안내 카드도 여백 조금 더 */
.guide-grid{
  gap:20px !important;
}
.guide-card{
  padding:28px 22px 24px !important;
}

/* 페이지 상단 비주얼 텍스트 영역도 넓게 */
.performance-hero-copy h1{
  max-width:880px !important;
}
.contents-hero-copy h1{
  max-width:900px !important;
}
.performance-hero-copy p,
.contents-hero-copy p{
  max-width:820px !important;
}

/* 모바일은 기존처럼 무너지지 않게 */
@media(max-width:1100px){
  .container,
  .header .container{
    width:min(100%, calc(100% - 34px)) !important;
    max-width:none !important;
  }
}
@media(max-width:760px){
  .container,
  .header .container{
    width:min(100%, calc(100% - 24px)) !important;
  }
  .section{
    padding:58px 0 !important;
  }
  .card-grid{
    gap:18px !important;
  }
  .mini-thumb{
    height:168px !important;
    flex-basis:168px !important;
  }
}



/* ===== v19 전체 글자 확대 + 전체 폭 추가 확장 ===== */

/* 전체 와이드 폭 한 단계 더 확대 */
.container{
  width:min(1660px, calc(100% - 64px)) !important;
  max-width:1660px !important;
}
.header .container{
  width:min(1660px, calc(100% - 64px)) !important;
  max-width:1660px !important;
}

/* 기본 본문 글자 전체 상향 */
body{
  font-size:17px !important;
  line-height:1.72 !important;
}
p, li, dd, dt, span, small{
  line-height:1.72 !important;
}

/* 상단 메뉴 / 버튼 확대 */
.menu a{
  font-size:18px !important;
}
.nav-cta .btn,
.btn{
  font-size:16px !important;
}
.nav-cta .btn.orange{
  min-height:50px !important;
  padding:0 24px !important;
}

/* 공통 여백 더 시원하게 */
.section{
  padding:96px 0 !important;
}
.section-head{
  margin-bottom:34px !important;
}
.section-head h2{
  font-size:44px !important;
  line-height:1.18 !important;
}
.section-head p{
  font-size:18px !important;
  max-width:900px !important;
}
.eyebrow{
  font-size:13px !important;
}

/* 메인 히어로 와이드 + 타이포 확대 */
.hero-grid{
  gap:46px !important;
}
.media-card,
.position-card{
  min-height:520px !important;
}
.position-card{
  padding:42px 44px 36px !important;
}
.position-card h1{
  font-size:44px !important;
  line-height:1.12 !important;
}
.position-card > p{
  font-size:17px !important;
  line-height:1.74 !important;
}
.feature{
  min-height:96px !important;
  padding:18px 20px !important;
}
.feature h3{
  font-size:19px !important;
}
.feature p{
  font-size:14px !important;
  line-height:1.6 !important;
}
.hero-media-message strong{
  font-size:18px !important;
}
.hero-media-kicker{
  font-size:11px !important;
}

/* 페이지 상단 히어로 전체 확대 */
.performance-hero-wrap,
.contents-hero-wrap{
  gap:42px !important;
}
.performance-hero-copy h1,
.contents-hero-copy h1{
  font-size:62px !important;
  line-height:1.16 !important;
}
.performance-hero-copy p,
.contents-hero-copy p{
  font-size:19px !important;
  line-height:1.85 !important;
}
.performance-chip,
.contents-chip{
  min-height:46px !important;
  padding:0 20px !important;
  font-size:15px !important;
}
.performance-hero-card,
.contents-focus-card{
  padding:32px 30px !important;
}
.hero-side-item strong,
.contents-focus-card h3{
  font-size:21px !important;
}
.hero-side-item p,
.contents-focus-card li{
  font-size:15px !important;
  line-height:1.7 !important;
}

/* 필터/탭/카드 전체 확대 */
.filter-bar{
  padding:14px 16px !important;
}
.filter-chip{
  min-height:50px !important;
  padding:0 20px !important;
  font-size:15px !important;
}
.card-grid{
  gap:28px !important;
}
.mini-card{
  border-radius:28px !important;
}
.mini-thumb{
  height:200px !important;
  flex-basis:200px !important;
}
.mini-body{
  padding:20px !important;
}
.mini-body h3{
  font-size:24px !important;
  min-height:64px !important;
  line-height:1.35 !important;
}
.mini-meta,
.mini-info,
.info-line{
  font-size:15px !important;
}
.badge,
.status-badge,
.chip{
  font-size:12px !important;
}
.mini-card .btn.small{
  min-height:50px !important;
  font-size:16px !important;
}

/* 상세 페이지 / 관람안내 확대 */
.tabs-head button{
  font-size:16px !important;
  min-height:48px !important;
}
.tab-panel h3{
  font-size:28px !important;
}
.tab-list li,
.tab-panel p{
  font-size:16px !important;
}
.guide-grid{
  gap:22px !important;
}
.guide-card{
  padding:30px 24px 26px !important;
}
.guide-card h4{
  font-size:23px !important;
}
.guide-card p{
  font-size:15px !important;
}
.guide-icon-wrap{
  width:68px !important;
  height:68px !important;
}
.guide-svg{
  width:32px !important;
  height:32px !important;
}

/* 갤러리 / 네트워크 / 소개 / 기관협력 전부 확대 */
.gallery-main .gallery-caption h3{
  font-size:28px !important;
}
.gallery-tile span{
  font-size:16px !important;
}
.network-card h3,
.value-card h3,
.proposal-card h3,
.partners-item h3,
.resource-card h3,
.effect-card h3,
.basis-card h3,
.time-card h3,
.org-item h3{
  font-size:22px !important;
}
.network-card p,
.value-card p,
.proposal-card p,
.partners-item p,
.resource-card p,
.effect-card p,
.basis-card p,
.time-card p,
.org-item p,
.company-overview p,
.declaration-block p,
.faq-a{
  font-size:16px !important;
  line-height:1.75 !important;
}
.declaration-block h2{
  font-size:48px !important;
  line-height:1.3 !important;
}
.company-overview h2,
.panel h2,
.admin-box h2,
.upload-guide h3,
.faq-q{
  font-size:26px !important;
}

/* 폼/문의 확대 */
input, textarea, select{
  font-size:16px !important;
}
label{
  font-size:15px !important;
}

/* 모바일 대응은 유지하되 너무 과하지 않게 */
@media(max-width:1100px){
  .container,
  .header .container{
    width:min(100%, calc(100% - 32px)) !important;
    max-width:none !important;
  }
  .performance-hero-copy h1,
  .contents-hero-copy h1{
    font-size:46px !important;
  }
  .section-head h2{
    font-size:36px !important;
  }
}
@media(max-width:760px){
  .container,
  .header .container{
    width:min(100%, calc(100% - 22px)) !important;
  }
  body{
    font-size:15px !important;
  }
  .section{
    padding:60px 0 !important;
  }
  .section-head h2{
    font-size:29px !important;
  }
  .menu a{
    font-size:16px !important;
  }
  .position-card h1{
    font-size:31px !important;
  }
  .performance-hero-copy h1,
  .contents-hero-copy h1{
    font-size:34px !important;
  }
  .performance-hero-copy p,
  .contents-hero-copy p,
  .section-head p{
    font-size:15px !important;
  }
  .mini-body h3{
    font-size:20px !important;
  }
  .guide-card h4{
    font-size:20px !important;
  }
}



/* ===== v20 사진 기준 디자인 재정리 ===== */

/* 서브페이지 상단: 어두운 풀배경 제거하고 밝은 프리미엄 히어로로 재정리 */
.sub-hero{
  background:linear-gradient(180deg,#ffffff 0%, #f8f5ef 100%) !important;
  padding:28px 0 16px !important;
  border:none !important;
}
.sub-hero .container{
  position:relative;
  overflow:hidden;
  min-height:232px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:44px 58px !important;
  border-radius:34px;
  border:1px solid #eee7dd;
  background:
    radial-gradient(circle at 88% 18%, rgba(249,115,22,.13), transparent 28%),
    radial-gradient(circle at 8% 14%, rgba(15,23,42,.045), transparent 20%),
    linear-gradient(135deg,#ffffff 0%, #fff8f1 100%);
  box-shadow:0 18px 44px rgba(15,23,42,.06);
}
.sub-hero .container:before{
  content:"";
  position:absolute;
  right:-48px;
  bottom:-48px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(249,115,22,.14) 0%, rgba(249,115,22,0) 70%);
  pointer-events:none;
}
.sub-hero .container:after{
  content:"";
  position:absolute;
  right:72px;
  top:34px;
  width:140px;
  height:140px;
  border-radius:28px;
  border:1px solid rgba(15,23,42,.05);
  background:rgba(255,255,255,.22);
  transform:rotate(12deg);
  pointer-events:none;
}
.sub-hero h1{
  position:relative;
  z-index:2;
  margin:0 0 12px !important;
  font-size:62px !important;
  line-height:1.08 !important;
  letter-spacing:-.07em !important;
  color:#071225 !important;
}
.sub-hero p{
  position:relative;
  z-index:2;
  margin:0 !important;
  max-width:780px;
  font-size:19px !important;
  line-height:1.8 !important;
  font-weight:800 !important;
  color:#64748b !important;
}
.sub-hero + .section{
  padding-top:52px !important;
}

/* 상단 헤더와 히어로 간 여백 체감 정리 */
.header{
  box-shadow:0 1px 0 rgba(15,23,42,.05) !important;
}
.header + .sub-hero{
  margin-top:0 !important;
}

/* 안내 아이콘 카드 완전 정리 */
.guide-grid{
  gap:20px !important;
}
.guide-item{
  border-radius:28px !important;
  padding:28px 20px 24px !important;
  background:#fff !important;
  border:1px solid #ebeef4 !important;
  box-shadow:0 12px 26px rgba(15,23,42,.045) !important;
  transition:transform .22s ease, box-shadow .22s ease;
}
.guide-item:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(15,23,42,.08) !important;
}
.guide-item b{
  width:64px !important;
  height:64px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fff4e9,#ffedd5) !important;
  color:#ea580c !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-size:0 !important;
}
.guide-item b svg{
  width:30px;
  height:30px;
  stroke:#ea580c;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.guide-item h3{
  font-size:22px !important;
  margin:0 0 8px !important;
}
.guide-item p{
  font-size:15px !important;
  line-height:1.65 !important;
  font-weight:800 !important;
}

/* 공연/콘텐츠/기관협력 등 본문 시작 시 호흡 정리 */
.section-head h2{
  font-size:48px !important;
}
.section-head p{
  font-size:18px !important;
}
.filter-bar{
  border-radius:26px !important;
  padding:14px 16px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.03) !important;
}
.filter-btn{
  min-height:48px !important;
  font-size:15px !important;
  padding:0 18px !important;
}

/* 네트워크/협력/문의 상단 첫인상 보강 */
.page-grid .panel,
.partner-wrap > *,
.network-card,
.mini-card{
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}

/* 모바일 */
@media(max-width:1100px){
  .sub-hero .container{
    padding:38px 34px !important;
    min-height:208px;
  }
  .sub-hero h1{
    font-size:50px !important;
  }
  .sub-hero p{
    font-size:17px !important;
  }
}
@media(max-width:760px){
  .sub-hero{
    padding:18px 0 12px !important;
  }
  .sub-hero .container{
    min-height:auto;
    padding:28px 20px !important;
    border-radius:24px;
  }
  .sub-hero .container:after,
  .sub-hero .container:before{
    display:none;
  }
  .sub-hero h1{
    font-size:34px !important;
    margin-bottom:10px !important;
  }
  .sub-hero p{
    font-size:15px !important;
    line-height:1.72 !important;
  }
  .guide-item{
    padding:22px 16px 20px !important;
  }
  .guide-item b{
    width:56px !important;
    height:56px !important;
    border-radius:19px !important;
  }
  .guide-item b svg{
    width:26px;
    height:26px;
  }
  .guide-item h3{
    font-size:20px !important;
  }
}



/* ===== v21 선택 시안형 비주얼 히어로 전면 적용 ===== */
.sub-hero.sub-hero--visual{
  padding:18px 0 10px !important;
  background:transparent !important;
}
.sub-hero.sub-hero--visual .container.smart-hero{
  width:min(1660px, calc(100% - 56px));
  max-width:1660px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:54px;
  align-items:center;
  min-height:520px;
  padding:44px 34px 34px 54px !important;
  background:linear-gradient(90deg,#fafafa 0%, #fffdfa 45%, #fff6ee 100%);
  border:1px solid #f0ebe4;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
  position:relative;
}
.sub-hero.sub-hero--visual .container.smart-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,248,240,.4) 65%, rgba(255,238,224,.75) 100%);
  pointer-events:none;
}
.smart-hero-copy,
.smart-hero-visual{
  position:relative;
  z-index:2;
}
.smart-hero-copy .eyebrow{
  display:inline-block;
  margin-bottom:18px;
  color:#f97316 !important;
  font-size:24px !important;
  line-height:1.2 !important;
  letter-spacing:.22em;
  font-weight:900;
}
.smart-hero-copy h1{
  margin:0 0 20px !important;
  color:#081a39 !important;
  font-size:96px !important;
  line-height:.98 !important;
  letter-spacing:-.08em !important;
  font-weight:950 !important;
}
.smart-hero-copy p{
  margin:0;
  max-width:520px;
  color:#64748b !important;
  font-size:26px !important;
  line-height:1.62 !important;
  font-weight:800 !important;
}
.smart-hero-visual{
  min-height:420px;
}
.hero-orbit{
  position:absolute;
  border:1px solid rgba(249,115,22,.12);
  border-radius:50%;
}
.hero-orbit-1{
  width:620px;height:380px;left:20px;top:30px;
}
.hero-orbit-2{
  width:760px;height:430px;left:0;top:8px;
}
.hero-dot{
  position:absolute;
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%, #fff, #ffd7b6 58%, #ffc08f 100%);
  box-shadow:0 10px 20px rgba(249,115,22,.16);
}
.hero-dot-1{left:110px;top:152px}
.hero-dot-2{right:22px;top:92px}
.hero-dot-3{right:84px;bottom:74px}
.visual-card{
  position:absolute;
  display:grid;
  grid-template-columns:58px 1fr auto;
  align-items:start;
  gap:18px;
  width:440px;
  padding:34px 34px 32px;
  background:rgba(255,255,255,.95);
  border:1px solid #f2ebe3;
  border-radius:34px;
  box-shadow:0 14px 34px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(6px);
}
.visual-card--top{right:72px;top:10px}
.visual-card--middle{left:24px;top:172px;width:480px}
.visual-card--bottom{right:-10px;bottom:14px;width:470px}
.visual-card-icon{
  width:58px;height:58px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#fff5ec,#ffefe1);
  color:#f97316;
}
.visual-card-icon svg{
  width:28px;height:28px;stroke:#f97316;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;
}
.visual-card-copy h3{
  margin:2px 0 14px;
  color:#111827;
  font-size:24px;
  line-height:1.2;
  font-weight:950;
}
.visual-card-copy p{
  margin:0;
  color:#6b7280;
  font-size:17px;
  line-height:1.78;
  font-weight:800;
}
.visual-thumb{
  width:110px;height:82px;object-fit:cover;border-radius:22px;border:1px solid #f1e6d9;
  box-shadow:0 10px 20px rgba(15,23,42,.08);
}
.visual-map{
  position:relative;
  width:88px;height:108px;border-radius:24px;
  background:linear-gradient(180deg,#faf6f2,#fff1e8);
  clip-path:polygon(42% 0%, 56% 6%, 67% 13%, 74% 24%, 71% 34%, 80% 46%, 74% 59%, 78% 72%, 67% 82%, 63% 95%, 52% 100%, 46% 90%, 37% 80%, 30% 70%, 25% 59%, 20% 45%, 24% 34%, 23% 20%, 31% 9%);
}
.visual-map span{
  position:absolute;width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.12);
}
.visual-map span:nth-child(1){left:48px;top:20px}
.visual-map span:nth-child(2){left:40px;top:38px}
.visual-map span:nth-child(3){left:54px;top:52px}
.visual-map span:nth-child(4){left:35px;top:66px}
.visual-map span:nth-child(5){left:50px;top:80px}
.visual-ticket{
  width:92px;height:60px;border-radius:16px;
  background:linear-gradient(180deg,#f9efe7,#f7e7db);
  position:relative;opacity:.78;transform:rotate(-10deg);
}
.visual-ticket::before,.visual-ticket::after{
  content:"";position:absolute;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:#fff7f0;
}
.visual-ticket::before{left:-7px}.visual-ticket::after{right:-7px}

/* 메인 히어로 아래 첫 섹션 정리 */
.sub-hero.sub-hero--visual + .section{
  padding-top:42px !important;
}
.sub-hero.sub-hero--visual + .section .section-head .eyebrow{
  font-size:19px !important;
  margin-bottom:12px !important;
}
.sub-hero.sub-hero--visual + .section .section-head h2{
  font-size:68px !important;
  line-height:1.02 !important;
}
.sub-hero.sub-hero--visual + .section .section-head p{
  font-size:22px !important;
  max-width:980px;
}
.sub-hero.sub-hero--visual + .section .filter-bar{
  min-height:84px;
  border-radius:28px !important;
}
.sub-hero.sub-hero--visual + .section .filter-chip,
.sub-hero.sub-hero--visual + .section .filter-btn{
  min-height:54px !important;
  font-size:18px !important;
  padding:0 22px !important;
}

/* 카드 크기와 타이포 보정 */
.sub-hero.sub-hero--visual + .section .mini-thumb{
  height:230px !important;
  flex-basis:230px !important;
}
.sub-hero.sub-hero--visual + .section .mini-body h3{
  font-size:26px !important;
  line-height:1.35 !important;
  min-height:unset !important;
}
.sub-hero.sub-hero--visual + .section .mini-meta,
.sub-hero.sub-hero--visual + .section .mini-info,
.sub-hero.sub-hero--visual + .section .info-line{
  font-size:16px !important;
}

/* 모바일/태블릿 */
@media(max-width:1280px){
  .sub-hero.sub-hero--visual .container.smart-hero{
    grid-template-columns:1fr;
    min-height:auto;
    gap:26px;
    padding:36px 28px 30px !important;
  }
  .smart-hero-copy h1{
    font-size:74px !important;
  }
  .smart-hero-copy p{
    max-width:100%;
    font-size:22px !important;
  }
  .smart-hero-visual{
    min-height:500px;
  }
  .visual-card--top{right:34px}
  .visual-card--middle{left:8px}
  .visual-card--bottom{right:0}
}
@media(max-width:920px){
  .sub-hero.sub-hero--visual .container.smart-hero{
    width:min(100%, calc(100% - 24px));
    padding:26px 16px 20px !important;
  }
  .smart-hero-copy .eyebrow{
    font-size:16px !important;
    margin-bottom:12px !important;
  }
  .smart-hero-copy h1{
    font-size:48px !important;
    margin-bottom:14px !important;
  }
  .smart-hero-copy p{
    font-size:18px !important;
  }
  .smart-hero-visual{
    min-height:auto;
    display:grid;
    gap:14px;
  }
  .hero-orbit,.hero-dot{display:none}
  .visual-card{
    position:relative;
    left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;
    width:100% !important;
    grid-template-columns:48px 1fr;
    padding:22px 20px !important;
    border-radius:24px;
  }
  .visual-thumb,.visual-map,.visual-ticket{display:none}
  .visual-card-icon{
    width:48px;height:48px;border-radius:16px;
  }
  .visual-card-copy h3{font-size:20px}
  .visual-card-copy p{font-size:15px;line-height:1.65}
  .sub-hero.sub-hero--visual + .section .section-head h2{
    font-size:42px !important;
  }
  .sub-hero.sub-hero--visual + .section .section-head p{
    font-size:17px !important;
  }
}



/* ===== v22 디자이너 비율 보정판 ===== */

/* 1. 전체 폭은 유지하되, 텍스트는 너무 퍼지지 않게 제한 */
.container{
  width:min(1660px, calc(100% - 72px)) !important;
  max-width:1660px !important;
}
.smart-hero-copy{
  max-width:620px;
}
.smart-hero-copy p,
.section-head p,
.panel p,
.company-overview p{
  text-wrap:pretty;
}

/* 2. 서브 히어로 제목 크기 재조정 */
.sub-hero.sub-hero--visual .container.smart-hero{
  min-height:500px !important;
  gap:48px !important;
  padding:42px 42px 34px 58px !important;
}
.smart-hero-copy .eyebrow{
  font-size:19px !important;
  letter-spacing:.16em !important;
  margin-bottom:16px !important;
  color:#f97316 !important;
}
.smart-hero-copy h1{
  font-size:82px !important;
  line-height:1.02 !important;
  letter-spacing:-.075em !important;
}
.smart-hero-copy p{
  font-size:23px !important;
  line-height:1.62 !important;
  max-width:560px !important;
}

/* 긴 제목 전용 크기 */
.smart-hero--about .smart-hero-copy h1{
  font-size:68px !important;
}
.smart-hero--achievements .smart-hero-copy h1,
.smart-hero--gallery .smart-hero-copy h1{
  font-size:74px !important;
}

/* 3. 우측 비주얼 카드 위치/크기 안정화 */
.smart-hero-visual{
  min-height:410px !important;
}
.visual-card{
  padding:30px 30px 28px !important;
  border-radius:32px !important;
}
.visual-card--top{
  right:52px !important;
  top:14px !important;
  width:450px !important;
}
.visual-card--middle{
  left:14px !important;
  top:162px !important;
  width:500px !important;
}
.visual-card--bottom{
  right:0 !important;
  bottom:8px !important;
  width:480px !important;
}
.visual-card-copy h3{
  font-size:23px !important;
  margin-bottom:10px !important;
}
.visual-card-copy p{
  font-size:16px !important;
  line-height:1.68 !important;
}
.visual-card-icon{
  width:56px !important;
  height:56px !important;
}

/* 4. 현재 공연 등 첫 섹션 제목 위계 낮추기 */
.sub-hero.sub-hero--visual + .section{
  padding-top:48px !important;
}
.sub-hero.sub-hero--visual + .section .section-head{
  margin-bottom:28px !important;
}
.sub-hero.sub-hero--visual + .section .section-head .eyebrow,
.section-head .eyebrow,
.eyebrow{
  font-size:17px !important;
  letter-spacing:.08em !important;
  color:#f97316 !important;
  font-weight:950 !important;
}
.sub-hero.sub-hero--visual + .section .section-head h2{
  font-size:54px !important;
  line-height:1.12 !important;
  letter-spacing:-.065em !important;
}
.section-head h2{
  font-size:46px !important;
  line-height:1.18 !important;
}
.sub-hero.sub-hero--visual + .section .section-head p{
  font-size:19px !important;
  line-height:1.7 !important;
}

/* 5. 필터바 과한 크기 보정 */
.sub-hero.sub-hero--visual + .section .filter-bar{
  min-height:72px !important;
  padding:10px 14px !important;
  border-radius:24px !important;
}
.sub-hero.sub-hero--visual + .section .filter-chip,
.sub-hero.sub-hero--visual + .section .filter-btn,
.filter-chip,
.filter-btn{
  min-height:46px !important;
  font-size:16px !important;
  padding:0 18px !important;
}

/* 6. 공연/콘텐츠 카드 높이와 버튼 하단 고정 */
.mini-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:460px !important;
}
.mini-thumb{
  height:205px !important;
  flex:0 0 205px !important;
}
.mini-body{
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  padding:20px !important;
}
.mini-body h3{
  font-size:24px !important;
  line-height:1.34 !important;
  min-height:64px !important;
  margin-bottom:14px !important;
}
.mini-meta{
  min-height:36px !important;
}
.mini-info{
  min-height:64px !important;
  margin-top:8px !important;
}
.info-line{
  font-size:15px !important;
  line-height:1.55 !important;
}
.card-actions{
  margin-top:auto !important;
}
.mini-card .btn.small{
  min-height:50px !important;
  font-size:16px !important;
}

/* 7. 운영네트워크 카드 배열 고정 */
.network-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
  gap:22px !important;
}
.network-card{
  min-height:230px !important;
}
.network-card h3{
  font-size:23px !important;
}
.network-card p{
  font-size:16px !important;
}

/* 8. 문의 페이지는 히어로 높이 살짝 낮춰 전환성 강화 */
.smart-hero--contact{
  min-height:430px !important;
  padding-top:34px !important;
  padding-bottom:30px !important;
}
.smart-hero--contact .smart-hero-copy h1{
  font-size:74px !important;
}
.smart-hero--contact .smart-hero-copy p{
  font-size:21px !important;
}
.smart-hero--contact .smart-hero-visual{
  min-height:360px !important;
}
.smart-hero--contact .visual-card{
  padding:24px 26px !important;
}
.smart-hero--contact .visual-card--top{
  top:4px !important;
}
.smart-hero--contact .visual-card--middle{
  top:132px !important;
}
.smart-hero--contact .visual-card--bottom{
  bottom:0 !important;
}

/* 9. 공통 라벨/배지 가독성 보정 */
.badge,
.status-badge,
.chip{
  font-size:13px !important;
  font-weight:900 !important;
}
.section-title .eyebrow{
  display:inline-block;
  margin-bottom:10px;
}

/* 10. 반응형 기준 정리 */
@media(max-width:1440px){
  .smart-hero-copy h1{
    font-size:72px !important;
  }
  .smart-hero-copy p{
    font-size:21px !important;
  }
  .visual-card--top{
    width:420px !important;
    right:30px !important;
  }
  .visual-card--middle{
    width:450px !important;
  }
  .visual-card--bottom{
    width:440px !important;
  }
  .sub-hero.sub-hero--visual + .section .section-head h2{
    font-size:50px !important;
  }
  .network-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}
@media(max-width:1280px){
  .sub-hero.sub-hero--visual .container.smart-hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .smart-hero-visual{
    min-height:470px !important;
  }
  .visual-card--top{
    right:40px !important;
  }
  .visual-card--middle{
    left:20px !important;
  }
  .visual-card--bottom{
    right:10px !important;
  }
}
@media(max-width:920px){
  .container{
    width:min(100%, calc(100% - 28px)) !important;
  }
  .sub-hero.sub-hero--visual .container.smart-hero{
    width:min(100%, calc(100% - 28px)) !important;
    padding:28px 20px 22px !important;
    gap:20px !important;
  }
  .smart-hero-copy .eyebrow{
    font-size:15px !important;
    letter-spacing:.08em !important;
  }
  .smart-hero-copy h1,
  .smart-hero--about .smart-hero-copy h1,
  .smart-hero--achievements .smart-hero-copy h1,
  .smart-hero--gallery .smart-hero-copy h1,
  .smart-hero--contact .smart-hero-copy h1{
    font-size:42px !important;
    line-height:1.12 !important;
  }
  .smart-hero-copy p,
  .smart-hero--contact .smart-hero-copy p{
    font-size:17px !important;
    line-height:1.62 !important;
  }
  .smart-hero-visual,
  .smart-hero--contact .smart-hero-visual{
    min-height:auto !important;
  }
  .visual-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    grid-template-columns:48px 1fr !important;
    padding:22px 20px !important;
  }
  .sub-hero.sub-hero--visual + .section .section-head h2,
  .section-head h2{
    font-size:34px !important;
  }
  .sub-hero.sub-hero--visual + .section .section-head p,
  .section-head p{
    font-size:16px !important;
  }
  .network-grid{
    grid-template-columns:1fr !important;
  }
  .mini-card{
    min-height:420px !important;
  }
  .mini-thumb{
    height:180px !important;
    flex-basis:180px !important;
  }
}



/* ===== v23 세부페이지 카드 로테이션 모션 ===== */

/* 오른쪽 비주얼 카드들이 3단계 위치를 딱딱 교체하는 모션 */
.smart-hero-visual.has-rotation .visual-card{
  transition:
    left .48s cubic-bezier(.22,.85,.24,1),
    right .48s cubic-bezier(.22,.85,.24,1),
    top .48s cubic-bezier(.22,.85,.24,1),
    bottom .48s cubic-bezier(.22,.85,.24,1),
    width .48s cubic-bezier(.22,.85,.24,1),
    transform .48s cubic-bezier(.22,.85,.24,1),
    box-shadow .32s ease,
    opacity .32s ease;
  will-change:left,right,top,bottom,transform,width;
}
.smart-hero-visual.has-rotation .visual-card--top{
  z-index:4;
  transform:translate3d(0,0,0) scale(1.01);
}
.smart-hero-visual.has-rotation .visual-card--middle{
  z-index:3;
  transform:translate3d(0,0,0) scale(1);
}
.smart-hero-visual.has-rotation .visual-card--bottom{
  z-index:2;
  transform:translate3d(0,0,0) scale(.99);
}
.smart-hero-visual.has-rotation.is-card-switching .visual-card{
  opacity:.94;
}
.smart-hero-visual.has-rotation .visual-card.is-current{
  box-shadow:0 22px 48px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.95);
}
.smart-hero-visual.has-rotation .visual-card.is-current .visual-card-icon{
  box-shadow:0 0 0 8px rgba(249,115,22,.08), inset 0 1px 0 rgba(255,255,255,.9);
}

/* 배경 점도 아주 약하게 살아 움직이게 */
.smart-hero-visual.has-rotation .hero-dot{
  animation:heroDotPulse 3.6s ease-in-out infinite;
}
.smart-hero-visual.has-rotation .hero-dot-2{
  animation-delay:.55s;
}
.smart-hero-visual.has-rotation .hero-dot-3{
  animation-delay:1.1s;
}
@keyframes heroDotPulse{
  0%,100%{transform:scale(1);opacity:.72}
  50%{transform:scale(1.22);opacity:1}
}

/* 마우스 올리면 카드 로테이션은 멈추고, 직접 읽기 편하게 */
.smart-hero-visual.has-rotation.is-paused .visual-card{
  transition-duration:.22s;
}

/* 모바일에서는 카드가 세로로 쌓이므로 자동 회전 제거 */
@media(max-width:920px){
  .smart-hero-visual.has-rotation .visual-card{
    transition:box-shadow .22s ease, transform .22s ease !important;
    will-change:auto;
  }
  .smart-hero-visual.has-rotation .hero-dot{
    animation:none;
  }
}

/* 모션 민감 사용자 대응 */
@media(prefers-reduced-motion: reduce){
  .smart-hero-visual.has-rotation .visual-card,
  .smart-hero-visual.has-rotation .hero-dot{
    animation:none !important;
    transition:none !important;
  }
}


/* ===== v25 디자인/모션/기능 마감 보정 ===== */
.eyebrow,
.section-head .eyebrow,
.section-title .eyebrow,
.smart-hero-copy .eyebrow,
.sub-hero.sub-hero--visual + .section .section-head .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:#fff4e9 !important;
  color:#ea580c !important;
  font-size:17px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:950 !important;
  margin-bottom:14px !important;
}
.smart-hero-copy .eyebrow{
  font-size:19px !important;
  min-height:36px !important;
  padding:0 14px !important;
}
.smart-hero-copy h1{
  font-size:78px !important;
  line-height:1.02 !important;
  letter-spacing:-.074em !important;
}
.smart-hero--about .smart-hero-copy h1{
  font-size:66px !important;
}
.smart-hero-copy p{
  font-size:22px !important;
  line-height:1.62 !important;
  max-width:580px !important;
}
.sub-hero.sub-hero--visual + .section .section-head h2,
.section-head h2{
  font-size:48px !important;
  line-height:1.15 !important;
  letter-spacing:-.065em !important;
}
.sub-hero.sub-hero--visual + .section .section-head p,
.section-head p{
  font-size:18px !important;
  line-height:1.72 !important;
  max-width:900px !important;
}
.mini-body h3{
  font-size:23px !important;
  line-height:1.36 !important;
}
.visual-card-copy h3{
  font-size:23px !important;
}
.visual-card-copy p{
  font-size:16px !important;
  line-height:1.68 !important;
}
body.v25-ready .smart-hero-visual .visual-card{
  animation:v25CardEnter .72s cubic-bezier(.2,.85,.2,1) both;
}
body.v25-ready .smart-hero-visual .visual-card:nth-of-type(1){animation-delay:.05s;}
body.v25-ready .smart-hero-visual .visual-card:nth-of-type(2){animation-delay:.18s;}
body.v25-ready .smart-hero-visual .visual-card:nth-of-type(3){animation-delay:.31s;}
@keyframes v25CardEnter{
  from{opacity:0; transform:translate3d(0,22px,0) scale(.985)}
  to{opacity:1; transform:translate3d(0,0,0) scale(1)}
}
.card-grid.is-filtering .mini-card{
  opacity:.28;
  transform:translateY(8px) scale(.995);
}
.card-grid .mini-card{
  transition:opacity .24s ease, transform .24s ease, box-shadow .24s ease !important;
}
.btn,
.filter-btn,
.more-link,
.float-action,
.mini-card .btn.small{
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease !important;
}
.btn:hover,
.float-action:hover,
.mini-card .btn.small:hover{
  transform:translateY(-3px) !important;
}
.btn.orange:hover,
.nav-cta .btn.orange:hover,
.mini-card .btn.small:hover{
  box-shadow:0 16px 34px rgba(249,115,22,.24) !important;
}
.filter-btn:hover{transform:translateY(-2px) !important;}
.more-link:hover{transform:translateX(4px) !important;}
.top-button-v25{
  position:fixed;
  right:24px;
  bottom:190px;
  z-index:92;
  width:48px;
  height:48px;
  border-radius:999px;
  background:#fff;
  color:#071225;
  font-weight:950;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  border:1px solid #e5e7eb;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .24s ease, transform .24s ease, background .22s ease, color .22s ease;
}
.top-button-v25.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.top-button-v25:hover{
  background:#071225;
  color:#fff;
}
.smart-hero-visual{isolation:isolate;}
.visual-card{backface-visibility:hidden;}
.filter-bar{align-items:center !important;}
.card-grid{align-items:stretch !important;}
.mini-card{height:100% !important;}
.card-actions{margin-top:auto !important;}

@media(max-width:920px){
  .filter-bar{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding:10px !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .filter-bar::-webkit-scrollbar{display:none;}
  .filter-btn{
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }
  .floating-cta{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .floating-cta .float-action{
    min-width:0 !important;
    min-height:44px !important;
    font-size:13px !important;
  }
  .floating-cta .float-action:nth-child(3){display:none !important;}
  .top-button-v25{
    right:14px;
    bottom:118px;
    width:42px;
    height:42px;
    font-size:12px;
  }
  .smart-hero-copy .eyebrow,
  .eyebrow,
  .section-head .eyebrow{
    min-height:28px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }
  .smart-hero-copy h1{font-size:42px !important;}
  .smart-hero-copy p{font-size:17px !important;}
  .section-head h2,
  .sub-hero.sub-hero--visual + .section .section-head h2{
    font-size:34px !important;
  }
  .section-head p,
  .sub-hero.sub-hero--visual + .section .section-head p{
    font-size:16px !important;
  }
}
@media(prefers-reduced-motion: reduce){
  body.v25-ready .smart-hero-visual .visual-card{animation:none !important;}
  .card-grid .mini-card,
  .btn,
  .filter-btn,
  .more-link,
  .float-action{
    transition:none !important;
  }
}



/* ===== v26 고급 모션 + 모바일 최적화 마감 ===== */

/* 1. 서브 히어로 배경 레이어 모션 */
.smart-hero{
  position:relative;
}
.smart-hero::before{
  content:"";
  position:absolute;
  right:8%;
  top:8%;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(249,115,22,.12) 0%, rgba(249,115,22,0) 68%);
  opacity:.78;
  animation:v26SoftFloat 8s ease-in-out infinite;
  pointer-events:none;
  z-index:1;
}
.smart-hero::after{
  content:"";
  position:absolute;
  right:24%;
  bottom:12%;
  width:86px;
  height:86px;
  border-radius:999px;
  border:1px solid rgba(249,115,22,.16);
  opacity:.8;
  animation:v26SoftPulse 5.6s ease-in-out infinite;
  pointer-events:none;
  z-index:1;
}
@keyframes v26SoftFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-18px,16px,0) scale(1.06)}
}
@keyframes v26SoftPulse{
  0%,100%{transform:scale(1);opacity:.46}
  50%{transform:scale(1.22);opacity:.9}
}

/* 2. 프리미엄 버블/팝 느낌: 작고 은은하게 */
.smart-hero-visual::before,
.smart-hero-visual::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff 0%, #ffe1c8 54%, rgba(249,115,22,.28) 100%);
  box-shadow:0 14px 26px rgba(249,115,22,.13);
  pointer-events:none;
  z-index:0;
  animation:v26BubbleDrift 6.5s ease-in-out infinite;
}
.smart-hero-visual::before{
  width:18px;
  height:18px;
  left:10%;
  top:38%;
}
.smart-hero-visual::after{
  width:12px;
  height:12px;
  right:6%;
  top:22%;
  animation-delay:1.15s;
}
@keyframes v26BubbleDrift{
  0%,100%{transform:translateY(0) scale(1); opacity:.56}
  45%{transform:translateY(-14px) scale(1.14); opacity:1}
  70%{transform:translateY(-8px) scale(.88); opacity:.72}
}

/* 3. 카드 hover 리액션 강화 */
.visual-card{
  overflow:hidden;
}
.visual-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  right:-54px;
  bottom:-54px;
  background:radial-gradient(circle, rgba(249,115,22,.16) 0%, rgba(249,115,22,0) 68%);
  opacity:0;
  transform:scale(.74);
  transition:opacity .25s ease, transform .35s ease;
  pointer-events:none;
}
.visual-card:hover{
  transform:translateY(-5px) scale(1.012) !important;
}
.visual-card:hover::after{
  opacity:1;
  transform:scale(1.12);
}
.visual-card:hover .visual-card-icon{
  transform:translateY(-2px) rotate(-2deg);
}
.visual-card-icon{
  transition:transform .24s ease, box-shadow .24s ease;
}

/* 4. 카드/버튼/네트워크 고급 인터랙션 */
.mini-card,
.network-card,
.value-card,
.partners-item,
.proposal-card,
.resource-card,
.effect-card,
.guide-item{
  transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease !important;
}
.mini-card:hover,
.network-card:hover,
.value-card:hover,
.partners-item:hover,
.proposal-card:hover,
.resource-card:hover,
.effect-card:hover,
.guide-item:hover{
  transform:translateY(-6px);
  border-color:rgba(249,115,22,.22) !important;
  box-shadow:0 20px 42px rgba(15,23,42,.10) !important;
}
.btn.orange{
  position:relative;
  overflow:hidden;
}
.btn.orange::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.32) 50%, transparent 60%);
  transform:translateX(-90%) rotate(10deg);
  transition:transform .7s ease;
}
.btn.orange:hover::after{
  transform:translateX(90%) rotate(10deg);
}

/* 5. 섹션 진입 reveal */
body.v26-ready .v26-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .58s ease, transform .58s cubic-bezier(.2,.85,.2,1);
}
body.v26-ready .v26-reveal.v26-in{
  opacity:1;
  transform:translateY(0);
}

/* 6. 운영네트워크 상단은 너무 밋밋하지 않게 */
.smart-hero--network .visual-card-icon,
.smart-hero--partners .visual-card-icon{
  box-shadow:0 0 0 8px rgba(249,115,22,.055), inset 0 1px 0 rgba(255,255,255,.9);
}
.smart-hero--network .hero-orbit,
.smart-hero--partners .hero-orbit{
  animation:v26OrbitBreath 8s ease-in-out infinite;
}
@keyframes v26OrbitBreath{
  0%,100%{transform:scale(1);opacity:.78}
  50%{transform:scale(1.025);opacity:1}
}

/* 7. 모바일 최적화: PC 축소판이 아니라 모바일 전용 첫 화면 */
@media(max-width:920px){
  body{
    overflow-x:hidden;
  }

  .header{
    position:sticky;
    top:0;
    z-index:200;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
  }
  .nav{
    height:64px !important;
  }
  .logo img{
    width:150px !important;
  }
  .mobile-menu{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:950 !important;
  }
  body.mobile-nav-open .menu{
    top:76px !important;
    left:14px !important;
    right:14px !important;
    border-radius:22px !important;
    padding:10px !important;
  }
  body.mobile-nav-open .menu a{
    font-size:16px !important;
    padding:14px 14px !important;
  }

  .sub-hero.sub-hero--visual{
    padding:14px 0 6px !important;
  }
  .sub-hero.sub-hero--visual .container.smart-hero{
    width:min(100%, calc(100% - 24px)) !important;
    display:block !important;
    min-height:auto !important;
    padding:24px 18px 18px !important;
    border-radius:24px !important;
    background:
      radial-gradient(circle at 88% 12%, rgba(249,115,22,.14), transparent 32%),
      linear-gradient(180deg,#fff 0%,#fff8f1 100%) !important;
  }
  .smart-hero::before,
  .smart-hero::after,
  .hero-orbit,
  .hero-dot,
  .smart-hero-visual::before,
  .smart-hero-visual::after{
    display:none !important;
  }
  .smart-hero-copy{
    max-width:none !important;
  }
  .smart-hero-copy .eyebrow{
    min-height:28px !important;
    padding:0 10px !important;
    font-size:13px !important;
    margin-bottom:12px !important;
  }
  .smart-hero-copy h1,
  .smart-hero--about .smart-hero-copy h1{
    font-size:38px !important;
    line-height:1.12 !important;
    letter-spacing:-.06em !important;
    margin-bottom:10px !important;
  }
  .smart-hero-copy p{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.62 !important;
  }

  /* 모바일에서는 3개 큰 카드 대신 요약형 카드로 압축 */
  .smart-hero-visual{
    min-height:auto !important;
    margin-top:18px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .visual-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    min-height:auto !important;
    grid-template-columns:42px 1fr !important;
    gap:12px !important;
    padding:14px 14px !important;
    border-radius:18px !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
    transform:none !important;
  }
  .visual-card:hover{
    transform:none !important;
  }
  .visual-card::after,
  .visual-thumb,
  .visual-map,
  .visual-ticket{
    display:none !important;
  }
  .visual-card-icon{
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
  }
  .visual-card-icon svg{
    width:22px !important;
    height:22px !important;
  }
  .visual-card-copy h3{
    font-size:17px !important;
    margin:0 0 4px !important;
  }
  .visual-card-copy p{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  /* 모바일 필터 */
  .filter-bar{
    margin-left:-2px !important;
    margin-right:-2px !important;
    border-radius:18px !important;
    min-height:unset !important;
  }
  .filter-btn,
  .filter-chip{
    min-height:40px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }

  /* 모바일 카드 */
  .card-grid,
  .card-grid.three{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .mini-card{
    min-height:auto !important;
    border-radius:22px !important;
  }
  .mini-thumb{
    height:178px !important;
    flex-basis:178px !important;
  }
  .mini-body{
    padding:16px !important;
  }
  .mini-body h3{
    min-height:auto !important;
    font-size:20px !important;
    margin-bottom:10px !important;
  }
  .mini-meta{
    min-height:auto !important;
  }
  .mini-info{
    min-height:auto !important;
    margin:8px 0 14px !important;
  }
  .mini-card .btn.small{
    min-height:46px !important;
    font-size:14px !important;
  }

  /* 모바일 섹션 */
  .section{
    padding:50px 0 !important;
  }
  .sub-hero.sub-hero--visual + .section{
    padding-top:38px !important;
  }
  .section-head{
    margin-bottom:18px !important;
  }
  .section-head h2,
  .sub-hero.sub-hero--visual + .section .section-head h2{
    font-size:30px !important;
    line-height:1.22 !important;
  }
  .section-head p,
  .sub-hero.sub-hero--visual + .section .section-head p{
    font-size:15px !important;
    line-height:1.62 !important;
  }

  /* 모바일 관람안내 카드: 2열 */
  .guide-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .guide-item,
  .guide-card{
    padding:16px 12px !important;
    border-radius:18px !important;
  }
  .guide-item b,
  .guide-icon-wrap{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    margin-bottom:10px !important;
  }
  .guide-item b svg,
  .guide-svg{
    width:22px !important;
    height:22px !important;
  }
  .guide-item h3,
  .guide-card h4{
    font-size:16px !important;
    margin-bottom:5px !important;
  }
  .guide-item p,
  .guide-card p{
    font-size:12.5px !important;
    line-height:1.5 !important;
  }

  /* 모바일 탭 */
  .tabs-head{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding-bottom:4px !important;
    scrollbar-width:none;
  }
  .tabs-head::-webkit-scrollbar{
    display:none;
  }
  .tabs-head button{
    white-space:nowrap !important;
    flex:0 0 auto !important;
    min-height:42px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }

  /* 모바일 갤러리 */
  .gallery-layout{
    display:block !important;
  }
  .gallery-main,
  .gallery-main img{
    min-height:260px !important;
    height:260px !important;
  }
  .gallery-small{
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    margin-top:12px !important;
    scrollbar-width:none;
  }
  .gallery-small::-webkit-scrollbar{
    display:none;
  }
  .gallery-tile{
    min-width:210px !important;
    flex:0 0 210px !important;
  }
}

/* 아주 작은 기기에서는 관람안내 1열 */
@media(max-width:370px){
  .guide-grid{
    grid-template-columns:1fr !important;
  }
}



/* ===== v27 커서/버블 인터랙션 + 중복 CTA 제거 ===== */

/* 1. PC에서 메뉴 안 복제 CTA 숨김: 상단 버튼 중복 제거 */
.menu .mobile-menu-cta-v26{
  display:none !important;
}
@media(max-width:920px){
  body.mobile-nav-open .menu .mobile-menu-cta-v26{
    display:flex !important;
    margin-top:10px !important;
    justify-content:center !important;
    min-height:46px !important;
    border-radius:16px !important;
    color:#fff !important;
  }
}

/* 2. 데스크톱 커스텀 커서 */
@media(pointer:fine) and (min-width:921px){
  body.v27-custom-cursor,
  body.v27-custom-cursor a,
  body.v27-custom-cursor button,
  body.v27-custom-cursor .mini-card,
  body.v27-custom-cursor .visual-card,
  body.v27-custom-cursor .network-card,
  body.v27-custom-cursor .faq-q,
  body.v27-custom-cursor .filter-btn{
    cursor:none !important;
  }
  .v27-cursor-dot,
  .v27-cursor-ring{
    position:fixed;
    left:0;
    top:0;
    pointer-events:none;
    z-index:9999;
    border-radius:999px;
    transform:translate3d(-50%,-50%,0);
    will-change:transform, width, height, opacity;
  }
  .v27-cursor-dot{
    width:8px;
    height:8px;
    background:#f97316;
    box-shadow:0 0 0 6px rgba(249,115,22,.08);
  }
  .v27-cursor-ring{
    width:38px;
    height:38px;
    border:1px solid rgba(249,115,22,.5);
    transition:width .18s ease, height .18s ease, border-color .18s ease, background .18s ease;
  }
  body.v27-cursor-hover .v27-cursor-ring{
    width:64px;
    height:64px;
    border-color:rgba(249,115,22,.25);
    background:rgba(249,115,22,.08);
  }
  body.v27-cursor-hover .v27-cursor-dot{
    background:#071225;
    box-shadow:0 0 0 8px rgba(7,18,37,.08);
  }
}

/* 3. 세부페이지 백그라운드 버블 팝 레이어 */
.sub-hero--visual .smart-hero{
  overflow:hidden !important;
}
.v27-pop-bubble{
  position:absolute;
  z-index:1;
  width:18px;
  height:18px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 32%, #fff 0%, #ffe7d1 46%, rgba(249,115,22,.38) 100%);
  box-shadow:0 10px 24px rgba(249,115,22,.13);
  opacity:0;
  pointer-events:none;
  animation:v27BubblePop 5.8s ease-in-out infinite;
}
.v27-pop-bubble::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:50%;
  border:1px solid rgba(249,115,22,.18);
  transform:scale(.45);
  opacity:0;
  animation:v27BubbleRing 5.8s ease-in-out infinite;
}
.v27-pop-bubble:nth-child(1){left:9%;top:22%;animation-delay:.2s}
.v27-pop-bubble:nth-child(2){left:48%;top:18%;width:12px;height:12px;animation-delay:1.1s}
.v27-pop-bubble:nth-child(3){right:9%;top:27%;width:16px;height:16px;animation-delay:2.1s}
.v27-pop-bubble:nth-child(4){left:60%;bottom:14%;width:14px;height:14px;animation-delay:3.0s}
.v27-pop-bubble:nth-child(5){right:22%;bottom:24%;width:10px;height:10px;animation-delay:3.8s}
.v27-pop-bubble:nth-child(6){left:24%;bottom:18%;width:13px;height:13px;animation-delay:4.6s}

@keyframes v27BubblePop{
  0%{opacity:0;transform:translateY(12px) scale(.65)}
  14%{opacity:.75;transform:translateY(0) scale(1)}
  42%{opacity:.85;transform:translateY(-12px) scale(1.08)}
  52%{opacity:0;transform:translateY(-18px) scale(1.42)}
  100%{opacity:0;transform:translateY(-18px) scale(.7)}
}
@keyframes v27BubbleRing{
  0%,22%{opacity:0;transform:scale(.45)}
  42%{opacity:.46;transform:scale(1)}
  54%{opacity:0;transform:scale(1.55)}
  100%{opacity:0;transform:scale(.45)}
}

/* 4. 카드 위에서 아주 작은 파티클 톡 효과 */
.visual-card:hover .visual-card-icon::after,
.mini-card:hover .badge::after,
.network-card:hover h3::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f97316;
  box-shadow:
    14px -8px 0 rgba(249,115,22,.42),
    26px 4px 0 rgba(249,115,22,.22);
  animation:v27TinyBurst .45s ease both;
  pointer-events:none;
}
.visual-card-icon{
  position:relative;
}
.visual-card:hover .visual-card-icon::after{
  right:-10px;
  top:2px;
}
.mini-card .badge{
  position:relative;
}
.mini-card:hover .badge::after{
  right:-8px;
  top:-8px;
}
.network-card h3{
  position:relative;
  display:inline-block;
}
.network-card:hover h3::after{
  right:-16px;
  top:-8px;
}
@keyframes v27TinyBurst{
  from{opacity:0;transform:scale(.4)}
  45%{opacity:1;transform:scale(1)}
  to{opacity:0;transform:scale(1.4)}
}

/* 5. 페이지가 밋밋하지 않게 섹션 배경 레이어 추가 */
.section{
  position:relative;
}
.section:not(.dark)::before{
  content:"";
  position:absolute;
  left:4%;
  top:42px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(249,115,22,.045), transparent 68%);
  pointer-events:none;
}
.section.alt::before,
.section.warm::before{
  background:radial-gradient(circle, rgba(249,115,22,.07), transparent 68%);
}

/* 모바일/저사양에서는 과한 장식 제거 */
@media(max-width:920px){
  .v27-pop-bubble{
    display:none !important;
  }
  .section:not(.dark)::before{
    display:none !important;
  }
}
@media(prefers-reduced-motion: reduce){
  .v27-pop-bubble,
  .v27-pop-bubble::after,
  .visual-card:hover .visual-card-icon::after,
  .mini-card:hover .badge::after,
  .network-card:hover h3::after{
    animation:none !important;
    display:none !important;
  }
}



/* ===== v28 큰 버블 팡팡 모션 강화 ===== */

/* 기존 작은 버블보다 훨씬 크게, 눈에 띄게 */
.v27-pop-bubble{
  width:42px !important;
  height:42px !important;
  background:
    radial-gradient(circle at 32% 28%,
      rgba(255,255,255,1) 0%,
      rgba(255,235,216,.95) 34%,
      rgba(249,115,22,.42) 72%,
      rgba(249,115,22,.12) 100%) !important;
  box-shadow:
    0 18px 42px rgba(249,115,22,.18),
    inset 0 1px 2px rgba(255,255,255,.9) !important;
  animation:v28BigBubblePop 4.6s cubic-bezier(.2,.85,.2,1) infinite !important;
}
.v27-pop-bubble::before{
  content:"";
  position:absolute;
  left:9px;
  top:8px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  filter:blur(.2px);
}
.v27-pop-bubble::after{
  inset:-18px !important;
  border:2px solid rgba(249,115,22,.24) !important;
  animation:v28BigBubbleRing 4.6s cubic-bezier(.2,.85,.2,1) infinite !important;
}

/* 위치/크기 각각 다르게 해서 팡팡 느낌 */
.v27-pop-bubble:nth-child(1){
  left:4% !important;
  top:18% !important;
  width:62px !important;
  height:62px !important;
  animation-delay:.1s !important;
}
.v27-pop-bubble:nth-child(2){
  left:23% !important;
  top:54% !important;
  width:34px !important;
  height:34px !important;
  animation-delay:.85s !important;
}
.v27-pop-bubble:nth-child(3){
  right:11% !important;
  top:15% !important;
  width:54px !important;
  height:54px !important;
  animation-delay:1.45s !important;
}
.v27-pop-bubble:nth-child(4){
  left:52% !important;
  bottom:12% !important;
  width:46px !important;
  height:46px !important;
  animation-delay:2.05s !important;
}
.v27-pop-bubble:nth-child(5){
  right:25% !important;
  bottom:24% !important;
  width:28px !important;
  height:28px !important;
  animation-delay:2.75s !important;
}
.v27-pop-bubble:nth-child(6){
  left:8% !important;
  bottom:18% !important;
  width:40px !important;
  height:40px !important;
  animation-delay:3.35s !important;
}

/* 팡팡 터지는 핵심 애니메이션 */
@keyframes v28BigBubblePop{
  0%{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.42);
  }
  12%{
    opacity:.88;
    transform:translate3d(0,0,0) scale(1);
  }
  30%{
    opacity:1;
    transform:translate3d(10px,-16px,0) scale(1.08);
  }
  42%{
    opacity:.85;
    transform:translate3d(-6px,-28px,0) scale(.96);
  }
  50%{
    opacity:0;
    transform:translate3d(0,-36px,0) scale(1.95);
  }
  100%{
    opacity:0;
    transform:translate3d(0,-36px,0) scale(.42);
  }
}
@keyframes v28BigBubbleRing{
  0%,16%{
    opacity:0;
    transform:scale(.32);
  }
  34%{
    opacity:.75;
    transform:scale(1.05);
  }
  52%{
    opacity:0;
    transform:scale(2.3);
  }
  100%{
    opacity:0;
    transform:scale(.32);
  }
}

/* 터질 때 작은 조각 느낌 */
.smart-hero .v28-spark{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f97316;
  opacity:0;
  pointer-events:none;
  z-index:2;
  animation:v28SparkPop 4.6s ease-in-out infinite;
}
.smart-hero .v28-spark:nth-of-type(1){left:8%;top:26%;animation-delay:.48s}
.smart-hero .v28-spark:nth-of-type(2){left:12%;top:20%;animation-delay:.52s}
.smart-hero .v28-spark:nth-of-type(3){right:14%;top:23%;animation-delay:1.85s}
.smart-hero .v28-spark:nth-of-type(4){right:10%;top:17%;animation-delay:1.9s}
.smart-hero .v28-spark:nth-of-type(5){left:55%;bottom:22%;animation-delay:2.45s}
.smart-hero .v28-spark:nth-of-type(6){left:50%;bottom:16%;animation-delay:2.5s}
@keyframes v28SparkPop{
  0%,42%,100%{opacity:0;transform:translate3d(0,0,0) scale(.4)}
  48%{opacity:1;transform:translate3d(12px,-18px,0) scale(1)}
  60%{opacity:0;transform:translate3d(26px,-34px,0) scale(.2)}
}

/* 히어로 카드 위에서는 너무 가리지 않게 카드보다 뒤로 */
.smart-hero-visual{
  z-index:3;
}
.v27-pop-bubble{
  z-index:1 !important;
}

/* 모바일은 과하게 보일 수 있어서 기존처럼 끔 */
@media(max-width:920px){
  .v27-pop-bubble,
  .v28-spark{
    display:none !important;
  }
}



/* ===== v29 모바일 메뉴/메인 히어로 긴급 보정 ===== */

/* 1. 모바일 메뉴 클릭/노출 안정화 */
@media(max-width:920px){
  .mobile-menu{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:230 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
  }

  .nav-cta{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }

  body.mobile-nav-open .menu{
    display:flex !important;
    position:fixed !important;
    top:74px !important;
    left:14px !important;
    right:14px !important;
    z-index:220 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:12px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid #e8edf4 !important;
    border-radius:22px !important;
    box-shadow:0 24px 64px rgba(15,23,42,.18) !important;
    backdrop-filter:blur(18px) !important;
  }

  body.mobile-nav-open .menu a{
    display:flex !important;
    align-items:center !important;
    min-height:48px !important;
    padding:0 16px !important;
    font-size:16px !important;
    font-weight:900 !important;
    color:#071225 !important;
    border-bottom:1px solid #eef2f7 !important;
  }

  body.mobile-nav-open .menu a:last-child{
    border-bottom:0 !important;
  }

  body.mobile-nav-open .menu .mobile-menu-cta-v26{
    display:flex !important;
    margin-top:10px !important;
    min-height:48px !important;
    justify-content:center !important;
    color:#fff !important;
    background:#f97316 !important;
    border-radius:16px !important;
    border-bottom:0 !important;
  }

  body.mobile-nav-open::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:210 !important;
    background:rgba(7,18,37,.22) !important;
    backdrop-filter:blur(3px) !important;
  }
}

/* 2. 모바일 메인 첫 비주얼 하단 검은 박스 과도함 제거 */
@media(max-width:920px){
  .hero{
    padding-top:18px !important;
  }

  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .media-card{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    border-radius:26px !important;
    overflow:hidden !important;
  }

  .hero-video{
    width:100% !important;
    height:100% !important;
    min-height:360px !important;
    object-fit:cover !important;
    display:block !important;
  }

  .media-card:before{
    background:
      linear-gradient(180deg,
        rgba(7,18,37,.10) 0%,
        rgba(7,18,37,.02) 45%,
        rgba(7,18,37,.18) 72%,
        rgba(7,18,37,.74) 100%) !important;
  }

  .media-card:after{
    width:44% !important;
    height:24% !important;
    right:-10% !important;
    bottom:-8% !important;
    opacity:.54 !important;
  }

  .media-top{
    top:22px !important;
    left:22px !important;
    right:22px !important;
  }

  .media-brand{
    transform:scale(.82) !important;
    transform-origin:left top !important;
  }

  .hero-media-message{
    left:22px !important;
    right:22px !important;
    bottom:48px !important;
  }

  .hero-media-kicker{
    font-size:9.5px !important;
    margin-bottom:6px !important;
    letter-spacing:.12em !important;
  }

  .hero-media-message strong{
    white-space:normal !important;
    font-size:18px !important;
    line-height:1.35 !important;
    max-width:100% !important;
  }

  .video-progress{
    left:22px !important;
    bottom:24px !important;
    gap:7px !important;
  }

  .bar,
  .bar.on{
    width:7px !important;
    height:7px !important;
    border-radius:999px !important;
  }
}

/* 3. 모바일 메인 브랜드 카드도 첫 화면에서 너무 길지 않게 */
@media(max-width:920px){
  .position-card{
    padding:24px 20px !important;
    border-radius:24px !important;
    min-height:auto !important;
  }

  .position-card h1{
    font-size:30px !important;
    line-height:1.28 !important;
    letter-spacing:-.065em !important;
  }

  .position-card > p{
    font-size:15px !important;
    line-height:1.7 !important;
    margin:16px 0 18px !important;
  }

  .feature-list{
    gap:10px !important;
  }

  .feature{
    min-height:auto !important;
    padding:14px !important;
    border-radius:18px !important;
  }

  .feature .num{
    width:44px !important;
    height:44px !important;
    font-size:14px !important;
  }

  .feature h3{
    font-size:17px !important;
  }

  .feature p{
    font-size:13px !important;
  }
}

/* 4. 하단 고정 CTA가 본문을 너무 가리지 않게 */
@media(max-width:920px){
  body{
    padding-bottom:72px !important;
  }

  .floating-cta{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    z-index:180 !important;
  }

  .floating-cta .float-action{
    border-radius:18px !important;
  }
}



/* ===== v30 모바일 메뉴 최종 클릭 보정 ===== */

@media(max-width:920px){
  .header,
  .nav,
  .nav-cta,
  .mobile-menu{
    pointer-events:auto !important;
  }

  .mobile-menu{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:5000 !important;
    cursor:pointer !important;
    user-select:none !important;
    -webkit-tap-highlight-color:transparent !important;
    touch-action:manipulation !important;
  }

  body.mobile-nav-open .mobile-menu{
    z-index:5002 !important;
  }

  body.mobile-nav-open::before{
    z-index:4000 !important;
    pointer-events:auto !important;
  }

  body.mobile-nav-open .menu{
    display:flex !important;
    z-index:5001 !important;
    pointer-events:auto !important;
  }

  body.mobile-nav-open .menu a{
    pointer-events:auto !important;
  }
}



/* ===== v31 최종 점검: 모바일 메뉴 하드 리셋 + 터치 안정화 ===== */

/* 모바일 메뉴 버튼이 어떤 레이어에도 안 막히도록 최상위 클릭영역 고정 */
@media(max-width:920px){
  .header{
    z-index:6000 !important;
  }
  .nav{
    position:relative !important;
    z-index:6001 !important;
  }
  .nav-cta{
    position:relative !important;
    z-index:6003 !important;
    pointer-events:auto !important;
  }
  .mobile-menu{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:7000 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    user-select:none !important;
    -webkit-user-select:none !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  body.mobile-nav-open .mobile-menu{
    z-index:7002 !important;
  }
  body.mobile-nav-open::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:6100 !important;
    background:rgba(7,18,37,.24) !important;
    backdrop-filter:blur(3px) !important;
    pointer-events:auto !important;
  }
  body.mobile-nav-open .menu{
    display:flex !important;
    position:fixed !important;
    top:76px !important;
    left:14px !important;
    right:14px !important;
    z-index:6500 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:12px !important;
    background:rgba(255,255,255,.985) !important;
    border:1px solid #e8edf4 !important;
    border-radius:22px !important;
    box-shadow:0 26px 70px rgba(15,23,42,.20) !important;
    backdrop-filter:blur(18px) !important;
    pointer-events:auto !important;
  }
  body.mobile-nav-open .menu a{
    display:flex !important;
    align-items:center !important;
    min-height:48px !important;
    padding:0 16px !important;
    font-size:16px !important;
    font-weight:900 !important;
    color:#071225 !important;
    border-bottom:1px solid #eef2f7 !important;
    pointer-events:auto !important;
  }
  body.mobile-nav-open .menu a:last-child{
    border-bottom:0 !important;
  }
  body.mobile-nav-open .menu .mobile-menu-cta-v26{
    display:flex !important;
    margin-top:10px !important;
    min-height:48px !important;
    justify-content:center !important;
    align-items:center !important;
    color:#fff !important;
    background:#f97316 !important;
    border-radius:16px !important;
    border-bottom:0 !important;
  }
}

/* PC에서는 메뉴 내부 복제 CTA는 절대 보이지 않게 */
.menu .mobile-menu-cta-v26{
  display:none !important;
}



/* ===== v32 모바일 메뉴 오버레이 최종 수정 ===== */
/* 원인: body 오버레이가 header/menu보다 위에 올라오면서 메뉴가 흐려져 보이는 문제 */

/* 모바일 메뉴는 헤더와 함께 오버레이보다 무조건 위 */
@media(max-width:920px){
  body.mobile-nav-open .header{
    position:sticky !important;
    top:0 !important;
    z-index:100000 !important;
    background:#fff !important;
    backdrop-filter:none !important;
  }

  body.mobile-nav-open .nav{
    position:relative !important;
    z-index:100001 !important;
  }

  body.mobile-nav-open .mobile-menu{
    position:relative !important;
    z-index:100004 !important;
    background:#fff !important;
    color:#071225 !important;
    border-color:#e5e7eb !important;
  }

  /* 배경 어둡게만 하고 blur 제거 */
  body.mobile-nav-open::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:90000 !important;
    background:rgba(7,18,37,.32) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    pointer-events:auto !important;
  }

  /* 메뉴 패널은 오버레이보다 위, header 안에 있어도 보이게 */
  body.mobile-nav-open .menu{
    display:flex !important;
    position:fixed !important;
    top:76px !important;
    left:14px !important;
    right:14px !important;
    z-index:100003 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:12px !important;
    background:#fff !important;
    border:1px solid #e6ebf2 !important;
    border-radius:22px !important;
    box-shadow:0 28px 80px rgba(0,0,0,.25) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    pointer-events:auto !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
  }

  body.mobile-nav-open .menu a{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:50px !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:16px !important;
    font-weight:900 !important;
    color:#071225 !important;
    text-decoration:none !important;
    border-bottom:0 !important;
    opacity:1 !important;
    filter:none !important;
  }

  body.mobile-nav-open .menu a:hover,
  body.mobile-nav-open .menu a.active{
    background:#fff4e9 !important;
    color:#ea580c !important;
  }

  body.mobile-nav-open .menu .mobile-menu-cta-v26{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    margin-top:10px !important;
    min-height:52px !important;
    background:#f97316 !important;
    color:#fff !important;
    border-radius:16px !important;
    box-shadow:0 14px 30px rgba(249,115,22,.24) !important;
  }

  /* 메뉴 열렸을 때 본문이 뒤에서 스크롤되며 어긋나는 것 방지 */
  body.mobile-nav-open{
    overflow:hidden !important;
    touch-action:none !important;
  }
}



/* ===== v33 실제 상상플레이스 자료 반영 ===== */
:root{
  --brand-black:#050505;
  --brand-yellow:#ffe500;
  --brand-pink:#d854b5;
  --brand-blue:#13a8e5;
  --brand-orange:#ff7a1a;
}
.logo-real img{
  width:210px !important;
  height:auto !important;
  max-height:56px !important;
  object-fit:contain !important;
}
.real-media-brand img{
  width:220px;
  max-width:70%;
  height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
}
.media-card-real .hero-video{
  object-position:center center;
}
.type-hero .type-line{
  word-break:keep-all;
}
.position-card h1{
  color:#050505 !important;
}
.btn.orange,
.nav-cta .btn.orange{
  background:#050505 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}
.btn.orange:hover{
  box-shadow:0 18px 36px rgba(0,0,0,.24) !important;
}
.eyebrow{
  color:#050505 !important;
  background:linear-gradient(90deg, rgba(255,229,0,.28), rgba(19,168,229,.08), rgba(216,84,181,.10)) !important;
}
.feature .num,
.visual-card-icon,
.guide-item b,
.guide-icon-wrap{
  background:linear-gradient(135deg, rgba(255,229,0,.28), rgba(19,168,229,.12), rgba(216,84,181,.12)) !important;
  color:#050505 !important;
}
.feature:nth-child(2) .num,
.flow-card:nth-child(2) b,
.stat-card:nth-child(2) strong{
  color:#d854b5 !important;
}
.feature:nth-child(3) .num,
.flow-card:nth-child(3) b,
.stat-card:nth-child(3) strong{
  color:#13a8e5 !important;
}
.brand-flow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.flow-card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:26px;
  padding:28px 24px;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.flow-card b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:#fff8d8;
  color:#050505;
  margin-bottom:16px;
  font-weight:950;
}
.flow-card h3{
  font-size:22px;
  margin:0 0 8px;
}
.flow-card p{
  margin:0;
  color:#64748b;
  font-weight:800;
  line-height:1.65;
}
.content-brand-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.brand-card{
  position:relative;
  min-height:420px;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e8edf4;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.brand-card img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.brand-card div{
  padding:24px;
}
.brand-card span{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:#fff4e9;
  color:#050505;
  font-size:13px;
  font-weight:950;
  margin-bottom:12px;
}
.brand-card h3{
  font-size:25px;
  line-height:1.28;
  margin:0 0 10px;
}
.brand-card p{
  color:#64748b;
  font-weight:800;
  line-height:1.7;
  margin:0;
}
.brand-card.dark{
  background:#071225;
  color:#fff;
}
.brand-card.dark p{
  color:#d8e2ee;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.stat-card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:28px;
  padding:30px 24px;
  text-align:center;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.stat-card strong{
  display:block;
  font-size:58px;
  line-height:1;
  color:#050505;
  letter-spacing:-.05em;
  margin-bottom:12px;
}
.stat-card span{
  color:#64748b;
  font-weight:900;
}
.visual-card-icon svg,
.line-icon svg,
.guide-svg{
  stroke:#050505 !important;
}
.mini-thumb img{
  object-position:center center;
}
@media(max-width:1100px){
  .brand-flow-grid,.content-brand-grid,.stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:920px){
  .logo-real img{
    width:170px !important;
    max-height:48px !important;
  }
  .real-media-brand img{
    width:180px;
    max-width:76%;
  }
  .position-card h1{
    font-size:32px !important;
  }
  .brand-flow-grid,.content-brand-grid,.stats-grid{
    grid-template-columns:1fr !important;
  }
  .brand-card{
    min-height:auto;
    border-radius:24px;
  }
  .brand-card img{
    height:190px;
  }
  .brand-card div{
    padding:20px;
  }
  .brand-card h3{
    font-size:21px;
  }
  .stat-card strong{
    font-size:44px;
  }
}



/* ===== v34 메인 샘플 영상 복원/대기 구조 ===== */
.media-card video.hero-video,
.media-card img.hero-video{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
.media-card video.hero-video{
  background:#071225;
}


/* ===== v35 CTA / Footer 마감 수정 ===== */

/* 하단 CTA 우측 빈 흰 버튼처럼 보이던 부분 보정 */
.cta{
  align-items:center !important;
  gap:28px !important;
  overflow:hidden !important;
}
.cta::after{
  opacity:.12 !important;
  filter:blur(0) !important;
}
.cta-btns{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  min-width:max-content !important;
  position:relative !important;
  z-index:2 !important;
}
.cta .btn{
  min-width:132px !important;
  height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  font-size:16px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  text-indent:0 !important;
  letter-spacing:-.02em !important;
}
.cta .btn.orange{
  background:#050505 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.20) !important;
}
.cta .btn.cta-light,
.cta .btn:not(.orange){
  background:#fff !important;
  color:#071225 !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 12px 26px rgba(255,255,255,.16), 0 10px 24px rgba(0,0,0,.08) !important;
}
.cta .btn.cta-light:hover,
.cta .btn:not(.orange):hover{
  background:#fff7ed !important;
  color:#050505 !important;
  transform:translateY(-3px) !important;
}

/* Footer 시안 문구 제거 후 실제 브랜드 푸터처럼 정리 */
.footer{
  background:#071225 !important;
  color:#fff !important;
}
.footer-grid{
  align-items:flex-start !important;
}
.footer strong{
  display:block !important;
  margin-bottom:14px !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:950 !important;
}
.footer p{
  color:rgba(255,255,255,.72) !important;
  font-size:15px !important;
  line-height:1.75 !important;
  margin:0 !important;
}
.footer-grid > div:last-child{
  text-align:right !important;
}

/* 모바일 CTA는 세로로 안전하게 */
@media(max-width:920px){
  .cta{
    display:block !important;
    padding:28px 20px !important;
    border-radius:24px !important;
  }
  .cta h2{
    font-size:25px !important;
    line-height:1.3 !important;
  }
  .cta p{
    font-size:14px !important;
    line-height:1.65 !important;
  }
  .cta-btns{
    justify-content:flex-start !important;
    margin-top:18px !important;
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .cta .btn{
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }
  .footer-grid{
    gap:22px !important;
  }
  .footer-grid > div:last-child{
    text-align:left !important;
  }
}


/* ===== v36 조직도 + 전체 텍스트/정렬 폴리시 ===== */

/* 전체적인 줄바꿈 / 좌우정렬 / 가독성 정리 */
html { -webkit-text-size-adjust: 100%; }
body{
  text-rendering: optimizeLegibility;
}
body, h1, h2, h3, h4, h5, p, span, b, strong, a, li, button{
  word-break: keep-all;
  overflow-wrap: anywhere;
}
p, li{
  line-height: 1.78 !important;
}
.section-head h2,
.company-overview h1,
.sub-hero h1,
.visual-copy h2,
.mini-copy h3,
.time-card h3,
.value-card h3,
.panel h3{
  letter-spacing: -0.055em !important;
}
.section-head p,
.company-overview p,
.mini-copy p,
.time-card p,
.value-card p,
.panel p,
.footer p,
.overview-list span{
  color:#5b677a !important;
  font-weight:700 !important;
}
.section-head.center .section-title,
.section-head.center .section-title p{
  margin-left:auto;
  margin-right:auto;
}
.container{
  width:min(1540px, calc(100% - 72px)) !important;
}
.section{
  padding-top:96px !important;
  padding-bottom:96px !important;
}
.overview-list div{
  align-items:start !important;
}
.card-grid,
.basis-grid,
.timeline,
.value-grid{
  align-items:stretch !important;
}
.card-grid > *,
.basis-grid > *,
.timeline > *,
.value-grid > *{
  height:100% !important;
}
.mini-copy,
.time-card,
.value-card,
.basis-card{
  text-align:left !important;
}
.footer-grid{
  justify-content:space-between !important;
}

/* about 조직도 */
.org-chart{
  position:relative;
  padding:22px 0 0;
}
.org-chief-card{
  width:min(520px, 100%);
  margin:0 auto;
  background:linear-gradient(135deg,#041633,#0b2f67);
  color:#fff;
  border-radius:22px;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:34px;
  font-weight:950;
  letter-spacing:-0.05em;
  box-shadow:0 16px 34px rgba(15,23,42,.14);
}
.org-line-v{
  width:2px;
  height:52px;
  background:#b8c3d3;
  margin:0 auto;
}
.org-line-h{
  width:min(1160px, calc(100% - 160px));
  height:2px;
  background:#b8c3d3;
  margin:0 auto;
  position:relative;
}
.org-branch-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:20px;
  margin-top:36px;
  position:relative;
}
.org-branch-card{
  position:relative;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:22px;
  padding:28px 24px 20px;
  text-align:center;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  min-height:194px;
}
.org-branch-card::before{
  content:"";
  position:absolute;
  left:50%;
  top:-36px;
  width:2px;
  height:36px;
  background:#b8c3d3;
  transform:translateX(-50%);
}
.org-branch-card::after{
  content:"";
  position:absolute;
  left:50%;
  top:-10px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  border:2px solid #91a0b6;
  transform:translateX(-50%);
}
.org-branch-icon{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:50%;
  background:#fff7ef;
  color:#f97316;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
}
.org-branch-card h3{
  margin:0;
  color:#071225;
  font-size:22px;
  font-weight:900;
  letter-spacing:-0.04em;
}
.org-branch-divider{
  width:100%;
  height:1px;
  background:#e7edf5;
  margin:18px 0 14px;
}
.org-branch-card p{
  margin:0;
  font-size:18px;
  color:#4b5563 !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

.org-cast-wrap{
  margin-top:48px;
  position:relative;
  border:3px solid #0c2857;
  border-radius:28px;
  padding:48px 34px 34px;
  background:#fff;
}
.org-cast-label{
  position:absolute;
  left:50%;
  top:-20px;
  transform:translateX(-50%);
  min-width:440px;
  max-width:90%;
  padding:14px 32px;
  border-radius:999px;
  background:linear-gradient(135deg,#041633,#0b2f67);
  color:#fff;
  text-align:center;
  font-size:24px;
  font-weight:950;
  letter-spacing:-0.04em;
  box-shadow:0 14px 28px rgba(15,23,42,.14);
}
.org-cast-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px 18px;
}
.org-cast-name{
  min-height:70px;
  border:1px solid #dfe6ef;
  border-radius:18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:18px;
  font-weight:900;
  color:#071225;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

/* 조직/회사 소개 페이지 타이포 더 정돈 */
.company-hero{
  align-items:stretch !important;
}
.company-visual-caption h2{
  line-height:1.22 !important;
  letter-spacing:-0.055em !important;
}
.company-overview h1{
  margin-bottom:20px !important;
}
.company-overview p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.company-overview,
.company-visual{
  height:100%;
}
.company-visual img{
  object-position:center center;
}

/* 반응형 */
@media (max-width: 1400px){
  .org-branch-grid{grid-template-columns:repeat(3,1fr);}
  .org-cast-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width: 1080px){
  .container{width:min(100%, calc(100% - 40px)) !important;}
  .section{padding-top:80px !important;padding-bottom:80px !important;}
  .org-chief-card{font-size:28px; min-height:78px;}
  .org-line-h{width:min(760px, calc(100% - 80px));}
  .org-branch-grid{grid-template-columns:repeat(2,1fr); gap:16px;}
  .org-cast-grid{grid-template-columns:repeat(3,1fr);}
  .org-cast-label{min-width:0; width:calc(100% - 80px); font-size:21px;}
}
@media (max-width: 720px){
  .section-head h2{font-size:32px !important;}
  .section-head p{font-size:15px !important; line-height:1.7 !important;}
  .org-chief-card{font-size:24px; min-height:72px; border-radius:18px;}
  .org-line-v{height:34px;}
  .org-line-h{display:none;}
  .org-branch-grid{grid-template-columns:1fr; margin-top:18px;}
  .org-branch-card::before,
  .org-branch-card::after{display:none;}
  .org-branch-card{
    min-height:auto;
    text-align:left;
    padding:22px 20px;
    display:grid;
    grid-template-columns:72px 1fr;
    gap:0 16px;
    align-items:center;
  }
  .org-branch-icon{
    grid-row:1 / span 2;
    margin:0;
    width:58px;height:58px;font-size:28px;
  }
  .org-branch-card h3{font-size:20px;}
  .org-branch-divider{display:none;}
  .org-branch-card p{font-size:16px; margin-top:4px;}
  .org-cast-wrap{padding:40px 18px 18px; margin-top:30px; border-radius:22px;}
  .org-cast-label{top:-18px; width:calc(100% - 32px); font-size:18px; padding:12px 18px;}
  .org-cast-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .org-cast-name{min-height:58px; font-size:16px; border-radius:14px;}
  .company-overview h1{font-size:34px !important;}
}


/* ===== v37 실제 업로드 사진/영상 반영 보정 ===== */
.media-card video.hero-video,
.media-card img.hero-video{
  object-fit:cover !important;
  object-position:center center !important;
}

.brand-card img,
.network-card img,
.mini-thumb img,
.gallery-main img,
.gallery-tile img,
.company-visual img{
  object-fit:cover !important;
  object-position:center center !important;
}

.mini-thumb{
  background:#071225 !important;
}

.company-visual img{
  filter:saturate(1.04) contrast(1.02);
}

.real-image-note{
  display:none;
}

/* 모바일에서 실제 공연 사진이 너무 잘리지 않게 */
@media(max-width:920px){
  .media-card video.hero-video,
  .media-card img.hero-video{
    object-position:center center !important;
  }

  .brand-card img{
    height:210px !important;
  }

  .mini-thumb{
    height:190px !important;
    flex-basis:190px !important;
  }
}


/* ===== v38 실제사진 완전 활용 / 중복 최소화 ===== */
.real-gallery-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.real-gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  min-height:250px;
}
.real-gallery-card img{
  width:100%;
  height:205px;
  object-fit:cover;
  display:block;
}
.real-gallery-card strong{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:0 16px;
  font-size:16px;
  font-weight:900;
  color:#071225;
  letter-spacing:-.04em;
  word-break:keep-all;
}

.education-proof-grid{
  display:grid;
  grid-template-columns:1.35fr .85fr .85fr;
  gap:22px;
  align-items:stretch;
}
.education-proof-card{
  overflow:hidden;
  border-radius:28px;
  border:1px solid #e5e7eb;
  background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.07);
}
.education-proof-card img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
}
.education-proof-card.large img{
  height:360px;
}
.education-proof-card div{
  padding:24px;
}
.education-proof-card span{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  background:#fff4e9;
  color:#050505;
  font-size:13px;
  font-weight:950;
  margin-bottom:12px;
}
.education-proof-card h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.25;
  letter-spacing:-.05em;
}
.education-proof-card p{
  margin:0;
  color:#64748b;
  font-weight:800;
  line-height:1.72;
}

.photo-role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.photo-role-grid article{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
}
.photo-role-grid img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}
.photo-role-grid h3{
  margin:20px 20px 6px;
  font-size:23px;
  letter-spacing:-.05em;
}
.photo-role-grid p{
  margin:0 20px 22px;
  color:#64748b;
  font-weight:850;
}

.education-proof-card,
.real-gallery-card,
.photo-role-grid article{
  transition:transform .25s ease, box-shadow .25s ease;
}
.education-proof-card:hover,
.real-gallery-card:hover,
.photo-role-grid article:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(15,23,42,.10);
}

/* 모바일 */
@media(max-width:1180px){
  .real-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .education-proof-grid{
    grid-template-columns:1fr;
  }
  .education-proof-card.large img,
  .education-proof-card img{
    height:280px;
  }
}
@media(max-width:920px){
  .real-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .real-gallery-card{
    border-radius:18px;
    min-height:auto;
  }
  .real-gallery-card img{
    height:150px;
  }
  .real-gallery-card strong{
    min-height:52px;
    padding:0 12px;
    font-size:14px;
  }
  .photo-role-grid{
    grid-template-columns:1fr;
  }
  .photo-role-grid img{
    height:210px;
  }
  .education-proof-card div{
    padding:20px;
  }
  .education-proof-card h3,
  .photo-role-grid h3{
    font-size:21px;
  }
}


/* ===== v39 모바일 최종 최적화 점검/보정 ===== */

/* 모바일 공통: 가로 흔들림 차단 */
html, body{max-width:100%;}
@media(max-width:920px){
  html, body{overflow-x:hidden !important;}
  body{padding-bottom:82px !important;}
  .container{width:min(100%, calc(100% - 24px)) !important;}
}

/* 모바일 헤더: 로고/메뉴만 명확하게 */
@media(max-width:920px){
  .header{height:auto !important;min-height:62px !important;z-index:100000 !important;}
  .nav{height:62px !important;gap:10px !important;}
  .logo-real img,.logo img{width:146px !important;max-height:42px !important;object-fit:contain !important;}
  .nav-cta{gap:0 !important;margin-left:auto !important;}
  .nav-cta > .btn.orange{display:none !important;}
  .mobile-menu{
    min-width:72px !important;min-height:40px !important;padding:0 14px !important;
    font-size:13px !important;border-radius:999px !important;background:#fff !important;
    color:#071225 !important;border:1px solid #dbe3ee !important;
    box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
  }
  body.mobile-nav-open::before{
    z-index:90000 !important;background:rgba(7,18,37,.36) !important;
    backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  }
  body.mobile-nav-open .menu{
    top:72px !important;left:12px !important;right:12px !important;
    max-height:calc(100vh - 96px) !important;overflow-y:auto !important;
    border-radius:22px !important;padding:12px !important;background:#fff !important;
    z-index:100003 !important;box-shadow:0 26px 70px rgba(0,0,0,.26) !important;
  }
  body.mobile-nav-open .menu a{
    min-height:48px !important;padding:0 14px !important;
    font-size:15px !important;border-radius:12px !important;
  }
}

/* 모바일 메인 첫 화면: 빠르게 이해되도록 압축 */
@media(max-width:920px){
  .hero{padding:16px 0 34px !important;}
  .hero-grid{grid-template-columns:1fr !important;gap:14px !important;}
  .media-card{
    height:310px !important;min-height:310px !important;max-height:310px !important;
    border-radius:24px !important;
  }
  .media-card video.hero-video,.media-card img.hero-video{
    height:100% !important;min-height:310px !important;object-fit:cover !important;
    object-position:center center !important;
  }
  .media-top{top:18px !important;left:18px !important;right:18px !important;}
  .real-media-brand img{width:156px !important;max-width:70% !important;}
  .hero-media-message{left:18px !important;right:18px !important;bottom:44px !important;}
  .hero-media-message strong{font-size:18px !important;line-height:1.34 !important;letter-spacing:-.045em !important;}
  .hero-media-kicker{font-size:9px !important;letter-spacing:.10em !important;}
  .video-progress{left:18px !important;bottom:22px !important;}
  .position-card{padding:22px 18px !important;border-radius:24px !important;}
  .position-card h1,.type-hero{font-size:30px !important;line-height:1.2 !important;letter-spacing:-.065em !important;}
  .position-card > p{font-size:14.5px !important;line-height:1.68 !important;margin:14px 0 16px !important;}
  .mobile-hero-cta{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;margin-bottom:14px !important;}
  .mobile-hero-cta .btn{min-height:44px !important;padding:0 10px !important;font-size:13px !important;}
  .feature-list{gap:8px !important;}
  .feature{padding:13px !important;border-radius:17px !important;min-height:auto !important;}
  .feature .num{width:40px !important;height:40px !important;font-size:13px !important;flex:0 0 40px !important;}
  .feature h3{font-size:16px !important;margin-bottom:3px !important;}
  .feature p{font-size:12.5px !important;line-height:1.52 !important;}
}

/* 모바일 서브 히어로 */
@media(max-width:920px){
  .sub-hero.sub-hero--visual{padding:12px 0 4px !important;}
  .sub-hero.sub-hero--visual .container.smart-hero{
    width:min(100%, calc(100% - 24px)) !important;padding:22px 16px 16px !important;border-radius:22px !important;
  }
  .smart-hero-copy .eyebrow,.eyebrow{min-height:27px !important;padding:0 10px !important;font-size:12.5px !important;margin-bottom:10px !important;}
  .smart-hero-copy h1,.smart-hero--about .smart-hero-copy h1,.smart-hero--achievements .smart-hero-copy h1,.smart-hero--gallery .smart-hero-copy h1,.smart-hero--contact .smart-hero-copy h1{
    font-size:34px !important;line-height:1.15 !important;margin-bottom:10px !important;
  }
  .smart-hero-copy p,.smart-hero--contact .smart-hero-copy p{font-size:14.5px !important;line-height:1.66 !important;}
  .smart-hero-visual{margin-top:14px !important;gap:8px !important;}
  .visual-card{grid-template-columns:40px 1fr !important;gap:10px !important;padding:13px !important;border-radius:17px !important;}
  .visual-card-icon{width:40px !important;height:40px !important;border-radius:13px !important;}
  .visual-card-copy h3{font-size:16px !important;}
  .visual-card-copy p{font-size:12.5px !important;line-height:1.52 !important;}
}

/* 모바일 섹션/카드 */
@media(max-width:920px){
  .section{padding-top:44px !important;padding-bottom:44px !important;}
  .section-head{margin-bottom:18px !important;}
  .section-head h2,.sub-hero.sub-hero--visual + .section .section-head h2{
    font-size:28px !important;line-height:1.24 !important;letter-spacing:-.06em !important;
  }
  .section-head p,.sub-hero.sub-hero--visual + .section .section-head p{font-size:14.5px !important;line-height:1.66 !important;}
  .card-grid,.card-grid.three{grid-template-columns:1fr !important;gap:14px !important;}
  .mini-card{border-radius:21px !important;min-height:auto !important;}
  .mini-thumb{height:184px !important;flex-basis:184px !important;}
  .mini-body,.mini-copy{padding:16px !important;}
  .mini-body h3,.mini-copy h3{font-size:20px !important;line-height:1.34 !important;min-height:auto !important;margin-bottom:8px !important;}
  .mini-info,.mini-meta{min-height:auto !important;}
  .info-line{font-size:13.5px !important;line-height:1.55 !important;}
  .mini-card .btn.small{width:100% !important;min-height:44px !important;font-size:13.5px !important;}
}

/* 모바일 콘텐츠 브랜드/통계/포트폴리오 */
@media(max-width:920px){
  .content-brand-grid,.brand-flow-grid,.stats-grid,.photo-role-grid,.education-proof-grid{
    grid-template-columns:1fr !important;gap:14px !important;
  }
  .brand-card,.flow-card,.stat-card,.education-proof-card,.photo-role-grid article{border-radius:21px !important;}
  .brand-card img,.education-proof-card img,.education-proof-card.large img,.photo-role-grid img{
    height:196px !important;object-fit:cover !important;
  }
  .brand-card div,.education-proof-card div{padding:18px !important;}
  .brand-card h3,.education-proof-card h3,.photo-role-grid h3{font-size:20px !important;line-height:1.32 !important;}
  .brand-card p,.education-proof-card p{font-size:13.5px !important;line-height:1.62 !important;}
  .stat-card{padding:24px 18px !important;}
  .stat-card strong{font-size:40px !important;}
}

/* 모바일 조직도 */
@media(max-width:920px){
  .org-chart{padding-top:8px !important;}
  .org-chief-card{width:100% !important;min-height:66px !important;font-size:22px !important;border-radius:18px !important;}
  .org-line-v{height:24px !important;}
  .org-branch-grid{grid-template-columns:1fr !important;gap:10px !important;margin-top:8px !important;}
  .org-branch-card{
    min-height:auto !important;padding:16px !important;border-radius:18px !important;
    grid-template-columns:54px 1fr !important;gap:0 12px !important;
  }
  .org-branch-icon{width:48px !important;height:48px !important;font-size:24px !important;}
  .org-branch-card h3{font-size:18px !important;}
  .org-branch-card p{font-size:14.5px !important;}
  .org-cast-wrap{margin-top:26px !important;padding:34px 14px 14px !important;border-width:2px !important;border-radius:20px !important;}
  .org-cast-label{top:-17px !important;width:calc(100% - 28px) !important;padding:10px 14px !important;font-size:16px !important;}
  .org-cast-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px !important;}
  .org-cast-name{min-height:52px !important;font-size:14.5px !important;border-radius:13px !important;}
}

/* 모바일 갤러리 */
@media(max-width:920px){
  .real-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .real-gallery-card{border-radius:17px !important;}
  .real-gallery-card img{height:142px !important;}
  .real-gallery-card strong{min-height:50px !important;padding:0 10px !important;font-size:13.2px !important;line-height:1.35 !important;}
  .gallery-main,.gallery-main img{height:230px !important;min-height:230px !important;border-radius:22px !important;}
  .gallery-small{gap:9px !important;}
  .gallery-tile{min-width:190px !important;flex-basis:190px !important;border-radius:18px !important;}
}
@media(max-width:370px){
  .real-gallery-grid{grid-template-columns:1fr !important;}
  .real-gallery-card img{height:190px !important;}
}

/* 모바일 필터/탭 */
@media(max-width:920px){
  .filter-bar,.tabs-head{
    margin-left:-2px !important;margin-right:-2px !important;padding:8px !important;
    border-radius:16px !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;
  }
  .filter-bar::-webkit-scrollbar,.tabs-head::-webkit-scrollbar{display:none;}
  .filter-btn,.filter-chip,.tabs-head button{
    min-height:38px !important;padding:0 13px !important;font-size:12.8px !important;white-space:nowrap !important;flex:0 0 auto !important;
  }
}

/* 모바일 하단 CTA */
@media(max-width:920px){
  .floating-cta{
    left:10px !important;right:10px !important;bottom:10px !important;z-index:80000 !important;
    grid-template-columns:1fr 1fr !important;gap:8px !important;
  }
  .floating-cta .float-action{min-height:44px !important;border-radius:16px !important;font-size:13px !important;}
  .floating-cta .float-action:nth-child(3){display:none !important;}
  .top-button-v25{right:12px !important;bottom:112px !important;width:40px !important;height:40px !important;}
}

/* 모바일 푸터 */
@media(max-width:920px){
  .footer{padding:36px 0 98px !important;}
  .footer-grid{display:block !important;}
  .footer-grid > div + div{margin-top:18px !important;}
  .footer p{font-size:13.5px !important;line-height:1.68 !important;}
}



/* ===== v40 가로수극장 홈페이지 바로가기 연결 ===== */
.network-card-linked{
  position:relative !important;
}
.network-link-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  margin-top:14px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#050505 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  text-decoration:none !important;
  box-shadow:0 12px 24px rgba(5,5,5,.14) !important;
  transition:transform .24s ease, box-shadow .24s ease !important;
}
.network-link-btn:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 30px rgba(5,5,5,.20) !important;
}
.garosu-network-cta .cta{
  border:1px solid #e8edf4 !important;
}
.garosu-network-cta .eyebrow{
  margin-bottom:10px !important;
}
@media(max-width:920px){
  .network-link-btn{
    width:100% !important;
    min-height:44px !important;
    font-size:13.5px !important;
    margin-top:12px !important;
  }
  .garosu-network-cta .cta-btns{
    grid-template-columns:1fr !important;
  }
}



/* ===== v41 상단 메뉴 가로수극장 바로가기 추가 ===== */
.menu .garosu-nav-link,
nav .garosu-nav-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#ff6b1a !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  box-shadow:0 12px 24px rgba(255,107,26,.18) !important;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease !important;
}
.menu .garosu-nav-link::after,
nav .garosu-nav-link::after{
  display:none !important;
}
.menu .garosu-nav-link:hover,
nav .garosu-nav-link:hover{
  transform:translateY(-2px) !important;
  background:#071225 !important;
  box-shadow:0 16px 30px rgba(7,18,37,.22) !important;
}

/* 모바일 메뉴 안에서는 버튼처럼 크게 */
@media(max-width:920px){
  .menu .garosu-nav-link,
  nav .garosu-nav-link{
    width:100% !important;
    min-height:48px !important;
    margin-top:6px !important;
    border-radius:14px !important;
    font-size:15px !important;
  }
}


/* ===== v42 워크숍/조직 규모감 사진 반영 ===== */
.execution-team-section{background:radial-gradient(circle at 8% 18%,rgba(255,107,26,.11),transparent 24%),radial-gradient(circle at 92% 28%,rgba(7,18,37,.06),transparent 22%),#fff!important}.execution-team-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:stretch}.execution-main-card{position:relative;overflow:hidden;min-height:560px;border-radius:34px;background:#071225;box-shadow:0 24px 60px rgba(15,23,42,.12)}.execution-main-card img{width:100%;height:100%;min-height:560px;object-fit:cover}.execution-main-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,37,.08),rgba(7,18,37,.78))}.execution-main-card div{position:absolute;left:34px;right:34px;bottom:34px;z-index:2;color:#fff}.execution-main-card span,.partnership-large span{display:inline-flex;min-height:30px;align-items:center;padding:0 12px;border-radius:999px;background:#ff6b1a;color:#fff;font-size:12px;font-weight:950;letter-spacing:.08em;margin-bottom:14px}.execution-main-card h3{margin:0 0 12px;font-size:40px;line-height:1.16;letter-spacing:-.06em}.execution-main-card p{margin:0;color:rgba(255,255,255,.78);font-weight:750;line-height:1.72}.execution-side-cards{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}.execution-side-cards article{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;padding:18px;border:1px solid #e8edf4;border-radius:26px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.06)}.execution-side-cards img{width:100%;height:150px;object-fit:cover;border-radius:20px}.execution-side-cards b{display:block;font-size:22px;letter-spacing:-.05em;color:#071225;margin-bottom:6px}.execution-side-cards span{display:block;color:#64748b;font-weight:750;line-height:1.6}
.workshop-lab-section,.network-space-section{background:linear-gradient(180deg,#fff7ef,#fff)}.lab-layout,.network-space-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.lab-main-photo,.network-space-main{border-radius:34px;overflow:hidden;box-shadow:0 24px 60px rgba(15,23,42,.12);min-height:560px}.lab-main-photo img,.network-space-main img{width:100%;height:100%;min-height:560px;object-fit:cover}.lab-copy-card,.network-space-copy{border:1px solid #e8edf4;border-radius:34px;background:#fff;padding:38px;box-shadow:0 16px 38px rgba(15,23,42,.06)}.lab-copy-card h3,.network-space-copy h3{margin:0 0 16px;font-size:42px;line-height:1.16;letter-spacing:-.065em}.lab-copy-card p,.network-space-copy p{color:#64748b;font-weight:760;line-height:1.8}.lab-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.lab-mini-stats div{background:#fff7ef;border:1px solid #ffe1c7;border-radius:18px;padding:16px}.lab-photo-strip,.network-space-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.lab-photo-strip img,.network-space-strip img{width:100%;height:220px;object-fit:cover;border-radius:24px;box-shadow:0 16px 34px rgba(15,23,42,.08)}
.partnership-proof-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.partnership-proof-grid article{overflow:hidden;border:1px solid #e8edf4;border-radius:28px;background:#fff;box-shadow:0 16px 36px rgba(15,23,42,.07)}.partnership-proof-grid img{width:100%;height:240px;object-fit:cover}.partnership-large{grid-row:span 2;position:relative}.partnership-large img{height:100%;min-height:520px}.partnership-large:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,37,.08),rgba(7,18,37,.72))}.partnership-large div{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;color:#fff}.partnership-large h3{margin:0 0 10px;font-size:34px;line-height:1.18;letter-spacing:-.06em}.partnership-large p{margin:0;color:rgba(255,255,255,.78);font-weight:760;line-height:1.7}.partnership-proof-grid article:not(.partnership-large){padding-bottom:22px}.partnership-proof-grid article:not(.partnership-large) h3{margin:20px 22px 8px;font-size:23px;letter-spacing:-.05em}.partnership-proof-grid article:not(.partnership-large) p{margin:0 22px;color:#64748b;font-weight:760;line-height:1.65}
.workshop-archive-section{background:linear-gradient(180deg,#fff,#fff7ef)}.workshop-filter-note{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:-8px 0 28px}.workshop-filter-note span{display:inline-flex;min-height:34px;padding:0 13px;border-radius:999px;background:#fff;border:1px solid #e8edf4;color:#071225;font-weight:900}.workshop-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.workshop-gallery-card{position:relative;overflow:hidden;border-radius:24px;background:#071225;min-height:260px;box-shadow:0 16px 36px rgba(15,23,42,.09)}.workshop-gallery-card img{width:100%;height:260px;object-fit:cover;transition:.35s}.workshop-gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,37,.02),rgba(7,18,37,.60))}.workshop-gallery-card strong{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;min-height:34px;align-items:center;padding:0 12px;border-radius:999px;background:#fff;color:#071225;font-size:14px;font-weight:950}
@media(max-width:1180px){.execution-team-grid,.lab-layout,.network-space-layout{grid-template-columns:1fr}.partnership-proof-grid{grid-template-columns:1fr 1fr}.partnership-large{grid-column:1/-1}.workshop-gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:920px){.execution-main-card{min-height:360px;border-radius:24px}.execution-main-card img{min-height:360px}.execution-main-card div{left:20px;right:20px;bottom:20px}.execution-main-card h3{font-size:27px}.execution-side-cards article{grid-template-columns:108px 1fr;gap:12px;padding:12px;border-radius:18px}.execution-side-cards img{height:96px;border-radius:14px}.execution-side-cards b{font-size:17px}.execution-side-cards span{font-size:13px;line-height:1.45}.lab-main-photo,.network-space-main{min-height:290px;border-radius:22px}.lab-main-photo img,.network-space-main img{min-height:290px}.lab-copy-card,.network-space-copy{padding:22px;border-radius:22px}.lab-copy-card h3,.network-space-copy h3{font-size:28px}.lab-mini-stats{grid-template-columns:1fr}.lab-photo-strip,.network-space-strip{grid-template-columns:1fr 1fr;gap:10px}.lab-photo-strip img,.network-space-strip img{height:140px;border-radius:16px}.partnership-proof-grid{grid-template-columns:1fr;gap:14px}.partnership-large img{min-height:330px}.partnership-large h3{font-size:25px}.partnership-proof-grid img{height:190px}.workshop-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.workshop-gallery-card,.workshop-gallery-card img{height:160px;min-height:0;border-radius:16px}.workshop-gallery-card strong{left:10px;bottom:10px;min-height:28px;font-size:12px}}



/* ===== v43 워크숍 이미지 깨짐/파일명 노출 교정 ===== */
/* 업로드 원본 중 파일명이 박힌 캡처 이미지를 제외하고 깨끗한 원본 사진으로 재생성함 */

.execution-main-card img,
.lab-main-photo img,
.partnership-proof-grid img,
.network-space-main img,
.workshop-gallery-card img,
.execution-side-cards img,
.lab-photo-strip img,
.network-space-strip img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* 세로/가로 혼합 사진이 카드 안에서 안정적으로 보이도록 높이 정리 */
.execution-main-card,
.lab-main-photo,
.network-space-main{
  background:#f5f7fb !important;
}

.execution-side-cards article,
.partnership-proof-grid article,
.workshop-gallery-card{
  background:#fff !important;
}

/* 썸네일 카드에 원본 파일명처럼 보이는 영역이 남지 않게 overflow 재확인 */
.execution-side-cards img,
.lab-photo-strip img,
.network-space-strip img,
.workshop-gallery-card img,
.partnership-proof-grid img{
  overflow:hidden !important;
}

/* 모바일에서는 워크숍 사진을 더 안정적인 비율로 */
@media(max-width:920px){
  .execution-main-card,
  .execution-main-card img{
    min-height:320px !important;
  }
  .lab-main-photo,
  .lab-main-photo img,
  .network-space-main,
  .network-space-main img{
    min-height:260px !important;
    height:260px !important;
  }
  .execution-side-cards img{
    height:92px !important;
  }
}



/* ===== v44 중복 제거 / 사진 역할 재배치 / 갤러리 구조 수정 ===== */

/* 중복 느낌을 줄이기 위해 역할별 섹션 사진 비율 정리 */
.execution-main-card img,
.lab-main-photo img,
.partnership-proof-grid img,
.network-space-main img,
.network-space-strip img,
.lab-photo-strip img,
.workshop-gallery-card img{
  object-position:center center !important;
}

/* 기관협력 섹션: 협약식 단정 대신 실행 구조 중심 */
.partnership-proof-section .eyebrow{
  background:#fff4e9 !important;
}

/* 갤러리 카드 길이 조금 축소 */
.workshop-gallery-card,
.workshop-gallery-card img{
  height:235px !important;
  min-height:235px !important;
}

/* PC에서 갤러리 과밀도 완화 */
.workshop-gallery-grid{
  grid-template-columns:repeat(4,1fr) !important;
}

/* 모바일에서 워크숍 섹션이 너무 길어지지 않도록 일부 카드 압축 */
@media(max-width:920px){
  .execution-team-section .section-head,
  .workshop-lab-section .section-head,
  .partnership-proof-section .section-head,
  .network-space-section .section-head,
  .workshop-archive-section .section-head{
    margin-bottom:16px !important;
  }

  .execution-side-cards article:nth-child(3){
    display:none !important;
  }

  .lab-photo-strip img:nth-child(4),
  .network-space-strip img:nth-child(4){
    display:none !important;
  }

  .lab-photo-strip,
  .network-space-strip{
    grid-template-columns:repeat(3,1fr) !important;
  }

  .partnership-proof-grid article:nth-child(4){
    display:none !important;
  }

  .workshop-gallery-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .workshop-gallery-card,
  .workshop-gallery-card img{
    height:148px !important;
    min-height:148px !important;
  }

  .workshop-filter-note{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding-bottom:2px !important;
  }
  .workshop-filter-note span{
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }
}

@media(max-width:380px){
  .workshop-gallery-grid{
    grid-template-columns:1fr !important;
  }
  .workshop-gallery-card,
  .workshop-gallery-card img{
    height:190px !important;
    min-height:190px !important;
  }
}


/* ===== v46 Creon Visible Network Fix ===== */
.network-space-section{display:none!important}

.visible-network-section{
  background:linear-gradient(180deg,#fff7ef,#fff)!important;
}
.visible-network-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.visible-network-card{
  min-height:360px;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid #e8edf4;
  box-shadow:0 18px 42px rgba(15,23,42,.07);
  display:flex;
  flex-direction:column;
}
.visible-network-card.dark{
  background:linear-gradient(145deg,#071225,#18233b);
  color:#fff;
}
.visible-network-card.orange{
  background:linear-gradient(145deg,#ff6b1a,#ff9b4a);
  color:#fff;
}
.visible-network-card .network-chip{
  display:inline-flex;
  width:max-content;
  min-height:30px;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  background:#fff4e9;
  color:#e65d10;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:28px;
}
.visible-network-card.dark .network-chip,
.visible-network-card.orange .network-chip{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.visible-network-card h3{
  margin:0 0 8px;
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.065em;
}
.visible-network-card b{
  display:block;
  color:#ff6b1a;
  margin-bottom:18px;
  font-weight:950;
}
.visible-network-card.dark b,
.visible-network-card.orange b{
  color:rgba(255,255,255,.9);
}
.visible-network-card p{
  color:#64748b;
  font-weight:760;
  line-height:1.72;
  word-break:keep-all;
}
.visible-network-card.dark p,
.visible-network-card.orange p{
  color:rgba(255,255,255,.78);
}
.visible-network-card a{
  margin-top:auto;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#071225;
  color:#fff!important;
  font-weight:950;
  text-decoration:none!important;
}
.visible-network-card.dark a{
  background:#fff;
  color:#071225!important;
}

.visible-index-network-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.visible-index-network-card{
  min-height:210px;
  padding:24px;
  border-radius:26px;
  border:1px solid #e8edf4;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.visible-index-network-card.highlight{
  background:linear-gradient(145deg,#ff6b1a,#ff9b4a);
  color:#fff;
}
.visible-index-network-card span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#fff4e9;
  color:#e65d10;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.visible-index-network-card.highlight span{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.visible-index-network-card h3{
  margin:0 0 9px;
  font-size:24px;
  line-height:1.18;
  letter-spacing:-.055em;
}
.visible-index-network-card p{
  margin:0 0 14px;
  color:#64748b;
  font-weight:760;
  line-height:1.6;
}
.visible-index-network-card.highlight p{
  color:rgba(255,255,255,.86);
}
.visible-index-network-card a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#071225;
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
}

.org-cast-grid-v46{
  grid-template-columns:repeat(5,1fr)!important;
}
.org-cast-grid-v46 .org-cast-name{
  min-height:98px;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:16px 14px!important;
  text-align:center;
}
.org-cast-grid-v46 .org-cast-name strong{
  font-size:13px;
  letter-spacing:.04em;
  color:#071225;
}
.org-cast-grid-v46 .org-cast-name span{
  font-size:13px;
  line-height:1.45;
  color:#64748b;
  font-weight:800;
}

@media(max-width:1180px){
  .visible-network-grid,
  .visible-index-network-grid{grid-template-columns:repeat(2,1fr)}
  .org-cast-grid-v46{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:720px){
  .visible-network-grid,
  .visible-index-network-grid{grid-template-columns:1fr}
  .visible-network-card{min-height:0;padding:22px;border-radius:22px}
  .visible-network-card h3{font-size:26px}
  .visible-network-card a{width:100%}
  .visible-index-network-card{min-height:0;padding:20px;border-radius:20px}
  .org-cast-grid-v46{grid-template-columns:1fr!important}
}


/* ===== v47 final links / mobile / SEO polish ===== */

/* 상단 크레온마케팅 링크 */
.top-creon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:#071225 !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  text-decoration:none !important;
  box-shadow:0 12px 24px rgba(7,18,37,.16) !important;
}
.top-creon-link:hover{
  transform:translateY(-2px);
  background:#ff6b1a !important;
}

/* 운영네트워크 상단 빠른 링크 */
.place-quick-links{
  max-width:1180px;
  margin:18px auto 0;
  padding:0 20px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.place-quick-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e8edf4;
  color:#071225;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
.place-quick-links a:hover{
  background:#ff6b1a;
  color:#fff;
}

/* 여수/전주 링크 카드 */
.local-place-card{
  background:linear-gradient(180deg,#fff,#fff7ef) !important;
}
.place-link-row,
.mini-place-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:auto;
}
.place-link-row a,
.mini-place-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  background:#071225;
  color:#fff !important;
  font-weight:950;
  text-decoration:none !important;
}
.mini-place-links{
  margin-top:8px;
}
.mini-place-links a{
  min-height:32px;
  font-size:13px;
}

/* 모바일 최종 안정화 */
@media(max-width:920px){
  .top-creon-link{
    width:100% !important;
    min-height:48px !important;
    margin-top:6px !important;
    border-radius:14px !important;
  }
  .place-quick-links{
    justify-content:flex-start;
    margin-top:10px;
    padding:0 16px;
  }
  .place-quick-links a{
    min-height:34px;
    font-size:13px;
  }
  .visible-network-card,
  .visible-index-network-card{
    word-break:keep-all;
  }
  .place-link-row{
    flex-direction:column;
  }
  .place-link-row a{
    width:100%;
  }
}

@media(max-width:430px){
  body{
    overflow-x:hidden;
  }
  .visible-network-card h3,
  .visible-index-network-card h3{
    font-size:24px !important;
  }
  .visible-network-card p,
  .visible-index-network-card p{
    font-size:14px;
    line-height:1.62;
  }
}


/* ===== v48 운영 브랜드 허브 ===== */
.brand-hub{
  position:relative;
  display:inline-block;
  margin-left:8px;
}
.brand-hub summary{
  list-style:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  min-width:164px;
  min-height:42px;
  padding:8px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,#071225 0%, #13233f 100%);
  color:#fff;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(7,18,37,.16);
  border:1px solid rgba(255,255,255,.08);
}
.brand-hub summary::-webkit-details-marker{display:none}
.brand-hub[open] summary,
.brand-hub summary:hover{
  transform:translateY(-2px);
}
.brand-hub-eyebrow{
  display:block;
  font-size:10px;
  line-height:1;
  color:rgba(255,255,255,.72);
  letter-spacing:.08em;
  font-weight:800;
}
.brand-hub summary strong{
  font-size:14px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.brand-hub-panel{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:380px;
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e9eef5;
  box-shadow:0 28px 60px rgba(15,23,42,.16);
  z-index:120;
}
.brand-hub-panel::before{
  content:'';
  position:absolute;
  top:-7px;
  right:34px;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid #e9eef5;
  border-top:1px solid #e9eef5;
  transform:rotate(45deg);
}
.brand-hub-copy{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.6;
  color:#475569;
  font-weight:700;
  word-break:keep-all;
}
.brand-hub-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.brand-hub-tags a,
.brand-hub-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  text-decoration:none !important;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
  background:#fff7ef;
  color:#ef6a18 !important;
  border:1px solid #ffd5b8;
  white-space:nowrap;
}
.brand-hub-tags a:hover{
  background:#ff6b1a;
  border-color:#ff6b1a;
  color:#fff !important;
}
@media (min-width:1025px){
  .brand-hub:not([open]):hover .brand-hub-panel{
    display:block;
  }
  .brand-hub:not([open]):hover > summary{
    transform:translateY(-2px);
  }
  .brand-hub:not([open]) .brand-hub-panel{
    display:none;
  }
}
@media (max-width:1200px){
  .brand-hub summary{
    min-width:150px;
    padding:8px 14px;
  }
  .brand-hub summary strong{font-size:13px}
  .brand-hub-panel{width:340px}
}
@media (max-width:1024px){
  .brand-hub{
    width:100%;
    margin:10px 0 0;
    display:block;
  }
  .brand-hub summary{
    width:100%;
    min-width:0;
    border-radius:18px;
    min-height:54px;
  }
  .brand-hub-panel{
    position:static;
    width:100%;
    margin-top:10px;
    border-radius:20px;
    box-shadow:none;
  }
  .brand-hub-panel::before{display:none}
  .brand-hub-tags{
    display:grid;
    grid-template-columns:1fr;
  }
  .brand-hub-tags a,
  .brand-hub-tags span{
    width:100%;
    justify-content:flex-start;
    padding:0 14px;
  }
}


/* ===== v49 creon top button + wider desktop ===== */
.top-creon-link--stack{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:2px !important;
  min-height:52px !important;
  min-width:184px !important;
  padding:8px 18px !important;
  background:linear-gradient(135deg,#071225 0%, #13233f 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.top-creon-link--stack span{
  display:block;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
  color:rgba(255,255,255,.72) !important;
  text-transform:uppercase;
}
.top-creon-link--stack strong{
  display:block;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  color:#fff !important;
  letter-spacing:-.03em !important;
  white-space:nowrap;
}
.top-creon-link--stack:hover{
  background:linear-gradient(135deg,#ff6b1a 0%, #ef6a18 100%) !important;
}

@media (min-width: 1480px){
  .container,
  .header .container{
    width:min(1780px, calc(100% - 48px)) !important;
    max-width:1780px !important;
  }
  .hero-shell,
  .sub-hero .container,
  .sub-hero.sub-hero--visual .container.smart-hero,
  .place-quick-links{
    width:min(1780px, calc(100% - 48px)) !important;
    max-width:1780px !important;
  }
  .hero-shell{
    padding-left:44px !important;
    padding-right:44px !important;
  }
}
@media (max-width: 920px){
  .top-creon-link--stack{
    width:100% !important;
    min-width:0 !important;
    border-radius:18px !important;
  }
}


/* ===== v50 about direct operation band ===== */
.org-operated-band{
  margin-top:30px;
  padding:36px 34px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff 0%, #fbf7f1 100%);
  border:1px solid #e6ebf2;
  box-shadow:0 18px 36px rgba(15,23,42,.06);
  text-align:center;
}
.org-operated-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:#fff2e5;
  color:#f97316;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.org-operated-band h3{
  margin:16px 0 10px;
  color:#071225;
  font-size:34px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.05em;
}
.org-operated-band p{
  max-width:1120px;
  margin:0 auto;
  color:#5c6b82;
  font-size:20px;
  font-weight:800;
  line-height:1.8;
  letter-spacing:-.02em;
}
.org-operated-links{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.org-operated-links a,
.org-operated-links span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid #d9e3f0;
  background:#fff;
  color:#071225;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.03em;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.org-operated-links a:hover{
  background:#0b2f67;
  border-color:#0b2f67;
  color:#fff;
}
@media (max-width:1080px){
  .org-operated-band{padding:30px 24px;}
  .org-operated-band h3{font-size:28px;}
  .org-operated-band p{font-size:18px;}
}
@media (max-width:720px){
  .org-operated-band{margin-top:22px; padding:24px 16px; border-radius:22px;}
  .org-operated-eyebrow{font-size:12px; padding:7px 12px;}
  .org-operated-band h3{margin-top:14px; font-size:24px;}
  .org-operated-band p{font-size:15px; line-height:1.7;}
  .org-operated-links{gap:10px; margin-top:18px;}
  .org-operated-links a,
  .org-operated-links span{min-height:42px; padding:0 16px; font-size:14px;}
}


/* ===== v51 contact phone only + top creon balance ===== */
.top-creon-link--stack{
  align-self:center !important;
  min-width:176px !important;
  min-height:46px !important;
  padding:7px 18px 8px !important;
  border-radius:24px !important;
  box-shadow:0 12px 24px rgba(7,18,37,.14) !important;
}
.top-creon-link--stack span{
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
}
.top-creon-link--stack strong{
  font-size:15px !important;
  line-height:1.15 !important;
}

.contact-call-panel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}
.contact-call-panel p{
  margin:0;
}
.contact-phone-link{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  padding:28px 28px;
  border-radius:28px;
  background:linear-gradient(135deg,#071225 0%, #13233f 100%);
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 20px 42px rgba(7,18,37,.16);
}
.contact-phone-link span{
  font-size:14px;
  line-height:1;
  color:rgba(255,255,255,.72);
  font-weight:900;
  letter-spacing:.08em;
}
.contact-phone-link strong{
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.05em;
  font-weight:950;
  color:#fff;
}
.contact-phone-link:hover{
  transform:translateY(-2px);
}
.contact-mini-note{
  padding:18px 20px;
  border-radius:20px;
  background:#fff7ef;
  border:1px solid #ffd8bc;
  color:#6b7280;
  font-size:15px;
  line-height:1.7;
  font-weight:800;
  word-break:keep-all;
}
@media(max-width:920px){
  .top-creon-link--stack{
    min-height:52px !important;
    width:100% !important;
    min-width:0 !important;
    border-radius:18px !important;
  }
  .contact-phone-link{
    padding:24px 20px;
    border-radius:22px;
  }
  .contact-phone-link strong{
    font-size:34px;
  }
}
@media(max-width:560px){
  .contact-call-panel{gap:14px;}
  .contact-phone-link strong{
    font-size:28px;
  }
  .contact-phone-link span{
    font-size:12px;
  }
  .contact-mini-note{
    padding:15px 16px;
    font-size:14px;
  }
}


/* ===== v52 final designer polish ===== */

/* 상단 메뉴 정리: 문의 메뉴 제거 후 버튼 균형 */
.menu{
  gap:22px !important;
}
.nav-cta .btn.orange{
  background:#071225 !important;
  border-color:#071225 !important;
  color:#fff !important;
}
.nav-cta .btn.orange:hover{
  background:#ff6b1a !important;
  border-color:#ff6b1a !important;
}
.top-creon-link--stack{
  min-width:164px !important;
  min-height:44px !important;
  padding:7px 16px !important;
  border-radius:24px !important;
}
.top-creon-link--stack span{
  font-size:9px !important;
}
.top-creon-link--stack strong{
  font-size:15px !important;
}

/* 문의 페이지: 번호 우선 배치 */
.contact-priority-section{
  padding-top:78px !important;
  padding-bottom:38px !important;
  background:#fff !important;
}
.contact-priority-grid{
  align-items:stretch;
}
.priority-phone-card{
  background:linear-gradient(180deg,#fff,#fff8f1) !important;
}
.contact-type-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-type-panel .overview-list{
  margin-top:18px;
}

/* 운영 브랜드 카드형 */
.org-operated-band-v52{
  margin-top:30px !important;
  padding:38px 34px !important;
}
.operated-brand-grid{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.operated-brand-card{
  min-height:166px;
  padding:22px 18px;
  border-radius:22px;
  background:#fff;
  border:1px solid #dfe6ef;
  box-shadow:0 12px 26px rgba(15,23,42,.055);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  text-decoration:none !important;
  transition:.22s ease;
}
.operated-brand-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(15,23,42,.10);
}
.operated-brand-card em{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#fff2e5;
  color:#f97316;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:16px;
}
.operated-brand-card strong{
  display:block;
  color:#071225;
  font-size:22px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.05em;
  margin-bottom:8px;
}
.operated-brand-card span{
  color:#64748b;
  font-size:15px;
  line-height:1.45;
  font-weight:800;
}
.operated-brand-card.accent{
  background:linear-gradient(145deg,#071225,#13233f);
  border-color:#071225;
}
.operated-brand-card.accent em{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.operated-brand-card.accent strong,
.operated-brand-card.accent span{
  color:#fff;
}

/* 운영네트워크 5개 카드 */
.visible-network-grid-v52{
  grid-template-columns:repeat(5,1fr) !important;
}
.visible-network-grid-v52 .visible-network-card{
  min-height:385px;
}
.visible-network-grid-v52 .visible-network-card h3{
  font-size:27px;
}
.balloon-card{
  background:linear-gradient(180deg,#fff,#fffaf3) !important;
}

/* FAQ가 번호보다 먼저 치고 올라오지 않게 시각 우선순위 조정 */
.contact-priority-section + .section.warm{
  padding-top:50px !important;
}

@media(max-width:1480px){
  .visible-network-grid-v52,
  .operated-brand-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media(max-width:1080px){
  .visible-network-grid-v52,
  .operated-brand-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}
@media(max-width:920px){
  .menu{
    gap:0 !important;
  }
  .contact-priority-section{
    padding-top:48px !important;
    padding-bottom:24px !important;
  }
  .contact-priority-grid{
    grid-template-columns:1fr !important;
  }
  .visible-network-grid-v52,
  .operated-brand-grid{
    grid-template-columns:1fr !important;
  }
  .visible-network-grid-v52 .visible-network-card,
  .operated-brand-card{
    min-height:0;
  }
  .operated-brand-card{
    padding:20px;
    border-radius:20px;
  }
}


/* ===== v53 open-ready SEO/mobile/design final polish ===== */

/* 히어로 운영 배지 */
.hero-brand-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
  max-width:780px;
}
.hero-brand-badges a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(226,232,240,.95);
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(15,23,42,.055);
  backdrop-filter:blur(12px);
}
.hero-brand-badges a:hover{
  transform:translateY(-2px);
  background:#ff6b1a;
  border-color:#ff6b1a;
  color:#fff;
}

/* 상단 CTA 최종 밸런스 */
.nav-cta .btn.orange{
  background:#fff !important;
  border:1px solid #071225 !important;
  color:#071225 !important;
  min-height:44px !important;
  padding:0 18px !important;
}
.nav-cta .btn.orange:hover{
  background:#071225 !important;
  color:#fff !important;
}
.top-creon-link--stack{
  min-width:156px !important;
  min-height:44px !important;
  padding:7px 15px !important;
  border-radius:24px !important;
}
.menu .garosu-nav-link,
nav .garosu-nav-link{
  min-height:44px !important;
  padding:0 17px !important;
}

/* 운영 브랜드 카드 아이콘 */
.brand-card-icon,
.network-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff7ef;
  border:1px solid #ffd9bd;
  color:#f97316;
  font-size:22px;
  margin-bottom:14px;
  box-shadow:0 8px 18px rgba(249,115,22,.08);
}
.operated-brand-card.accent .brand-card-icon,
.visible-network-card.orange .network-icon,
.visible-network-card.dark .network-icon{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}

/* 운영 브랜드 카드 시각 마감 */
.operated-brand-card{
  position:relative;
  overflow:hidden;
}
.operated-brand-card::after{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-30px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(249,115,22,.055);
  pointer-events:none;
}
.operated-brand-card.accent::after{
  background:rgba(255,255,255,.08);
}

/* 운영네트워크 카드 시각 마감 */
.visible-network-grid-v52 .visible-network-card{
  position:relative;
  overflow:hidden;
}
.visible-network-grid-v52 .visible-network-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-42px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:rgba(249,115,22,.055);
  pointer-events:none;
}
.visible-network-grid-v52 .visible-network-card.orange::after,
.visible-network-grid-v52 .visible-network-card.dark::after{
  background:rgba(255,255,255,.08);
}

/* 문의 전화 CTA */
.contact-action-row{
  display:flex;
  gap:10px;
  margin-top:2px;
}
.contact-action-row a{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:999px;
  font-weight:950;
  text-decoration:none !important;
  letter-spacing:-.02em;
}
.contact-action-call{
  background:#ff6b1a;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(255,107,26,.18);
}
.contact-action-network{
  background:#fff;
  color:#071225 !important;
  border:1px solid #cbd5e1;
}
.contact-action-row a:hover{
  transform:translateY(-2px);
}

/* 푸터 최종 보강 */
.footer-v53{
  background:linear-gradient(135deg,#071225,#111827) !important;
  color:#fff !important;
  padding:56px 0 !important;
}
.footer-grid-v53{
  display:grid !important;
  grid-template-columns:1.45fr 1fr .9fr;
  gap:42px;
  align-items:start;
}
.footer-v53 strong{
  display:block;
  font-size:28px;
  letter-spacing:-.05em;
  margin-bottom:14px;
}
.footer-v53 p{
  color:rgba(255,255,255,.72) !important;
  font-weight:700;
  line-height:1.75;
}
.footer-links,
.footer-contact{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.footer-links b,
.footer-contact b{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:8px;
}
.footer-links a,
.footer-contact a,
.footer-contact span{
  color:rgba(255,255,255,.72) !important;
  text-decoration:none !important;
  font-weight:800;
  line-height:1.5;
}
.footer-links a:hover,
.footer-contact a:hover{
  color:#ff9b4a !important;
}
.footer-phone{
  display:inline-flex;
  width:max-content;
  min-height:40px;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:#ff6b1a;
  color:#fff !important;
  font-size:18px;
  font-weight:950 !important;
}

@media(max-width:1480px){
  .visible-network-grid-v52,
  .operated-brand-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media(max-width:1080px){
  .visible-network-grid-v52,
  .operated-brand-grid,
  .footer-grid-v53{
    grid-template-columns:1fr 1fr !important;
  }
  .footer-brand{
    grid-column:1/-1;
  }
}
@media(max-width:920px){
  .hero-brand-badges{
    gap:8px;
    margin-top:18px;
  }
  .hero-brand-badges a{
    min-height:34px;
    padding:0 12px;
    font-size:12px;
  }
  .contact-action-row{
    flex-direction:column;
  }
  .visible-network-grid-v52,
  .operated-brand-grid,
  .footer-grid-v53{
    grid-template-columns:1fr !important;
  }
  .brand-card-icon,
  .network-icon{
    width:42px;
    height:42px;
    font-size:20px;
    margin-bottom:12px;
  }
  .footer-v53{
    padding:42px 0 !important;
  }
}
@media(max-width:520px){
  .hero-brand-badges{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-brand-badges a{
    justify-content:flex-start;
    width:100%;
  }
  .footer-v53 strong{
    font-size:24px;
  }
}
