:root{
  --ink:#1f1f1f;
  --muted:#5d5d5d;
  --line:#e7e3df;
  --bg:#faf9f7;
  --soft:#f3f1ee;
  --card:#f6f3ef;
  --deep:#222324;
  --white:#fff;
  --shadow:0 24px 60px rgba(26,26,26,.08);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.72;word-break:keep-all}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,247,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);height:110px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:160px 1fr 160px;align-items:center}.brand{display:inline-flex;width:52px;height:52px;align-items:center}.brand-logo{width:42px;height:auto;color:var(--ink)}.gnb{display:flex;justify-content:center;gap:56px;align-items:center}.gnb a{position:relative;color:#171717;text-decoration:none;font-size:15px;font-weight:600;padding:42px 4px}.gnb a::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:var(--ink);transform:translateX(-50%);transition:.25s}.gnb a:hover::after,.gnb a.active::after{width:68px}.header-contact{justify-self:end;text-decoration:none;color:#fff;background:#242424;padding:9px 22px;border-radius:999px;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 22px rgba(0,0,0,.18)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;justify-self:end}.menu-toggle span{display:block;width:24px;height:2px;background:#222;margin:6px auto;transition:.25s}.container{max-width:var(--max);margin:0 auto;padding:0 34px}.section{min-height:620px;padding:110px 0;border-bottom:1px solid var(--line);display:flex;align-items:center}.hero{min-height:690px}.soft{background:linear-gradient(120deg,#f6f5f3 0%,#fbfaf8 52%,#f2f0ed 100%)}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.copy-block{max-width:540px}.eyebrow{margin:0 0 14px;color:#777;font-size:14px;letter-spacing:.18em;text-transform:uppercase}.copy-block h1{margin:0 0 38px;font-size:44px;line-height:1.26;letter-spacing:-.055em;font-weight:700}.copy-block h2{margin:0 0 34px;font-size:30px;line-height:1.2;letter-spacing:-.035em;font-weight:500}.lead{font-size:19px;color:#333;line-height:1.8;margin:0 0 42px}.body-text{margin:0 0 9px;font-size:18px;color:#303030;line-height:1.82}.btn{display:inline-flex;align-items:center;gap:15px;text-decoration:none;border-radius:999px;margin-top:34px;padding:12px 24px;font-weight:700;font-size:15px;transition:.25s}.btn span{font-size:18px;line-height:1}.btn-dark{background:#232323;color:#fff;box-shadow:0 16px 32px rgba(0,0,0,.18)}.btn-line{border:1px solid #747474;color:#1f1f1f;background:rgba(255,255,255,.34)}.btn:hover{transform:translateY(-3px)}.visual-wrap{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center}.orb{position:absolute;width:min(360px,70vw);height:min(360px,70vw);border-radius:50%;background:radial-gradient(circle at 42% 38%,#fbfaf7 0%,#efebe6 54%,#e8e4df 100%);box-shadow:inset 18px 26px 52px rgba(255,255,255,.72),0 22px 60px rgba(48,42,36,.06)}.section-icon{position:relative;z-index:2;width:150px;height:150px;color:#222;object-fit:contain}.laptop-icon{width:174px}.mail-icon{width:162px}.dot{position:absolute;z-index:1;width:16px;height:16px;border-radius:50%;background:#d3d3d3}.d1{left:17%;top:28%;background:#fff}.d2{left:12%;top:38%;background:#fff}.d3{right:16%;top:38%}.d4{right:18%;top:48%;background:#e8e5e0}.quote-block{position:relative}.quote-mark{position:absolute;left:0;top:42px;margin:0;color:#d5d3d0;font-family:Georgia,serif;font-size:70px;line-height:1}.quote-block .body-text{padding-left:42px}.portfolio-card{position:relative;min-height:290px;border-radius:16px;background:linear-gradient(135deg,#f8f6f3,#ebe7e2);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.portfolio-card img{width:92px}.portfolio-card strong{font-size:19px;font-weight:600}.slider-dots{position:absolute;bottom:-42px;left:50%;transform:translateX(-50%);display:flex;gap:14px}.slider-dots span{width:8px;height:8px;border-radius:50%;background:#d6d6d6}.slider-dots .active{background:#111}.site-footer{background:radial-gradient(circle at 50% 0%,#3b3b3b,#202122 58%,#191a1b);color:#fff;text-align:center;padding:72px 24px 64px}.footer-logo{display:inline-flex;margin-bottom:20px}.footer-logo img{width:60px;color:#fff;filter:invert(1)}.site-footer h2{font-size:22px;margin:0 0 6px;font-weight:600}.site-footer p{margin:0 0 28px;color:#c5c5c5}.socials{display:flex;justify-content:center;gap:18px;margin-bottom:28px}.socials a{width:24px;height:24px;border-radius:50%;background:#eee;color:#222;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.site-footer small{display:block;color:#8d8d8d}.to-top{position:fixed;right:34px;bottom:34px;width:52px;height:52px;border-radius:50%;background:#fff;color:#222;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 16px 40px rgba(0,0,0,.16)}.page-hero{padding:120px 0 80px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,#fbfaf8,#f1efec)}.page-hero h1{font-size:48px;letter-spacing:-.04em;margin:0 0 18px}.page-hero p{max-width:760px;font-size:20px;margin:0;color:#444}.content-section{padding:86px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 16px 40px rgba(0,0,0,.04)}.card h3{margin:0 0 12px;font-size:21px}.card p{margin:0;color:#555}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.contact-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px}.contact-panel input,.contact-panel textarea{width:100%;border:1px solid #ddd;background:#fbfaf8;border-radius:12px;padding:15px;margin-bottom:14px;font:inherit}.contact-panel textarea{min-height:150px;resize:vertical}.contact-panel button{border:0;cursor:pointer}.reveal{animation:rise .75s ease both}.delay-1{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (max-width:920px){.header-inner{height:82px;grid-template-columns:1fr auto;padding:0 22px}.brand-logo{width:36px}.menu-toggle{display:block}.header-contact{display:none}.gnb{position:fixed;top:82px;left:0;right:0;background:rgba(250,249,247,.97);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:0;transform:translateY(-130%);transition:.28s;box-shadow:0 20px 50px rgba(0,0,0,.08)}.gnb.open{transform:translateY(0)}.gnb a{text-align:center;padding:20px 4px}.gnb a::after{display:none}.section,.hero{min-height:auto;padding:86px 0}.split-grid{grid-template-columns:1fr;gap:36px}.reverse-on-mobile .visual-wrap{order:2}.reverse-on-mobile .copy-block{order:1}.copy-block h1{font-size:36px;margin-bottom:28px}.copy-block h2{font-size:28px}.lead,.body-text{font-size:17px}.visual-wrap{min-height:310px}.cards,.contact-box{grid-template-columns:1fr}.page-hero h1{font-size:40px}}@media (max-width:560px){.container{padding:0 22px}.section,.hero{padding:68px 0}.copy-block h1{font-size:30px}.copy-block h2{font-size:25px}.lead,.body-text{font-size:16px}.quote-block .body-text{padding-left:30px}.quote-mark{font-size:56px}.visual-wrap{min-height:260px}.orb{width:245px;height:245px}.section-icon{width:112px}.laptop-icon{width:132px}.portfolio-card{min-height:240px}.to-top{right:18px;bottom:18px;width:46px;height:46px}.gnb a{font-size:14px}.page-hero{padding:82px 0 56px}.page-hero h1{font-size:34px}.page-hero p{font-size:17px}}
