/* ZACOB 1.5.0: home presentation only; 1.4.0 content architecture retained. */
.home-template{--zacob-brand:#002060;--zacob-paper:#fcfaf7;--zacob-canvas:#f6f3ef;--zacob-text:#2e2b2c;--zacob-secondary:#5a5456;--zacob-line:#d6cfc8}
.home-template .header,.home-template .hero,.home-template .section,.home-template .footer{padding-left:max(48px,calc((100vw - 1280px)/2));padding-right:max(48px,calc((100vw - 1280px)/2))}
.home-template .header{min-height:104px;background:var(--zacob-paper);position:relative;z-index:10}
.home-template .header nav{gap:32px;font-size:15px}
.home-template .header-contact{font-size:14px}
.home-template .nav-dropdown{padding:16px;min-width:236px;box-shadow:none}
.home-template .nav-dropdown a{padding:12px;font-size:14px}
.home-template .hero{padding-top:40px;padding-bottom:28px;min-height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:space-between}
.home-template .hero-top{align-items:baseline}
.home-template .eyebrow{font-size:12px;letter-spacing:.12em;line-height:1.6;margin-bottom:28px}
.home-template .hero-top .eyebrow{margin:0}
.home-template .edition{font-size:13px;margin:0;color:var(--zacob-secondary)}
.home-template .hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:72px;padding:64px 0 72px;align-items:center}
.home-template .hero h1{font-size:clamp(44px,4.4vw,68px);line-height:1.4;letter-spacing:-.045em;margin-bottom:32px}
.home-template .hero-copy{font-size:18px;line-height:1.9;margin-bottom:32px}
.home-template .button{min-height:52px;padding:15px 24px;font-size:15px;gap:40px;line-height:1.5}
.home-template .hero-foot{padding-top:24px;align-items:center;font-size:11px;letter-spacing:.04em;gap:24px}
.home-template .hero-foot a{font-size:14px;white-space:nowrap}
.home-template .structure{border-left:0;padding:32px 0 32px 24px}
.home-template .structure-label{font-size:10px;letter-spacing:.13em;color:var(--zacob-secondary)}
.home-template .diagram{height:340px;margin:32px auto;max-width:360px}
.home-template .structure>p{font-size:14px;color:var(--zacob-secondary);margin:0;text-align:center}
.home-template .node{width:88px;height:88px;font-size:20px}
.home-template .node small{font-size:9px}
.home-template .opportunity{left:calc(50% - 44px)}
.home-template .people,.home-template .capital{top:125px}
.home-template .center{top:132px;font-size:32px}
.home-template .execution{font-size:18px;padding:14px 8px}
.home-template .execution span{font-size:9px}
.home-template .section{padding-top:120px;padding-bottom:120px}
.home-template .section h2{font-size:clamp(34px,3.4vw,48px);line-height:1.45;letter-spacing:-.035em;margin-bottom:32px}
.home-template .why,.home-template .process,.home-template .representative{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:112px}
.home-template .why-items article{gap:28px;padding:32px 0}
.home-template .why-items article:first-child{padding-top:0}
.home-template .why-items article>span{font-size:13px}
.home-template .why-items h3{font-size:22px;margin-bottom:12px;line-height:1.55}
.home-template .why-items p{font-size:17px;line-height:1.85}
.home-template .section-heading{align-items:flex-end;gap:48px}
.home-template .section-heading>p:not(.eyebrow){font-size:17px;line-height:1.85;margin-bottom:32px}
.home-template .services-grid{margin-top:32px;gap:0}
.home-template .service{padding:40px 36px 12px 0;min-width:0}
.home-template .service+.service{padding-left:36px}
.home-template .service-number{font-size:11px;letter-spacing:.07em}
.home-template .service h3{font-size:36px;margin:40px 0 24px}
.home-template .service h4{font-size:22px;line-height:1.65;margin-bottom:20px}
.home-template .service p{font-size:17px;line-height:1.85;max-width:none}
.home-template .service-link{font-size:14px;padding-top:40px;gap:20px;min-height:44px}
.home-template .philosophy-grid{gap:112px;margin:48px 0 64px;grid-template-columns:1fr 1.3fr}
.home-template .philosophy-grid>div{max-width:520px}
.home-template .philosophy .lead{font-size:26px;line-height:1.7;margin-bottom:24px}
.home-template .philosophy-grid p:not(.lead){font-size:17px;line-height:1.9}
.home-template .text-link{font-size:15px;min-height:44px;gap:32px}
.home-template .principles{padding-top:32px;font-size:16px;gap:32px}
.home-template .steps li{padding:28px 0}
.home-template .steps li:first-child{padding-top:0}
.home-template .steps small{font-size:11px;letter-spacing:.1em}
.home-template .steps h3{font-size:22px;margin:12px 0}
.home-template .steps p{font-size:17px;line-height:1.85}
.home-template .note{font-size:14px;line-height:1.85;margin-top:24px}
.home-template .representative p:not(.eyebrow){font-size:17px;line-height:1.9}
.home-template .newsletter{gap:96px;grid-template-columns:1.5fr 1fr}
.home-template .newsletter h2{margin-bottom:0}
.home-template .newsletter p:not(.eyebrow){font-size:18px;line-height:1.85;margin-bottom:28px}
.home-template .contact{padding-top:128px;padding-bottom:128px}
.home-template .contact p{font-size:17px;line-height:1.9}
.home-template .contact .eyebrow{font-size:12px}
.home-template .contact-status{display:block;width:fit-content;max-width:100%;margin:32px auto 24px;padding:16px 24px;font-size:14px}
.home-template .contact .text-link{margin-top:24px}
.home-template .footer{padding-top:56px;padding-bottom:56px;font-size:14px}
.home-template .footer>div:last-child{gap:12px}
@media(max-width:1100px){
.home-template .header,.home-template .hero,.home-template .section,.home-template .footer{padding-left:32px;padding-right:32px}
.home-template .header nav{gap:20px;font-size:14px}
.home-template .hero-grid{gap:32px;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}
.home-template .hero h1{font-size:48px}
.home-template .hero-copy{font-size:17px}
.home-template .why,.home-template .process,.home-template .representative,.home-template .philosophy-grid{gap:56px}
.home-template .section{padding-top:96px;padding-bottom:96px}
.home-template .service{padding-right:24px}.home-template .service+.service{padding-left:24px}
.home-template .service h4{font-size:20px}.home-template .service p{font-size:16px}
}
@media(max-width:820px){
.home-template .header{flex-wrap:wrap;gap:18px;padding-top:24px;padding-bottom:20px}
.home-template .header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px;align-items:flex-start}
.home-template .header-contact{margin-left:auto;font-size:13px}
.home-template .nav-dropdown{min-width:200px;max-width:calc(100vw - 48px)}
.home-template .nav-group:nth-child(n+3) .nav-dropdown{left:auto;right:0}
.home-template .hero{min-height:0;padding-top:32px}
.home-template .hero-grid{grid-template-columns:1fr;padding-top:48px;padding-bottom:48px;gap:48px}
.home-template .hero h1{font-size:clamp(38px,6.4vw,56px)}
.home-template .structure{border-top:1px solid var(--zacob-line);padding:32px 0 0}
.home-template .structure-label{text-align:center}
.home-template .diagram{width:min(100%,360px)}
.home-template .hero-foot{flex-direction:column;align-items:flex-start;gap:16px;font-size:10px}
.home-template .section{padding-top:80px;padding-bottom:80px}
.home-template .why,.home-template .process,.home-template .representative,.home-template .philosophy-grid,.home-template .newsletter{grid-template-columns:1fr;gap:40px}
.home-template .section-heading{display:block}
.home-template .services-grid{grid-template-columns:1fr}
.home-template .service,.home-template .service+.service{padding:32px 0;border-left:0;min-height:0}
.home-template .service+.service{border-top:1px solid var(--zacob-line)}
.home-template .service h3{margin:24px 0 16px;font-size:32px}
.home-template .service h4 br{display:none}
.home-template .service-link{padding-top:16px}
.home-template .principles{grid-template-columns:1fr;gap:20px}
.home-template .philosophy-grid{margin:32px 0 48px}
.home-template .newsletter h2{margin-bottom:0}
.home-template .footer{flex-direction:column;gap:32px}
}
@media(max-width:480px){
.home-template .header,.home-template .hero,.home-template .section,.home-template .footer{padding-left:24px;padding-right:24px}
.home-template .hero-top{gap:16px}.home-template .hero-top .eyebrow{font-size:10px;letter-spacing:.06em}.home-template .edition{font-size:12px;white-space:nowrap}
.home-template .header nav{font-size:12px;gap:8px}.home-template .nav-group summary:after{margin-left:4px}
.home-template .hero h1{font-size:clamp(30px,8.2vw,39px)}
.home-template .hero-copy{font-size:16px}.home-template .hero-copy br{display:none}
.home-template .section h2{font-size:32px}.home-template .section h2 br{display:none}
.home-template .section{padding-top:64px;padding-bottom:64px}
.home-template .why-items h3,.home-template .steps h3{font-size:20px}
.home-template .why-items p,.home-template .steps p,.home-template .representative p:not(.eyebrow){font-size:16px}
.home-template .philosophy .lead{font-size:23px}
.home-template .hero-foot>span{overflow-wrap:anywhere}
.home-template .node{width:76px;height:76px;font-size:18px}.home-template .opportunity{left:calc(50% - 38px)}
.home-template .diagram{max-width:300px;height:310px}.home-template .people,.home-template .capital{top:115px}.home-template .center{top:120px}
.home-template .button{font-size:14px;gap:24px}
}
@media(prefers-reduced-motion:reduce){.home-template{scroll-behavior:auto}.home-template *{animation:none!important;transition:none!important}}

