/* R2: an editorial scale, natural Korean wrapping, and architectural material. */
:root{--muted:#65645d;--paper:#faf8f2;--content:1360px}
h1,h2{letter-spacing:-.032em;text-wrap:balance}
h1,.detail-hero h1,.contact-page h1{font-size:clamp(44px,4.5vw,66px);line-height:1.08}
h2,.knowledge h2{font-size:clamp(34px,3.25vw,46px);line-height:1.13}
h3{font-size:22px;line-height:1.4}
html[lang=ko] h1,html[lang=ko] h2{word-break:keep-all;overflow-wrap:normal;letter-spacing:-.045em;line-height:1.42}
html[lang=ko] h1,html[lang=ko] .detail-hero h1,html[lang=ko] .contact-page h1{font-size:clamp(38px,3.65vw,52px)}
html[lang=ko] h2,html[lang=ko] .knowledge h2{font-size:clamp(30px,2.85vw,40px)}
html[lang=ko] p,html[lang=ko] h3,html[lang=ko] .service-index span{word-break:keep-all;overflow-wrap:break-word}
.lead,.hero-copy>p,.stock-heading p,.case-body>p{font-size:17px;line-height:1.85;max-width:530px}
.header{padding-top:22px;padding-bottom:22px;min-height:84px;gap:42px}
.header .logo,footer .logo{width:132px}
.desktop{font-size:15px;gap:30px}
.nav-end{gap:26px}
.button{font-size:15px;padding:14px 22px;gap:25px;border-radius:2px}
.button.small{font-size:14px;padding:10px 17px}
.eyebrow{font-size:13px;letter-spacing:.12em;margin-bottom:22px}
.hero{padding-top:48px;padding-bottom:48px;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.hero h1{font-size:clamp(45px,4.4vw,64px)}
html[lang=ko] .hero h1{font-size:clamp(38px,3.65vw,52px)}
.hero-copy>p{margin:24px 0 30px}
.quiet-link{display:flex;width:max-content;margin:23px 0 0;font-size:14px;gap:15px}
.hero-art{margin:0;position:relative;height:clamp(430px,39vw,570px);overflow:hidden;background:#d5d6c5}
.hero-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-art figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 26px 24px;color:white;background:linear-gradient(transparent,rgba(18,43,33,.82));display:flex;flex-direction:column;gap:5px}
.hero-art figcaption>span:first-child{font:400 29px/1.2 var(--serif);letter-spacing:-.02em}
.hero-art figcaption>span:last-child{font-size:13px;color:#ecede5}
.service-index a{padding:28px 26px 30px}
.service-index small{font-size:12px;letter-spacing:.09em;margin-bottom:8px}
.service-index span{font-size:18px;display:block;padding-right:30px}
.service-index svg{top:52px}
.section{padding-top:88px;padding-bottom:88px}
.section-intro{margin-bottom:38px}
.consult-body{gap:8vw;grid-template-columns:1fr 1.15fr}
.work-list h3{font-size:21px}
.work-list p{font-size:15px}
.work-list>div{padding:21px 0}
.text-link{font-size:15px;margin-top:26px}
.stock-section{padding-top:80px;padding-bottom:34px;background:linear-gradient(90deg,rgba(15,40,31,.95),rgba(20,43,32,.86)),url('/assets/architectural-glass.webp') center 58%/cover;color:#fbfaf5}
.stock-heading{grid-template-columns:1.2fr 1fr;gap:6vw;margin-bottom:38px}
.stock-heading .eyebrow{color:#cad7bb}
.stock-heading p,.product-note{color:#e0e5da}
.product-ui{border-radius:3px;box-shadow:0 18px 44px #101e171a}
.ui-top{padding:17px 23px}
.ui-top strong{font-size:23px}
.ui-heading h3{font-size:24px;margin-bottom:23px}
.ui-heading small,.sidebar-bottom{font-size:12px;letter-spacing:.05em}
.method button{font-size:14px;padding:7px 12px}
th{font-size:13px}
td small{font-size:12px;color:var(--muted)}
.ui-total strong{font-size:22px}
.product-note{font-size:13px;padding-top:20px}
.bookkeeping{grid-template-columns:1fr 1.1fr;gap:7vw}
.report{background:#fffdfa;padding:30px;border-top-width:4px;box-shadow:0 12px 32px #40361e07}
.report-top{margin-bottom:34px;gap:16px}
.report-top>span:first-child{font-size:26px}
.report-top>span:last-child{font-size:12px;letter-spacing:.03em;text-align:right}
.report h3{font-size:23px;line-height:1.45;margin-bottom:28px}
.report-grid>div>span{font-size:14px}
.report-end{font-size:13px}
.knowledge{background:#f2f4ee;grid-template-columns:1fr 1fr;gap:7vw}
.knowledge-line{font-size:14px;gap:18px}
.closing{padding-top:72px;padding-bottom:76px;gap:21px;background:var(--paper)}
.closing h2{font-size:clamp(36px,3.6vw,52px);line-height:1.16}
html[lang=ko] .closing h2{font-size:clamp(31px,2.9vw,42px);line-height:1.45}
.closing small{font-size:13px;letter-spacing:.1em}
footer{padding-top:42px;gap:36px}
footer p,footer nav{font-size:14px}
.footer-bottom{font-size:13px}
.detail-hero{padding-top:70px;padding-bottom:64px;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center}
.detail-hero .lead{max-width:480px}
.detail-hero .button{margin-top:25px}
.detail-product{padding-top:10px;padding-bottom:70px;background:var(--paper)}
.status-line{font-size:13px;line-height:1.65}
.split-feature,.books-report,.book-scope,.books-boundary{gap:7vw}
.split-feature{grid-template-columns:1fr 1.2fr}
.source-ui,.forecast-ui{padding:25px;box-shadow:0 12px 32px #193f3406}
.source-title>span,.source-title small,.source-row small,.source-row time{font-size:13px}
.source-state{font-size:12px;line-height:1.5;padding:5px 8px}
.source-ui>p,.forecast-ui>p{font-size:14px;line-height:1.7}
.source-title h3{font-size:22px}
.forecast-metrics small{font-size:13px}
.forecast-metrics b{font-size:28px}
.forecast-metrics b span{font-size:14px}
.forecast-chart text{font-size:14px}
.foundation-note,.consulting-product{background:linear-gradient(90deg,rgba(20,39,30,.96),rgba(19,44,32,.88)),url('/assets/architectural-glass.webp') center/cover;color:#faf8f1}
.foundation-note .lead,.consulting-product .lead{color:#e0e4d9}
.consulting-product .eyebrow,.foundation-note .eyebrow{color:#c5d4b9}
.consulting-product .text-link{border-color:#97a48e}
.engagement-caption{font-size:13px;line-height:1.7;padding-top:20px;padding-bottom:20px}
.case-studies article{grid-template-columns:40px 1fr 1.1fr;gap:30px;padding:62px 0}
.case-number{font-size:29px}
.case-title h2{font-size:36px;line-height:1.2}
html[lang=ko] .case-title h2{font-size:30px;line-height:1.5;max-width:13em}
.case-title .eyebrow{margin-bottom:18px;font-size:13px}
.deliverable small,.ai-role small{font-size:13px;letter-spacing:.05em}
.deliverable h3{font-size:19px;line-height:1.6}
.ai-role p{font-size:15px;line-height:1.8}
.process-section ol{margin-top:38px;gap:30px}
.process-section li h3{font-size:22px;margin:12px 0 9px}
.process-section li p{font-size:15px;line-height:1.8}
.page-bookkeeping .eyebrow{color:#836615}
.page-bookkeeping .detail-hero{background:#fbf8ee}
.book-scope h3{font-size:21px}
.contact-page{padding-top:70px;padding-bottom:75px;gap:7vw;grid-template-columns:1.1fr 1fr}
.contact-page h1{margin-bottom:25px}
html[lang=en] .contact-page h1{font-size:clamp(42px,3.85vw,58px)}
.contact-direct{margin-top:34px}
.contact-direct small{font-size:13px}
.contact-direct a{font-size:18px}
.contact-page form{padding:30px;box-shadow:0 14px 40px #3a382508}
.contact-page label,.form-note,#form-status{font-size:14px}
.page-contact .contact-page>div::after{content:'';display:block;background:url('/assets/architectural-glass.webp') center 65%/cover;height:185px;margin-top:38px}
@media(min-width:1600px){.hero{gap:72px}.hero-art{height:555px}}
@media(max-width:1100px){
 .header{gap:26px}.desktop{gap:20px}.hero{gap:35px}.hero-art{height:440px}
 .report-grid{grid-template-columns:1fr}.report-grid svg{max-height:100px}
 .source-row{gap:9px}.source-state{font-size:12px}.source-title>span{font-size:12px}
 .case-studies article{grid-template-columns:28px 1fr 1.1fr;gap:23px}
 .case-title h2{font-size:32px}html[lang=ko] .case-title h2{font-size:28px}
 .knowledge-line{gap:12px;font-size:14px}.source-ui,.forecast-ui{padding:22px}
}
@media(max-width:760px){
 .header{padding:20px 6vw;min-height:76px}.header .logo,footer .logo{width:124px}.mobile-menu nav{top:76px}
 .hero{padding:45px 6vw 30px;grid-template-columns:1fr;gap:32px}
 .hero h1,h1,.detail-hero h1,.contact-page h1{font-size:clamp(38px,8.8vw,52px);line-height:1.12}
 html[lang=ko] h1,html[lang=ko] .hero h1,html[lang=ko] .detail-hero h1,html[lang=ko] .contact-page h1{font-size:clamp(31px,7.35vw,42px);line-height:1.48;letter-spacing:-.04em}
 h2,.knowledge h2,.closing h2{font-size:clamp(31px,7.3vw,40px);line-height:1.15}
 html[lang=ko] h2,html[lang=ko] .knowledge h2,html[lang=ko] .closing h2{font-size:clamp(27px,6.45vw,34px);line-height:1.48}
 .eyebrow{font-size:12px;margin-bottom:18px;letter-spacing:.1em}
 .lead,.hero-copy>p,.stock-heading p,.case-body>p{font-size:16px;line-height:1.85}
 .hero-copy>p{margin:20px 0 24px}.hero-copy>p br{display:none}.quiet-link{display:inline-flex;margin:16px 0 0 16px;font-size:14px}
 .hero-art{height:315px}.hero-art>img{object-position:50% 58%}.hero-art figcaption{padding:50px 22px 20px}.hero-art figcaption>span:first-child{font-size:27px}.hero-art figcaption>span:last-child{font-size:12px}
 .section{padding:60px 6vw}.section-intro{margin-bottom:28px}
 .service-index a,.service-index a:first-child{padding:21px 0}.service-index span{font-size:18px}.service-index svg{top:39px}.service-index small{font-size:12px;margin-bottom:6px}
 .consult-body,.stock-heading,.bookkeeping,.knowledge,.detail-hero,.split-feature,.books-report,.book-scope,.books-boundary{grid-template-columns:1fr;gap:30px}
 .work-list h3{font-size:20px}.work-list p{font-size:15px}.stock-section{padding:60px 6vw 30px}.stock-heading{margin-bottom:30px}
 .ui-top{padding:14px 16px}.ui-top strong{font-size:21px}.ui-top .ui-example{font-size:12px}.ui-heading h3{font-size:23px}
 .ui-content{padding:20px 16px 0}.ui-heading small{font-size:12px}.method button{font-size:14px}.product-note{font-size:13px;line-height:1.7}
 .report{padding:23px}.report-top>span:last-child{font-size:12px}.report-grid{grid-template-columns:1fr;gap:24px}.report-grid svg{margin-top:15px;max-height:105px}.report h3{font-size:22px;max-width:none}.report-end{font-size:13px;line-height:1.7}
 .knowledge-line{font-size:14px;gap:14px}.closing{padding:55px 6vw;gap:20px}
 footer{padding:38px 6vw 23px;gap:27px}.footer-bottom{font-size:12px}
 .detail-hero{padding:48px 6vw 40px}.detail-hero .button{margin-top:22px}.detail-product{padding:0 6vw 45px}
 .status-line{font-size:12px;gap:5px}.source-ui,.forecast-ui{padding:19px}.source-title h3{font-size:21px}.source-title>span{font-size:12px}.source-row strong{font-size:14px}.source-row small{font-size:12px}.source-state{font-size:12px;padding:4px 6px}.source-icon{width:28px;height:28px;font-size:17px}
 .forecast-metrics{gap:9px}.forecast-metrics small{font-size:12px;line-height:1.5}.forecast-metrics b{font-size:26px}.forecast-metrics b span{font-size:12px}.forecast-chart text{font-size:16px}
 .method-labels{font-size:17px}.engagement-caption{padding:18px 6vw;font-size:12px}.case-studies article{grid-template-columns:1fr;gap:17px;padding:42px 0}.case-number{font-size:26px}.case-title h2{font-size:31px}html[lang=ko] .case-title h2{font-size:27px;max-width:none}
 .deliverable{padding:20px 0}.deliverable h3{font-size:18px}.deliverable small,.ai-role small{font-size:13px}.case-title .eyebrow{margin-bottom:13px}.process-section li h3{font-size:20px}.process-section li p{font-size:15px}.process-section ol{gap:26px;margin-top:30px}
 .book-scope h3{font-size:20px}.book-scope p{font-size:15px}.contact-page{padding:48px 6vw;grid-template-columns:1fr;gap:32px}.contact-page form{padding:23px}.contact-direct a{font-size:17px}.page-contact .contact-page>div::after{height:150px;margin-top:28px}
}
@media(max-width:370px){.quiet-link{display:flex;margin-left:0}.source-icon{display:none}.source-state{font-size:12px}.service-index span{font-size:17px}}
@media(max-width:760px){html[lang=en] .contact-page h1{font-size:clamp(36px,8.8vw,48px)}}

/* Services and Product are the two primary business families. */
.primary-nav{align-items:center;gap:32px}
.services-nav{position:relative}
.services-nav>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:15px;line-height:1.6}
.services-nav>summary::-webkit-details-marker{display:none}
.services-nav>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3}
.services-nav[open]>summary svg{transform:rotate(180deg)}
.services-nav.active-section>summary,.services-nav[open]>summary{color:var(--green)}
.services-menu{position:absolute;top:calc(100% + 20px);left:-22px;width:280px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #24332813;z-index:30}
.services-menu a{display:block;padding:15px 13px}
.services-menu a+a{border-top:1px solid #ecece4}
.services-menu a:hover,.services-menu a[aria-current]{background:#f3f6ee}
.services-menu strong{font-size:15px;font-weight:500;display:block}
.services-menu span{font-size:13px;color:var(--muted);display:block;margin-top:5px}
.business-index{margin:0 5vw;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.business-index>div{padding:30px 0 31px}
.business-index>div+div{border-left:1px solid var(--line);padding-left:4vw}
.business-family{font-size:13px;letter-spacing:.04em;color:var(--muted)}
.business-index p{font-size:18px;color:var(--ink);margin-top:10px;word-break:keep-all}
.business-links{display:flex;gap:30px;flex-wrap:wrap}
.business-links .text-link{border:0;padding:0;margin-top:16px;font-size:14px;gap:14px;color:var(--green)}
.business-links svg{width:17px;height:17px}
.page-home .consulting+.bookkeeping{border-top:1px solid #eeeee8}
.mobile-service-group{display:flex;flex-direction:column;gap:16px}
.mobile-service-group>span{font-size:16px;font-weight:500}
.mobile-service-group>a{font-size:15px;color:var(--muted);padding-left:17px;border-left:1px solid var(--line)}
.mobile-menu .mobile-product{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:21px;font-size:16px;font-weight:500}
.mobile-product small{font-size:13px;font-weight:400;color:var(--muted)}
.mobile-menu .mobile-contact{font-size:14px;color:var(--green)}
footer .footer-navigation{gap:32px;align-items:flex-start}
.footer-group{display:flex;flex-direction:column;gap:12px}
.footer-group>span{font-size:14px;font-weight:500}
.footer-group>a{font-size:13px;color:var(--muted)}
.footer-group>a:hover{color:var(--green)}
@media(min-width:1600px){.business-index{max-width:1440px;margin:0 auto}}
@media(max-width:760px){.business-index{margin:0 6vw;grid-template-columns:1fr}.business-index>div{padding:25px 0}.business-index>div+div{padding:25px 0;border-left:0;border-top:1px solid var(--line)}.business-index p{font-size:17px;line-height:1.7}.business-links{gap:23px}.business-links .text-link{font-size:14px;margin-top:12px}footer .footer-navigation{gap:30px}}
