:root{--bg:#111512;--card:#181e1a;--card-soft:#1d251f;--primary:#b5e832;--accent:#b5e832;--text:#f3f4ef;--muted:#a5ada7;--border:#ffffff1a;--shadow:0 14px 36px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Pretendard,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page-shell{width:min(1200px,100% - 48px);margin:0 auto}.site-header{z-index:10;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#111512eb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:82px;display:flex}.brand{letter-spacing:.12em;text-transform:uppercase;color:var(--text);font-size:1.1rem;font-weight:700}.brand span{color:var(--primary)}.nav{color:var(--muted);align-items:center;gap:30px;font-size:.96rem;display:flex}.nav a{color:var(--text);opacity:.84;transition:color .2s,opacity .2s}.nav a:hover,.nav a.active{color:var(--accent);opacity:1}.nav .contact-btn{color:var(--accent);opacity:1;background:0 0;border:1px solid #b5e8328c;border-radius:999px;padding:.75rem 1.35rem;transition:all .2s}.nav .contact-btn:hover{color:var(--accent);background:#b5e83214;border-color:#b5e832cc}.hero{padding:72px 0 48px}.hero-inner{grid-template-columns:1.12fr .88fr;align-items:center;gap:32px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#b5e8321f;border-radius:999px;padding:.6rem .9rem;font-size:.8rem;font-weight:500;display:inline-block}.hero-copy h1{letter-spacing:-.06em;color:var(--text);margin:24px 0 18px;font-size:clamp(2.6rem,5vw,5rem);font-weight:600;line-height:1.08}.hero-copy p{max-width:630px;color:var(--muted);margin:0;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.75}.cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:.9rem 1.6rem;font-weight:600;transition:all .2s;display:inline-flex}.btn.primary{background:var(--accent);color:var(--bg);box-shadow:none}.btn.primary:hover{background:#c8f13b}.btn.secondary{color:var(--text);background:0 0;border:1px solid #ffffff2e}.btn.secondary:hover{background:#ffffff08;border-color:#ffffff47}.portfolio-visual{padding:18px;position:relative}.visual-card{border:1px solid var(--border);min-height:520px;box-shadow:var(--shadow);background:linear-gradient(135deg,#1d251ffa 0%,#141b17 100%);border-radius:26px;padding:24px;position:relative;overflow:hidden}.visual-card:before{content:"";background:#b5e83214;border-radius:50%;width:180px;height:180px;position:absolute;inset:20px 20px auto auto}.visual-toolbar{align-items:center;gap:8px;margin-bottom:20px;display:flex}.dot{background:#fff3;border-radius:50%;width:12px;height:12px}.visual-panel{grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px;display:grid;position:relative}.placeholder-figure,.mini-panel{border:1px solid var(--border);backdrop-filter:blur(4px);background:#181e1ae6;border-radius:22px}.placeholder-figure{min-height:322px;padding:18px}.fig-header{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.76rem;font-weight:700;display:flex}.chart-box{background:linear-gradient(#b5e83224,#ffffff0a);border-radius:18px;height:210px;position:relative;overflow:hidden}.chart-box:before,.chart-box:after{content:"";clip-path:polygon(0 78%,14% 66%,25% 74%,36% 55%,47% 60%,58% 35%,69% 52%,80% 30%,88% 43%,100% 0,100% 100%,0 100%);background:linear-gradient(#b5e8320a,#b5e83224);height:60%;position:absolute;inset:auto 0 0}.chart-box:after{clip-path:none;background:0 0;border-bottom:1px solid #ffffff0f;border-left:1px solid #ffffff0f;height:100%;inset:0 0 auto}.mini-panel{flex-direction:column;justify-content:space-between;min-height:322px;padding:18px;display:flex}.mini-panel .stats{gap:12px;display:grid}.mini-panel .badge{width:fit-content;color:var(--accent);letter-spacing:.04em;background:#b5e8321a;border-radius:999px;padding:.45rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.mini-panel .metric{justify-content:space-between;align-items:end;gap:12px;display:flex}.metric strong{letter-spacing:-.07em;color:var(--text);font-size:2.1rem;display:block}.metric span{color:var(--muted);font-size:.84rem}.section{padding:80px 0}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:700}.section-head h2{letter-spacing:-.05em;color:var(--text);margin:8px 0 0;font-size:clamp(2.2rem,3vw,3rem)}.works-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.work-card{background:var(--card);border:1px solid var(--border);box-shadow:none;border-radius:24px;transition:transform .2s,border-color .2s;overflow:hidden}.work-card:hover{border-color:#ffffff2e;transform:translateY(-4px)}.thumb{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#1d251ffa 0%,#111512 100%);height:240px;padding:18px}.thumb-inner{background:linear-gradient(135deg,#b5e83214,#ffffff0f);border-radius:18px;width:100%;height:100%;position:relative;overflow:hidden}.thumb-inner:before{content:"";background:#b5e8321f;border-radius:12px;width:52%;position:absolute;inset:22px auto 22px 22px}.thumb-inner:after{content:"";background:#ffffff14;border-radius:14px;width:34%;height:52%;position:absolute;bottom:16px;right:18px}.card-body{padding:22px 20px 18px}.meta-row{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.74rem;display:flex}.card-title{color:var(--text);margin:0 0 8px;font-size:1.28rem;line-height:1.4}.card-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.arrow-btn{border:1px solid var(--border);background:var(--card-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.about-wrap{grid-template-columns:.96fr 1.04fr;align-items:center;gap:28px;display:grid}.about-box{background:var(--card);border:1px solid var(--border);border-radius:28px;padding:32px 30px}.about-box h3{letter-spacing:-.06em;color:var(--text);margin:0 0 16px;font-size:clamp(2rem,3vw,3rem);line-height:1.3}.about-box p{color:var(--muted);margin:0;font-size:1.03rem;line-height:1.8}.about-visual{border:1px solid var(--border);min-height:360px;box-shadow:var(--shadow);background:linear-gradient(135deg,#1d251ffa 0%,#111512 100%);border-radius:28px;padding:28px;position:relative;overflow:hidden}.about-visual:before,.about-visual:after{content:"";border:1px solid var(--border);background:#b5e83214;border-radius:24px;position:absolute}.about-visual:before{inset:36px 90px 120px 36px}.about-visual:after{inset:120px 36px 36px 120px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.service-card{background:var(--card);border:1px solid var(--border);box-shadow:none;border-radius:24px;padding:26px 22px;transition:transform .2s,border-color .2s}.service-card:hover{border-color:#ffffff2e;transform:translateY(-4px)}.service-icon{width:52px;height:52px;color:var(--accent);background:#b5e8321a;border-radius:16px;place-items:center;margin-bottom:18px;font-size:1.4rem;font-weight:700;display:grid}.service-card h4{letter-spacing:-.04em;color:var(--text);margin:0 0 10px;font-size:1.6rem}.service-card p{color:var(--muted);margin:0;line-height:1.8}.contact-banner{padding:22px 0 72px;position:relative}.contact-banner:before,.contact-banner:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.contact-banner:before{opacity:.65;background:radial-gradient(circle,#ffffff2e 0%,#ffffff0a 52%,#0000 72%);width:420px;height:420px;top:50%;right:5%;transform:translateY(-50%)}.contact-banner:after{opacity:.35;background:radial-gradient(circle,#1115121f 0%,#1115120a 50%,#0000 75%);width:260px;height:260px;bottom:-120px;right:18%}.contact-inner{background:#b5e832;border:1px solid #11151214;border-radius:30px;grid-template-columns:minmax(0,1.35fr) auto;align-items:center;gap:28px;padding:clamp(30px,4.5vw,56px);display:grid;position:relative;overflow:hidden}.contact-copy{z-index:1;max-width:700px;position:relative}.contact-inner h3{letter-spacing:-.06em;color:#111512;margin:0;font-size:clamp(2.2rem,4vw,4rem);line-height:1.08}.contact-inner p{color:#111512b8;margin:14px 0 0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.8}.contact-banner .contact-btn{z-index:1;color:#b5e832;min-height:64px;box-shadow:none;white-space:nowrap;background:#111512;border:1px solid #1115121f;padding:.95rem 1.8rem;position:relative}.contact-banner .contact-btn:hover{color:#b5e832;background:#111512;border-color:#1115122e;transform:translateY(-2px)}.site-footer{border-top:1px solid var(--border);background:var(--bg)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:28px 0 42px;display:flex}.footer-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:1.1rem;font-weight:700}.footer-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:24px;display:flex}.footer-copy{color:var(--muted)}.floating-kakao{color:#111512;z-index:9999;background:#b5e832;border-radius:999px;justify-content:center;align-items:center;padding:14px 24px;font-weight:700;line-height:1;transition:transform .2s,filter .2s;display:inline-flex;position:fixed;bottom:28px;right:28px;box-shadow:0 6px 24px #0000002e}.floating-kakao:hover{filter:brightness(1.04);transform:translateY(-2px)}@media (width<=1024px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner,.about-wrap,.service-grid{grid-template-columns:1fr}.portfolio-visual{padding-top:0}}@media (width<=720px){.page-shell{width:min(100% - 28px,1200px)}.header-inner{flex-wrap:wrap;justify-content:center;padding:18px 0}.nav{flex-wrap:wrap;justify-content:center;gap:12px 18px;width:100%}.hero{padding-top:42px}.section{padding:66px 0}.section-head{flex-direction:column;align-items:flex-start}.works-grid,.service-grid{grid-template-columns:1fr}.thumb{height:210px}.about-box{padding:24px 20px}.visual-card{min-height:420px}.visual-panel{grid-template-columns:1fr}.footer-inner{text-align:center;justify-content:center}.floating-kakao{padding:12px 18px;bottom:16px;right:16px}}