/* One-time entrance. Content stays visible if animation is unavailable. */
@keyframes zacob-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .home-template .hero h1{animation:zacob-enter 680ms cubic-bezier(.22,1,.36,1) 0ms backwards}
 .home-template .hero-copy{animation:zacob-enter 680ms cubic-bezier(.22,1,.36,1) 160ms backwards}
 .home-template .hero-grid>div:first-child>.button{animation:zacob-enter 620ms cubic-bezier(.22,1,.36,1) 220ms backwards}
 .home-template .hero .structure{animation:zacob-enter 680ms cubic-bezier(.22,1,.36,1) 300ms backwards}
 .home-template .hero-foot{animation:zacob-enter 600ms cubic-bezier(.22,1,.36,1) 420ms backwards}
 .home-template .hero:focus-within h1,.home-template .hero:focus-within .hero-copy,.home-template .hero:focus-within .hero-grid>div:first-child>.button,.home-template .hero:focus-within .structure,.home-template .hero:focus-within .hero-foot{animation:none}
}
@media(prefers-reduced-motion:reduce){.home-template .hero *{animation:none!important;transform:none!important}}

/* 1.5.2: large wordmark entry and a deliberately concise first viewport. */
.brand-intro,.intro-skip{display:none}
@keyframes zacob-wordmark{0%{opacity:0;transform:translateY(16px)}25%,75%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
@keyframes zacob-intro-exit{0%,65%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:no-preference){
 html.zacob-intro-active .brand-intro{display:flex;position:fixed;inset:0;z-index:1000;background:#fcfaf7;align-items:center;justify-content:center;animation:zacob-intro-exit 1500ms ease forwards;pointer-events:none}
 html.zacob-intro-active .brand-intro-content{display:flex;flex-direction:column;align-items:center;animation:zacob-wordmark 1200ms cubic-bezier(.22,1,.36,1) both;padding:24px}
 html.zacob-intro-active .brand-intro-name{font-family:Arial,sans-serif;font-size:clamp(76px,19vw,280px);font-weight:800;line-height:1;letter-spacing:-.065em;color:#002060}
 html.zacob-intro-active .brand-intro-name>span{font-style:normal}
 html.zacob-intro-active .brand-intro-caption{font-size:clamp(14px,1.2vw,18px);letter-spacing:.2em;color:#5a5456;margin-top:32px}
 html.zacob-intro-active .intro-skip{display:block;position:fixed;right:32px;bottom:32px;z-index:1001;border:1px solid #d6cfc8;background:#fcfaf7;color:#002060;padding:14px 24px;min-height:48px;font:inherit;cursor:pointer}
 html.zacob-intro-active .hero h1{animation-delay:1080ms}
 html.zacob-intro-active .hero-copy{animation-delay:1200ms}
 html.zacob-intro-active .hero-grid>div:first-child>.button{animation-delay:1260ms}
 html.zacob-intro-active .hero-foot{animation-delay:1320ms}
}
.home-template .hero-grid{grid-template-columns:1fr;padding:64px 0 72px}
.home-template .hero-grid>div:first-child{max-width:1000px}
.home-template .hero h1{font-size:clamp(44px,5.4vw,76px);line-height:1.35}
.home-template .hero-copy{font-size:20px;margin-bottom:32px}
.home-template .why-structure{margin-top:56px;padding-top:40px;border-top:1px solid #d6cfc8}
.home-template .structure-intro{font-size:19px;line-height:1.85;color:#5a5456;margin-bottom:32px}
.home-template .why .structure{padding:16px 0 0;border:0}
.home-template .why .structure-label{text-align:center}
.home-template .why .structure>p{text-align:center}
@media(max-width:820px){.home-template .hero-grid{padding:48px 0}.home-template .hero h1{font-size:clamp(38px,7.5vw,60px)}.home-template .why-structure{margin-top:40px}.home-template .hero-copy{font-size:18px}}
@media(max-width:480px){.home-template .hero h1{font-size:clamp(30px,8.2vw,39px)}.home-template .hero-copy,.home-template .structure-intro{font-size:17px}.home-template .structure-intro br{display:none}html.zacob-intro-active .intro-skip{right:24px;bottom:24px}}
@media(prefers-reduced-motion:reduce){html.zacob-intro-active .brand-intro,html.zacob-intro-active .intro-skip{display:none!important}}

/* 1.5.3: visually distinguish the proposed solution from the problem list. */
.home-template .why-structure{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:80px;align-items:center;margin-top:0;padding:64px 0 0;border-top:2px solid #002060}
.home-template .solution-label{font-size:14px;font-weight:700;letter-spacing:.04em;color:#002060;margin:0 0 24px;line-height:1.6}
.home-template .solution-title{font-family:"Gowun Batang","Batang",serif;font-size:clamp(30px,3vw,42px);font-weight:400;letter-spacing:-.035em;line-height:1.6;margin:0;color:#2e2b2c}
.home-template .solution-title strong{font-weight:700;color:#002060;display:block;margin-top:16px}
.home-template .why .structure{padding-top:0}
.home-template .why .structure-label{font-size:10px}
.home-template .why .structure>p{font-size:16px;color:#002060;margin-top:24px}
@media(max-width:1100px){.home-template .why-structure{gap:48px;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.home-template .solution-title{font-size:32px}}
@media(max-width:820px){.home-template .why-structure{grid-template-columns:1fr;gap:40px;padding-top:40px}.home-template .solution-title{font-size:34px}.home-template .solution-title br:nth-of-type(2){display:none}}
@media(max-width:480px){.home-template .solution-title{font-size:28px;line-height:1.65}.home-template .solution-title br{display:none}.home-template .solution-label{font-size:13px;margin-bottom:20px}.home-template .solution-title strong{margin-top:12px}}

/* 1.5.4: centered diagram labels and shared header wordmark treatment. */
.home-template .why .diagram{--node-size:96px;--node-y:125px}
.home-template .why .node{width:var(--node-size);height:var(--node-size);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 5px;text-align:center;line-height:1;min-width:0}
.home-template .why .node-label{display:block;font-size:20px;line-height:1.2;margin:0;padding:0;white-space:nowrap}
.home-template .why .node small{display:block;margin:0;padding:0;font-family:Arial,sans-serif;font-size:8px;line-height:1.2;letter-spacing:.35px;white-space:nowrap;max-width:100%}
.home-template .why .opportunity{left:calc(50% - var(--node-size)/2);top:0}
.home-template .why .people,.home-template .why .capital{top:var(--node-y)}
.home-template .why .center{top:var(--node-y);left:50%;transform:translateX(-50%);height:var(--node-size);width:auto;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;line-height:1}
.home-template .why .center .diagram-brand{display:inline-flex;flex-direction:row;align-items:baseline;gap:0;margin:0;padding:0;font-family:Arial,sans-serif;font-size:32px;font-weight:800;letter-spacing:-1.25px;line-height:1;color:#2e2b2c;white-space:nowrap}
.home-template .why .center .diagram-brand-korean{display:inline;font-family:Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.8px;line-height:1;margin:0 0 0 8px;color:#2e2b2c}
.home-template .why .center .diagram-brand i{display:inline;font-family:Arial,sans-serif;font-size:35px;font-weight:800;font-style:normal;letter-spacing:-1.25px;line-height:1;margin:0;color:#002060}
@media(max-width:480px){
.home-template .why .diagram{--node-size:84px;--node-y:115px}
.home-template .why .node{gap:7px;padding:10px 4px}
.home-template .why .node-label{font-size:18px}
.home-template .why .node small{font-size:7px;letter-spacing:.2px}
.home-template .why .center .diagram-brand{font-size:25px;letter-spacing:-1px}
.home-template .why .center .diagram-brand-korean{font-size:8px;margin-left:5px;letter-spacing:.5px}
.home-template .why .center .diagram-brand i{font-size:28px;letter-spacing:-1px}
}

/* 1.5.7: remove the vertical connector crossing the central wordmark. */
.home-template .why .diagram:after{content:none;display:none}
