/* Scoped B2B additions only. Existing Indonesian pages never load this file. */
.b2b-page { --b2b-gap:clamp(32px,5vw,80px); background:var(--paper); }
.b2b-page::after { content:none; }
.b2b-page p { font-size:16px; line-height:1.85; text-wrap:pretty; }
.b2b-page h1,.b2b-page h2,.b2b-page h3 { letter-spacing:-.025em; }
.b2b-shell { width:min(1264px,calc(100% - 96px)); margin-inline:auto; }
.b2b-preview { padding:9px 20px; background:var(--cream); text-align:center; color:var(--gold-text); font-size:12px; line-height:1.5; }
.b2b-header { position:sticky; top:0; z-index:40; background:var(--paper); border-bottom:1px solid var(--line); }
.b2b-header-inner { display:flex; gap:32px; align-items:center; justify-content:space-between; min-height:84px; }
.b2b-brand { flex:none; width:164px; }
.b2b-nav { display:flex; gap:26px; margin-inline:auto; }
.b2b-nav a,.b2b-languages a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.b2b-nav a:hover,.b2b-footer a:hover { color:var(--gold-text); }
.b2b-languages { display:flex; gap:18px; flex:none; }
.b2b-languages a[aria-current] { color:var(--gold-text); text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; }
.b2b-mobile-menu { display:none; }
.b2b-hero { background:var(--soft); padding:64px 0 64px; }
.b2b-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.43fr); gap:var(--b2b-gap); align-items:center; }
.b2b-hero-copy h1 { font-size:clamp(38px,3.75vw,56px); line-height:1.13; max-width:810px; text-wrap:balance; }
.b2b-route-name { white-space:nowrap; }
.b2b-page .b2b-eyebrow { color:var(--gold-text); font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:24px; }
.b2b-hero-copy>p:not(.b2b-eyebrow) { margin-top:24px; max-width:67ch; }
.b2b-hero-copy>p:not(.b2b-eyebrow)+p { margin-top:14px; }
.b2b-hero-cta { margin-top:28px; font-size:15px; min-height:52px; gap:36px; }
.b2b-portrait { position:relative; margin:0 16px 0 0; padding:16px 0 0 16px; align-self:center; }
.b2b-care-frame { position:absolute; inset:0 20px 42px 0; border-top:1px solid var(--gold); border-left:1px solid var(--gold); pointer-events:none; }
.b2b-portrait img { width:100%; height:auto; aspect-ratio:667/1000; }
.b2b-page figcaption { font-size:13px; line-height:1.7; margin-top:12px; }
.b2b-section { padding-block:clamp(64px,6vw,88px); scroll-margin-top:110px; }
.b2b-section h2 { font-size:clamp(32px,3.1vw,46px); line-height:1.18; margin-bottom:28px; text-wrap:balance; }
.b2b-section h3 { font-size:clamp(25px,2.25vw,32px); line-height:1.25; }
.b2b-about-layout,.b2b-role-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:var(--b2b-gap); }
.b2b-about-copy,.b2b-role-layout>div { max-width:68ch; }
.b2b-about-copy>p+p,.b2b-role-layout p+p { margin-top:20px; }
.b2b-role-note { padding-top:20px; border-top:1px solid var(--line); }
.b2b-journey { background:var(--soft); }
.b2b-phases { list-style:none; margin:36px 0 0; padding:0; }
.b2b-phases li { display:grid; grid-template-columns:.75fr 1.25fr; gap:var(--b2b-gap); border-top:1px solid var(--line); padding-block:32px; }
.b2b-phases li:last-child { padding-bottom:0; }
.phase-heading { display:grid; grid-template-columns:36px 1fr; column-gap:16px; align-content:start; }
.phase-number { grid-row:1/3; font:400 24px/1.3 Playfair,Georgia,serif; color:var(--gold-text); }
.phase-label { font-size:13px; color:var(--gold-text); display:block; margin-bottom:12px; }
.phase-copy { max-width:68ch; }
.b2b-phases li { grid-template-rows:auto 1fr; column-gap:var(--b2b-gap); row-gap:24px; }
.b2b-phases .phase-heading { grid-column:1; grid-row:1; }
.b2b-phases .phase-copy { grid-column:2; grid-row:1/3; align-self:center; }
.b2b-photo-slot { grid-column:1; grid-row:2; margin:0; }
.b2b-photo-placeholder { aspect-ratio:16/10; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:var(--cream); border:1px solid var(--line); color:var(--gold-text); }
.b2b-photo-placeholder svg { fill:none; stroke:currentColor; stroke-width:1; pointer-events:none; }
.b2b-photo-placeholder>span { font-size:13px; }
.b2b-photo-slot figcaption>span { display:block; }
.b2b-photo-brief { color:var(--ink); margin-bottom:4px; }
.b2b-photo-slot figcaption>span+span { color:var(--muted); font-size:12px; }
.phase-copy p+p { margin-top:16px; }
.b2b-section-intro { display:grid; grid-template-columns:.75fr 1.25fr; gap:var(--b2b-gap); align-items:start; }
.b2b-section-intro>p { max-width:68ch; }
.b2b-collaboration-list { list-style:none; margin:24px 0 0; padding:0; border-top:1px solid var(--gold); }
.b2b-collaboration-list li { display:grid; grid-template-columns:.75fr 1.25fr; gap:var(--b2b-gap); padding-block:30px; border-bottom:1px solid var(--line); }
.b2b-collaboration-list h3 { font-size:clamp(25px,2vw,30px); max-width:25ch; }
.b2b-collaboration-list p { max-width:68ch; }
.b2b-collaboration-end { margin-left:calc((100% - var(--b2b-gap)) * .375 + var(--b2b-gap)); max-width:68ch; padding-top:28px; }
.b2b-responsibilities { background:var(--soft); }
.b2b-team-layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:var(--b2b-gap); }
.b2b-team-layout img { aspect-ratio:560/499; height:auto; }
.b2b-team-layout p+p { margin-top:20px; }
.b2b-contact { background:var(--cream); }
.b2b-contact-inner { position:relative; max-width:1056px; padding:40px 48px; }
.b2b-contact-inner .b2b-care-frame { inset:0; border:1px solid var(--gold); }
.b2b-contact-inner>p { max-width:76ch; }
.b2b-contact-admin { margin-top:30px; padding-top:28px; border-top:1px solid var(--gold); }
.b2b-admin-cta { font-size:15px; min-height:52px; gap:28px; white-space:normal; max-width:100%; }
.b2b-admin-cta>span { flex:none; }
.b2b-contact-admin .b2b-admin-number { margin-top:20px; color:var(--ink); font-weight:500; }
.b2b-contact-admin p+p { margin-top:8px; font-size:14px; }
.b2b-instagram-link { display:inline-flex; align-items:center; min-height:44px; max-width:100%; margin-top:14px; font-size:14px; color:var(--gold-text); text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.b2b-footer { padding:36px 0; }
.b2b-footer>.b2b-shell { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.b2b-page .b2b-tagline { font-size:13px; line-height:1.8; }
.b2b-footer nav { display:flex; gap:24px; flex:none; }
.b2b-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.b2b-page a:focus-visible,.b2b-page summary:focus-visible { outline:3px solid var(--gold-text); outline-offset:5px; }
.b2b-hero-cta { transition:background-color 160ms ease, color 160ms ease; }
.b2b-hero-cta:hover { background:var(--gold-text); color:var(--paper); transform:none; }
.b2b-mobile-menu[open] summary>span { transform:rotate(45deg); }
@media(prefers-reduced-motion:reduce) {
  .b2b-page *, .b2b-page *::before, .b2b-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  html:has(.b2b-page) { scroll-behavior:auto; }
}
/* Latin brand fonts are retained; Hangul uses installed Korean system fonts, not a network font. */
.b2b-page:lang(ko) { font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif; word-break:keep-all; overflow-wrap:break-word; }
.b2b-page:lang(ko) h1,.b2b-page:lang(ko) h2,.b2b-page:lang(ko) h3 { font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif; font-weight:500; letter-spacing:-.035em; }
.b2b-page:lang(ko) h1 { font-size:clamp(34px,3.2vw,48px); line-height:1.3; }
.b2b-page:lang(ko) .b2b-section h2 { font-size:clamp(30px,2.7vw,40px); line-height:1.35; }
.b2b-page:lang(ko) .b2b-section h3 { font-size:clamp(23px,1.9vw,28px); line-height:1.4; }
.b2b-page:lang(ko) .b2b-header-inner { min-height:84px; }
@media(max-width:1100px) {
  .b2b-shell { width:calc(100% - 64px); }
  .b2b-header-inner { gap:20px; }
  .b2b-nav { gap:18px; }
  .b2b-brand { width:146px; }
  .b2b-hero-grid { grid-template-columns:minmax(0,1fr) minmax(220px,.44fr); gap:32px; }
  .b2b-hero-copy h1 { font-size:44px; }
  .b2b-footer>.b2b-shell { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media(max-width:900px) {
  .b2b-nav { display:none; }
  .b2b-header-inner,.b2b-page:lang(ko) .b2b-header-inner { min-height:72px; }
  .b2b-mobile-menu { display:block; border-top:1px solid var(--line); }
  .b2b-mobile-menu summary { display:flex; align-items:center; justify-content:space-between; padding:10px 32px; min-height:44px; cursor:pointer; font-size:13px; list-style:none; }
  .b2b-mobile-menu summary::-webkit-details-marker { display:none; }
  .b2b-mobile-menu nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; padding:8px 32px 16px; }
  .b2b-mobile-menu a { display:flex; align-items:center; min-height:44px; font-size:14px; }
  .b2b-page:has(.b2b-mobile-menu[open]) .b2b-section { scroll-margin-top:250px; }
  .b2b-hero { padding-top:44px; }
  .b2b-hero-grid { grid-template-columns:1fr; gap:36px; }
  .b2b-hero-copy h1 { max-width:760px; }
  .b2b-portrait { max-width:400px; justify-self:start; }
  .b2b-about-layout,.b2b-role-layout { grid-template-columns:1fr; gap:8px; }
  .b2b-phases li { grid-template-columns:.8fr 1.2fr; gap:32px; }
  .b2b-team-layout { grid-template-columns:1fr 1.15fr; gap:32px; }
}
@media(max-width:640px) {
  .b2b-shell { width:calc(100% - 40px); }
  .b2b-preview { font-size:11px; padding-block:8px; }
  .b2b-brand { width:140px; }
  .b2b-languages { gap:14px; }
  .b2b-languages a { font-size:13px; }
  .b2b-hero-copy h1 { font-size:34px; line-height:1.16; text-wrap:pretty; }
  .b2b-page:lang(ko) h1 { font-size:32px; }
  .b2b-hero { padding-top:32px; padding-bottom:42px; }
  .b2b-page .b2b-eyebrow { font-size:11px; margin-bottom:18px; }
  .b2b-hero-copy>p:not(.b2b-eyebrow) { margin-top:20px; }
  .b2b-hero-copy>p:not(.b2b-eyebrow)+p { margin-top:12px; }
  .b2b-mobile-menu summary { padding-inline:20px; }
  .b2b-mobile-menu nav { padding-inline:20px; }
  .b2b-portrait { width:78%; max-width:280px; justify-self:end; margin-right:8px; padding:12px 0 0 12px; }
  .b2b-portrait .b2b-care-frame { right:16px; }
  .b2b-section { padding-block:56px; scroll-margin-top:136px; }
  .b2b-section h2 { margin-bottom:24px; }
  .b2b-phases { margin-top:24px; }
  .b2b-phases li { grid-template-columns:1fr; gap:20px; padding-block:28px; }
  .b2b-phases .phase-heading,.b2b-phases .phase-copy,.b2b-phases .b2b-photo-slot { grid-column:1; grid-row:auto; }
  .b2b-phases .phase-copy { grid-row:2; }
  .b2b-phases .b2b-photo-slot { grid-row:3; }
  .phase-heading { grid-template-columns:32px 1fr; gap:0 12px; }
  .phase-heading h3 { max-width:24ch; }
  .b2b-section-intro { grid-template-columns:1fr; gap:0; }
  .b2b-collaboration-list { margin-top:28px; }
  .b2b-collaboration-list li { grid-template-columns:1fr; gap:14px; padding-block:24px; }
  .b2b-collaboration-end { margin-left:0; padding-top:24px; }
  .b2b-team-layout { grid-template-columns:1fr; }
  .b2b-team-layout figure { order:2; }
  .b2b-contact-inner { padding:28px 24px; }
  .b2b-admin-cta { width:100%; justify-content:space-between; gap:12px; font-size:14px; padding-inline:16px; }
  .b2b-instagram-link { font-size:13px; }
  .b2b-footer { padding:28px 0; }
  .b2b-footer nav { gap:24px; flex-wrap:wrap; }
}
@media(max-width:359px) {
  .b2b-shell { width:calc(100% - 32px); }
  .b2b-brand { width:120px; }
  .b2b-languages { gap:10px; }
  .b2b-hero-copy h1 { font-size:32px; }
  .b2b-page:lang(ko) h1 { font-size:30px; }
}
