/* Change these tokens to adapt the layout to a different brand. */
:root{--paper:#f5f3ed;--ink:#252a25;--muted:#656b62;--accent:#be4b2e;--line:#d8dbd1;--surface:#eeeee6;--radius:4px;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1.7;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button{cursor:pointer}.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:16px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.sample-bar{display:flex;justify-content:space-between;gap:16px;background:var(--ink);color:#e8ebe1;padding:8px 48px;font-size:11px;letter-spacing:.07em}.sample-bar b{font-weight:400;opacity:.6;margin-left:14px}.header{position:sticky;top:0;background:var(--paper);z-index:10;border-bottom:1px solid var(--line)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:850;font-size:25px;letter-spacing:-1.2px;white-space:nowrap}.logo>span{color:var(--accent)}.logo-dot{font-size:36px;line-height:0}nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:600}nav a:hover,.text-link:hover{color:var(--accent)}.nav-cta{border:1px solid var(--ink);padding:10px 17px;display:flex;gap:28px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;padding-top:74px}.hero-copy{padding:25px 0 0}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.13em;margin:0 0 24px;line-height:1.6}.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;vertical-align:middle;margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.9vw,68px);line-height:1.22;letter-spacing:-.065em;margin-bottom:28px;font-weight:800}.accent-word{color:var(--accent)}.lead{font-size:17px;color:var(--muted);line-height:1.85;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:14px 20px;border:0;font-weight:600;font-size:13px;line-height:1.6;transition:background .2s}.primary{background:var(--ink);color:white}.primary:hover{background:var(--accent)}.text-link{font-size:12px;display:inline-flex;gap:18px}.hero-note{display:flex;align-items:flex-start;gap:15px;margin-top:56px}.mini-line{width:28px;height:1px;background:var(--muted);margin-top:9px}.hero-note p{color:var(--muted);font-size:11px;line-height:1.8}.hero-art{min-height:520px;background:#e5e3d8;position:relative;overflow:hidden;border-radius:var(--radius)}.art-top,.art-bottom{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;z-index:3}.art-top{top:25px}.art-bottom{bottom:22px}.orb{position:absolute;width:235px;height:235px;background:var(--accent);border-radius:50%;left:9%;top:19%;box-shadow:inset -20px -15px 40px #7e3f2315}.arch{position:absolute;width:245px;height:390px;border:45px solid var(--ink);border-bottom:0;border-radius:170px 170px 0 0;transform:rotate(31deg);top:105px;left:44%}.arch-two{border-color:#f5f3ed;transform:rotate(-31deg);left:5%;top:220px}.art-card{position:absolute;left:45px;right:45px;bottom:76px;background:#f5f3edef;backdrop-filter:blur(8px);padding:23px 27px;display:flex;align-items:center;justify-content:space-between;transform:rotate(-6deg);box-shadow:0 10px 24px #252a250c}.art-card>span:first-child{font-size:30px;font-weight:750;line-height:1.08;letter-spacing:-1px}.art-star{font-size:66px;color:var(--accent);line-height:1}.hero-foot{grid-column:1/-1;border-block:1px solid var(--line);margin-top:60px;padding:22px 0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.03em}.hero-foot i{margin:0 15px;font-style:normal;color:var(--accent)}.section{padding-block:94px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}.section-heading .eyebrow{color:var(--accent);margin-bottom:18px}h2{font-size:39px;font-weight:750;line-height:1.35;letter-spacing:-.05em;margin-bottom:0}.section-description{font-size:13px;color:var(--muted);margin:0 0 3px;line-height:1.85}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);padding:28px;background:#faf9f5}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.card-top>span:last-child{font-size:10px;color:var(--muted)}.service-icon{font-size:38px;line-height:1}h3{font-size:20px;letter-spacing:-.035em;margin-bottom:12px}.service-card p{font-size:13px;color:var(--muted);line-height:1.9;max-width:270px;min-height:72px}.tag{font-size:10px;color:var(--accent)}.work{background:var(--surface)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-art{position:relative;aspect-ratio:4/5;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-one{background:#c7d1bd}.package{position:relative;z-index:2;width:57%;height:70%;transform:rotate(-9deg);background:#e8e9d8;box-shadow:12px 18px 0 #344d3520;padding:22px 15px;display:flex;flex-direction:column;justify-content:space-between;color:#314a36}.package span{font-size:7px;letter-spacing:.08em}.package strong{font-family:Georgia,serif;font-size:72px;font-weight:400;letter-spacing:-5px}.leaf-shape{position:absolute;width:75%;height:45%;background:#435d41;border-radius:100% 0;right:-10%;top:6%;transform:rotate(30deg)}.project-two{background:#e9c881}.poster{width:71%;height:79%;background:#fdf4dc;transform:rotate(7deg);padding:17px 15px;display:flex;align-items:center;flex-direction:column;justify-content:space-between;color:#693c25;box-shadow:7px 12px 20px #603b171c}.poster>span{font-size:7px;letter-spacing:.05em}.poster strong{font-size:60px;letter-spacing:-4px;line-height:1.2}.coffee-ring{width:100px;height:100px;border:17px solid #794a32;border-radius:50%;position:relative}.coffee-ring:after{content:"";position:absolute;right:-35px;top:10px;width:24px;height:34px;border:7px solid #794a32;border-radius:10px}.poster-sticker{position:absolute;bottom:28px;right:15px;border-radius:50%;background:var(--accent);color:#fff;padding:19px 14px;font-family:Georgia,serif;font-style:italic;line-height:1.1;transform:rotate(-12deg);font-size:22px}.project-three{background:#2f49bd;display:block;color:#e3edcf;padding:35px 24px}.frame-word{font-size:28px;font-weight:850;letter-spacing:-1px;line-height:1.03;position:relative;z-index:2}.frame-outline{position:absolute;width:63%;height:55%;border:19px solid #e3edcf;right:14%;top:32%;transform:rotate(-18deg);box-shadow:14px 16px 0 #1a2f85}.frame-small{position:absolute;bottom:19px;left:24px;font-size:8px;letter-spacing:.09em}.project-caption{padding-top:19px}.project-caption h3{font-size:16px;margin-bottom:2px}.project-caption>span{font-size:9px;letter-spacing:.03em;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps li{padding:30px 30px 30px 0}.steps li+li{padding-left:30px;border-left:1px solid var(--line)}.steps li>span{font-size:11px;color:var(--accent)}.steps h3{margin-top:16px;font-size:19px}.steps p{font-size:13px;color:var(--muted);max-width:260px;margin:0}.faq{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:66px}.faq>h3{font-size:22px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{padding:20px 0;list-style:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--accent);font-size:23px;line-height:1;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding-right:35px;margin-bottom:22px;line-height:1.9}.contact{background:var(--ink);color:var(--paper)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact .eyebrow{color:#b8c1ad}.contact h2{font-size:51px;line-height:1.3;margin-bottom:25px}.contact h2 span{color:#e9ab84}.contact-inner>div>p:not(.eyebrow){font-size:14px;color:#c0c6b8}.contact-card{border:1px solid #606859;padding:30px;align-self:center}.contact-card h3{font-size:22px}.contact-card>p:not(.eyebrow){color:#c0c6b8;font-size:12px}.contact-button{width:100%;background:var(--paper);color:var(--ink);margin-top:16px}.contact-button:hover{background:#e9ab84}.contact-meta{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#c0c6b8;margin-top:23px}.contact-message{margin:15px 0 0;line-height:1.8}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px}.footer .logo{font-size:20px}.footer p{font-size:10px;color:var(--muted);margin:0}.footer>a:last-child{font-size:11px}
@media(min-width:1500px){.hero{column-gap:80px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.sample-bar{padding-inline:28px}.hero{gap:32px;padding-top:50px}.hero-art{min-height:470px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-note{margin-top:28px}.hero .eyebrow{font-size:9px}.lead{font-size:15px}.arch{left:40%}.art-card{left:25px;right:25px}.section{padding-block:72px}.service-card{padding:22px}.contact-inner{gap:45px}.project-three{padding:25px 18px}.frame-word{font-size:23px}.package strong{font-size:58px}.poster strong{font-size:48px}.coffee-ring{width:80px;height:80px;border-width:13px}.section-description br{display:none}.section-description{max-width:270px}.service-card p{min-height:100px}}
@media(max-width:700px){html{scroll-padding-top:83px}.wrap{width:calc(100% - 40px)}.sample-bar{padding:7px 20px;font-size:9px;gap:8px;letter-spacing:0}.sample-bar b{margin-left:6px}.sample-bar>span:last-child{font-size:8px}.header-inner{height:70px}.logo{font-size:22px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);padding:6px 10px;font-size:12px}.header{position:sticky}nav{position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:22px 20px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #252a2510}nav:not(.is-open){display:none}nav a{padding:12px 7px}.nav-cta{margin-top:10px;justify-content:space-between;padding:12px!important}.hero{grid-template-columns:1fr;padding-top:36px;gap:32px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:49px;letter-spacing:-.06em;margin-bottom:22px}.lead{font-size:15px;margin-bottom:25px}.hero-actions{gap:24px}.hero-note{margin-top:26px}.hero-art{min-height:410px}.orb{width:200px;height:200px;top:65px}.arch{width:220px;height:320px;border-width:38px;top:65px}.arch-two{top:170px;left:3%}.art-card{bottom:60px}.art-card>span:first-child{font-size:28px}.hero-foot{margin-top:0;gap:15px;flex-wrap:wrap;padding:18px 0;font-size:9px}.hero-foot i{margin-inline:8px}.section{padding-block:58px}.section-heading{display:block;margin-bottom:30px}h2{font-size:30px}.section-heading h2 br{display:none}.section-heading .eyebrow{font-size:10px;margin-bottom:12px}.section-description{margin-top:18px;max-width:100%;font-size:13px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{padding:24px}.card-top{margin-bottom:18px}.service-icon{font-size:32px}.service-card p{min-height:0;max-width:none}.work-grid{grid-template-columns:1fr;gap:35px}.project-art{aspect-ratio:1/1}.project-caption h3{font-size:18px}.package{max-width:230px}.package strong{font-size:80px}.poster{max-width:260px}.poster strong{font-size:65px}.coffee-ring{width:90px;height:90px}.project-three{padding:35px}.frame-word{font-size:40px}.frame-outline{width:53%;height:57%;right:19%;top:32%}.frame-small{left:35px}.steps{grid-template-columns:1fr}.steps li{padding:22px 0!important;display:grid;grid-template-columns:35px 1fr;gap:0 10px}.steps li+li{border-left:0;border-top:1px solid var(--line)}.steps li>span{padding-top:4px}.steps h3{margin:0 0 6px}.steps p{grid-column:2;max-width:none}.faq{grid-template-columns:1fr;gap:10px;margin-top:40px}.faq>h3{font-size:20px;margin-bottom:12px}summary{font-size:13px}.contact-inner{grid-template-columns:1fr;gap:28px}.contact h2{font-size:44px}.contact-card{padding:24px}.contact-card h3{font-size:19px}.footer{flex-wrap:wrap;padding-block:28px;gap:14px}.footer p{order:3;flex-basis:100%;font-size:9px}.footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Location stays inside the fifth (contact) section. */
.location{margin-top:70px;border-top:1px solid #606859;padding-top:42px}.location-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.location-heading .eyebrow{margin-bottom:9px}.location-heading h3{font-size:29px;margin:0}.location-badge{font-size:11px;color:#c0c6b8;border:1px solid #606859;padding:6px 12px}.location-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:40px}.map-shell{min-height:360px;background:#eeeee6;border-radius:4px;overflow:hidden;color:var(--ink)}.naver-map{width:100%;height:360px}.map-fallback{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.map-fallback[hidden],.naver-map[hidden]{display:none}.location-pin{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--ink);color:white;font-size:27px;margin-bottom:16px}.map-fallback strong{font-size:22px}.map-fallback p{font-size:12px;color:var(--muted);max-width:320px;margin:12px 0 20px}.map-link{background:#086e38;color:white}.map-link:hover{background:#054d27}.location-info{align-self:center;padding:15px 0}.location-info h3{font-size:25px}.location-info address{font-style:normal;font-size:15px}.location-info dl{font-size:13px;margin:25px 0}.location-info dt{font-weight:650;margin-top:16px}.location-info dd{margin:4px 0 0;color:#c0c6b8;line-height:1.8}.location-info .text-link:hover{color:#e9ab84}
@media(max-width:700px){.location{margin-top:45px;padding-top:30px}.location-heading{align-items:flex-start;flex-direction:column;gap:15px}.location-grid{grid-template-columns:1fr;gap:15px}.map-shell,.map-fallback{min-height:300px}.naver-map{height:300px}.location-heading h3{font-size:26px}.location-info{padding-top:12px}}
