@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');

:root{--ink:#25221e;--muted:#706b64;--cream:#f6f2eb;--paper:#fdfcf9;--accent:#9b7652;--line:rgba(37,34,30,.14)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:"Noto Sans KR",sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;word-break:keep-all}
body.menu-open{overflow:hidden} a{color:inherit;text-decoration:none} button{font:inherit} img{display:block;width:100%}
.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;padding:10px 16px;background:#fff;color:#111}.skip-link:focus{top:16px}
.header{position:fixed;inset:0 0 auto;height:78px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;z-index:1000;color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:.35s}
.header.scrolled,.header.menu-open{color:var(--ink);background:rgba(253,252,249,.94);border-color:var(--line);backdrop-filter:blur(14px)}
.logo{display:flex;align-items:baseline;gap:10px;letter-spacing:.18em}.logo span{font:600 19px "DM Sans",sans-serif}.logo small{font:500 8px "DM Sans",sans-serif;letter-spacing:.25em}
.nav{display:flex;align-items:center;gap:34px;font-size:13px}.nav a{position:relative}.nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.25s}.nav a:hover::after{right:0}
.nav-contact{padding:10px 18px;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;color:inherit;width:34px;height:34px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;margin:7px auto;transition:.3s}
.hero{position:relative;height:100svh;min-height:680px;display:flex;align-items:center;padding:110px clamp(24px,8vw,130px) 80px;overflow:hidden;background:#302c28;color:#fff}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 7s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,20,17,.72),rgba(23,20,17,.22) 62%,rgba(23,20,17,.15))}
.hero-content{position:relative;z-index:2;max-width:800px}.eyebrow,.section-label{font:600 11px "DM Sans",sans-serif;letter-spacing:.28em}.eyebrow{margin-bottom:24px;color:rgba(255,255,255,.82)}
.hero h1{font-size:clamp(45px,6vw,82px);font-weight:400;letter-spacing:-.055em;line-height:1.2}.hero-description{margin:28px 0 38px;font-size:clamp(16px,1.5vw,20px);font-weight:300;color:rgba(255,255,255,.84)}
.hero-actions{display:flex;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;min-width:180px;padding:15px 23px;font-size:13px;font-weight:600;transition:.25s}.button-primary{background:#fff;color:#26221e}.button-primary:hover{background:var(--cream);transform:translateY(-2px)}.button-ghost{border:1px solid rgba(255,255,255,.7)}.button-ghost:hover{background:rgba(255,255,255,.12)}
.hero-pagination{position:absolute;z-index:3;right:5vw;bottom:54px;display:flex;gap:9px}.hero-pagination button{width:26px;height:2px;border:0;background:rgba(255,255,255,.38);cursor:pointer}.hero-pagination button.is-active{background:#fff}.scroll-cue{position:absolute;z-index:3;left:5vw;bottom:44px;display:flex;align-items:center;gap:12px;font:500 9px "DM Sans";letter-spacing:.22em}.scroll-cue span{width:54px;height:1px;background:rgba(255,255,255,.6)}
.section{padding:clamp(90px,10vw,160px) clamp(24px,7vw,110px)}.section-inner{max-width:1280px;margin:auto}.section-label{margin-bottom:22px;color:var(--accent)}.section h2,.contact-section h2{font-size:clamp(35px,4.4vw,62px);line-height:1.28;letter-spacing:-.05em;font-weight:400}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro-copy>p{max-width:590px;color:var(--muted);font-size:17px}.values{margin-top:55px;border-top:1px solid var(--line)}.values>div{display:grid;grid-template-columns:45px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.values dt{font:500 11px "DM Sans";color:var(--accent)}.values dd{display:flex;justify-content:space-between;gap:20px}.values strong{font-size:16px}.values span{font-size:14px;color:var(--muted)}
.products{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:58px}.section-heading>p{color:var(--muted);font-size:14px}.product-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:24px}.product-card{position:relative;overflow:hidden;background:#fff}.product-main{grid-row:span 2}.product-card img{height:290px;object-fit:cover;transition:transform .7s}.product-main img{height:590px}.product-card:hover img{transform:scale(1.025)}.product-card>div{position:absolute;inset:auto 0 0;padding:62px 28px 26px;color:#fff;background:linear-gradient(transparent,rgba(20,17,14,.8))}.product-card span{font:500 10px "DM Sans";letter-spacing:.15em}.product-card h3{margin:5px 0;font-size:23px;font-weight:500}.product-card p{max-width:440px;font-size:13px;color:rgba(255,255,255,.77)}
.process{background:#25221e;color:#fff}.process .section-label{color:#bda383}.process h2{max-width:720px}.process-list{margin-top:70px;border-top:1px solid rgba(255,255,255,.16);list-style:none}.process-list li{display:grid;grid-template-columns:10% 30% 1fr;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}.process-list>li>span{font:500 11px "DM Sans";color:#bda383}.process-list div{grid-column:2/4;display:grid;grid-template-columns:33.33% 1fr;align-items:center}.process-list h3{font-size:19px;font-weight:500}.process-list p{font-size:14px;color:rgba(255,255,255,.58)}
.portfolio{background:#fff}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:58px}.portfolio-heading>p{color:var(--muted);font-size:14px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portfolio-card{position:relative;min-height:300px;overflow:hidden;background:#ddd}.portfolio-card.portfolio-large{grid-column:span 2;grid-row:span 2;min-height:618px}.portfolio-card img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .6s}.portfolio-card:hover img{transform:scale(1.035)}.portfolio-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(20,17,14,.68))}.portfolio-card figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:18px;display:flex;flex-direction:column;color:#fff}.portfolio-card figcaption span{font:500 9px "DM Sans";letter-spacing:.18em;color:rgba(255,255,255,.75)}.portfolio-card figcaption strong{margin-top:3px;font-size:16px;font-weight:500}.text-link{display:inline-flex;gap:25px;padding-bottom:6px;border-bottom:1px solid var(--ink);font-size:14px}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(5px)}.portfolio-link{margin-top:42px}
.contact-section{padding:clamp(85px,10vw,140px) clamp(24px,7vw,110px);background:#a57d5a;color:#fff}.contact-section .section-label{color:rgba(255,255,255,.7)}.contact-grid{display:grid;grid-template-columns:1fr .72fr;gap:8vw}.contact-note{margin-top:24px;color:rgba(255,255,255,.68);font-size:13px}.contact-buttons{border-top:1px solid rgba(255,255,255,.3)}.contact-button{position:relative;display:flex;flex-direction:column;padding:20px 48px 20px 4px;border-bottom:1px solid rgba(255,255,255,.3);transition:.25s}.contact-button span{font:500 9px "DM Sans";letter-spacing:.2em;color:rgba(255,255,255,.62)}.contact-button strong{font-size:18px;font-weight:500}.contact-button b{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:300;transition:.25s}.contact-button:hover{padding-left:10px}.contact-button:hover b{right:2px}
.footer{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;padding:60px clamp(24px,7vw,110px);background:#171513;color:#aaa;font-size:12px}.footer-brand{display:flex;flex-direction:column;color:#fff}.footer-brand strong{font:600 24px "DM Sans";letter-spacing:.18em}.footer-brand span{font:500 8px "DM Sans";letter-spacing:.34em}.footer-info p{margin-bottom:5px}.copyright{margin-top:25px;font:400 9px "DM Sans";letter-spacing:.08em}.to-top{position:absolute;right:5vw;top:50%;transform:translateY(-50%);width:42px;height:42px;display:grid;place-items:center;border:1px solid #555;color:#fff}
@media (max-width:900px){html{scroll-padding-top:66px}.header{height:66px;padding:0 20px}.logo small{display:none}.menu-toggle{display:block;position:relative;z-index:2}.header.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.header.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 12vw;gap:25px;background:var(--paper);color:var(--ink);font-size:24px;transform:translateX(100%);transition:.35s}.nav.is-open{transform:none}.nav-contact{margin-top:15px;font-size:15px}.hero{min-height:630px;padding:100px 24px 100px}.hero-shade{background:linear-gradient(rgba(23,20,17,.45),rgba(23,20,17,.58))}.hero-actions{flex-direction:column;align-items:stretch;max-width:330px}.button{width:100%}.scroll-cue{display:none}.hero-pagination{right:24px;bottom:28px}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.values dd{flex-direction:column;gap:2px}.product-grid{grid-template-columns:1fr}.product-main{grid-row:auto}.product-main img,.product-card img{height:410px}.section-heading,.portfolio-heading{display:block}.section-heading>p,.portfolio-heading>p{margin-top:20px}.process-list li{grid-template-columns:45px 1fr}.process-list div{grid-column:2;display:block}.process-list p{margin-top:6px}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-card.portfolio-large{grid-column:span 2;grid-row:auto;min-height:480px}.footer{grid-template-columns:1fr;gap:30px;padding-right:85px}}
@media (max-width:520px){.hero h1{font-size:42px}.hero-description br{display:none}.section{padding-left:20px;padding-right:20px}.product-card img,.product-main img{height:360px}.product-card>div{padding:60px 20px 20px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card.portfolio-large{grid-column:auto;min-height:330px}.contact-section{padding-left:20px;padding-right:20px}.footer{padding-left:20px}.to-top{right:20px}}
.hero-description{margin-bottom:14px}.hero-benefit{display:inline-flex;margin-bottom:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.48);background:rgba(20,17,14,.2);font-size:12px;font-weight:500;letter-spacing:-.02em}
.values strong{font-size:17px}.values span{font-size:15px}.section-heading>p,.portfolio-heading>p{font-size:15px}
.product-card>div{padding:76px 28px 28px;background:linear-gradient(transparent,rgba(20,17,14,.84))}.product-card span{font-size:11px}.product-card h3{font-size:24px}.product-card p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.9)}
.process-list{margin-top:58px}.process-list li{padding:24px 0}.process-list>li>span{font-size:12px;color:#d1ad86}.process-list h3{font-size:20px}.process-list p{font-size:15px;color:rgba(255,255,255,.72)}
.portfolio-card::after{background:linear-gradient(transparent 50%,rgba(20,17,14,.72))}.portfolio-card figcaption span{font-size:10px;color:rgba(255,255,255,.86)}.portfolio-card figcaption strong{margin-top:4px;font-size:17px}.text-link{font-size:15px}
.contact-note{font-size:14px;color:rgba(255,255,255,.82)}.contact-button{padding:23px 48px 23px 8px}.contact-button span{font-size:10px;color:rgba(255,255,255,.7)}.contact-button strong{font-size:19px}.contact-button b{font-size:22px}.contact-button.contact-primary{margin-top:12px;padding-left:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.55)}.contact-button.contact-primary:hover{padding-left:22px}
.footer{color:#b8b5b0;font-size:13px;line-height:1.8}.footer-info p{margin-bottom:4px}.footer-heading{margin-bottom:9px!important;color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em}.copyright{margin-top:22px;font-size:10px}
@media (max-width:680px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card.portfolio-large{grid-column:auto;grid-row:auto;min-height:340px}.portfolio-card img{min-height:340px}.portfolio-card figcaption{left:20px;bottom:18px}}
@media (max-width:520px){.hero-benefit{font-size:11px}.product-card>div{padding:68px 20px 22px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.case-archive{background:#f6f2eb}.case-archive-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.case-archive-heading>p{color:var(--muted);font-size:15px}.case-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.case-filters button{padding:10px 18px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;cursor:pointer;transition:.2s}.case-filters button:hover,.case-filters button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.case-card{position:relative;min-height:275px;overflow:hidden;background:#ddd;cursor:zoom-in}.case-card.case-featured{grid-column:span 2;grid-row:span 2;min-height:566px}.case-card.case-wide{grid-column:span 2}.case-card.is-hidden{display:none}.case-card img{height:100%;min-height:275px;object-fit:cover;transition:transform .5s}.case-card:hover img{transform:scale(1.035)}.case-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(20,17,14,.72))}.case-card figcaption{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;color:#fff}.case-card figcaption span{font:500 9px "DM Sans";letter-spacing:.16em;color:rgba(255,255,255,.82)}.case-card figcaption strong{margin-top:4px;font-size:16px;font-weight:500}.case-note{margin-top:24px;color:var(--muted);font-size:13px}.photo-modal{position:fixed;z-index:3000;inset:0;display:none;place-items:center;padding:28px;background:rgba(12,10,8,.9)}.photo-modal.is-open{display:grid}.photo-modal img{width:auto;max-width:min(1120px,94vw);max-height:82vh;object-fit:contain}.photo-modal button{position:absolute;top:18px;right:20px;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
@media (max-width:900px){.case-archive-heading{display:block}.case-archive-heading>p{margin-top:20px}.case-grid{grid-template-columns:repeat(2,1fr)}.case-card.case-featured{min-height:490px}}
@media (max-width:600px){.case-grid{grid-template-columns:1fr}.case-card,.case-card.case-featured,.case-card.case-wide{grid-column:auto;grid-row:auto;min-height:340px}.case-card img{min-height:340px}.case-filters button{padding:9px 14px}.case-note{font-size:12px}}
