@font-face{font-family:Cormorant;src:url(fonts/cormorant.ttf);font-weight:300 700}
@font-face{font-family:Inter;src:url(fonts/inter.ttf);font-weight:100 900}
:root{--bg:#0b0b0c;--bg2:#141416;--line:#2a2724;--ink:#ece7df;--mute:#9a948b;--gold:#c9a45c;--gold2:#e2c48a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:16px/1.7 Inter,system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.serif{font-family:Cormorant,Georgia,serif}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(34px,4.2vw,56px);margin:14px 0 22px}
h3{font-size:28px}
p{color:#cfc8bd}
.lead{font-size:18px;max-width:640px}
section{padding:120px 0;border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:2px;font-size:14px;letter-spacing:.06em;font-weight:500;transition:.2s}
.btn-wa{background:var(--gold);color:#111}
.btn-wa:hover{background:var(--gold2)}
.btn-wa svg{width:18px;height:18px}
.btn-ghost{border:1px solid #4a443c;color:var(--ink)}
.phone{font-size:14px;color:var(--mute);letter-spacing:.04em}
.phone b{color:var(--ink);font-weight:500}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 22px;margin-top:34px}
.link{color:var(--gold);font-size:14px;letter-spacing:.06em;border-bottom:1px solid rgba(201,164,92,.4);padding-bottom:3px}
/* header */
header{position:fixed;inset:0 0 auto 0;z-index:50;background:linear-gradient(#0b0b0cee,#0b0b0c99 70%,transparent);backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{font-family:Cormorant,serif;font-size:24px;letter-spacing:.18em;font-weight:600}
.logo span{display:block;font:500 9px Inter;letter-spacing:.42em;color:var(--gold);margin-top:-2px}
.menu{display:flex;gap:28px;font-size:13px;letter-spacing:.06em;color:#d6cfc4}
.right{display:flex;align-items:center;gap:20px}
.lang{display:flex;font-size:12px;letter-spacing:.08em;border:1px solid #3a352f;border-radius:2px}
.lang a{padding:6px 10px;color:var(--mute)}
.lang a.on{color:#111;background:var(--ink)}
.btn-sm{padding:10px 16px;font-size:13px}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:0 0 90px;border:0;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:url(img/concert-crowd-stage-lights.jpg) center 35%/cover}
.hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.92) 0%,rgba(11,11,12,.55) 40%,rgba(11,11,12,.15) 75%)}
.hero h1,.hero p,.hero .eyebrow{text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero .wrap{position:relative;width:100%}
.tagline{font-family:Cormorant,serif;font-style:italic;font-size:24px;color:var(--gold2);margin:22px 0 18px}
.hero h1{font-size:clamp(44px,6vw,84px);max-width:860px}
.hero p{max-width:600px}
/* who */
.two{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.card{background:var(--bg2);border:1px solid var(--line);display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/3;background:center/cover}
.card .bd{padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.num{font:500 12px Inter;letter-spacing:.2em;color:var(--gold)}
.card h3{font-size:26px}
.card .sub{font-family:Cormorant,serif;font-style:italic;font-size:18px;color:var(--gold2);line-height:1.3}
.card p{font-size:14.5px;flex:1}
/* placeholder */
.ph-box{background:repeating-linear-gradient(45deg,#232325 0 14px,#262628 14px 28px);border:1px dashed #55524d;display:flex;align-items:center;justify-content:center;text-align:center;color:#a8a39b;font-size:13px;padding:16px}
/* cny */
.cny{background:radial-gradient(ellipse at 80% 20%,#3a0d0d 0%,#170707 45%,var(--bg) 80%)}
.cny .two{grid-template-columns:1.05fr .95fr;align-items:center}
.video{position:relative;display:block;aspect-ratio:16/9;background:#000 center/cover;border:1px solid #5a3a22;box-shadow:0 30px 80px #0009}
.video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000a,transparent 60%)}
.play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;border-radius:50%;background:var(--gold);z-index:2;display:flex;align-items:center;justify-content:center}
.play:before{content:"";border-left:22px solid #111;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.vcap{position:absolute;left:22px;bottom:18px;z-index:2}
.vcap b{display:block;font-family:Cormorant,serif;font-size:26px;font-weight:500}
.vcap span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 4px}
.chips span{border:1px solid #5a3a22;color:#e9d3b0;font-size:13px;padding:7px 14px;border-radius:40px}
.cny-ph{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.cny-ph .ph-box{aspect-ratio:16/10}
/* kamjun */
.kam .two{grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}
.kam img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;filter:saturate(.9)}
.kam .role{font-family:Cormorant,serif;font-size:22px;color:var(--gold2);font-style:italic;margin:-4px 0 18px}
.creds{list-style:none;margin:28px 0 34px;border-top:1px solid var(--line)}
.creds li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;color:#d6cfc4;font-size:15.5px}
.creds li:before{content:"";flex:0 0 18px;height:1px;background:var(--gold);margin-top:13px}
/* work */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.case .ph,.case .ph-box{aspect-ratio:4/3;background:center/cover}
.case h3{font-size:24px;margin:18px 0 6px}
.case p{font-size:14px;color:var(--mute)}
.tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:16px}
/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line)}
.step{padding:34px 28px 10px 0;border-right:1px solid var(--line);margin-right:28px}
.step:last-child{border:0}
.step .n{font-family:Cormorant,serif;font-size:56px;color:var(--gold);line-height:1}
.step h3{font-size:24px;margin:14px 0 10px}
.step p{font-size:14.5px}
.note{margin-top:40px;font-size:14px;color:var(--mute)}
/* why */
.why{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:50px}
.why div{border-top:1px solid var(--gold);padding-top:20px}
.why h3{font-size:21px;margin-bottom:10px}
.why p{font-size:14px}
.trusted{margin-top:80px;padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:50px;flex-wrap:wrap}
.trusted .eyebrow{color:var(--mute)}
.marks{display:flex;flex:1;justify-content:space-between;gap:30px;flex-wrap:wrap}
.marks span{font-family:Cormorant,serif;font-size:30px;letter-spacing:.06em;color:#bdb6ab}
.quote-ph{margin-top:30px;min-height:110px}
/* sister */
.sis{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.sis a{border:1px solid var(--line);background:var(--bg2);padding:38px 36px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;transition:.2s}
.sis a:hover{border-color:var(--gold)}
.sis h3{font-size:30px;margin-bottom:8px}
.sis p{font-size:14.5px}
.sis .u{color:var(--gold);font-size:13px;letter-spacing:.06em;white-space:nowrap}
/* faq */
.faq{max-width:860px;margin-top:40px}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;font-family:Cormorant,serif;font-size:24px;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary:after{content:"+";color:var(--gold);font-family:Inter;font-weight:300}
details[open] summary:after{content:"–"}
details p{margin-top:12px;font-size:15px;max-width:720px}
/* final */
.final{text-align:center;background:linear-gradient(#0b0b0cdd,#0b0b0cf2),url(img/themed-ballroom-stage-lighting.jpg) center/cover;padding:150px 0}
.final h2{font-size:clamp(40px,5.4vw,76px)}
.final p{margin:0 auto;max-width:660px}
.final .cta-row{justify-content:center}
footer{background:#070708;padding:70px 0 40px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{font:500 11px Inter;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
footer li{list-style:none;margin:8px 0}
.fbot{margin-top:60px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px}

/* responsive */
@media (max-width:1100px){.menu{display:none}.pillars{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){
 .wrap{padding:0 22px}
 section{padding:80px 0}
 .nav{height:64px}.logo{font-size:19px}.right .btn-sm{display:none}
 .hero{padding-bottom:56px}.hero .bg{background-position:50% 20%}
 .hero .bg:after{background:linear-gradient(0deg,rgba(11,11,12,.96) 0%,rgba(11,11,12,.9) 45%,rgba(11,11,12,.6) 68%,rgba(11,11,12,.15) 88%)}
 .hero h1,.hero p,.hero .eyebrow,.hero .phone{text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 18px rgba(0,0,0,.7)}
 .tagline{font-size:20px}
 .two,.cny .two,.kam .two{grid-template-columns:1fr;gap:36px}
 .pillars,.cases,.sis,.steps,.why,.fgrid{grid-template-columns:1fr}
 .step{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:26px 0}
 .marks{justify-content:flex-start;gap:14px 28px}.marks span{font-size:24px}
 .trusted{gap:20px}
 .sis a{flex-direction:column;align-items:flex-start;padding:28px 24px}
 .cta-row .btn{width:100%;justify-content:center}
 .cta-row .phone{width:100%;text-align:center}
 .final{padding:100px 0}
 .kam img{aspect-ratio:1/1}
 summary{font-size:21px}
}
/* fixes r2 */
.two>*,.pillars>*,.cases>*{min-width:0}
.menu a,.lang a,.btn{white-space:nowrap}
.menu{gap:22px}
.hero{padding-top:130px}
@media (max-width:1280px){.menu{gap:16px;font-size:12.5px}}
@media (max-width:760px){
 .right .btn-sm{display:inline-flex;padding:9px 11px}
 .right .btn-sm .t{display:none}
 .right{gap:10px}
 .hero{padding-top:100px}
 .chips span{font-size:12px}
 
}
.vcap b{font-size:21px;max-width:80%}.vcap{left:18px;bottom:14px}
.nav{gap:36px}.menu{margin-left:auto}
#trusted{padding:70px 0}
.cny-photo{margin:0;position:relative}
.cny-photo .ph{aspect-ratio:16/10;background:center 30%/cover;border:1px solid #5a3a22}
.cny-photo figcaption{position:absolute;left:10px;bottom:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f1dcb8;text-shadow:0 1px 6px #000}
.case p{color:#bdb6ab}
.brandgrid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:22px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.brandgrid span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 12px;text-align:center;font-family:Cormorant,serif;font-size:24px;letter-spacing:.04em;color:#c4bdb1;white-space:nowrap}
@media (max-width:760px){.brandgrid{grid-template-columns:1fr 1fr}.brandgrid span{font-size:19px;padding:18px 8px}}
.brandgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}
.brandgrid span{border:0;padding:12px 30px;font-size:26px;position:relative}
.brandgrid span+span:before{content:"";position:absolute;left:-2px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--gold);opacity:.6}
@media (max-width:760px){.brandgrid{padding:20px 0}.brandgrid span{font-size:19px;padding:8px 14px}}

.case .ph-neutral{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#3a2f1f 0,#1c1a17 55%,#121212 100%);color:#c9a86a;border:1px solid #2e2a24}


/* brand 3: neon glow logo */
@font-face{font-family:Oswald;src:url(fonts/oswald.ttf);font-weight:200 700}
.logo{display:flex!important;align-items:center;gap:12px;letter-spacing:0!important}.kmark{height:44px;width:auto;flex:none}
@media(max-width:760px){.kmark{height:34px}}
.kmark{filter:drop-shadow(0 0 6px rgba(43,213,143,.8)) drop-shadow(0 0 16px rgba(43,213,143,.45))}
.lk{display:block!important;margin:0!important}
.lk b{display:block;font:500 28px/1 Oswald;letter-spacing:.12em;color:#eafff6;text-shadow:0 0 4px #fff,0 0 10px #2bd58f,0 0 22px #2bd58f,0 0 40px rgba(16,184,108,.7)}
.lk i{display:block;font:400 9px/1.9 Inter;font-style:normal;letter-spacing:.6em;color:#7ef7c4;text-shadow:0 0 6px rgba(43,213,143,.7)}
@media(max-width:760px){.lk b{font-size:22px}.lk i{font-size:7.5px;letter-spacing:.48em}}
@media(max-width:420px){.logo{gap:8px}.kmark{height:28px}.lk b{font-size:18px;letter-spacing:.08em}.lk i{font-size:6.5px;letter-spacing:.4em}}
/* 2026-11-01 mobile hero brighten (approved) */
@media (max-width:760px){
.hero .bg{background-position:50% 30%}
.hero .bg:after{background:linear-gradient(0deg,rgba(11,11,12,.94) 0%,rgba(11,11,12,.82) 38%,rgba(11,11,12,.35) 55%,rgba(11,11,12,.05) 72%)}
.hero h1,.hero p,.hero .eyebrow,.hero .phone{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 20px rgba(0,0,0,.8)}
}

.ph{overflow:hidden}.ph picture{display:block;width:100%;height:100%}
/* hero readability v2 */
.hero .bg:after{background:linear-gradient(90deg,rgba(11,11,12,.88) 0%,rgba(11,11,12,.62) 42%,rgba(11,11,12,.12) 78%),linear-gradient(0deg,rgba(11,11,12,.96) 0%,rgba(11,11,12,.6) 42%,rgba(11,11,12,.18) 80%)}
.hero h1,.hero p,.hero .eyebrow,.hero .phone{text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 14px rgba(0,0,0,.85)}
.hero p{color:#f1ede6}
@media (max-width:760px){.hero .bg:after{background:linear-gradient(0deg,rgba(11,11,12,.98) 0%,rgba(11,11,12,.92) 52%,rgba(11,11,12,.72) 70%,rgba(11,11,12,.45) 84%,rgba(11,11,12,.2) 100%)}.hero .eyebrow,.hero .tagline{display:inline-block;background:rgba(11,11,12,.62);padding:5px 9px;border-radius:4px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hero .eyebrow,.hero .tagline,.hero em,.hero i{text-shadow:0 1px 2px #000,0 0 10px rgba(0,0,0,.95),0 0 22px rgba(0,0,0,.9)}}

/* ---- KE 1.0.1 blog ---- */
.ke-blog-page header{background:#0b0b0cf2}
.menu a.on{color:var(--gold)}
.blog-main{padding:130px 0 90px}
.blog-main h1{font-size:clamp(38px,5vw,64px);margin:10px 0 18px;text-shadow:none}
.blog-main .eyebrow{text-shadow:none}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--mute);margin-bottom:26px;padding:0}
.crumbs li+li:before{content:"›";margin-right:8px;color:#5a544c}
.crumbs a{color:var(--mute)}.crumbs a:hover{color:var(--gold)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.blog-grid .ph{display:block;aspect-ratio:4/3;background:center/cover}
.blog-grid time{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.blog-grid h3{font-size:26px;margin:0}.blog-grid h3 a{color:var(--ink)}
.blog-grid .more{color:var(--gold);font-size:14px}
.pager{display:flex;justify-content:space-between;margin:40px 0}.pager a{color:var(--gold)}
.blog-empty{margin:40px 0;color:var(--mute)}
.post{max-width:820px}
.post-hero{margin:10px 0 36px}.post-hero img,.post-body img{width:100%;height:auto;display:block}
.post-body{font-size:17.5px;line-height:1.8}
.post-body h2{font-size:clamp(28px,3.2vw,38px);margin:48px 0 14px}
.post-body h3{font-size:24px;margin:32px 0 10px}
.post-body p,.post-body ul,.post-body ol{margin:0 0 18px}
.post-body ul,.post-body ol{padding-left:22px}
.post-body a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.post-body strong{font-weight:600;color:#fff}
.post-body figure{margin:34px 0}
.post-body figcaption{font-size:13.5px;color:var(--mute);margin-top:10px;text-align:center}
.post-cta{margin:60px 0 20px;padding:36px;border:1px solid var(--line);background:var(--bg2)}
.post-cta h3{margin:0 0 8px;font-size:32px}
.post-cta .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px}
.post-cta .phone a{color:var(--ink)}
.post-back a{color:var(--gold)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-main{padding-top:100px}.post-cta{padding:24px}}
