:root{
  --ink:#0B0D10; --blue:#00A3E8; --orange:#F79233; --muted:#5A6472; --soft:#6B7481;
  --bg-soft:#F5F7FA; --bg-card:#F4F7FA; --line:#E7ECF2;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ink);font-family:'IBM Plex Sans KR',sans-serif;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--orange);}
h1,h2,h3,h4{margin:0;}
p{margin:0;}
.wrap{max-width:1440px;margin:0 auto;padding:0 56px;}
.en{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;}
.eyebrow{font-family:'Chakra Petch',sans-serif;font-size:13px;font-weight:600;letter-spacing:.22em;color:var(--blue);}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #EDF0F4;}
.nav-in{max-width:1440px;margin:0 auto;padding:0 56px;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav img{height:52px;width:auto;}
.nav-links{display:flex;align-items:center;gap:38px;font-size:15px;font-weight:500;}
.nav-links a{color:var(--ink);}
.nav-links a.on{color:var(--blue);font-weight:600;}
.nav-cta{display:flex;align-items:center;gap:16px;}
.btn{display:inline-block;padding:13px 24px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;}
.btn:hover{background:var(--blue);color:#fff;}
.btn-lg{padding:17px 32px;font-size:15px;}
.btn-blue{background:var(--blue);}
.btn-blue:hover{background:var(--ink);}
.btn-ghost{background:#fff;border:1.5px solid #D8DEE7;color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-white{background:#fff;color:var(--ink);}
.btn-white:hover{background:var(--ink);color:#fff;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;}
.burger span{display:block;width:22px;height:2px;background:var(--ink);}
.burger span:last-child{width:14px;background:var(--blue);}

/* hero */
.hero{position:relative;padding:96px 0 0;background:linear-gradient(180deg,#F7FAFC 0%,#fff 100%);overflow:hidden;}
.hero::after{content:"";position:absolute;top:-160px;right:-120px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(0,163,232,.22),rgba(0,163,232,0) 65%);}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero h1{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;font-weight:700;font-size:clamp(48px,6vw,84px);line-height:.98;letter-spacing:-.03em;}
.hero h1 span{color:var(--blue);}
.hero p.lead{font-size:19px;line-height:1.75;color:#4E5866;max-width:520px;text-wrap:pretty;}
.hero-col{display:flex;flex-direction:column;gap:28px;}
.tagline{display:flex;align-items:center;gap:10px;}
.tagline i{display:block;width:26px;height:3px;background:var(--orange);}
.hero-media{position:relative;}
.hero-media .shot{height:460px;border-radius:24px;overflow:hidden;background:var(--ink);animation:float 7s ease-in-out infinite;}
.hero-media .shot img{width:100%;height:100%;object-fit:cover;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.hero-media .shot{animation:none}}
.badge{position:absolute;left:-28px;bottom:36px;padding:18px 22px;background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(11,13,16,.14);display:flex;flex-direction:column;gap:4px;}
.badge b{font-family:'Chakra Petch',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--orange);}
.badge span{font-size:15px;font-weight:600;}
.strip{position:relative;z-index:1;margin-top:72px;padding:26px 0;border-top:1px solid #E7ECF2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:'Chakra Petch',sans-serif;font-size:15px;font-weight:600;letter-spacing:.14em;color:#8B94A2;}
.strip i{color:#DDE3EA;font-style:normal;}

/* sections */
.sec{padding:104px 0;}
.sec-soft{background:var(--bg-soft);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px;flex-wrap:wrap;}
.sec-head h2{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;font-weight:700;font-size:clamp(34px,4vw,50px);line-height:1.12;letter-spacing:-.02em;}
.sec-head .hcol{display:flex;flex-direction:column;gap:16px;}
.sec-head p{font-size:16px;line-height:1.8;color:var(--muted);max-width:360px;margin-bottom:8px;}
.link-more{font-size:15px;font-weight:600;color:var(--ink);border-bottom:2px solid var(--orange);padding-bottom:4px;}

/* service */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc-hero{grid-column:span 2;padding:40px;border-radius:20px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;min-height:280px;}
.svc-hero h3{font-size:30px;font-weight:700;line-height:1.3;}
.svc-hero p{font-size:15px;line-height:1.8;color:#A7B0BD;}
.svc-hero .shot{height:200px;border-radius:14px;overflow:hidden;}
.svc-hero .shot img{width:100%;height:100%;object-fit:cover;}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px;}
.tags span{padding:7px 14px;border-radius:999px;border:1px solid #2A2F38;font-size:13px;color:#D3D9E2;}
.num{font-family:'Chakra Petch',sans-serif;font-size:13px;font-weight:600;letter-spacing:.18em;color:var(--blue);}
.card{padding:36px;border-radius:20px;background:var(--bg-card);display:flex;flex-direction:column;gap:14px;justify-content:flex-end;min-height:250px;}
.card h3{font-size:27px;font-weight:700;line-height:1.3;}
.card p{font-size:15px;line-height:1.8;color:var(--muted);}
.card-blue{background:var(--blue);color:#fff;min-height:280px;}
.card-blue .num{color:rgba(255,255,255,.75);}
.card-blue p{color:rgba(255,255,255,.88);}
.card-warm{background:#FFF2E4;border:1px solid #FBE0C4;}
.card-warm .num{color:#E07C1B;}
.card-warm p{color:#7A5A38;}

/* works */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.work{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(11,13,16,.06);transition:transform .3s ease,box-shadow .3s ease;}
.work:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(11,13,16,.12);}
.work .shot{height:230px;overflow:hidden;}
.work .shot img{width:100%;height:100%;object-fit:cover;}
.work-body{padding:24px;display:flex;flex-direction:column;gap:9px;}
.work-body b{font-family:'Chakra Petch',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--blue);}
.work-body b.warm{color:var(--orange);}
.work-body h4{font-size:20px;font-weight:600;}
.work-body p{font-size:14px;line-height:1.7;color:var(--soft);}
.work-more{background:var(--ink);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;gap:20px;}
.work-more h4{font-size:26px;font-weight:700;line-height:1.35;}
.work-more p{font-size:14px;line-height:1.7;color:#98A2AF;}

/* cta band */
.cta{padding:88px 0;background:var(--blue);}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.cta h2{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;font-weight:700;font-size:clamp(30px,3.6vw,46px);line-height:1.2;letter-spacing:-.02em;color:#fff;}
.cta .eyebrow{color:rgba(255,255,255,.8);}
.cta-col{display:flex;flex-direction:column;gap:16px;}

/* about */
.page-head{padding:84px 0 72px;background:var(--bg-soft);}
.page-head h1{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;font-weight:700;font-size:clamp(40px,5.5vw,64px);line-height:1.1;letter-spacing:-.03em;max-width:1000px;}
.page-head .wrap{display:flex;flex-direction:column;gap:22px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split h2{font-size:30px;font-weight:700;line-height:1.45;letter-spacing:-.01em;}
.split p{font-size:17px;line-height:1.85;color:var(--muted);text-wrap:pretty;}
.split-col{display:flex;flex-direction:column;gap:22px;}
.split .shot{height:440px;border-radius:22px;overflow:hidden;}
.split .shot img{width:100%;height:100%;object-fit:cover;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.step{padding:32px;border-radius:18px;background:var(--bg-card);display:flex;flex-direction:column;gap:12px;}
.step b{font-family:'Chakra Petch',sans-serif;font-size:34px;font-weight:700;color:var(--blue);}
.step h3{font-size:19px;font-weight:600;}
.step p{font-size:14px;line-height:1.75;color:var(--soft);}
.step-warm{background:#FFF2E4;border:1px solid #FBE0C4;}
.step-warm b{color:#E07C1B;}
.step-warm p{color:#7A5A38;}
.company{padding:88px 0;background:var(--ink);}
.company .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;}
.company h2{font-family:'Chakra Petch','IBM Plex Sans KR',sans-serif;font-weight:700;font-size:40px;line-height:1.2;letter-spacing:-.02em;color:#fff;}
.company .intro{display:flex;flex-direction:column;gap:14px;}
.company .intro p{font-size:15px;line-height:1.8;color:#8E98A6;margin-top:8px;}
.rows{display:flex;flex-direction:column;}
.row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 0;border-top:1px solid #1C2129;font-size:16px;}
.row:last-child{border-bottom:1px solid #1C2129;}
.row dt{color:#7C8694;margin:0;}
.row dd{color:#fff;margin:0;}
.mini-cta{padding:56px 0;background:var(--bg-soft);}
.mini-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.mini-cta h3{font-size:26px;font-weight:700;line-height:1.4;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start;}
.form{padding:44px;border-radius:22px;border:1px solid var(--line);display:flex;flex-direction:column;gap:26px;}
.field{display:flex;flex-direction:column;gap:10px;}
.field label{font-size:14px;font-weight:600;}
.field .req{color:var(--orange);}
.field input,.field textarea,.field select{height:52px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line);padding:0 16px;font-size:15px;font-family:inherit;color:var(--ink);width:100%;}
.field textarea{height:150px;padding:16px;line-height:1.7;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue);background:#fff;}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.agree{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);}
.agree input{width:20px;height:20px;accent-color:var(--blue);}
.submit{padding:19px;border-radius:14px;background:var(--ink);color:#fff;font-size:16px;font-weight:600;border:0;font-family:inherit;cursor:pointer;}
.submit:hover{background:var(--blue);}
.aside{display:flex;flex-direction:column;gap:20px;}
.direct{padding:34px;border-radius:22px;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:22px;}
.direct .eyebrow{font-size:13px;}
.direct div{display:flex;flex-direction:column;gap:5px;}
.direct small{font-size:13px;color:#7C8694;}
.direct a,.direct b{font-size:17px;font-weight:600;color:#fff;}
.map{border-radius:22px;overflow:hidden;border:1px solid var(--line);}
.map .shot{height:200px;overflow:hidden;}
.map .shot img{width:100%;height:100%;object-fit:cover;}
.map-body{padding:24px;display:flex;flex-direction:column;gap:8px;}
.map-body b{font-size:15px;font-weight:600;}
.map-body p{font-size:14px;line-height:1.75;color:var(--soft);}
.faq{padding:30px;border-radius:22px;background:var(--bg-card);display:flex;flex-direction:column;gap:18px;}
.faq div{display:flex;flex-direction:column;gap:8px;}
.faq b{font-size:15px;font-weight:600;}
.faq p{font-size:14px;line-height:1.75;color:var(--soft);}
.faq hr{border:0;height:1px;background:#E3E9EF;margin:0;}

/* footer */
.foot{padding:64px 0 44px;background:var(--ink);color:#8E98A6;}
.foot .wrap{display:flex;flex-direction:column;gap:40px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.foot-logo{display:inline-flex;padding:10px 14px;background:#fff;border-radius:12px;width:fit-content;}
.foot-logo img{height:44px;}
.foot-brand{display:flex;flex-direction:column;gap:18px;}
.foot-brand p{font-size:14px;line-height:1.8;}
.foot-col{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.foot-col b{font-family:'Chakra Petch',sans-serif;font-weight:600;letter-spacing:.14em;color:#fff;font-size:12px;}
.foot-col a{color:#8E98A6;}
.foot-col a:hover{color:#fff;}
.foot-bot{padding-top:28px;border-top:1px solid #1C2129;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;}

/* responsive */
@media (max-width:1100px){
  .wrap,.nav-in{padding:0 32px;}
  .hero-grid,.split{grid-template-columns:1fr;gap:40px;}
  .hero-media .shot{height:360px;}
  .split .shot{height:340px;}
  .badge{left:16px;}
  .svc,.works{grid-template-columns:repeat(2,1fr);}
  .svc-hero{grid-column:span 2;grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .company .wrap,.contact-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:760px){
  .wrap,.nav-in{padding:0 20px;}
  .nav-in{height:64px;}
  .nav img{height:38px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:#fff;border-bottom:1px solid #EDF0F4;padding:8px 20px 16px;}
  .nav-links.open a{padding:14px 0;width:100%;border-bottom:1px solid #F2F5F8;}
  .nav-cta .btn{display:none;}
  .burger{display:flex;}
  .hero{padding:36px 0 0;}
  .hero-col{gap:20px;}
  .hero p.lead{font-size:16px;}
  .hero-media .shot{height:240px;}
  .badge{position:static;margin-top:14px;box-shadow:none;border:1px solid var(--line);}
  .strip{margin-top:36px;font-size:12px;gap:10px;justify-content:flex-start;}
  .strip i{display:none;}
  .sec{padding:56px 0;}
  .sec-head{margin-bottom:28px;gap:16px;}
  .svc,.works,.steps,.field-2{grid-template-columns:1fr;}
  .svc-hero{grid-column:span 1;padding:28px;min-height:0;}
  .card,.card-blue{min-height:0;padding:28px;}
  .form{padding:28px;}
  .page-head{padding:44px 0 36px;}
  .company{padding:56px 0;}
  .row{grid-template-columns:1fr;gap:6px;padding:16px 0;font-size:15px;}
  .cta{padding:56px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .foot{padding:44px 0 32px;}
}