:root{--ink:#1d2a22;--green:#355746;--moss:#8fa17f;--cream:#f4f0e7;--paper:#fbfaf6;--line:rgba(29,42,34,.18);--serif:"Iowan Old Style","Noto Serif KR",serif;--sans:system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;word-break:keep-all}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:84px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;line-height:1.05;letter-spacing:-.04em}.brand small{display:block;margin-top:.3rem;font-size:.63rem;font-weight:500;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:1.1rem}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.88rem}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:#fff;transition:right .25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.nav-cta{padding:.65rem 1rem;border:1px solid rgba(255,255,255,.65)}.menu-button{display:none;color:inherit;background:transparent;border:0;font:inherit}.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 43%;animation:heroZoom 1.8s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,25,18,.76) 0%,rgba(12,25,18,.36) 55%,rgba(12,25,18,.12)),linear-gradient(0deg,rgba(12,25,18,.35),transparent 45%)}.hero-content{position:relative;z-index:2;padding:clamp(145px,20vh,210px) clamp(20px,8vw,120px) 90px;max-width:880px}.eyebrow,.section-index{margin:0 0 1.5rem;font-size:.69rem;letter-spacing:.2em;font-weight:800}.eyebrow{opacity:.8}.hero h1{margin:0;font-family:var(--serif);font-size:clamp(3rem,7vw,6.8rem);font-weight:500;letter-spacing:-.07em;line-height:.99}.hero h1 span{display:block;margin-bottom:1.15rem;font-family:var(--sans);font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:.15em;font-weight:700}.hero-copy{max-width:510px;margin:2rem 0;font-size:clamp(1rem,1.5vw,1.2rem);opacity:.9}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:.85rem 1.4rem;font-size:.92rem;font-weight:750;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#fff;color:var(--ink)}.text-link{font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.6);padding:.6rem 0}.hero-note{position:absolute;z-index:2;right:clamp(20px,5vw,76px);bottom:34px;margin:0;font-size:.72rem;letter-spacing:.08em}.section-pad{padding:clamp(80px,12vw,160px) clamp(20px,7vw,110px)}.section-index{color:var(--moss)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw}.intro h2,.section-heading h2,.contact h2{margin:0;font-family:var(--serif);font-size:clamp(2.3rem,5.2vw,5rem);font-weight:500;line-height:1.12;letter-spacing:-.06em}.intro h2 em{color:var(--green);font-style:normal}.intro-grid>div>p:first-child{margin:1rem 0 3rem;font-size:1.05rem}.proof-list{display:flex;list-style:none;padding:1.2rem 0;margin:0;border-block:1px solid var(--line)}.proof-list li{flex:1}.proof-list strong,.proof-list span{display:block}.proof-list strong{font-family:var(--serif);font-size:1.8rem;font-weight:500}.proof-list span{font-size:.75rem;color:#617065}.source-note{font-size:.68rem;color:#758078}.work{background:var(--ink);color:#fff}.work .section-heading{display:grid;grid-template-columns:.35fr 1fr .55fr;align-items:end;gap:3rem}.work .section-heading .section-index{align-self:start}.work .section-heading p:last-child{max-width:330px;color:#abb6ae}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}.comparison figure{position:relative;margin:0;overflow:hidden;max-height:760px}.comparison img{height:100%;object-fit:cover;transition:transform .7s ease}.comparison figure:hover img{transform:scale(1.025)}.comparison figcaption{position:absolute;left:1.3rem;bottom:1.3rem;padding:.45rem .65rem;background:rgba(29,42,34,.84);font-size:.68rem;font-weight:800;letter-spacing:.15em}.comparison figcaption span{margin-left:.5rem;font-weight:400;letter-spacing:0}.work-caption{display:grid;grid-template-columns:.55fr 1fr;gap:3rem;padding-top:2.4rem;padding-bottom:7rem}.work-caption span{font-family:var(--serif);font-size:1.7rem}.work-caption p{max-width:610px;margin:0;color:#abb6ae}.services{background:var(--paper)}.services .section-heading{display:grid;grid-template-columns:.35fr 1fr;margin-bottom:5rem}.service-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.service-list li{display:grid;grid-template-columns:80px 1fr 180px;gap:2rem;align-items:start;padding:2.5rem 0;border-bottom:1px solid var(--line)}.service-list>li>span{font-family:var(--serif);color:var(--moss)}.service-list h3{margin:0 0 .6rem;font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:500}.service-list p{max-width:650px;margin:0;color:#58645c}.service-list b{justify-self:end;font-size:.78rem;color:var(--green)}.price-note{text-align:right;font-size:.7rem;color:#78817b}.image-break{position:relative;height:min(78vw,820px);overflow:hidden}.image-break img{height:100%;object-fit:cover;object-position:center 56%}.image-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,28,22,.64),transparent 65%)}.image-break blockquote{position:absolute;z-index:2;left:clamp(20px,8vw,120px);top:50%;transform:translateY(-50%);margin:0;color:#fff;font-family:var(--serif);font-size:clamp(2.5rem,6vw,6rem);line-height:1.1;letter-spacing:-.06em}.process{background:var(--cream)}.process .section-heading{display:grid;grid-template-columns:.35fr 1fr;margin-bottom:5rem}.process-list{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{padding:2rem 1.7rem 1rem 0;border-right:1px solid var(--line)}.process-list li+li{padding-left:1.7rem}.process-list li:last-child{border-right:0}.process-list span{font-family:var(--serif);color:var(--moss)}.process-list h3{margin:3rem 0 .7rem;font-family:var(--serif);font-size:1.5rem;font-weight:500}.process-list p{font-size:.86rem;color:#687169}.testimonial{display:grid;grid-template-columns:.35fr 1fr;background:var(--paper)}.testimonial>div>span{font-family:var(--serif);font-size:5rem;color:var(--moss);line-height:.6}.testimonial blockquote{max-width:900px;margin:1rem 0 2rem;font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);line-height:1.25;letter-spacing:-.05em}.testimonial div p{font-size:.75rem;color:#748078}.contact{padding:clamp(90px,13vw,170px) 20px;text-align:center;background:var(--green);color:#fff}.contact .section-index{color:#c5d0be}.contact h2{font-size:clamp(3rem,7vw,6.7rem)}.contact p:not(.section-index){margin:2rem 0;color:#dce4dd}.button-light{background:var(--cream);color:var(--ink);min-width:220px}.contact small{display:block;margin-top:1.2rem;color:#b9c6bc}footer{display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:end;padding:3rem clamp(20px,5vw,76px) 6rem;background:#162019;color:#d5ddd6;font-size:.75rem}footer p{margin:.2rem 0}.footer-brand{font-size:1rem}.mobile-bar{display:none}.reveal{opacity:1;transform:translateY(28px);transition:transform .7s ease}.reveal.is-visible{transform:none}@keyframes heroZoom{from{opacity:.65;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
@media (max-width:760px){body{padding-bottom:66px}.site-header{height:68px;padding:0 20px}.site-header .brand-mark{width:32px;height:32px}.site-header nav{display:none;position:fixed;inset:68px 0 0;background:var(--ink);padding:3rem 24px;flex-direction:column;align-items:flex-start;font-size:1.5rem}.site-header nav.open{display:flex}.nav-cta{margin-top:1rem}.menu-button{display:block}.hero{min-height:760px}.hero-content{padding:150px 20px 110px}.hero h1{font-size:clamp(3.2rem,16vw,5rem)}.hero-copy{max-width:330px}.hero-actions{align-items:flex-start;flex-direction:column;gap:.7rem}.hero-note{right:20px;bottom:24px}.section-pad{padding:78px 20px}.intro-grid,.work .section-heading,.work-caption,.services .section-heading,.process .section-heading,.testimonial{grid-template-columns:1fr;gap:2rem}.intro-grid>div>p:first-child{margin-top:0}.proof-list strong{font-size:1.45rem}.work .section-heading{padding-bottom:55px}.comparison{grid-template-columns:1fr 1fr;height:440px}.comparison figure{height:440px}.comparison img{object-position:center}.comparison figcaption{left:.7rem;bottom:.7rem}.comparison figcaption span{display:none}.work-caption{padding:30px 20px 70px}.service-list li{grid-template-columns:45px 1fr;gap:1rem}.service-list li b{grid-column:2;justify-self:start}.image-break{height:650px}.image-break img{object-position:60% center}.process-list{grid-template-columns:1fr 1fr}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(n+3){border-top:1px solid var(--line)}.process-list h3{margin-top:2rem}.testimonial{padding-top:90px;padding-bottom:90px}.testimonial .section-index{margin-bottom:1rem}.contact br{display:none}footer{grid-template-columns:1fr;align-items:start;padding-bottom:3rem}.mobile-bar{position:fixed;display:block;z-index:50;left:0;right:0;bottom:0;padding:8px;background:rgba(251,250,246,.96);box-shadow:0 -5px 20px rgba(0,0,0,.08)}.mobile-bar a{display:flex;align-items:center;justify-content:center;height:50px;background:var(--green);color:#fff;font-weight:800}.source-note{margin-bottom:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Brand hero v2 */
.hero>img{object-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(15,22,18,.84) 0%,rgba(15,22,18,.62) 32%,rgba(15,22,18,.12) 68%),linear-gradient(0deg,rgba(12,20,15,.42),transparent 48%)}
.hero-wordmark{display:grid;grid-template-columns:auto auto;gap:0 .08em;width:max-content;margin-bottom:2rem;font-family:var(--serif);font-size:clamp(2.4rem,4.8vw,4.8rem);font-weight:700;line-height:.82;letter-spacing:-.12em}
.hero-wordmark span{display:block}
.hero-wordmark small{grid-column:1/-1;margin-top:.8rem;padding-top:.55rem;border-top:1px solid rgba(255,255,255,.7);font-family:var(--sans);font-size:.64rem;font-weight:700;line-height:1;letter-spacing:.42em}
.hero h1{font-size:clamp(2.8rem,5.8vw,5.8rem)}
.capture-mode .reveal{opacity:1!important;transform:none!important}

@media (max-width:760px){.hero>img{object-position:67% center}.hero-shade{background:linear-gradient(90deg,rgba(13,20,16,.83),rgba(13,20,16,.42)),linear-gradient(0deg,rgba(13,20,16,.48),transparent 50%)}.hero-wordmark{font-size:3rem;margin-bottom:2.5rem}.hero h1{font-size:clamp(2.8rem,13vw,4.1rem)}}
