/* =========================================================================
   MMV - Momentum Media Visual  |  main.css
   시안 1:1 구현 / 반응형
   ========================================================================= */

:root{
	--lime:#c2ea0f;
	--lime-bright:#cdf200;
	--lime-soft:#d6ee6a;
	--ink:#0a0a0a;
	--black:#000;
	--dark:#0e0e0e;
	--dark2:#151515;
	--card-dark:#1b1b1b;
	--light:#ecedef;
	--white:#fff;
	--gray:#9a9a9a;
	--gray-d:#707070;
	--gray-l:#565656;
	--line-dark:rgba(255,255,255,.12);
	--line-light:rgba(0,0,0,.12);
	--font-display:'Montserrat',-apple-system,'Pretendard',sans-serif;
	--font-body:'Pretendard',-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
	--font-script:'Dancing Script',cursive;
	--container:1280px;
	--gutter:40px;
	--section-pad:120px;
	--header-h:88px;
}

/* ---------- reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:#000;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,p{margin:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea{font-family:inherit;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}

/* ---------- shared display title ---------- */
.display-title{font-family:var(--font-display);font-weight:800;line-height:.9;letter-spacing:-.01em;font-size:clamp(54px,6vw,84px);}
.display-title.center{text-align:center;font-size:clamp(48px,6.5vw,92px);}
.ink{color:var(--ink);}
.white{color:var(--white);}
.lime{color:var(--lime);}
.lime-soft{color:var(--lime-soft);}
.eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;}
.eyebrow--lime{color:var(--lime);}
.eyebrow--white{color:#cfcfcf;}
.eyebrow--ink{color:#222;letter-spacing:.16em;font-weight:700;}
.rule{display:block;width:46px;height:2px;background:#9a9a9a;margin:22px 0;}
.rule--center{margin-left:auto;margin-right:auto;}
.rule--lime{background:var(--lime);width:40px;height:3px;}
.dots{display:flex;gap:9px;justify-content:center;margin-bottom:20px;}
.dots span{width:8px;height:8px;border-radius:50%;background:var(--lime);}
.dot-lime{width:7px;height:7px;border-radius:50%;background:var(--lime);display:inline-block;margin-right:8px;vertical-align:middle;}

.section-dark{background:var(--dark);}
.section-black{background:#000;}
.section-light{background:var(--light);}

/* =========================================================================
   HEADER
   ========================================================================= */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:24px;}
.brand{display:flex;align-items:center;flex-shrink:0;}
.brand-logo{height:42px;width:auto;}
.brand-logo--white{display:none;}
.main-nav{margin-left:auto;margin-right:8px;}
.nav-list{display:flex;align-items:center;gap:34px;}
/* 히어로 위에서 좌(밝음)=검정, 우(어두움)=흰색으로 자동 반전되도록 difference 블렌드 사용 (시안과 동일) */
.nav-list a{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.04em;color:#fff;mix-blend-mode:difference;transition:opacity .25s;position:relative;padding:6px 0;}
.nav-list a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--lime);transition:width .25s;mix-blend-mode:normal;}
.nav-list a:hover{opacity:.75;}
.nav-list a:hover::after{width:100%;}
.btn-inquiry{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-family:var(--font-body);font-weight:700;font-size:15px;padding:13px 26px;border-radius:8px;flex-shrink:0;transition:transform .2s,background .2s;}
.btn-inquiry:hover{background:var(--lime-bright);transform:translateY(-2px);}
.btn-inquiry svg{stroke:var(--ink);}

/* scrolled state */
.site-header.is-scrolled{background:rgba(12,12,12,.92);backdrop-filter:saturate(150%) blur(10px);box-shadow:0 6px 30px rgba(0,0,0,.35);}
.site-header.is-scrolled .brand-logo--color{display:none;}
.site-header.is-scrolled .brand-logo--white{display:block;}
.site-header.is-scrolled .nav-list a{mix-blend-mode:normal;color:#e8e8e8;}
.site-header.is-scrolled .nav-list a:hover{opacity:1;color:#fff;}

/* hamburger */
.nav-toggle{display:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;flex-shrink:0;}
.nav-toggle span{display:block;height:2px;width:24px;margin:0 auto;background:var(--ink);transition:.3s;}
.site-header.is-scrolled .nav-toggle span{background:#fff;}
.mobile-menu{display:none;}

/* =========================================================================
   1. HERO
   ========================================================================= */
.hero{position:relative;min-height:100vh;background:var(--light);overflow:hidden;display:flex;align-items:center;}
.hero-media{position:absolute;top:0;right:0;width:64%;height:100%;background-size:cover;background-position:center right;}
.hero-media::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--light) 0%,rgba(236,237,239,.85) 14%,rgba(236,237,239,0) 42%);}
.hero-glow{position:absolute;top:42%;left:30%;width:620px;height:620px;transform:translate(-30%,-50%);background:radial-gradient(circle,rgba(194,234,15,.55) 0%,rgba(194,234,15,.12) 38%,transparent 66%);filter:blur(40px);pointer-events:none;z-index:1;}
.hero-inner{position:relative;z-index:2;width:100%;}
.hero-copy{max-width:600px;}
.hero-copy .eyebrow{margin-bottom:18px;}
.hero-title{font-family:var(--font-display);font-weight:800;line-height:.92;letter-spacing:-.01em;font-size:clamp(56px,8.5vw,120px);}
.hero-title-1{display:block;color:var(--ink);}
.hero-title-2{display:block;color:var(--lime);}
.hero-lead{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:clamp(18px,2vw,24px);font-weight:700;color:var(--ink);}
.lead-bar{width:34px;height:2px;background:var(--ink);display:inline-block;}
.hero-sub{margin-top:22px;color:var(--gray-l);font-size:16px;line-height:1.8;}

/* =========================================================================
   2. ABOUT
   ========================================================================= */
.about{position:relative;overflow:hidden;background:#000;padding:var(--section-pad) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.about-glow{position:absolute;right:-6%;bottom:-30%;width:70%;height:120%;background:radial-gradient(ellipse at 70% 60%,rgba(150,210,30,.34) 0%,rgba(120,180,20,.08) 40%,transparent 64%);pointer-events:none;}
.about-inner{position:relative;text-align:center;}
.about-inner .eyebrow{margin-bottom:24px;}
.about-title{color:var(--white);font-weight:500;font-size:clamp(30px,3.8vw,46px);line-height:1.45;letter-spacing:-.01em;}
.about-title strong{font-weight:800;}
.about-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:64px;border-top:1px solid rgba(255,255,255,.07);padding-top:0;}
.about-item{position:relative;padding:46px 18px;text-align:center;}
.about-item+.about-item::before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent);}
.about-ico{display:block;width:46px;height:46px;margin:0 auto 22px;color:#fff;}
.about-ico svg path[fill="currentColor"]{fill:var(--lime);}
.about-item h3{color:#fff;font-family:var(--font-body);font-weight:700;font-size:17px;margin-bottom:10px;}
.about-item p{color:#9b9b9b;font-size:13px;line-height:1.6;}

/* =========================================================================
   3. WHAT WE DO
   ========================================================================= */
.whatwedo{background-color:var(--light);background-size:cover;background-position:center;padding:var(--section-pad) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.whatwedo-inner{display:grid;grid-template-columns:250px 1fr;gap:40px;align-items:center;}
.whatwedo-head .display-title{margin-bottom:6px;}
.whatwedo-lead{color:#2a2a2a;font-size:16px;font-weight:600;line-height:1.7;margin-bottom:14px;}
.whatwedo-sub{color:#6a6a6a;font-size:14px;line-height:1.7;}
.wedo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 20px;}
.wedo-item{display:flex;align-items:center;gap:16px;}
.wedo-circle{position:relative;width:120px;height:120px;flex-shrink:0;}
.wedo-circle img{width:102px;height:102px;border-radius:50%;object-fit:cover;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.wedo-arc{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--lime);border-right-color:var(--lime);transform:rotate(-58deg);}
.wedo-num{position:absolute;left:4px;bottom:6px;width:32px;height:32px;border-radius:50%;background:#111;color:var(--lime);font-family:var(--font-display);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:2;}
.wedo-text h3{font-family:var(--font-body);font-weight:700;color:var(--ink);font-size:19px;line-height:1.2;margin-bottom:8px;}
.wedo-text p{color:#6a6a6a;font-size:13px;line-height:1.55;}

/* =========================================================================
   4. OUR STYLE
   ========================================================================= */
.ourstyle{background:#0f0f0f;padding:var(--section-pad) 0;}
.ourstyle-inner{display:grid;grid-template-columns:280px 1fr;gap:46px;align-items:start;}
.ourstyle-head{padding-top:24px;}
.ourstyle-head .display-title{margin-bottom:0;}
.ourstyle-head p{color:#9a9a9a;font-size:15px;line-height:1.7;}
.style-gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:row;gap:14px;}
.style-cell{position:relative;overflow:hidden;border-radius:6px;}
.style-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.style-cell:hover img{transform:scale(1.05);}
.style-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));}
.style-cell figcaption{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.14em;display:flex;align-items:center;}
.style-commercial{grid-column:span 3;height:268px;}
.style-branding{grid-column:span 3;height:268px;}
.style-sns{grid-column:span 2;height:198px;}
.style-shorts{grid-column:span 2;height:198px;}
.style-aivisual{grid-column:span 2;height:198px;}
.style-motion{grid-column:span 6;height:150px;}

/* =========================================================================
   5. PROCESS
   ========================================================================= */
.process{background-color:#eef0f1;background-size:cover;background-position:center;padding:var(--section-pad) 0;}
.process-inner{max-width:2000px;}
.process-head.center{text-align:center;}
.process-head .eyebrow{display:block;margin-bottom:14px;}
.process-head .display-title{margin-bottom:18px;}
.process-lead{color:#555;font-size:16px;line-height:1.7;margin-top:18px;}
.process-lead strong{color:#1a1a1a;font-weight:700;}
.process-steps{display:flex;margin-top:66px;}
.process-step{flex:1;text-align:center;position:relative;}
.process-top{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:18px;}
.process-circle{width:76px;height:76px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;padding:20px;color:#0a0a0a;position:relative;z-index:2;}
.process-circle svg{stroke:#0a0a0a;}
.process-arrow{position:absolute;top:50%;left:calc(50% + 50px);right:calc(-50% + 50px);height:0;border-top:2px dashed #aebb86;transform:translateY(-50%);}
.process-arrow::after{content:"";position:absolute;right:-2px;top:-5px;border-left:7px solid #aebb86;border-top:5px solid transparent;border-bottom:5px solid transparent;}
.process-num{display:block;color:var(--lime);font-family:var(--font-display);font-weight:700;font-size:15px;margin-bottom:4px;}
.process-name{font-family:var(--font-display);font-weight:700;color:#1a1a1a;font-size:15px;letter-spacing:.01em;margin-bottom:14px;word-break:keep-all;}
.process-desc li{color:#6a6a6a;font-size:13px;line-height:1.85;word-break:keep-all;}

/* =========================================================================
   6. WHY MMV
   ========================================================================= */
.why{background:#0d0d0d;padding:var(--section-pad) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.why-inner{display:grid;grid-template-columns:280px 1fr;gap:50px;align-items:start;}
.why-head{padding-top:30px;}
.why-head .display-title{margin-bottom:0;}
.why-head p{color:#e6e6e6;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.5;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:42px 24px;}
.why-card{position:relative;}
.why-thumb{position:relative;height:152px;margin:0 0 36px;}
.why-img{display:block;width:100%;height:152px;border-radius:6px;overflow:hidden;}
.why-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.why-card:hover .why-img img{transform:scale(1.06);}
.why-ico{position:absolute;left:16px;bottom:-24px;width:48px;height:48px;border-radius:50%;background:#161616;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;padding:12px;color:var(--lime);z-index:3;box-shadow:0 6px 16px rgba(0,0,0,.4);}
.why-card h3{color:#fff;font-family:var(--font-body);font-weight:700;font-size:16px;margin:0 0 9px;line-height:1.35;}
.why-card p{color:#8f8f8f;font-size:13px;line-height:1.6;}

/* =========================================================================
   7. PORTFOLIO
   ========================================================================= */
.portfolio{position:relative;background:#ffffff;padding:var(--section-pad) 0;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.portfolio-vert{position:absolute;left:34px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.1em;color:#1a1a1a;}
.portfolio-vert::before{content:"";display:block;width:1px;height:64px;background:rgba(0,0,0,.4);margin:0 auto 16px;}
.portfolio-inner{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;}
.portfolio-head{padding-top:30px;}
.portfolio-head .display-title{margin-bottom:0;}
.portfolio-head .rule{background:#888;}
.portfolio-head p{color:#5a5a5a;font-size:15px;line-height:1.7;}
.portfolio-tabs{display:flex;gap:14px;margin-bottom:30px;}
.pf-tab{background:var(--lime);color:var(--ink);font-family:var(--font-body);font-weight:700;font-size:16px;padding:15px 0;border-radius:40px;flex:1;text-align:center;transition:transform .2s,background .2s,color .2s;}
.pf-tab:hover{transform:translateY(-2px);}
.pf-tab.is-active{background:#0f0f0f;color:#fff;border:1px solid #0f0f0f;}
.pf-panel{display:none;}
.pf-panel.is-active{display:block;animation:fadeUp .4s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 22px;}
.pf-card{cursor:pointer;}
.pf-thumb{position:relative;width:100%;padding-top:56.25%;border-radius:6px;overflow:hidden;background:#161616;}
.pf-thumb img{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;object-fit:cover!important;display:block;transition:transform .5s,filter .3s;}
.pf-card:hover .pf-thumb img,.pf-card:focus-visible .pf-thumb img{transform:scale(1.07);filter:brightness(.82);}
.pf-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.92);background:rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s,border-color .25s;}
.pf-play svg{margin-left:3px;}
.pf-play svg path{fill:#fff;}
.pf-card:hover .pf-play,.pf-card:focus-visible .pf-play{transform:translate(-50%,-50%) scale(1.1);background:var(--lime);border-color:var(--lime);}
.pf-card:hover .pf-play svg path,.pf-card:focus-visible .pf-play svg path{fill:#0a0a0a;}
.pf-meta{padding-top:12px;}
.pf-eyebrow{display:block;color:#88c400;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.12em;margin-bottom:6px;}
.pf-title{color:#111;font-family:var(--font-body);font-weight:700;font-size:16px;margin-bottom:5px;}
.pf-desc{color:#888;font-size:13px;}
.pf-card:focus-visible{outline:2px solid var(--lime);outline-offset:6px;border-radius:8px;}

/* =========================================================================
   8. CLIENT / NETWORK
   ========================================================================= */
.network{position:relative;background:#000;overflow:hidden;display:flex;align-items:center;aspect-ratio:1920/1150;min-height:560px;max-height:1180px;padding:60px 0;}
.network-map-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;z-index:1;}
.network-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;background:linear-gradient(90deg,#000 5%,rgba(0,0,0,.8) 24%,rgba(0,0,0,.4) 42%,rgba(0,0,0,0) 60%);}
.network-inner{position:relative;z-index:3;width:100%;}
.network-content{max-width:460px;}
.network-content .eyebrow{color:#cfcfcf;letter-spacing:.18em;margin-bottom:26px;display:block;}
.network-title{color:#fff;font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.3;letter-spacing:-.01em;margin-bottom:26px;}
.network-sub{color:#c2c2c2;font-size:15px;line-height:1.8;margin-bottom:40px;}
.network-tag{display:flex;align-items:flex-start;gap:14px;color:var(--lime);font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.14em;line-height:1.7;}
.tag-bar{width:2px;height:38px;background:var(--lime);flex-shrink:0;margin-top:2px;}

/* =========================================================================
   9. STATS
   ========================================================================= */
.stats{background:#000;padding:var(--section-pad) 0;}
.stats-inner{max-width:1600px;display:grid;grid-template-columns:repeat(3,1fr);}
.stat-item{position:relative;text-align:center;padding:14px 30px;}
.stat-item+.stat-item::before{content:"";position:absolute;left:0;top:8%;height:84%;width:1px;background:rgba(255,255,255,.12);}
.stat-ico{display:inline-flex;width:36px;height:36px;color:var(--lime);vertical-align:middle;margin-right:12px;}
.stat-num{font-family:var(--font-display);font-weight:800;color:#fff;font-size:clamp(40px,4.5vw,54px);vertical-align:middle;}
.stat-label{display:block;color:var(--lime);font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.14em;margin:6px 0 22px;}
.stat-desc{color:#8a8a8a;font-size:14px;line-height:1.7;}

/* =========================================================================
   10. GLOBAL HUBS
   ========================================================================= */
.hubs{background:#000;padding:var(--section-pad) 0;position:relative;}
.hubs-inner{max-width:1600px;display:flex;align-items:flex-end;gap:24px;position:relative;}
.hubs-head{flex-shrink:0;width:190px;padding-bottom:18px;}
.hubs-head .eyebrow{display:block;margin-bottom:18px;}
.hubs-title{color:#fff;font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.35;}
.hubs-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none;flex:1;}
.hubs-track::-webkit-scrollbar{display:none;}
.hub-card{position:relative;flex-shrink:0;width:236px;height:348px;border-radius:6px;overflow:hidden;}
.hub-img{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;}
.hub-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 35%,rgba(0,0,0,.85));}
.hub-pin{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);z-index:2;}
.hub-card figcaption{position:absolute;left:18px;right:18px;bottom:20px;z-index:3;}
.hub-card figcaption h3{color:#fff;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.02em;}
.hub-country{display:block;color:var(--lime);font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.14em;margin:3px 0 10px;}
.hub-card figcaption p{color:#cfcfcf;font-size:12.5px;line-height:1.55;}
.hubs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;color:#fff;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);transition:background .2s;}
.hubs-arrow:hover{background:rgba(194,234,15,.18);color:var(--lime);}
.hubs-prev{left:-6px;}
.hubs-next{right:-6px;}

/* =========================================================================
   11. PARTNER BRANDS
   ========================================================================= */
.brands{background:#000;padding:var(--section-pad) 0;}
.brands-inner{max-width:1600px;}
.brands-inner .eyebrow{display:block;margin-bottom:40px;}
.brands-grid{display:flex;flex-direction:column;gap:36px;}
.brands-row{display:flex;align-items:center;justify-content:space-between;gap:20px 26px;flex-wrap:wrap;}
.brand-mark{color:#fff;display:inline-flex;align-items:center;height:34px;opacity:.82;transition:opacity .25s;}
.brand-mark:hover{opacity:1;}
.bl-sym{width:auto;display:block;}
.bl-row{display:inline-flex;align-items:center;gap:7px;}
.bl-text{font-family:var(--font-display);font-weight:700;font-size:23px;letter-spacing:.02em;line-height:1;color:#fff;white-space:nowrap;}
.bl-samsung{letter-spacing:.08em;font-weight:700;}
.bl-hyundai{font-size:19px;letter-spacing:.04em;}
.bl-google{font-family:'Montserrat',sans-serif;font-weight:500;font-size:25px;letter-spacing:-.01em;}
.bl-dji{font-style:italic;font-weight:800;font-size:25px;letter-spacing:-.03em;}
.bl-nexon{font-size:20px;letter-spacing:.04em;}
.bl-kakao{font-weight:400;font-size:23px;}
.bl-kakao b{font-weight:800;}
.bl-canon{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:24px;letter-spacing:0;}
.bl-cjenm{font-size:22px;letter-spacing:.03em;}
.bl-cjenm b{font-weight:800;}
.bl-kal{font-weight:600;letter-spacing:.08em;font-size:20px;}
.bl-megabox{letter-spacing:.05em;font-size:21px;}
.bl-kt{font-weight:800;font-size:26px;letter-spacing:-.02em;}
.bl-pulmuone{font-weight:600;font-size:22px;letter-spacing:.01em;}
.bl-idus{font-weight:800;font-size:24px;letter-spacing:-.01em;}

/* =========================================================================
   12. CONTACT
   ========================================================================= */
.contact{background-color:#ecedef;background-size:cover;background-position:center;padding:var(--section-pad) 0 70px;}
.contact-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;}
.contact-left .eyebrow{display:block;margin-bottom:22px;}
.contact-title{font-family:var(--font-display);font-weight:800;line-height:.95;font-size:clamp(54px,7vw,90px);position:relative;}
.contact-title>span{display:block;}
.contact-create{position:relative;width:max-content;}
.contact-create .spark{position:absolute;top:-14px;right:-30px;}
.contact-script{font-family:var(--font-script);font-weight:700;font-size:clamp(26px,3vw,38px);color:#1a1a1a;line-height:1;margin-top:6px;position:relative;width:max-content;transform:rotate(-4deg);padding:0 6px 8px;}
.contact-script::after{content:"";position:absolute;left:0;right:6px;bottom:0;height:7px;border-radius:4px;background:var(--lime);opacity:.85;z-index:-1;}
.contact-lead{color:#444;font-size:16px;line-height:1.8;margin-top:30px;}
.contact-tag{margin-top:26px;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.14em;}
.ink-strong{color:#1a1a1a;}
.form-title{font-family:var(--font-display);font-weight:700;color:var(--lime);font-size:16px;letter-spacing:.1em;margin-bottom:22px;}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.14);border-radius:6px;padding:16px 18px;font-size:15px;color:#1a1a1a;transition:border-color .2s,background .2s;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9a9a9a;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--lime);background:#fff;}
.contact-form textarea{resize:vertical;min-height:150px;}
.form-agree{display:flex;align-items:center;gap:10px;color:#555;font-size:14px;cursor:pointer;user-select:none;margin-top:4px;}
.form-agree input{position:absolute;opacity:0;width:0;height:0;}
.checkmark{width:20px;height:20px;border-radius:4px;border:1.5px solid #b6b6b6;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s;position:relative;}
.form-agree input:checked+.checkmark{background:var(--lime);border-color:var(--lime);}
.form-agree input:checked+.checkmark::after{content:"";width:5px;height:10px;border:solid #0a0a0a;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);margin-top:-2px;}
.form-agree input:focus-visible+.checkmark{outline:2px solid var(--lime);outline-offset:2px;}
.form-submit{align-self:flex-start;margin-top:8px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;padding:15px 40px;border-radius:8px;transition:background .25s,transform .2s;}
.form-submit:hover{background:var(--lime);color:var(--ink);transform:translateY(-2px);}
.form-result{font-size:14px;margin-top:6px;min-height:18px;}
.form-result.ok{color:#3a7d00;}
.form-result.err{color:#c0392b;}

.contact-info{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;padding-top:40px;border-top:1px solid rgba(0,0,0,.12);}
.info-item{position:relative;display:flex;align-items:center;gap:14px;padding:6px 26px;}
.info-item+.info-item::before{content:"";position:absolute;left:0;top:6%;height:88%;width:1px;background:rgba(0,0,0,.12);}
.info-ico{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;padding:13px;color:var(--lime);flex-shrink:0;}
.info-label{display:block;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.08em;color:#1a1a1a;margin-bottom:4px;}
.info-val{display:block;color:#555;font-size:14px;line-height:1.4;}
.info-val small{font-size:12px;color:#888;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{background:#0a0a0a;padding:54px 0 60px;position:relative;}
.footer-inner{text-align:center;}
.footer-brand img{height:46px;width:auto;margin:0 auto 26px;opacity:.95;}
.footer-info{color:#8a8a8a;font-size:13px;line-height:1.9;}
.footer-line{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;}
.footer-line strong{color:#bdbdbd;font-weight:600;margin-right:5px;}
.footer-copy{color:#666;font-size:12.5px;margin-top:22px;letter-spacing:.02em;}
.to-top{position:fixed;right:28px;bottom:28px;width:48px;height:48px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;z-index:80;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s;box-shadow:0 8px 24px rgba(0,0,0,.35);}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:var(--lime-bright);}

/* =========================================================================
   VIDEO MODAL
   ========================================================================= */
.video-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
.video-modal.open{display:flex;}
.video-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(4px);}
.video-modal-box{position:relative;z-index:2;width:min(960px,100%);}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.6);}
.video-frame iframe{width:100%;height:100%;border:0;}
.video-caption{color:#fff;text-align:center;margin-top:16px;font-family:var(--font-body);font-weight:600;font-size:16px;}
.video-close{position:absolute;top:-46px;right:0;color:#fff;font-size:34px;line-height:1;width:40px;height:40px;}
.video-close:hover{color:var(--lime);}

/* =========================================================================
   FALLBACK PAGE
   ========================================================================= */
.fallback-main{padding:calc(var(--header-h) + 60px) 0 80px;background:#0d0d0d;min-height:80vh;}
.fallback-title{color:#fff;font-size:32px;margin-bottom:20px;}
.fallback-content{color:#bbb;line-height:1.8;}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1200px){
	.nav-list{gap:24px;}
	.nav-list a{font-size:13px;}
}

@media (max-width:1100px){
	:root{--gutter:32px;--section-pad:96px;}
	/* --- 8-item nav → hamburger from here down (added) --- */
	.nav-list,.btn-inquiry{display:none;}
	.nav-toggle{display:flex;}
	.mobile-menu{display:block;position:fixed;top:var(--header-h);left:0;width:100%;background:rgba(10,10,10,.98);backdrop-filter:blur(8px);max-height:0;overflow:hidden;transition:max-height .4s ease;z-index:99;}
	.mobile-menu.open{max-height:560px;border-top:1px solid rgba(255,255,255,.08);}
	.mobile-menu ul{padding:14px 0;}
	.mobile-menu a{display:block;padding:15px 32px;color:#eee;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.04em;}
	.mobile-menu a:hover{color:var(--lime);background:rgba(255,255,255,.04);}
	.mobile-inquiry{color:var(--lime)!important;}
	.site-header{background:rgba(12,12,12,.92);backdrop-filter:blur(10px);}
	.site-header .brand-logo--color{display:none;}
	.site-header .brand-logo--white{display:block;}
	.site-header .nav-toggle span{background:#fff;}
	.whatwedo-inner,.why-inner,.portfolio-inner{grid-template-columns:1fr;gap:40px;}
	.ourstyle-inner{grid-template-columns:1fr;gap:34px;}
	.wedo-grid{grid-template-columns:repeat(2,1fr);}
	.why-grid{grid-template-columns:repeat(3,1fr);}
	.pf-grid{grid-template-columns:repeat(3,1fr);}
	.contact-inner{grid-template-columns:1fr;gap:48px;}
	.portfolio-vert{display:none;}
}

@media (max-width:900px){
	.about,.whatwedo,.process,.why,.portfolio,.stats,.hubs,.brands{min-height:0;display:block;}

	.hero-media{width:100%;opacity:.32;}
	.hero-media::before{background:linear-gradient(180deg,rgba(236,237,239,.9),rgba(236,237,239,.55));}
	.hero-glow{left:50%;transform:translate(-50%,-50%);}

	.about-grid{grid-template-columns:repeat(3,1fr);}
	.about-item:nth-child(3n+1)+.about-item::before,.about-item+.about-item::before{background:linear-gradient(180deg,transparent,rgba(255,255,255,.14),transparent);}

	.style-gallery{grid-template-columns:repeat(2,1fr);}
	.style-commercial,.style-branding{grid-column:span 2;height:220px;}
	.style-sns,.style-shorts,.style-aivisual{grid-column:span 1;height:170px;}
	.style-aivisual{grid-column:span 2;}
	.style-motion{grid-column:span 2;height:140px;}

	.process-steps{flex-wrap:wrap;gap:40px 0;}
	.process-step{flex:0 0 33.33%;}
	.process-arrow{display:none;}

	.why-grid{grid-template-columns:repeat(2,1fr);}
	.pf-grid{grid-template-columns:repeat(2,1fr);}
	.network{min-height:540px;padding:60px 0;}
	.network-map-img{object-position:62% center;opacity:.6;}
	.network-overlay{background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.7) 55%,rgba(0,0,0,.85));}
	.network-content{max-width:none;}
	.stats-inner{grid-template-columns:1fr;gap:0;}
	.stat-item{padding:34px 20px;}
	.stat-item+.stat-item::before{left:8%;top:0;width:84%;height:1px;}
	.contact-info{grid-template-columns:repeat(2,1fr);gap:28px 0;}
	.info-item:nth-child(3)::before,.info-item:nth-child(2)::before{display:none;}
}

@media (max-width:560px){
	:root{--gutter:20px;--section-pad:72px;--header-h:72px;}
	.wedo-grid{grid-template-columns:1fr;gap:34px;}
	.wedo-item{gap:16px;}
	.about-grid{grid-template-columns:repeat(2,1fr);}
	.why-grid{grid-template-columns:1fr;gap:36px 0;}
	.pf-grid{grid-template-columns:1fr;}
	.process-step{flex:0 0 50%;}
	.form-row{grid-template-columns:1fr;}
	.contact-info{grid-template-columns:1fr;}
	.info-item::before{display:none!important;}
	.info-item{padding:14px 0;justify-content:flex-start;}
	.portfolio-tabs{flex-direction:column;}
	.brands-row{justify-content:center;gap:18px 24px;}
	.footer-line{flex-direction:column;gap:2px;}
	.hubs-head{width:100%;}
	.hubs-inner{flex-direction:column;align-items:stretch;}
	.hubs-arrow{display:none;}
	.hero-title{font-size:clamp(42px,12vw,72px);}
	.brand-logo{height:34px;}
}

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

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.reveal.in-view{opacity:1;transform:none;}
.reveal:nth-child(2){transition-delay:.08s;}
.reveal:nth-child(3){transition-delay:.16s;}
.reveal:nth-child(4){transition-delay:.24s;}
.reveal:nth-child(5){transition-delay:.32s;}
.reveal:nth-child(6){transition-delay:.4s;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;}}
