@charset "UTF-8";

/* Shared paper, ink and controls. Home composition is isolated below. */
:root{--bh-paper:#f3efe7;--bh-ink:#191919;--bh-muted:#65635d;--bh-line:#c8c4bb;--bh-red:#ce3e2e;--bh-blue:#2453ad;--bh-yellow:#e4bc36}
@media screen{
:root{--paper:var(--bh-paper);--white:#fffdf9;--ink:var(--bh-ink);--muted:var(--bh-muted);--line:var(--bh-line);--blue:var(--bh-blue);--green:#e2ddcf;--radius:0px}
.site-header{background:var(--paper);backdrop-filter:none}
.brand{font-weight:650;letter-spacing:-.055em}
.language-control,.menu-toggle{flex-shrink:0}
.language-control button{white-space:nowrap}
.brand-mark{transform:none;gap:3px}
.brand-mark i{background:var(--bh-ink);border-radius:0}
.brand-mark i:last-child{background:var(--bh-red);border-radius:50%}
.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--bh-red)}
.button,.language-control,.language-control button,.menu-toggle,.tag,.tech-topic,.contact-option,.tech-card,.tech-flow,.tech-related-list>a,.tech-toc-mobile,.case-evidence img{border-radius:0}
.button:hover{transform:none;background:#33312d}
.button.secondary:hover{background:#e8e3d9}
.tech-card:hover{transform:none;border-color:var(--ink)}
.tech-flow,.tech-related-list>a,.tech-toc-mobile{background:#ebe6dc}
.tech-flow>li{border-color:var(--line)}
.tech-flow-number{color:var(--muted)}
.approach-section{background:#ebe6dc}
.text-link{border-color:var(--line)}
.contact-section{color:var(--paper)}
.contact-section p,.contact-section .section-kicker{color:#c1bdb5}
.contact-section .button{background:var(--paper);color:var(--ink)}
.contact-section .button:hover{background:#fffdf9}
.site-footer{background:var(--paper)}
@media(max-width:370px){.header-inner{gap:7px}.brand{font-size:18px;gap:8px}.brand-mark{width:23px;height:23px}.language-control button{font-size:10px;padding:5px 6px}.menu-toggle{font-size:11px;padding:6px 8px}}
@media(max-width:900px){.header-inner{height:73px;gap:13px}.language-control{margin-left:auto}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:73px;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);margin:0;box-shadow:none}.primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.primary-nav a{font-size:15px}}
}

/* The homepage uses type, alignment and rules as its primary structure. */
.bh-home{--bh-small:11px}
.bh-home a{border-radius:0}
.bh-home h1,.bh-home h2,.bh-home h3,.bh-home p{margin:0}
.bh-home h1,.bh-home h2,.bh-home h3{color:var(--bh-ink)}
.bh-home .bh-arrow{font-size:20px;font-weight:400;line-height:1;flex:none}
.bh-home a:focus-visible{outline:3px solid var(--bh-blue);outline-offset:5px}
.bh-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:65px;align-items:center;padding:68px 0 72px;min-height:680px}
.bh-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--bh-muted);margin-bottom:32px!important}
.bh-red-rule{display:block;width:25px;height:5px;background:var(--bh-red)}
.bh-hero h1{font-size:clamp(66px,6.7vw,92px);font-weight:510;line-height:.98;letter-spacing:-.072em;margin-bottom:30px}
.bh-hero h1>span{display:block}
html[lang=ko] .bh-hero h1{font-size:clamp(67px,6.7vw,92px);font-weight:530;line-height:1.12;letter-spacing:-.075em;margin-bottom:33px}
.bh-hero-lead{max-width:430px;color:var(--bh-muted);font-size:17px;line-height:1.75}
.bh-hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}
.bh-primary-link,.bh-quiet-link,.bh-text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;font-weight:550;line-height:1.5}
.bh-primary-link{border-bottom:1px solid var(--bh-ink);padding-bottom:7px}
.bh-primary-link>span[aria-hidden]{font-size:21px;line-height:1}
.bh-quiet-link{color:var(--bh-muted);gap:12px}
.bh-quiet-link:hover,.bh-text-link:hover,.bh-section-more:hover{color:var(--bh-red)}
.bh-hero-art{align-self:center;max-width:440px;width:100%;padding-top:28px}
.bh-art-label,.bh-art-caption{display:flex;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;letter-spacing:.06em;color:var(--bh-muted)}
.bh-art-label{gap:14px;padding:0 0 18px;border-bottom:1px solid var(--bh-line)}
.bh-art-label>span:nth-child(even){color:#9b968d}
.bh-composition{display:block;width:100%;height:auto;color:var(--bh-ink);margin:20px 0}
.bh-art-caption{padding-top:17px;border-top:1px solid var(--bh-line);font-size:8px;gap:15px}
.bh-section{padding:56px 0 65px;border-top:1px solid var(--bh-ink)}
.bh-section-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:38px}
.bh-section-index{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--bh-muted)}
.bh-section-heading h2{font-size:30px;font-weight:530;line-height:1.2;letter-spacing:-.045em}
.bh-section-more{display:inline-flex;align-items:center;gap:15px;margin-left:auto;font-size:11px;font-weight:550}
.bh-section-more .bh-arrow{font-size:17px}
.bh-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.bh-capability{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:2px 34px 0;border-left:1px solid var(--bh-line)}
.bh-capability:first-child{padding-left:0;border-left:0}
.bh-capability:last-child{padding-right:0}
.bh-capability-top{display:flex;align-items:center;justify-content:space-between;width:100%;height:33px;margin-bottom:27px}
.bh-index{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--bh-muted)}
.bh-shape{display:block;width:22px;height:22px}
.bh-shape-circle{background:var(--bh-red);border-radius:50%}
.bh-shape-square{background:var(--bh-blue)}
.bh-shape-triangle{width:0;height:0;border-inline:13px solid transparent;border-bottom:23px solid var(--bh-yellow)}
.bh-capability h3{font-size:24px;font-weight:560;line-height:1.3;letter-spacing:-.045em;margin-bottom:15px}
.bh-capability p{font-size:14px;line-height:1.85;color:var(--bh-muted);max-width:330px;margin-bottom:19px}
.bh-stack{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--bh-muted);line-height:1.8;margin-bottom:28px;overflow-wrap:anywhere}
.bh-capability .bh-text-link{margin-top:auto;font-size:11px;gap:17px}
.bh-capability .bh-arrow{font-size:18px}
.bh-work{padding-top:49px;padding-bottom:61px}
.bh-work .bh-section-heading{margin-bottom:23px}
.bh-work-list{list-style:none;padding:0;margin:0}
.bh-work-list li{border-top:1px solid var(--bh-line)}
.bh-work-list li:last-child{border-bottom:1px solid var(--bh-line)}
.bh-work-link{display:grid;grid-template-columns:36px minmax(180px,.85fr) minmax(0,1.25fr) 24px;align-items:center;gap:25px;min-height:91px;padding:23px 0;transition:color .15s}
.bh-work-link:hover{color:var(--bh-red)}
.bh-work-index{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--bh-muted)}
.bh-work-link h3{font-size:21px;font-weight:550;line-height:1.3;letter-spacing:-.04em;transition:color .15s}
.bh-work-link:hover h3{color:var(--bh-red)}
.bh-work-link p{font-size:12px;line-height:1.75;color:var(--bh-muted);max-width:470px}
.bh-work-link>.bh-arrow{justify-self:end}
.bh-library{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:36px;padding:45px 0;border-top:1px solid var(--bh-ink);border-bottom:1px solid var(--bh-ink)}
.bh-library-mark{height:48px;display:flex;gap:5px;align-items:stretch}
.bh-library-mark i{display:block;width:11px;background:var(--bh-ink)}
.bh-library-mark i:nth-child(2){height:35px;align-self:flex-end;background:var(--bh-red)}
.bh-library-mark i:last-child{height:43px;align-self:flex-end}
.bh-label{font-size:10px;font-weight:550;letter-spacing:.1em;text-transform:uppercase;color:var(--bh-muted);margin-bottom:12px!important}
.bh-library h2{font-size:27px;font-weight:530;line-height:1.3;letter-spacing:-.04em;margin-bottom:10px}
.bh-library p:not(.bh-label){font-size:13px;color:var(--bh-muted);line-height:1.8;max-width:580px}
.bh-library>.bh-text-link{white-space:nowrap;gap:20px;font-size:11px}
.bh-contact{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:65px 0 72px}
.bh-contact h2{font-size:34px;font-weight:530;letter-spacing:-.05em;line-height:1.25}
.bh-contact-links{display:flex;gap:32px;align-items:center}
.bh-contact-links a{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--bh-ink);padding-bottom:8px;font-size:13px;font-weight:550}
.bh-contact-links a:hover{color:var(--bh-red);border-color:var(--bh-red)}

