:root{--ink:#14202b;--muted:#68727b;--bg:#f7f8f4;--paper:#fff;--line:#dee4df;--night:#101923;--night2:#182632;--mint:#baffd9;--forest:#24684f;--radius:19px;--font:"DM Sans","Noto Sans KR",sans-serif;--display:"Manrope","Noto Sans KR",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;word-break:keep-all;-webkit-font-smoothing:antialiased}
body.lock-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #6fcfa2;outline-offset:4px}
img,svg{display:block}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(100% - 88px,1232px);margin:0 auto}
.skip-link{position:fixed;left:15px;top:-120px;z-index:999;background:#fff;color:#000;padding:10px 18px;border-radius:8px}
.skip-link:focus{top:12px}
.header{position:absolute;left:0;right:0;top:0;z-index:40;color:#eff7f2;border-bottom:1px solid rgba(255,255,255,.10)}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{font:800 26px var(--display);display:flex;align-items:center;gap:12px;letter-spacing:-1.25px;white-space:nowrap}
.logo-soft{font-weight:500}
.logo-dot,.footer-brand span{color:var(--mint)}
.logo-mark{width:32px;height:32px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:4px;transform:rotate(-9deg)}
.logo-mark i{background:var(--mint);border-radius:5px 5px 3px 5px}
.logo-mark i:nth-child(2){background:#75c8ad;border-radius:8px 3px 8px 3px}
.logo-mark i:nth-child(3){background:#4f968a;border-radius:8px 3px 8px 3px}
.logo-mark i:nth-child(4){background:#d5ffe5;border-radius:3px 8px 4px 8px}
.desktop-nav{display:flex;align-items:center;gap:33px;margin-left:auto}
.desktop-nav a{font-size:14px;font-weight:600;color:#c1cbc8;transition:color .2s}
.desktop-nav a:hover{color:#fff}
.header-cta{font-size:13px;font-weight:700;display:flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:13px 19px;margin-left:20px;white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:#effff4;color:var(--night)}
.header-cta .icon{width:15px;height:15px}
.menu-button{border:0;background:transparent;color:white;display:none;cursor:pointer;padding:8px}
.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--night);padding:8px 24px 20px;box-shadow:0 22px 28px #0004}
.mobile-nav[hidden]{display:none}
.mobile-nav a{display:block;border-bottom:1px solid #ffffff20;padding:17px 8px;font-size:15px}
.hero{background:var(--night);color:#fff;position:relative;overflow:hidden;min-height:800px;padding-top:92px}
.hero-grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(to right,transparent calc(100% - 1px),#6a8078 1px),linear-gradient(to bottom,transparent calc(100% - 1px),#6a8078 1px);background-size:72px 72px;mask-image:linear-gradient(to left,black,transparent 75%)}
.hero-glow{position:absolute;width:700px;height:700px;background:radial-gradient(circle,#376f5b 0%,#2a534850,transparent 65%);right:-230px;top:110px;filter:blur(35px);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:35px;align-items:center;min-height:644px;padding-top:25px;position:relative}
.hero-content{padding:72px 0 60px;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:10px;color:#bad8c6;font-size:10px;font-weight:800;letter-spacing:2px;white-space:nowrap;margin:0 0 43px}
.signal-dot{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px #baffd91a}
.eyebrow-rule{width:25px;height:1px;background:#83a59780}
.hero h1{font-size:clamp(45px,4.9vw,76px);font-weight:800;letter-spacing:-4.8px;line-height:1.31;margin:0 0 29px}
.hero-highlight{color:var(--mint)}
.period{color:white}
.hero-lead{color:#b5c2c4;font-size:17px;font-weight:400;line-height:2.04;letter-spacing:-.6px;margin:0 0 35px}
.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}
.button{border:0;border-radius:8px;display:inline-flex;gap:22px;justify-content:center;align-items:center;font-weight:700;font-size:14px;padding:17px 21px;min-height:54px;cursor:pointer;transition:transform .2s,background .2s,color .2s,border .2s}
.button:hover{transform:translateY(-3px)}
.button .icon{width:18px;height:18px}
.button-primary{background:var(--mint);color:#12251e}
.button-primary:hover{background:#d3ffea}
.button-outline{border:1px solid #596871;background:#fff0;color:#f1f6f3}
.button-outline:hover{background:#ffffff16}
.hero-signature{display:flex;align-items:center;gap:11px;color:#829a9d;font-size:12px;letter-spacing:.3px;margin-top:64px}
.hero-signature span{color:var(--mint);font-size:24px}
.hero-visual{height:590px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.orbit{position:absolute;border:1px solid rgba(173,254,203,.14);border-radius:50%;transform:rotate(-17deg)}
.orbit-a{width:520px;height:520px}
.orbit-b{width:400px;height:400px}
.visual-window{position:relative;width:min(100%,500px);border:1px solid #7da29359;box-shadow:0 45px 100px #0008,0 0 45px #6bd4a512;transform:rotate(-4deg);background:#f7f9f4;border-radius:15px;overflow:hidden;z-index:2}
.window-bar{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:#e6eee9;border-bottom:1px solid #d5e0d8;color:#83948b;font-size:11px}
.window-dots{display:flex;gap:6px}
.window-dots i{height:8px;width:8px;background:#adc4b6;border-radius:50%}
.window-dots i:first-child{background:#e5a28f}.window-dots i:nth-child(2){background:#e5cd9c}
.window-bar-icon{font-size:20px}
.window-body{color:#233a36;padding:41px 38px 25px;background:linear-gradient(140deg,#fff 0%,#f0f6ee 100%)}
.window-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#6e9383;margin-bottom:23px}
.window-heading{font:800 clamp(35px,3.3vw,53px)/1.19 var(--display);letter-spacing:-2.9px}
.window-heading span{color:#79bda1}
.window-heading em{font-style:normal;color:#1b7d5d}
.window-separator{height:1px;background:#dce7de;margin:39px 0 25px}
.window-lines{display:grid;gap:9px;margin-bottom:43px}
.window-lines span{height:7px;background:#dce8dd;border-radius:20px;width:70%}
.window-lines span:nth-child(2){width:88%;background:#e8eee6}
.window-lines span:nth-child(3){width:47%;background:#e8eee6}
.window-bottom{display:flex;align-items:center;gap:10px;font-size:11px;color:#78897d}
.mini-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#143f32;color:#d9ffe3;font:800 18px var(--display)}
.mini-pill{margin-left:auto;color:#176b4a;background:#d9f5e5;font-size:10px;font-weight:800;padding:8px 10px;border-radius:99px}
.floating-note{position:absolute;z-index:4;box-shadow:0 16px 40px #0005}
.note-top{top:55px;right:-13px;background:#d9ffdd;color:#194b33;padding:14px 20px;display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:1px;font-weight:800;border-radius:8px;transform:rotate(5deg)}
.note-star{font-size:24px}
.note-bottom{left:-8px;bottom:68px;display:flex;align-items:center;gap:12px;background:white;color:#263b33;padding:14px 19px;border-radius:10px;transform:rotate(4deg)}
.success-mark{width:38px;height:38px;background:#d9f6e4;display:grid;place-items:center;border-radius:50%;color:#237e58}
.note-bottom strong{font-size:12px;display:block;margin-bottom:5px}
.note-bottom small{font-size:10px;color:#7f8d82}
.art-asterisk{position:absolute;right:3px;bottom:34px;font-size:73px;color:#baffd9;animation:slowspin 24s linear infinite}
.hero-bottom{display:flex;align-items:center;gap:16px;color:#85979a;font-size:10px;font-weight:800;letter-spacing:2px;padding-bottom:35px}
.hero-bottom .scroll-rule{width:82px;height:1px;background:#6c8685}
.hero-bottom span:last-child{margin-left:auto}
.section{padding:130px 0}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.5px;display:flex;align-items:center;gap:15px;margin:0 0 28px}
.dark-eyebrow{color:#5e7f70}
.eyebrow-index{color:#1c664b;background:#e5f3e9;padding:7px 8px;border-radius:5px;letter-spacing:0;font-size:10px}
.section-heading{font-size:clamp(35px,3.5vw,52px);line-height:1.41;letter-spacing:-2.5px;font-weight:800;margin:0}
.serif-accent{color:#28795e}
.muted-heading{color:#818c8a}
.intro{background:var(--paper)}
.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.intro-right{padding-top:27px;max-width:510px}
.intro-description{font-size:19px;line-height:2;letter-spacing:-.65px;margin:0 0 20px;color:#4b5a58}
.intro-description strong{color:#1b2d2b;font-weight:700}
.intro-right>p:not(.intro-description){font-size:15px;color:#707e79;line-height:1.95;margin:0 0 28px}
.text-link{font-size:14px;font-weight:800;display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #2a8163;padding-bottom:10px;color:#195e47}
.text-link .icon{width:17px;height:17px}
.text-link:hover{color:#2bb184}
.services{background:#f4f6f2}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:50px}
.section-sidecopy{font-size:14px;color:#687a70;line-height:1.8;margin:0 0 7px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{min-height:367px;background:white;border:1px solid #e4e9e3;border-radius:13px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px #1a4c3120;border-color:#b1d5c0}
.service-top{display:flex;justify-content:space-between;align-items:start}
.service-number{font-size:10px;color:#7c8d83;letter-spacing:1.5px;font-weight:800}
.service-icon{width:56px;height:56px;background:#eff8f1;border:1px solid #d8eae0;border-radius:13px;color:#317f60;display:grid;place-items:center}
.service-icon .icon{width:25px;height:25px}
.service-card h3{font-size:22px;letter-spacing:-1.1px;margin:0 0 16px}
.service-card p{font-size:14px;line-height:1.85;color:#6a7871;min-height:80px;margin:0 0 20px}
.tag-list,.project-tags,.dialog-tags{display:flex;gap:7px;flex-wrap:wrap}
.tag-list span{background:#f0f4ef;color:#6a7c71;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:700;white-space:nowrap}
.work{background:#fff}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 24px}
.project-card{min-width:0}
.project-art{height:350px;position:relative;overflow:hidden;border-radius:13px;isolation:isolate;transition:transform .25s}
.project-card:hover .project-art{transform:translateY(-4px)}
.project-art::before{content:"";position:absolute;inset:0;opacity:.42;background-image:linear-gradient(#fff2 1px,transparent 1px),linear-gradient(90deg,#fff2 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(black,transparent 90%);pointer-events:none}
.art-coordinate{position:absolute;left:28px;top:26px;font-size:10px;letter-spacing:2px;font-weight:800;z-index:3}
.art-corner-mark{position:absolute;right:25px;bottom:20px;font:800 35px var(--display);letter-spacing:-2px;opacity:.3;z-index:3}
.art-clothes{background:#eee6f4;color:#725b88}
.clothes-illustration{position:absolute;left:50%;top:51%;width:74%;max-width:400px;height:246px;transform:translate(-50%,-50%) rotate(-5deg);background:#fffafd;border:1px solid #d4c2dc;box-shadow:0 22px 50px #75618c40;border-radius:13px;padding:14px 18px;overflow:hidden}
.clothes-topbar{height:20px;display:flex;align-items:center;justify-content:space-between;color:#806c91;font-size:10px;font-weight:800;letter-spacing:.3px}
.clothes-topdots{color:#d2a2cd;letter-spacing:2px;font-size:7px}
.clothes-preview{height:169px;margin-top:8px;position:relative;overflow:hidden;border-radius:9px;background:linear-gradient(120deg,#eee9f4,#f9e5e9 70%,#e9e3f2);border:1px solid #eadde9}
.clothes-avatar{height:180px;width:168px;position:absolute;left:50%;top:7px;transform:translateX(-50%)}
.clothes-head{position:absolute;left:57px;top:0;width:54px;height:65px;background:#dfad9d;border-radius:46% 46% 47% 47%;box-shadow:inset 4px 6px #c7918666;z-index:2}
.clothes-head::before{content:"";position:absolute;top:-5px;left:-4px;width:62px;height:26px;border-radius:65% 50% 30% 15%;background:#3e3445;transform:rotate(2deg)}
.clothes-neck{position:absolute;left:71px;top:56px;width:27px;height:32px;background:#cf998a;border-radius:0 0 9px 9px;z-index:1}
.clothes-shirt{position:absolute;left:0;top:72px;width:168px;height:125px;background:#9e70a7;clip-path:polygon(16% 0,34% 0,43% 9%,57% 9%,66% 0,84% 0,100% 27%,91% 45%,84% 35%,84% 100%,16% 100%,16% 35%,9% 45%,0 27%);z-index:2}
.clothes-fabric{position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 12px,#f7c6ed55 13px 17px,transparent 18px 31px),linear-gradient(110deg,#c0a0d5,#9566a1 52%,#bc9bc5);opacity:.95}
.clothes-color{position:absolute;left:16px;width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px #78617b44}
.color-one{top:23px;background:#bc89c4}.color-two{top:45px;background:#8dada3}.color-three{top:67px;background:#d7a28e}
.clothes-live{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:50px;background:#fffdfde0;color:#6b5778;font-size:8px;font-weight:800;letter-spacing:.6px}
.clothes-live-dot{width:6px;height:6px;background:#46c999;border-radius:50%;box-shadow:0 0 0 2px #46c99922}
.clothes-bottom{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:8px;color:#8f7c9d;font-size:9px;font-weight:800;letter-spacing:1.4px}
.clothes-bottom span{font-size:16px;color:#b797c3;line-height:1}
.art-meet{background:#dce9ef;color:#4f768d}
.meet-map{position:absolute;left:23%;top:17%;width:55%;height:75%;background:linear-gradient(135deg,#f2f8f8cc,#f7fbfd88);transform:rotate(-8deg);border-radius:50%;border:1px solid #ffffffc0}
.map-path{display:block;position:absolute;height:170%;width:28px;top:-30%;left:40%;background:#d6e3e5;transform:rotate(41deg)}
.path-two{left:70%;transform:rotate(-22deg);background:#c2d9d3}
.path-three{left:20%;transform:rotate(-45deg);background:#c2d9d3}
.map-dot{position:absolute;border:4px solid white;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#588fbc;color:white;font-size:14px;font-weight:800;z-index:2;box-shadow:0 8px 20px #376a8066}
.dot-one{left:9%;top:35%}.dot-two{right:1%;top:48%;background:#639b88}.dot-mid{left:47%;top:43%;background:#193d56;font-size:22px;width:48px;height:48px}
.map-connect{position:absolute;left:23%;top:52%;height:2px;width:60%;border-top:2px dashed #517a96;transform:rotate(6deg)}
.meet-label{position:absolute;left:28px;bottom:22px;font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.6px}
.art-budget{background:#e4e3ed;color:#656383}
.budget-device{position:absolute;left:50%;top:51%;width:66%;height:260px;max-width:330px;transform:translate(-50%,-50%) rotate(6deg);background:#fcfcfe;border-radius:17px;border:1px solid #e2e3ea;box-shadow:0 22px 45px #4e4a7b2e;padding:23px 25px;color:#34364d}
.budget-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#8687a0}
.budget-balance{font-size:32px;font-weight:800;letter-spacing:-1px;margin:19px 0 12px}
.budget-line{height:1px;background:#e9e6ee}
.budget-bars{height:85px;display:flex;gap:9px;align-items:end;padding-top:12px}
.budget-bars i{flex:1;border-radius:6px 6px 0 0;background:#d2d0ed;height:45%}
.budget-bars i:nth-child(2){height:73%;background:#bebce0}.budget-bars i:nth-child(3){height:55%}.budget-bars i:nth-child(4){height:87%;background:#7c83c5}.budget-bars i:nth-child(5){height:65%}.budget-bars i:nth-child(6){height:96%;background:#868cd7}
.budget-foot{display:flex;justify-content:space-between;font-size:10px;color:#9896a8;margin-top:12px}
.budget-foot span:last-child{color:#45a488}
.art-fridge{background:#e7eee1;color:#678366}
.fridge-scene{position:absolute;left:50%;top:51%;width:76%;height:240px;transform:translate(-50%,-50%) rotate(-4deg)}
.fridge-list{background:#fffef9;border:1px solid #d5e0cc;box-shadow:0 18px 45px #3c654331;border-radius:13px;padding:16px 23px}
.fridge-list>div{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #e7ede4;font-size:13px;font-weight:700;color:#49674c}
.fridge-list>div:last-child{border-bottom:0}
.fridge-list b{margin-left:auto;font-size:10px;color:#af7163;background:#f9ede3;padding:7px 9px;border-radius:6px;white-space:nowrap}
.fridge-list>div:nth-child(2) b,.fridge-list>div:nth-child(3) b{color:#5f9279;background:#e8f4e9}
.food-symbol{font-size:25px;color:#e3aa90;line-height:1}
.symbol-green{color:#91c3a2}.symbol-yellow{color:#e6c17a}
.fridge-accent{position:absolute;right:-32px;top:-40px;font-size:80px;color:#78a988;opacity:.7}
.project-detail{display:flex;gap:20px;align-items:end;justify-content:space-between;padding:21px 4px 0}
.project-detail h3{font:800 25px var(--display);letter-spacing:-.8px;margin:10px 0 8px}
.project-detail p{color:#718079;line-height:1.8;font-size:14px;margin:0;max-width:390px}
.project-tags span{font-size:10px;font-weight:800;color:#44735c;letter-spacing:1px}
.project-tags span+span:before{content:"/";margin-right:8px;color:#a1bbb0}
.project-open{flex:none;width:45px;height:45px;border:1px solid #d2dfd5;border-radius:50%;display:grid;place-items:center;color:#2b6d50;background:transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.project-open:hover{background:#24694f;color:white;transform:translate(3px,-3px)}
.project-open .icon{width:19px;height:19px}
.work-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:65px;padding-top:27px}
.work-footer p{font-size:14px;color:#7e8b84;line-height:1.8;margin:0}
.process{background:var(--night);color:#fff;position:relative;overflow:hidden}
.process:before{content:"";position:absolute;left:-250px;top:0;width:600px;height:600px;background:radial-gradient(circle,#1a483950,transparent 67%);pointer-events:none}
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;position:relative}
.light-eyebrow{color:#b4d3bf}
.light-eyebrow .eyebrow-index{background:#1c4839;color:#a9edc6}
.process .section-heading{font-size:clamp(33px,3.1vw,46px);line-height:1.5}
.mint-text{color:var(--mint)}
.process-left>p:not(.eyebrow){color:#9cabad;font-size:15px;line-height:2;max-width:430px;margin-top:25px}
.process-asterisk{font-size:95px;color:#baffd9;margin-top:72px;line-height:1;animation:slowspin 30s linear infinite;width:90px}
.process-steps{border-top:1px solid #ffffff33}
.process-step{padding:30px 0;display:flex;gap:23px;align-items:start;border-bottom:1px solid #ffffff33}
.step-num{color:#9ad3b9;font:700 13px var(--display);padding-top:6px}
.process-step>div{flex:1}
.process-step h3{font-size:20px;letter-spacing:-.8px;margin:0 0 12px}
.process-step p{font-size:14px;color:#a1adb0;line-height:1.9;margin:0}
.step-mark{font-size:19px;color:#9ab4ad}
.contact{background:#d9f7e3;position:relative;overflow:hidden;padding:125px 0 135px}
.contact-content{position:relative}
.contact .section-heading{margin-bottom:20px}
.contact h2{font-size:clamp(42px,4.5vw,67px);font-weight:800;line-height:1.4;letter-spacing:-3.5px;margin:0 0 25px}
.contact>div>p:not(.eyebrow){font-size:16px;line-height:1.95;color:#557461}
.contact-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}
.button-contact{background:#132f28;color:#f2fff5}
.button-contact:hover{background:#266447}
.button-contact-outline{background:transparent;color:#234e3a;border:1px solid #83bc99}
.button-contact-outline:hover{background:#c8efda}
.contact .contact-note{color:#5e7f69!important;font-size:12px!important;margin-top:26px}
.contact-decor{font:800 360px var(--display);letter-spacing:-30px;position:absolute;right:-20px;top:-45px;color:#9be7b3;opacity:.49;line-height:1;pointer-events:none;z-index:-1}
.footer{background:#101923;color:white;padding:62px 0 23px}
.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:35px;padding-bottom:65px}
.footer-brand{font:800 27px var(--display);letter-spacing:-1.1px}
.footer-inner p{color:#8da4a4;font-size:13px;margin:11px 0 0}
.footer-links{display:flex;flex-wrap:wrap;gap:26px}
.footer-links a{color:#b0c2c3;font-size:13px;font-weight:600}
.footer-links a:hover{color:#baffd9}
.footer-bottom{border-top:1px solid #ffffff25;padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#788e90;font-size:12px}
.project-dialog{border:1px solid #d7e3da;border-radius:16px;background:#fff;color:var(--ink);width:min(520px,calc(100% - 30px));max-height:calc(100dvh - 36px);padding:0;box-shadow:0 30px 85px #0005}
.project-dialog::backdrop{background:#061810ba;backdrop-filter:blur(6px)}
.dialog-content{padding:40px}
.dialog-close{position:absolute;right:20px;top:20px;background:#f3f5f1;border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}
.dialog-close .icon{width:18px;height:18px}
.dialog-content h2{font-size:31px;letter-spacing:-1px;margin:10px 0 15px}
.dialog-content #dialogBody{font-size:15px;line-height:1.9;color:#617269}
.dialog-tags{margin-top:23px}
.dialog-tags span{font-size:11px;font-weight:800;border-radius:6px;background:#eaf6ed;color:#2a7557;padding:8px}
.dialog-footnote{font-size:12px;color:#829187;margin:25px 0}
.dialog-dismiss{background:#173a2c;color:white;border:0;border-radius:8px;font-weight:700;padding:11px 17px;display:flex;gap:14px;align-items:center;cursor:pointer}
.dialog-dismiss .icon{width:17px;height:17px}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,90px);padding:12px 18px;background:#143f2e;color:white;z-index:100;border-radius:9px;box-shadow:0 10px 30px #0004;opacity:0;pointer-events:none;transition:transform .3s,opacity .3s;font-size:13px;font-weight:600}
.toast.show{transform:translate(-50%,0);opacity:1}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in-view{opacity:1;transform:translateY(0)}
@keyframes slowspin{to{transform:rotate(360deg)}}
@media(max-width:1150px){.container{width:min(100% - 60px,1100px)}.desktop-nav{gap:20px}.hero h1{font-size:clamp(47px,5vw,66px)}.hero-visual{transform:scale(.9);transform-origin:center}.hero-inner{gap:0}.note-top{right:-35px}.note-bottom{left:-25px}.contact-decor{font-size:300px;right:-80px}}
@media(max-width:900px){.container{width:min(100% - 44px,760px)}.header-inner{height:74px}.header-cta,.desktop-nav{display:none}.menu-button{display:block}.menu-button .icon{width:29px;height:29px}.hero{padding-top:74px;min-height:auto}.hero-inner{grid-template-columns:1fr;gap:0;padding-top:30px}.hero-content{padding:75px 0 0}.hero h1{font-size:clamp(48px,7vw,70px)}.hero-visual{height:520px;transform:scale(.85);margin-top:-10px}.visual-window{width:440px}.hero-bottom{padding-bottom:28px}.intro-layout{gap:30px}.intro-right{padding-top:5px}.section{padding:90px 0}.service-grid{grid-template-columns:repeat(3,1fr);gap:10px}.service-card{padding:19px;min-height:390px}.service-card h3{font-size:19px}.service-icon{width:46px;height:46px}.service-card p{min-height:130px}.project-art{height:290px}.process-layout{gap:50px}.contact-decor{font-size:240px;right:-70px;top:50px}}
@media(max-width:650px){html{scroll-padding-top:64px}.container{width:calc(100% - 36px)}.header-inner{height:68px}.logo{font-size:24px}.logo-mark{width:28px;height:28px}.hero{padding-top:68px}.hero-inner{padding:0}.hero-content{padding:79px 0 13px}.hero-eyebrow{font-size:9px;letter-spacing:1.2px;gap:9px;margin-bottom:31px}.eyebrow-rule{width:15px}.hero h1{font-size:clamp(40px,9vw,58px);letter-spacing:-3.2px;line-height:1.39;margin-bottom:22px}.hero-lead{font-size:14px;line-height:1.95;margin-bottom:28px}.desktop-break{display:none}.hero-buttons{gap:10px}.button{padding:15px 14px;font-size:12px;gap:13px;min-height:51px}.hero-signature{margin-top:32px;font-size:10px}.hero-visual{height:315px;transform:scale(.6);transform-origin:center top;overflow:visible;margin-top:3px;margin-bottom:-91px}.orbit-a{width:530px;height:530px}.visual-window{width:480px;flex:none}.note-top{top:30px;right:-110px}.note-bottom{left:-110px;bottom:4px}.art-asterisk{right:-30px;bottom:-24px}.hero-bottom{font-size:8px}.section{padding:79px 0}.eyebrow{font-size:10px;margin-bottom:20px}.section-heading{font-size:clamp(32px,8vw,42px);letter-spacing:-1.8px;line-height:1.46}.intro-layout{display:block}.intro-right{padding-top:24px}.intro-description{font-size:16px;line-height:1.9}.intro-right>p:not(.intro-description){font-size:14px}.section-top{display:block;margin-bottom:33px}.section-sidecopy{font-size:12px;margin:20px 0 0}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:255px;padding:24px}.service-icon{width:52px;height:52px}.service-card h3{font-size:22px}.service-card p{min-height:auto;font-size:13px;line-height:1.85}.project-grid{grid-template-columns:1fr;gap:37px}.project-art{height:265px}.clothes-illustration{height:225px}.clothes-preview{height:151px}.clothes-avatar{transform:translateX(-50%) scale(.9);transform-origin:top center}.project-detail{padding-top:17px}.project-detail h3{font-size:23px}.project-detail p{font-size:13px;line-height:1.75}.project-open{width:42px;height:42px}.work-footer{display:block;margin-top:47px}.work-footer p{margin-bottom:18px}.process-layout{display:block}.process-left>p:not(.eyebrow){font-size:14px}.process-asterisk{display:none}.process-steps{margin-top:45px}.process-step{padding:26px 0;gap:15px}.process-step h3{font-size:18px}.process-step p{font-size:13px}.contact{padding:85px 0 90px}.contact h2{font-size:clamp(37px,8vw,52px);letter-spacing:-2.1px}.contact>div>p:not(.eyebrow){font-size:14px}.contact-decor{font-size:170px;right:-35px;top:150px;opacity:.22}.contact-buttons{gap:10px}.contact .contact-note{font-size:11px!important}.footer{padding:51px 0 25px}.footer-inner{display:block;padding-bottom:47px}.footer-links{margin-top:31px;gap:15px 25px}.footer-bottom{display:block;line-height:1.9;font-size:11px}.footer-bottom span{display:block}.dialog-content{padding:32px 22px}}
@media(max-width:365px){.hero h1{font-size:39px}.hero-eyebrow{font-size:8px}.hero-buttons .button{width:100%}.hero-visual{transform:scale(.52);margin-bottom:-112px}.art-coordinate{font-size:9px}.project-detail p{max-width:270px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.art-asterisk,.process-asterisk{animation:none}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
