@font-face{font-family:SUIT;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/suit-site.woff2') format('woff2')}
:root{--ink:#16231e;--green:#023a25;--paper:#f7f7f2;--muted:#68706b;--line:#d7dcd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:SUIT,-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #abbd87;outline-offset:5px}button{cursor:pointer}header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10;color:white;border-bottom:1px solid #ffffff35}.brand{font-size:25px;font-weight:700;letter-spacing:-1.5px}.brand small{font-size:10px;letter-spacing:2px;display:block;margin-top:3px}.nav{display:flex;align-items:center;gap:36px;font-size:14px}.nav .contact-link{padding:11px 20px;border:1px solid #ffffff80;border-radius:2px}.menu{display:none;border:0;background:transparent;color:inherit;font-size:24px}.hero{height:92svh;min-height:640px;max-height:1080px;position:relative;color:#fff;overflow:hidden;background:#626b5c}.hero img{width:100%;height:100%;object-fit:cover;animation:gentle 18s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08160e62,transparent 80%),linear-gradient(0deg,#0c1c145c,transparent 70%)}.hero-content{position:absolute;left:8%;top:39%;z-index:1}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:500;text-transform:uppercase}.hero h1{font-size:clamp(44px,5.5vw,82px);font-weight:400;line-height:1.27;letter-spacing:-3px;margin:25px 0}.hero p{font-size:17px;line-height:1.8;color:#ffffffe0}.hero-bottom{position:absolute;z-index:1;bottom:37px;left:8%;right:5%;display:flex;justify-content:space-between;align-items:end;font-size:12px;letter-spacing:1px}.hero-bottom a{font-size:14px;border-bottom:1px solid white;padding-bottom:9px}.section{padding:110px 8%;scroll-margin-top:0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:30px}.section h2{font-weight:450;font-size:clamp(30px,3vw,46px);line-height:1.5;letter-spacing:-1.6px;margin:0 0 28px}.intro p{color:var(--muted);font-size:17px;line-height:1.9;max-width:690px}.label{font-size:12px;letter-spacing:2px;color:var(--green);padding-top:13px}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:45px}.section-head h2{margin:15px 0 0}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:9px;white-space:nowrap}.works{border-top:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px}.work-card:nth-child(2){padding-top:100px}.work-image{aspect-ratio:1.3;overflow:hidden;background:#d9ded7}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.work-card:hover img{transform:scale(1.035)}.work-meta{font-size:12px;letter-spacing:1px;color:var(--muted);margin:22px 0 12px}.work-card h3{font-size:25px;font-weight:500;margin:0 0 12px;line-height:1.5;letter-spacing:-.8px}.work-card p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}.note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:30px}.manifesto{background:var(--green);color:var(--paper);padding:105px 8%;display:grid;grid-template-columns:1fr 2fr;gap:30px}.manifesto .label{color:#bdcbbc}.manifesto h2{font-size:clamp(30px,3.4vw,49px);line-height:1.5;font-weight:400;letter-spacing:-1.8px;margin:0 0 30px}.manifesto p{color:#cad7ce;font-size:16px;line-height:1.9;max-width:650px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:65px}.principle{border-top:1px solid var(--line);padding-top:25px}.num{color:#6c7c70;font-size:13px}.principle h3{font-size:22px;font-weight:500;line-height:1.5;margin:35px 0 17px}.principle p{font-size:16px;line-height:1.85;color:var(--muted)}.process{background:#e9ede5}.steps{margin-top:48px}.steps details{border-top:1px solid #bbc4b7;padding:26px 0}.steps details:last-child{border-bottom:1px solid #bbc4b7}.steps summary{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;cursor:pointer;list-style:none;font-size:23px;font-weight:450}.steps summary::-webkit-details-marker{display:none}.steps summary:after{content:'+';font-size:26px;font-weight:300}.steps details[open] summary:after{content:'−'}.steps details p{padding-left:70px;max-width:850px;font-size:16px;line-height:1.85;color:#57634f}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact p{color:var(--muted);line-height:1.9}.solid{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:18px 24px;background:var(--green);color:white;border:1px solid var(--green);font-size:15px}.outline{background:transparent;color:var(--green)}.contact-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:32px}footer{background:#11281e;color:#d2dbd1;padding:55px 8% 30px}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-slogan{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.45}.footer-bottom{margin-top:55px;border-top:1px solid #ffffff25;padding-top:25px;display:flex;justify-content:space-between;font-size:12px;color:#a1b0a3}.page header{position:relative;color:var(--ink);border-color:var(--line)}.page .contact-link{border-color:var(--line)}.page-title{padding-bottom:65px}.page-title h1{font-size:clamp(42px,5vw,70px);font-weight:400;letter-spacing:-2.5px;margin:25px 0}.page-title p{font-size:18px;line-height:1.9;color:var(--muted);max-width:650px}.filter{display:flex;gap:25px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-top:45px;font-size:14px}.filter .active{color:var(--green);font-weight:700}.detail-layout{display:grid;grid-template-columns:1fr 1.75fr;gap:65px;padding-top:50px}.detail-aside{position:sticky;top:40px;align-self:start}.detail-aside h1{font-size:35px;font-weight:450;line-height:1.5;letter-spacing:-1px}.detail-aside dl{font-size:14px;line-height:1.8}.detail-aside dt{color:var(--muted);margin-top:20px}.detail-aside dd{margin:0}.story img{width:100%;max-height:650px;object-fit:cover}.story article{padding:40px 0}.story h2{font-size:28px}.story p{line-height:1.95;color:var(--muted);font-size:17px}.brief{border:1px solid var(--line);padding:30px}.brief h3{margin-top:0;font-size:21px;font-weight:500}.brief label{display:block;margin:20px 0 8px;font-size:14px}.brief input,.brief textarea,.brief select{width:100%;padding:13px;border:1px solid #bdc6bd;background:transparent;border-radius:0;color:var(--ink)}.brief textarea{resize:vertical;min-height:110px}.brief .solid{width:100%;margin-top:20px}.status{font-size:14px;min-height:22px}.commercial-banner{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.commercial-banner img{width:100%;aspect-ratio:1;object-fit:cover}.commercial-banner p{font-size:18px;line-height:1.9;color:var(--muted)}@keyframes gentle{from{transform:scale(1.055)}to{transform:scale(1)}}@media(max-width:900px){header{height:75px;padding:0 6%}.brand{font-size:22px}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--green);color:white;padding:25px 6%;flex-direction:column;align-items:stretch;gap:25px}.nav.open{display:flex}.menu{display:block}.hero{height:85svh;min-height:590px}.hero-content{left:7%;right:6%;top:37%}.hero h1{font-size:45px;letter-spacing:-2px}.hero p{font-size:15px}.hero-bottom{left:7%;bottom:30px}.section{padding:70px 7%}.intro,.manifesto,.contact{grid-template-columns:1fr;gap:30px}.section h2{font-size:31px}.label{padding:0}.section-head{align-items:start;flex-direction:column;gap:22px}.work-grid{grid-template-columns:1fr;gap:38px}.work-card:nth-child(2){padding-top:0}.work-card h3{font-size:23px}.manifesto{padding:70px 7%}.manifesto h2{font-size:32px}.principles{grid-template-columns:1fr;gap:22px;margin-top:40px}.principle h3{margin:20px 0 12px}.steps summary{grid-template-columns:45px 1fr 24px;font-size:20px}.steps details p{padding-left:45px}.footer-top,.footer-bottom{flex-direction:column;gap:25px}.footer-slogan{font-size:24px}.detail-layout{grid-template-columns:1fr;gap:35px}.detail-aside{position:static}.detail-aside h1{font-size:32px}.page-title h1{font-size:45px}.commercial-banner{grid-template-columns:1fr}.brief{padding:23px}.eyebrow{font-size:11px;letter-spacing:1.4px}.contact{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero img{animation:none}.work-image img{transition:none}}

@media(max-width:900px){.hero-bottom>span{display:none}}

/* Real project photography */
.portfolio-grid{row-gap:65px}.portfolio-grid .work-card:nth-child(2){padding-top:0}.project-photo{margin:0 0 35px}.project-gallery .project-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.project-photo figcaption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:12px;gap:15px}.project-intro{font-size:16px;line-height:1.85;color:var(--muted)}.featured-commercial{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;margin-top:70px;align-items:center;border-top:1px solid var(--line);padding-top:60px}.featured-commercial .work-image{aspect-ratio:1.5}.featured-commercial h3{font-size:30px;font-weight:450;margin:24px 0 15px}.featured-commercial p{color:var(--muted);line-height:1.8;margin-bottom:30px}.hero>img{object-position:55% 50%}@media(max-width:900px){.featured-commercial{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-top:40px}.portfolio-grid{row-gap:40px}.hero>img{object-position:60% 50%}.project-photo{margin-bottom:25px}}

/* Supplied brand identities and readable typography */
:root{--muted:#505d54}
body{font-size:1rem;line-height:1.65;overflow-wrap:break-word}
.brand-logo{display:flex;align-items:center;flex-shrink:0;padding:12px 0;min-height:48px}
.brand-logo img{display:block;width:218px;max-width:100%;height:auto}
.footer-brand{display:block;width:240px;max-width:100%;align-self:flex-start;padding:8px 0}
.footer-brand img{display:block;width:100%;height:auto}
.belief-brand img{display:block;width:150px;max-width:100%;height:auto;margin-bottom:26px}
.label,.eyebrow,.num{font-size:.9375rem;line-height:1.6;letter-spacing:.08em}
.work-meta,.note,.project-photo figcaption,.footer-bottom{font-size:.9375rem;line-height:1.7}
.nav,.filter,.text-link,.solid,.detail-aside dl,.brief label,.status{font-size:1rem;line-height:1.65}
.work-card p,.hero p,.principle p,.manifesto p,.steps details p,.project-intro,.contact p{font-size:1.0625rem;line-height:1.85}
.text-link{white-space:normal;display:inline-block}
.filter{flex-wrap:wrap;gap:16px 25px}
.solid{min-height:52px;max-width:100%;gap:20px}
.brief input,.brief textarea,.brief select{font-size:1rem;min-height:50px}
.brief input::placeholder,.brief textarea::placeholder{color:#58665b;opacity:1}
.footer-bottom{color:#c2cec4;flex-wrap:wrap}
.project-photo figcaption{flex-wrap:wrap}
.menu{min-width:48px;min-height:48px;line-height:1}
.nav a{min-height:44px;display:flex;align-items:center}
.hero-bottom{font-size:.9375rem}.hero-bottom a{font-size:1rem}
@media(max-width:900px){
 body{font-size:1.0625rem}
 header{height:84px}.nav{top:84px;gap:12px;font-size:1.125rem}
 .brand-logo img{width:210px}.brand-logo{max-width:calc(100% - 65px)}
 .label,.eyebrow,.num,.work-meta,.note,.project-photo figcaption,.footer-bottom{font-size:1rem;letter-spacing:.025em}
 .text-link,.solid,.filter,.detail-aside dl,.brief label,.status{font-size:1.0625rem}
 .intro p,.work-card p,.hero p,.principle p,.manifesto p,.steps details p,.project-intro,.contact p,.story p{font-size:1.125rem;line-height:1.85}
 .hero{height:auto;min-height:85svh;max-height:none;display:flex;flex-direction:column;justify-content:center;padding:145px 7% 105px}
 .hero>img{position:absolute;inset:0}
 .hero-content{position:relative;top:auto;left:auto;right:auto}
 .hero h1{font-size:clamp(2.25rem,9.8vw,3rem);letter-spacing:-.04em;line-height:1.35}
 .hero-bottom{left:7%;right:7%;bottom:28px}.hero-bottom a{font-size:1rem}
 .section h2,.manifesto h2{font-size:2rem;line-height:1.5}
 .work-card h3{font-size:1.625rem}.principle h3{font-size:1.5rem}
 .section{padding:64px 6%}.manifesto{padding:64px 6%}
 .belief-brand img{width:135px;margin-bottom:24px}
 .brief{padding:22px 18px;min-width:0}.brief h3{font-size:1.4375rem}
 .contact-actions{flex-direction:column;align-items:stretch}.contact-actions .solid{width:100%}
 .steps summary{font-size:1.375rem;grid-template-columns:40px minmax(0,1fr) 24px;gap:8px}
 .steps details p{padding-left:0;margin-top:20px}
 .footer-brand{width:240px}.footer-top>a:last-child{font-size:1.125rem}
 .page-title h1{font-size:2.5rem}.detail-aside h1{font-size:2rem}
 .detail-layout{gap:35px}.detail-aside,.project-gallery,.contact>div{min-width:0}
}

/* Short, scannable brand messages with intentional phrase breaks. */
.concise-belief{align-items:center}
.concise-belief h2{font-size:clamp(1.875rem,3.2vw,3rem);font-weight:450;line-height:1.5;margin-bottom:28px;letter-spacing:-.045em}
.concise-belief h2 strong{font-weight:700}
.concise-belief .belief-lead{font-size:1.25rem;line-height:1.8;color:#fff;margin:0 0 22px}
.concise-belief .belief-support{font-size:1.0625rem;line-height:1.85;color:#d7e1d9;margin:0}
.concise-principles>h2{margin-top:18px}
.concise-principles .principles{gap:32px;margin-top:40px}
.concise-principles .principle{padding-top:24px}
.concise-principles .num{font-size:1rem;color:var(--green);font-weight:600}
.concise-principles .principle h3{font-size:1.375rem;line-height:1.55;font-weight:650;letter-spacing:-.04em;margin:20px 0 14px}
.concise-principles .principle p{font-size:1.0625rem;line-height:1.85;margin:0}
.concise-principles .principle p span{display:inline-block;max-width:100%;text-wrap:pretty}
.concise-process .section-head{margin-bottom:28px}
.concise-process .section-head h2{margin-top:18px}
.concise-process .steps{margin-top:0}
.concise-process summary{font-size:1.25rem;line-height:1.5;gap:8px}
.concise-process details p{line-height:1.9}
@media(max-width:900px){
 .concise-belief{gap:28px;padding-top:52px;padding-bottom:56px}
 .concise-belief .belief-brand img{width:104px;margin-bottom:20px}
 .concise-belief h2{font-size:clamp(1.6rem,6.8vw,2rem);margin-bottom:24px;line-height:1.55}
 .concise-belief .belief-lead{font-size:1.1875rem;line-height:1.8;margin-bottom:18px}
 .concise-belief .belief-support{font-size:1.0625rem;line-height:1.85}
 .concise-principles,.concise-process{padding-top:56px;padding-bottom:56px}
 .concise-principles>h2,.concise-process h2{font-size:1.75rem;line-height:1.5}
 .concise-principles .principles{gap:0;margin-top:28px}
 .concise-principles .principle{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:26px 0}
 .concise-principles .num{padding-top:4px}
 .concise-principles .principle h3{font-size:1.1875rem;letter-spacing:-.045em;margin:0 0 12px;font-weight:700}
 .concise-principles .principle p{font-size:1.0625rem;line-height:1.85}
 .concise-process .steps summary{font-size:1.125rem;font-weight:600;grid-template-columns:26px minmax(0,1fr) 24px;gap:10px}
 .concise-process .steps details{padding:23px 0}
 .concise-process .steps details p{font-size:1.0625rem}
}

/* Intro: one clear message, three everyday scenes, a short conclusion. */
.concise-intro{align-items:start}
.concise-intro h2{font-size:clamp(1.75rem,3vw,2.875rem);line-height:1.55;font-weight:450;letter-spacing:-.045em;margin-bottom:30px}
.concise-intro h2 strong{font-weight:700}
.daily-scenes{list-style:none;margin:0 0 30px;padding:0 0 0 20px;border-left:2px solid #b9c7bd;color:var(--muted)}
.daily-scenes li{font-size:1.125rem;line-height:1.85;margin:0 0 8px}
.daily-scenes li:last-child{margin-bottom:0}
.concise-intro .intro-conclusion{font-size:1.25rem;line-height:1.8;color:var(--green);margin:0 0 18px}
.intro-conclusion strong{font-weight:600}
.concise-intro .intro-detail{font-size:1.0625rem;line-height:1.85;margin:0;color:var(--muted)}
@media(max-width:900px){
 .concise-intro{padding-top:56px;padding-bottom:56px;gap:22px}
 .concise-intro h2{font-size:clamp(1.5rem,6.7vw,2rem);line-height:1.55;margin-bottom:26px}
 .daily-scenes{padding-left:16px;margin-bottom:26px}
 .daily-scenes li{font-size:1.0625rem;line-height:1.85;margin-bottom:8px}
 .concise-intro .intro-conclusion{font-size:1.1875rem;line-height:1.8;margin-bottom:18px}
 .concise-intro .intro-detail{font-size:1.0625rem;line-height:1.85}
}

/* Concise, readable consultation answers and project navigation. */
.consultation-faq h2{margin:18px 0 28px}
.faq-items{max-width:850px}
.faq-items details{border-top:1px solid #ced6cf;padding:20px 0}
.faq-items details:last-child{border-bottom:1px solid #ced6cf}
.faq-items summary{display:list-item;cursor:pointer;font-size:1.125rem;line-height:1.6;font-weight:600}
.faq-items p{font-size:1rem;line-height:1.9;color:var(--muted);max-width:680px;margin:16px 0 0;word-break:keep-all;overflow-wrap:anywhere}
.faq-project-links{display:flex;flex-wrap:wrap;gap:16px 32px;font-size:1rem;margin-top:26px}
.project-breadcrumb{font-size:.875rem;line-height:1.8;margin-bottom:24px;word-break:keep-all;overflow-wrap:anywhere}
.project-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
.project-breadcrumb li+li:before{content:'/';margin-right:10px;color:var(--muted)}
main>.project-breadcrumb{padding:110px 5vw 0;margin-bottom:0}
.project-breadcrumb a:hover{text-decoration:underline}
@media(max-width:760px){.consultation-faq{padding-top:52px;padding-bottom:52px}.consultation-faq h2{font-size:1.75rem}.faq-items summary{font-size:1.0625rem}}