@media(min-width:1440px){.bh-hero{padding-top:82px;padding-bottom:85px;gap:90px;min-height:730px}}
@media(max-width:1100px){
 .bh-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;min-height:620px;padding-top:56px;padding-bottom:60px}
 .bh-hero h1{font-size:76px}html[lang=ko] .bh-hero h1{font-size:76px}
 .bh-hero-lead{font-size:16px}.bh-hero-actions{gap:22px}.bh-primary-link,.bh-quiet-link{font-size:11px}
 .bh-capability{padding-inline:24px}.bh-capability h3{font-size:22px}.bh-capability p{font-size:13px}
 .bh-work-link{grid-template-columns:28px minmax(160px,.8fr) minmax(0,1.2fr) 20px;gap:22px}.bh-work-link h3{font-size:20px}
 .bh-library{gap:26px}.bh-library h2{font-size:25px}.bh-library p:not(.bh-label){max-width:470px}
}
@media(max-width:850px) and (min-width:741px){
 .bh-hero{gap:24px;min-height:560px}.bh-hero h1{font-size:65px}html[lang=ko] .bh-hero h1{font-size:65px}
 .bh-eyebrow{font-size:9px}.bh-hero-lead{font-size:15px}.bh-hero-actions{align-items:flex-start;flex-direction:column;gap:17px}
 .bh-capability{padding-inline:18px}.bh-capability h3{font-size:20px}.bh-capability p{font-size:12px}.bh-capability .bh-text-link{font-size:10px;gap:10px}
 .bh-library{grid-template-columns:42px minmax(0,1fr);gap:22px}.bh-library>.bh-text-link{grid-column:2;justify-self:start;margin-top:-6px}.bh-library h2{font-size:25px}
}
@media(max-width:740px){
 .bh-hero{grid-template-columns:minmax(0,1fr);gap:38px;min-height:0;padding:45px 0 43px}
 .bh-eyebrow{font-size:9px;gap:10px;margin-bottom:28px!important}.bh-red-rule{width:22px;height:4px}
 .bh-hero h1{font-size:clamp(56px,13.5vw,83px);line-height:.99;letter-spacing:-.07em;margin-bottom:25px}
 html[lang=ko] .bh-hero h1{font-size:clamp(58px,13.8vw,84px);line-height:1.12;margin-bottom:24px;letter-spacing:-.075em}
 .bh-hero-lead{font-size:15px;line-height:1.8;max-width:430px}
 .bh-hero-actions{gap:24px;margin-top:24px;flex-wrap:wrap}.bh-primary-link,.bh-quiet-link{font-size:11px;gap:15px}
 .bh-primary-link{padding-bottom:6px}.bh-hero-art{max-width:420px;justify-self:end;padding:0;display:grid;grid-template-columns:1fr 155px;gap:20px;align-items:center;width:100%}
 .bh-art-label{grid-column:1;grid-row:1;flex-wrap:wrap;justify-content:flex-start;font-size:8px;gap:9px;padding-bottom:13px;align-self:end}
 .bh-composition{grid-column:2;grid-row:1/3;margin:0;width:155px;height:155px}
 .bh-art-caption{grid-column:1;grid-row:2;display:block;padding-top:0;border-top:0;font-size:7px;align-self:start;line-height:1.9}
 .bh-art-caption span{display:block}
 .bh-section{padding:34px 0 39px}.bh-section-heading{gap:14px;margin-bottom:27px}.bh-section-index{font-size:9px}.bh-section-heading h2{font-size:27px}
 .bh-capability-grid{grid-template-columns:minmax(0,1fr)}
 .bh-capability,.bh-capability:first-child,.bh-capability:last-child{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:17px;padding:25px 0;border-left:0;border-top:1px solid var(--bh-line)}
 .bh-capability:first-child{padding-top:0;border-top:0}.bh-capability:last-child{padding-bottom:0}
 .bh-capability-top{grid-column:1;grid-row:1/5;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:21px;width:auto;height:auto;margin:4px 0 0}
 .bh-shape{width:17px;height:17px}.bh-shape-triangle{width:0;height:0;border-inline-width:10px;border-bottom-width:18px}
 .bh-capability h3{grid-column:2;font-size:22px;line-height:1.35;margin-bottom:10px}
 .bh-capability p{grid-column:2;font-size:13px;line-height:1.85;max-width:520px;margin-bottom:13px}
 .bh-stack{grid-column:2;font-size:10px;line-height:1.8;margin-bottom:17px}
 .bh-capability .bh-text-link{grid-column:2;font-size:10px;gap:15px;justify-self:start;align-self:end}
 .bh-work .bh-section-heading{margin-bottom:21px}.bh-section-more{font-size:10px;gap:9px}
 .bh-work-link{grid-template-columns:24px minmax(0,1fr) 20px;column-gap:16px;row-gap:8px;min-height:0;padding:22px 0}
 .bh-work-index{grid-column:1;grid-row:1/3;font-size:8px;align-self:start;padding-top:6px}
 .bh-work-link h3{grid-column:2;grid-row:1;font-size:20px;line-height:1.35}
 .bh-work-link p{grid-column:2;grid-row:2;font-size:11px;line-height:1.8;max-width:500px}
 .bh-work-link>.bh-arrow{grid-column:3;grid-row:1/3;align-self:start;margin-top:3px;font-size:19px}
 .bh-library{grid-template-columns:24px minmax(0,1fr);gap:20px;align-items:start;padding:31px 0 34px}
 .bh-library-mark{height:29px;gap:3px;padding-top:1px}.bh-library-mark i{width:6px}.bh-library-mark i:nth-child(2){height:21px}.bh-library-mark i:last-child{height:26px}
 .bh-label{font-size:9px;line-height:1.5;letter-spacing:.075em;margin-bottom:11px!important}
 .bh-library h2{font-size:23px;line-height:1.35;max-width:440px;margin-bottom:12px}
 .bh-library p:not(.bh-label){font-size:12px;line-height:1.85;max-width:500px}
 .bh-library>.bh-text-link{grid-column:2;justify-self:start;gap:18px;font-size:10px;margin-top:0}
 .bh-contact{align-items:flex-start;flex-direction:column;gap:29px;padding:39px 0 43px}
 .bh-contact h2{font-size:29px;line-height:1.35}.bh-contact-links{gap:28px}.bh-contact-links a{font-size:12px;gap:23px;padding-bottom:6px}.bh-contact-links .bh-arrow{font-size:18px}
}
@media(max-width:370px){.bh-hero-actions{gap:19px}.bh-primary-link,.bh-quiet-link{font-size:10px;gap:12px}.bh-hero-art{grid-template-columns:1fr 132px;gap:15px}.bh-composition{width:132px;height:132px}.bh-art-label{font-size:7px;gap:6px}.bh-art-caption{font-size:6px}.bh-capability h3{font-size:21px}.bh-section-more{font-size:9px;gap:7px}}
@media(prefers-reduced-motion:reduce){.bh-home *{transition:none!important}}
@media print{.bh-hero{min-height:0;padding-top:20px;grid-template-columns:1.2fr 1fr}.bh-hero h1,html[lang=ko] .bh-hero h1{font-size:45pt}.bh-home .bh-section{break-inside:avoid}.bh-home .bh-work-link{break-inside:avoid}.bh-contact{padding-bottom:10px}}
