@font-face{font-family:"Noto Sans KR";src:url("assets/noto-sans-kr-medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
/* Grouped menus and navy/gold identity. */
.nav-inner{list-style:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;min-height:58px;margin-block:0}
.nav-group{position:relative;min-width:0}
.nav-entry{display:flex;align-items:stretch;min-height:58px;border-bottom:3px solid transparent}
.nav-entry>a{flex:1;min-width:0;padding:14px 5px 12px 13px;font-size:1rem;white-space:normal;line-height:1.5}
.nav-inner a::after{display:none}
.nav-entry>a:hover,.nav-inner a[aria-current="page"]{color:var(--navy);background:transparent}
.nav-group.is-active>.nav-entry,.nav-group.is-open>.nav-entry{border-bottom-color:var(--gold);background:#f5f5f0}
.submenu-toggle{border:0;background:transparent;color:var(--gold);width:34px;flex-shrink:0;padding:0;cursor:pointer;font-size:1.3rem;line-height:1}
.submenu-toggle span{display:block;transition:transform .15s}
.submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.submenu{display:none;position:absolute;top:100%;left:0;width:max-content;min-width:250px;max-width:340px;margin:0;padding:9px;list-style:none;background:white;border:1px solid #d9e1e8;border-top:2px solid var(--gold);box-shadow:0 16px 32px #112d461a;z-index:60}
.nav-group:nth-last-child(-n+2) .submenu{left:auto;right:0}
.nav-group.is-open>.submenu{display:block}
html:not(.js) .nav-group:hover>.submenu,html:not(.js) .nav-group:focus-within>.submenu{display:block}
.submenu a{justify-content:flex-start;text-align:left;white-space:normal;font-size:.9375rem;line-height:1.6;min-height:47px;padding:11px 16px;border:0;border-radius:2px}
.submenu a:hover,.submenu a[aria-current="page"]{background:#edf3f8;color:var(--navy)}

/* Display original portfolio images without cropping. */
.selected-card>div{aspect-ratio:8/5;background:#fff}
.selected-card img,.project-image img{object-fit:contain;object-position:center}
.selected-card:hover img{transform:none}
.solution-image img[src*="jiseong"],.solution-image img[src*="document-"]{object-fit:contain;background:#fff}
.selected-card>p,.project-copy>.eyebrow{font-size:.875rem}
.page-hero-copy>p:not(.eyebrow){color:#4b5d6f}
.page-contact .page-hero h1 span{color:var(--gold)}
.page-contact .page-hero-image{box-shadow:14px 14px 0 #e9e1cf}
.color-chip.navy{background:#163758}.color-chip.gold{background:#bda05d}
.brand-example-grid figure{border-color:#dbe3e9}
.application-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.application-gallery figure{border:1px solid #dbe3e9;background:#fff;min-width:0}
.application-gallery a{display:block;aspect-ratio:1697/927;background:#f4f6f8}
.application-gallery img{width:100%;height:100%;object-fit:contain}
.application-gallery figcaption{padding:16px 22px;font-size:1rem;font-weight:700;border-top:1px solid #e5e9ed}
.brand-case{margin-top:45px;padding-top:30px;border-top:1px solid #cad6e0;scroll-margin-top:180px}
.brand-case-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:26px}
.brand-case-heading .eyebrow{font-size:.875rem;letter-spacing:.02em;margin-bottom:10px}
.brand-case-heading h3{font-size:1.65rem;line-height:1.5}
.brand-case-heading>p{font-size:1rem;color:var(--muted);line-height:1.9}
.brand-case-gallery{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.brand-case-gallery.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.brand-case-card{min-width:0;background:#fff;border:1px solid #d7e0e7}
.brand-case-image{display:block;aspect-ratio:16/9;background:#fff;border-bottom:1px solid #e3e8ed}
.brand-case-image img{width:100%;height:100%;object-fit:contain}
.brand-case-card figcaption{padding:21px 22px}.brand-case-card h4{font-size:1.25rem}
.brand-case-card p{margin-top:7px;font-size:.9375rem;color:var(--muted);line-height:1.8}
.brand-case-card .text-link{margin-top:15px;color:var(--gold);font-size:.875rem}
.portfolio-section-nav{border-block:1px solid #dbe3e8;background:#fff}
.portfolio-section-nav>.container{display:flex;flex-wrap:wrap;gap:13px 40px;padding-block:18px}
.portfolio-section-nav a{font-size:.9375rem;font-weight:700;color:var(--navy);padding-block:5px}
.portfolio-section-nav a:hover{text-decoration:underline;text-underline-offset:6px;color:var(--gold)}
.learning-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px}
.learning-layout .section-heading{margin-bottom:24px}
.learning-layout>div>p:not(.eyebrow){font-size:1rem;line-height:1.95;color:var(--muted);margin-top:18px}
.learning-note{background:#edf3f8;border-left:3px solid #bda05d;padding:35px}.learning-note h3{font-size:1.5rem}
.learning-note p:not(.eyebrow){font-size:1rem;line-height:1.95;color:var(--muted);margin-top:16px}
.learning-note .text-link{margin-top:24px}.topic-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.topic-tags span{padding:7px 13px;font-size:.9375rem;border:1px solid #d6e0e8;background:#f4f7fa}
.lecture-document{border:1px solid #d7e0e8;background:#f6f8fa}
.lecture-document img{width:100%;height:auto;object-fit:contain}
.lecture-document figcaption{padding:15px 20px;font-size:.9375rem;color:var(--muted)}
.inquiry-section{background:#163758;color:white}.inquiry-section .eyebrow{color:#dcc18c}
.inquiry-section .learning-layout>div>p:not(.eyebrow){color:#e1e8ef}
.lecture-contact{display:flex;flex-direction:column;gap:14px;padding-left:30px;border-left:1px solid #8196aa}
.lecture-contact>span{font-size:1rem;color:#dfc68f}
.lecture-contact>a{font-size:1.5rem;line-height:1.5;overflow-wrap:anywhere;font-weight:700}.lecture-contact>a:hover{color:#e1c48b}
.notice-row{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px 0;border-block:1px solid #d5dfe7}
.notice-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;background:#edf2f7;font-weight:700;font-size:.875rem}
.notice-row h3{font-size:1.375rem}.notice-row p{font-size:1rem;color:var(--muted);margin-top:10px}
.event-record{display:grid;grid-template-columns:190px 1fr;gap:42px;background:#fff;border:1px solid #dbe3e9;padding:38px}
.event-date{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:#163758;color:white;min-height:170px;padding:20px}
.event-date strong{font-family:Georgia,serif;font-size:3.1rem;line-height:1.2;color:#dfc18b;font-weight:400}.event-date span{font-size:.875rem}
.event-record h3{font-size:1.7rem}.event-record p:not(.eyebrow){color:var(--muted);font-size:1rem;margin-top:12px}
.event-record .eyebrow{margin-bottom:10px}.event-record .text-link{margin-top:20px}
.news-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center}.news-feature img{width:100%;height:auto}
.news-feature h3{font-size:1.75rem;line-height:1.5}.news-feature p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-top:18px}.news-feature .text-link{margin-top:24px}
.project-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.project-story{background:#fff;border:1px solid #dce3e9;min-width:0}
.project-story>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;border-bottom:1px solid #e3e8ee}
.project-story>div{padding:23px}.project-story span{font-size:.875rem;color:var(--gold);font-weight:700}
.project-story h3{font-size:1.3rem;margin-top:9px;line-height:1.6}.project-story p{font-size:1rem;color:var(--muted);margin-top:12px}.project-story:hover{border-color:#b4965c}
.brand-case-card a:focus-visible,.application-gallery a:focus-visible{outline-offset:-4px}
@media(max-width:1100px){.nav-entry>a{font-size:.9375rem;padding-inline:7px}.brand-case-heading{gap:25px}.learning-layout{gap:35px}.lecture-contact>a{font-size:1.25rem}}
@media(max-width:1000px){
 html{scroll-padding-top:100px}.brand-message{display:none}.masthead{min-height:80px}.logo-window{width:196px;height:60px}
 .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #b8c8d6;padding:8px 12px;min-height:44px;background:#fff;font-size:.875rem}
 .menu-lines{position:relative;display:block;width:16px;height:11px;border-block:1.5px solid var(--ink)}.menu-lines::after{content:"";position:absolute;left:0;top:3.25px;width:100%;border-top:1.5px solid var(--ink)}
 .js .site-header nav{display:none}.js .site-header nav.is-open{display:block}.site-header nav{max-height:calc(100dvh - 80px);overflow-y:auto}
 .nav-inner{grid-template-columns:1fr;gap:0;padding-bottom:12px}.nav-entry{min-height:52px;border-bottom:1px solid #dce4eb}
 .nav-entry>a{justify-content:flex-start;text-align:left;padding:15px 12px;font-size:1rem;border:0}.submenu-toggle{width:48px;min-height:48px}
 .submenu{position:static;min-width:0;max-width:none;width:100%;box-shadow:none;border:0;background:#f3f6f9;padding:4px 10px 10px}
 .submenu a{padding:12px 16px;font-size:.9375rem;min-height:48px;border-bottom:1px solid #e0e7ed;justify-content:flex-start;text-align:left}
 .nav-group.is-active>.nav-entry,.nav-group.is-open>.nav-entry{border-bottom-color:#b7985c}.brand-case{scroll-margin-top:105px}
}
@media(max-width:800px){
 .application-gallery{gap:20px}.brand-case-heading{grid-template-columns:1fr;gap:14px}.brand-case-heading h3{font-size:1.5rem}
 .brand-case-gallery,.brand-case-gallery.columns-3{grid-template-columns:1fr 1fr;gap:20px}.brand-case-gallery.columns-3 .brand-case-card:first-child{grid-column:1/-1}
 .learning-layout{grid-template-columns:1fr;gap:28px}.learning-note{padding:28px}.learning-layout .section-heading{margin-bottom:20px}
 .lecture-contact{padding:25px 0 0;border-left:0;border-top:1px solid #8196aa}.lecture-contact>a{font-size:1.5rem}
 .notice-row{grid-template-columns:auto 1fr;gap:19px}.notice-row>.text-link{grid-column:2}
 .event-record{grid-template-columns:140px 1fr;gap:27px;padding:27px}.event-record h3{font-size:1.45rem}.event-date strong{font-size:2.65rem}
 .news-feature{grid-template-columns:1fr;gap:25px}.news-feature h3{font-size:1.5rem}
 .project-story-grid{grid-template-columns:1fr 1fr;gap:22px}.project-story-grid .project-story:last-child{grid-column:1/-1;max-width:calc(50% - 11px)}
 .portfolio-section-nav>.container{gap:10px 25px}
}
@media(max-width:560px){
 .application-gallery,.brand-case-gallery,.brand-case-gallery.columns-3,.project-story-grid{grid-template-columns:1fr}
 .brand-case-gallery.columns-3 .brand-case-card:first-child,.project-story-grid .project-story:last-child{grid-column:auto;max-width:none}
 .brand-case{margin-top:32px;padding-top:25px}.brand-case-heading h3{font-size:1.375rem}.brand-case-card figcaption{padding:19px 21px}
 .portfolio-section-nav>.container{display:grid;grid-template-columns:1fr 1fr;gap:7px 17px}.portfolio-section-nav a{font-size:.875rem}
 .notice-row{grid-template-columns:1fr;gap:17px}.notice-row>.text-link{grid-column:auto}.notice-badge{justify-self:start}.notice-row h3{font-size:1.3rem}
 .event-record{grid-template-columns:1fr;padding:24px;gap:23px}.event-date{min-height:0;flex-direction:row;justify-content:flex-start;padding:17px 20px;gap:20px}.event-date strong{font-size:2.15rem}.event-record h3{font-size:1.4rem}
 .lecture-contact>a{font-size:1.3rem}.learning-note{padding:25px}.learning-note h3{font-size:1.375rem}.topic-tags span{font-size:.875rem}
 .selected-card>div{aspect-ratio:8/5}.selected-card h3{font-size:1.3rem}
}

/* Larger handwritten business message and calmer navigation lettering. */
.masthead{display:grid;grid-template-columns:238px minmax(0,1fr) auto;gap:30px;min-height:106px}
.brand-message{display:block;width:min(100%,570px);min-width:0;justify-self:center;margin:0;line-height:1}
.calligraphy-window{display:block;width:100%;aspect-ratio:8.3;overflow:hidden}
.calligraphy-window img{width:100%;height:100%;object-fit:cover;object-position:50% 44%}
.header-phone{gap:6px;align-items:flex-end;flex-direction:column;white-space:nowrap}
.header-phone>span{font-size:.875rem}.header-phone strong{font-size:1.0625rem}
.nav-entry>a,.submenu a,.menu-toggle{font-family:"Noto Sans KR",NanumGothic,"Malgun Gothic",sans-serif;font-weight:500;font-synthesis:none;letter-spacing:normal}
.nav-entry>a{font-size:1.125rem;padding-inline:12px 5px}
.submenu a{font-size:1rem;line-height:1.65}

/* Full-width image and copy compositions; originals remain uncropped. */
.page-hero-panoramic{position:relative;isolation:isolate;overflow:hidden;background:#f7f8f9}
.page-hero-panoramic>.container{position:relative;z-index:1}
.page-hero-panoramic .breadcrumb{padding-top:27px;margin-bottom:0;max-width:48%}
.page-hero-panoramic .page-hero-grid{display:block;min-height:465px;padding:45px 0 65px}
.page-hero-panoramic .page-hero-copy{width:47%;max-width:640px;position:relative}
.page-hero-panoramic .page-hero-copy h1{font-size:clamp(2.2rem,2.8vw,2.8rem);line-height:1.45}
.page-hero-panoramic .page-hero-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.95;color:#364e63}
.page-hero-panoramic .page-hero-image{position:absolute;inset:0 0 0 43%;display:flex;align-items:center;justify-content:flex-end;aspect-ratio:auto;max-width:none;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 23%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 23%,#000 100%)}
.page-hero-panoramic .page-hero-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}
.page-education .page-hero-grid{min-height:530px}
.page-education .page-hero-image{left:45%}
.page-education .page-hero-image img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 5%,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 5%,#000 94%,transparent 100%)}
.page-branding .page-hero-image,.page-portfolio .page-hero-image{left:49%;-webkit-mask-image:none;mask-image:none}
.page-branding .page-hero-image img,.page-portfolio .page-hero-image img{height:auto;max-height:100%;padding:35px 3vw 35px 0;-webkit-mask-image:none;mask-image:none}
.page-contact .page-hero-image{box-shadow:none}
.story-section{position:relative;overflow:hidden;background:#f7f8f9}
.story-grid{grid-template-columns:1fr 1.12fr;gap:25px}
.story-image{aspect-ratio:auto;overflow:visible;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%)}
.story-image img{width:100%;height:auto;object-fit:contain;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 5%,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 5%,#000 94%,transparent 100%)}

/* Approved greeting and the author's two original book images. */
.greeting-layout{display:grid;grid-template-columns:.65fr 1.65fr;gap:70px;align-items:start}
.greeting-label .eyebrow{max-width:240px;line-height:1.8}
.greeting-label h2{font-size:2.25rem;line-height:1.5}
.greeting-label>p:last-child{margin-top:28px;font-size:1.0625rem;line-height:1.9;color:#4b5d6f}
.greeting-label strong{display:inline-block;margin-top:7px;font-size:1.6rem;color:var(--navy)}
.greeting-letter{max-width:850px;min-width:0}
.greeting-letter h3{font-size:clamp(1.7rem,2.2vw,2.2rem);line-height:1.65;letter-spacing:-.035em;color:var(--navy);margin-bottom:33px}
.greeting-letter>p{font-size:1.125rem;line-height:2;color:#30465a;margin-top:23px;word-break:keep-all;overflow-wrap:break-word}
.greeting-letter strong{color:var(--navy);font-weight:700}
.greeting-letter .greeting-signature{margin-top:35px;padding-top:25px;border-top:1px solid #cdb782;text-align:right}
.greeting-signature strong{display:inline-block;margin-left:12px;font-size:1.5rem;letter-spacing:.07em}
.founder-grid{grid-template-columns:.65fr 1.65fr;gap:70px}
.book-list{gap:32px;margin-top:28px;align-items:start}
.book-item{min-width:0}
.book-visual{display:flex;align-items:center;justify-content:center;height:370px;margin:0;padding:0;background:transparent;border:0}
.book-visual img{display:block;width:100%;height:100%;object-fit:contain}
.book-caption{border-top:1px solid #cfbc96;padding-top:21px;margin-top:22px}
.book-list .book-caption>span{font-size:1.2rem;color:var(--gold)}
.book-list h3{font-size:1.1875rem;line-height:1.65;margin-top:10px;word-break:keep-all}
.book-list p{font-size:1rem;line-height:1.9;color:#41576a}
@media(max-width:1200px){
 .masthead{grid-template-columns:216px minmax(0,1fr) auto;gap:23px}.logo-window{width:216px;height:66px}
 .nav-entry>a{font-size:1.0625rem;padding-left:8px}.submenu-toggle{width:28px}
 .page-hero-panoramic .page-hero-copy{width:48%}.page-hero-panoramic .page-hero-copy h1{font-size:2.2rem}
 .greeting-layout,.founder-grid{gap:42px;grid-template-columns:.65fr 1.65fr}.book-visual{height:320px}
}
@media(min-width:1001px) and (max-width:1100px){
 .nav-entry>a{padding-inline:4px 0}.submenu-toggle{width:24px}
}
@media(max-width:1000px){
 html{scroll-padding-top:155px}
 .masthead{grid-template-columns:1fr auto auto;gap:0 22px;min-height:0;padding-block:10px 8px}
 .masthead>.brand{grid-column:1;grid-row:1}.masthead>.header-phone{grid-column:2;grid-row:1}.masthead>.menu-toggle{grid-column:3;grid-row:1}
 .masthead>.brand-message{display:block;grid-column:1/-1;grid-row:2;width:min(100%,490px);margin:4px auto 0}
 .calligraphy-window{aspect-ratio:8.3}.logo-window{width:196px;height:60px}
 .site-header nav{max-height:calc(100dvh - 145px)}.brand-case{scroll-margin-top:160px}
 .nav-entry>a{font-size:1.125rem;padding:15px 12px}.submenu-toggle{width:48px}.submenu a{font-size:1rem}
 .page-hero-panoramic .page-hero-grid{min-height:445px;padding-block:35px 48px}
 .page-hero-panoramic .page-hero-copy h1{font-size:2rem}
 .page-hero-panoramic .page-hero-copy>p:not(.eyebrow){font-size:1rem}
}
@media(max-width:800px){
 .page-hero-panoramic{display:flex;flex-direction:column}
 .page-hero-panoramic>.container{order:1}
 .page-hero-panoramic .breadcrumb{max-width:none;padding-top:23px}
 .page-hero-panoramic .page-hero-grid{min-height:0;padding-block:31px 19px}
 .page-hero-panoramic .page-hero-copy{width:100%;max-width:650px}
 .page-hero-panoramic .page-hero-copy h1{font-size:2.2rem}
 .page-hero-panoramic .page-hero-image{position:relative;order:2;inset:auto;width:100%;height:auto;max-width:none;max-height:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 100%)}
 .page-hero-panoramic .page-hero-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;padding:0;-webkit-mask-image:none;mask-image:none}
 .page-branding .page-hero-image,.page-portfolio .page-hero-image{-webkit-mask-image:none;mask-image:none;padding:15px 20px 25px}
 .story-grid{grid-template-columns:1fr;gap:28px}.story-image{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 100%);max-width:none}
 .story-image img{-webkit-mask-image:none;mask-image:none}
 .greeting-layout,.founder-grid{grid-template-columns:1fr;gap:27px}
 .greeting-label>p:last-child{display:none}.greeting-label h2{font-size:1.85rem}
 .greeting-letter{max-width:none}.greeting-letter h3{font-size:1.8rem;margin-bottom:26px}
 .greeting-letter>p{font-size:1.0625rem;line-height:1.95;margin-top:20px}
 .book-visual{height:360px}.book-list{gap:28px}
}
@media(max-width:560px){
 html{scroll-padding-top:140px}.masthead{gap:0 13px;padding-block:9px 7px;grid-template-columns:1fr auto}
 .masthead>.menu-toggle{grid-column:2}.masthead>.brand-message{width:100%;max-width:430px;margin-top:5px}
 .calligraphy-window{aspect-ratio:8.5}.site-header nav{max-height:calc(100dvh - 140px)}
 .page-hero-panoramic .page-hero-copy h1{font-size:1.95rem}.page-hero-panoramic .page-hero-grid{padding-top:28px}
 .page-hero-panoramic .page-hero-copy>p:not(.eyebrow) br{display:none}
 .greeting-letter h3{font-size:1.6rem;line-height:1.7}.greeting-letter h3 br{display:none}
 .greeting-letter>p{font-size:1rem;line-height:2}.greeting-signature strong{font-size:1.35rem}
 .book-list{grid-template-columns:1fr 1fr;gap:18px}.book-visual{height:auto;aspect-ratio:1082/1454}
 .book-caption{padding-top:16px;margin-top:16px}.book-list h3{font-size:1rem;line-height:1.75}.book-list p{font-size:.9375rem;line-height:1.8}
 .book-list .book-caption>span{font-size:1.125rem}
}
@media(max-width:380px){
 .logo-window{width:180px;height:55px}.masthead{gap:0 10px}.menu-toggle{padding-inline:10px}
 .page-hero-panoramic .page-hero-copy h1{font-size:1.8rem}.book-list{grid-template-columns:1fr;gap:32px}
 .book-visual{height:330px;aspect-ratio:auto}.book-list h3{font-size:1.2rem}.book-list p{font-size:1rem}
}
