/* Shared Korean / English homepage and group directory. */
.revamp { --content: 1320px; background:#fff; font-size:16px; line-height:1.7; }
.revamp h1,.revamp h2,.revamp h3 { text-wrap:balance; letter-spacing:-.035em; }
.revamp h2 { font-size:clamp(29px,3.2vw,46px); line-height:1.3; }
.revamp h3 { line-height:1.45; }
.revamp p { word-break:keep-all; overflow-wrap:anywhere; }
.revamp a,.revamp button,.revamp summary { -webkit-tap-highlight-color:transparent; }
.revamp :focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.revamp [hidden] { display:none !important; }
.revamp .section { padding:88px max(24px,calc((100vw - var(--content))/2)); scroll-margin-top:112px; }
.revamp .section-heading { margin-bottom:36px; }
.revamp .section-heading .eyebrow,.revamp .about-copy>.eyebrow,.revamp .choose-copy>.eyebrow { color:var(--teal); font-size:13px; letter-spacing:.11em; }
.revamp .section-lead { font-size:16px; line-height:1.85; max-width:540px; }
.revamp .site-header { padding:14px max(24px,calc((100vw - 1440px)/2)); min-height:92px; }
.revamp .brand { width:220px; padding:10px 16px; border-radius:6px; box-shadow:none; flex-shrink:0; }
.revamp .site-nav { gap:24px; font-size:14px; }
.revamp .menu-button { cursor:pointer; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:1500; padding:12px 20px; background:#fff; color:#132f46; }
.skip-link:focus { top:12px; }
.revamp .hero { min-height:740px; padding:160px max(24px,calc((100vw - var(--content))/2)) 115px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:56px; background:var(--navy); }
.revamp .hero-content { width:100%; min-width:0; }
/* Override the legacy Korean desktop nowrap rule inside the two-column hero. */
.revamp .hero .hero-content h1 { font-size:clamp(38px,4.2vw,64px); line-height:1.22; white-space:normal; max-width:100%; word-break:keep-all; overflow-wrap:anywhere; }
.revamp .hero-copy { max-width:650px; font-size:17px; line-height:1.85; }
.revamp .hero-shade { background:linear-gradient(90deg,rgba(4,20,30,.93),rgba(4,25,32,.72)); }
.revamp .hero .eyebrow { letter-spacing:.08em; }
.revamp .hero-actions { gap:10px; flex-wrap:wrap; }
.revamp .button { gap:12px; font:inherit; font-size:14px; font-weight:700; min-height:48px; border-radius:6px; transition:transform .2s,background .2s; cursor:pointer; }
.revamp .button:hover { transform:translateY(-3px); }
.revamp .hero .button.ghost { background:rgba(4,20,30,.72); color:#fff; border:1px solid rgba(255,255,255,.65); }
.revamp .hero .button.ghost:hover { background:var(--navy); border-color:#fff; }
.revamp .hero .button[data-contact-open] { background:#fff; color:var(--navy); border:1px solid #fff; }
.revamp .hero .button[data-contact-open]:hover { background:var(--lime); color:var(--navy); border-color:var(--lime); }
.revamp .hero .button:focus-visible { outline-color:var(--lime); }
.revamp .hero-status { right:max(24px,calc((100vw - var(--content))/2)); bottom:30px; font-size:13px; }
.hero-network { position:relative; color:#fff; border:1px solid #ffffff30; background:#12333bcc; padding:28px; border-radius:16px; z-index:1; }
.hero-network>p { color:var(--lime); font-size:12px; letter-spacing:.16em; margin-bottom:12px; }
.hero-network>strong { font-size:29px; line-height:1.4; }
.hero-network>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:24px 0; }
.hero-network>div a { display:flex; align-items:center; justify-content:center; padding:10px; min-height:65px; background:#fff; border-radius:7px; transition:transform .2s; }
.hero-network>div a:hover { transform:translateY(-4px); }
.hero-network img { width:100%; height:42px; object-fit:contain; }
.hero-network .text-link { color:#e3f3ed; font-size:13px; }
.glance { padding:30px max(24px,calc((100vw - var(--content))/2)); display:grid; grid-template-columns:1fr .7fr 1.4fr; gap:30px; background:#f2f7f4; border-bottom:1px solid var(--line); }
.glance>div { display:grid; gap:4px; border-right:1px solid #d4e1da; padding-right:24px; }
.glance>div:last-child { border:0; }
.glance strong { color:var(--teal); font-family:Inter,sans-serif; font-size:30px; letter-spacing:-.04em; }
.glance span { font-size:14px; color:var(--muted); }
.revamp .meaning { padding-bottom:48px; background:#fff; }
.revamp .meaning-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.revamp .meaning-card { min-height:0; padding:20px 0; border:0; border-top:2px solid var(--teal); border-radius:0; background:none; box-shadow:none; }
.revamp .meaning-card:hover { transform:none; color:var(--ink); background:none; box-shadow:none; }
.revamp .meaning-card img { width:36px; height:36px; margin-bottom:18px; }
.revamp .meaning-card:hover img { filter:none; }
.revamp .meaning-card span,.revamp .meaning-card:hover span { color:var(--teal); font-size:13px; }
.revamp .meaning-card h3 { font-size:19px; }
.revamp .meaning-card p,.revamp .meaning-card:hover p { color:var(--muted); font-size:15px; }
.revamp .about-band { padding-top:30px; gap:54px; grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr); align-items:start; }
.revamp .about-visual { min-height:0; padding-bottom:44px; }
.revamp .about-photo { width:94%; height:560px; box-shadow:none; border-radius:12px; }
.revamp .floating-stat { width:190px; padding:20px; box-shadow:none; }
.revamp .floating-stat strong { font-size:42px; }
.revamp .about-copy h2 { font-size:clamp(28px,2.7vw,40px); }
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:10px; margin-top:26px; }
.work-item { border:1px solid var(--line); border-radius:9px; overflow:hidden; background:#f5f8f7; }
.work-item summary { display:flex; align-items:center; gap:12px; min-height:82px; padding:16px; font-size:15px; font-weight:700; cursor:pointer; list-style:none; transition:background .2s,color .2s; }
.work-item summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker { display:none; }
.work-item summary img { width:32px; height:32px; object-fit:contain; flex-shrink:0; }
.work-item summary b { margin-left:auto; font-size:24px; font-weight:400; transition:transform .2s; }
.work-item summary:hover,.work-item[open] summary { background:var(--navy); color:#fff; }
.work-item summary:hover img,.work-item[open] summary img { filter:brightness(0) invert(1); }
.work-item[open] summary b { transform:rotate(45deg); }
.work-detail { padding:18px; font-size:14px; line-height:1.8; background:#fff; }
.work-detail p { margin-bottom:14px; }
.work-detail dl { margin:0 0 16px; }
.work-detail dt { font-weight:700; color:var(--teal); }
.work-detail dd { margin:3px 0 12px; color:var(--muted); }
.text-link { color:var(--teal); font-size:14px; font-weight:700; text-underline-offset:5px; }
.text-link:hover { text-decoration:underline; }
.revamp .services { background:#f2f6f5; }
.revamp .service-card { padding:26px; min-height:0; background:#fff; box-shadow:none; border-radius:10px; }
.revamp .service-card h3 { font-size:20px; }
.revamp .service-card p { font-size:15px; }
.revamp .service-card img { width:42px; height:42px; margin-bottom:20px; }
.revamp .service-card:hover,.revamp .service-card:focus-within { background:var(--navy); }
.service-group-link { display:flex; justify-content:space-between; margin-top:18px; font-size:14px; font-weight:700; }
.network-section { background:var(--navy); color:#fff; }
.revamp .network-section .eyebrow { color:var(--lime); }
.revamp .network-section .section-lead { color:#c7d5dc; }
.network-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.network-card { padding:28px; background:#fff; color:var(--ink); border-radius:12px; display:flex; flex-direction:column; scroll-margin-top:118px; box-shadow:0 10px 32px #00132012; transition:transform .2s; min-width:0; }
.network-card:hover { transform:translateY(-5px); }
.network-top { display:flex; flex-direction:column; align-items:start; gap:18px; margin-bottom:18px; }
.network-top img { object-fit:contain; object-position:left center; width:160px; height:64px; }
.network-tag { font-size:12px; background:#eaf5ef; color:#15554c; padding:3px 9px; border-radius:4px; }
.network-card h3 { font-size:24px; margin-bottom:12px; }
.network-card p { font-size:15px; flex:1; color:var(--muted); }
.network-card small { color:var(--muted); font-size:12px; padding-bottom:20px; }
.network-card>a { border-top:1px solid var(--line); padding-top:16px; display:flex; justify-content:space-between; font-weight:700; color:var(--teal); font-size:14px; }
.network-card>a:hover { text-decoration:underline; }
.network-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:28px; }
.network-bottom p { color:#c7d5dc; margin:0; font-size:15px; }
.case-section { background:#fff; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.case-card { min-width:0; }
.case-image-link { display:block; position:relative; overflow:hidden; border-radius:12px; background:#eef4f3; }
.case-image-link>img { aspect-ratio:1.75; width:100%; height:auto; object-fit:cover; transition:transform .4s; }
.case-image-link:hover>img { transform:scale(1.035); }
.case-image-link>span { position:absolute; bottom:18px; left:18px; color:#fff; background:#0d293eee; padding:8px 14px; border-radius:5px; font-size:13px; font-weight:700; }
.case-card>div { padding:24px 0; }
.case-card .eyebrow { color:var(--teal); font-size:12px; }
.case-card h3 { font-size:25px; }
.case-card p { color:var(--muted); }
.b2b-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; display:grid; grid-template-columns:180px 1fr auto; gap:32px; align-items:center; }
.b2b-strip img { width:180px; height:45px; object-fit:contain; }
.b2b-strip h3 { font-size:21px; margin-bottom:6px; }
.b2b-strip p { color:var(--muted); font-size:14px; margin:0; }
.journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.journey-card { border-radius:10px; background:#fff; overflow:hidden; }
.journey-card>img { width:100%; height:170px; object-fit:cover; }
.journey-card>div { padding:22px; }
.journey-number { color:var(--teal); font-family:Inter,sans-serif; font-size:30px; font-weight:800; display:block; margin-bottom:14px; }
.journey-card h3 { font-size:20px; }
.journey-card p { font-size:14px; color:var(--muted); }
.journey-card details { border-top:1px solid var(--line); padding-top:14px; margin-top:18px; }
.journey-card summary { font-size:13px; cursor:pointer; font-weight:700; color:var(--teal); }
.journey-card details p { margin-top:14px; }
.revamp .choose { background:#fff; color:var(--ink); gap:48px; }
.revamp .choose-copy h2 { color:var(--navy); }
.revamp .choose-copy > p:not(.eyebrow) { color:var(--muted); }
.revamp .choose-gallery img { border-radius:9px; }
.revamp .choose-metrics div { min-height:136px; background:#f2f6f5; border:1px solid var(--line); }
.revamp .choose-metrics strong { font-size:32px; color:var(--teal); }
.revamp .choose-metrics span { color:var(--ink); }
.care-list { padding-left:20px; margin:24px 0; color:var(--muted); font-size:15px; }
.care-list li { padding:6px 0; }
.revamp .updates-section { background:#f6f8f7; }
.update-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.update-card { display:flex; flex-direction:column; border-top:2px solid var(--teal); padding:24px 0; }
.update-card h3 { font-size:23px; transition:color .2s; }
.update-card:hover h3 { color:var(--teal); }
.update-card p { color:var(--muted); font-size:15px; flex:1; }
.revamp .update-card .eyebrow { color:var(--teal); font-size:12px; }
.faq-section { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:60px; }
/* This heading already occupies the left column: do not split it a second time. */
.revamp .faq-section > .section-heading { display:block; min-width:0; }
.revamp .faq-section h2 { max-width:100%; white-space:normal; word-break:keep-all; overflow-wrap:anywhere; }
.faq-list { min-width:0; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:22px 0; list-style:none; font-size:17px; font-weight:700; cursor:pointer; }
.faq-list summary span { font-size:24px; font-weight:400; transition:transform .2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list p { padding:0 35px 10px 0; color:var(--muted); font-size:15px; }
.revamp .contact { padding:72px max(24px,calc((100vw - var(--content))/2)); scroll-margin-top:100px; }
.revamp .contact-inner { gap:48px; }
.revamp .contact h2 { max-width:750px; }
.revamp .site-footer { padding:40px max(24px,calc((100vw - var(--content))/2)); }
.footer-directory { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:13px; grid-column:1/-1; border-top:1px solid #ffffff20; padding-top:22px; }
.footer-directory a:hover { color:var(--lime); }
.revamp .footer-policy-links { grid-column:1/-1; justify-content:flex-start; }
.directory-page .site-header { position:sticky; background:#fff; color:var(--ink); box-shadow:0 1px 0 var(--line); }
.directory-page .directory-intro { padding-top:68px; padding-bottom:34px; }
.directory-page h1 { color:var(--navy); line-height:1.3; font-size:clamp(36px,5vw,64px); }
.directory-page .directory-intro p { max-width:700px; color:var(--muted); }
.directory-page .directory-intro .eyebrow { color:var(--teal); }
.directory-page .network-section { padding-top:38px; }
.directory-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.directory-filters button { font:inherit; font-size:14px; border:1px solid #ffffff50; color:#fff; background:transparent; border-radius:30px; padding:10px 18px; cursor:pointer; }
.directory-filters button[aria-pressed="true"] { color:var(--navy); background:var(--lime); border-color:var(--lime); }
.directory-status { color:#c7d5dc; font-size:14px; margin-bottom:24px; }
.directory-back { display:inline-flex; gap:12px; align-items:center; min-height:44px; color:var(--teal); font-weight:700; }
@media (max-width:1100px) {
 .revamp .site-nav { gap:14px; font-size:13px; }
 .revamp .hero { gap:28px; grid-template-columns:1.3fr .8fr; }
 .hero-network { padding:20px; }
 .hero-network>strong { font-size:24px; }
 .journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .revamp .about-band { gap:30px; }
 .work-grid { grid-template-columns:1fr; }
}
@media (max-width:980px) {
 .revamp .section { padding:64px 24px; }
 .revamp .site-header { min-height:80px; }
 .revamp .site-nav { gap:0; font-size:15px; }
 .revamp .hero { grid-template-columns:1fr; min-height:0; padding-top:140px; gap:36px; }
 .hero-network { max-width:600px; }
 .hero-network>strong { font-size:22px; }
 .hero-network>strong br { display:none; }
 .hero-network>div { grid-template-columns:repeat(5,minmax(0,1fr)); margin:18px 0; }
 .revamp .meaning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .revamp .about-band { grid-template-columns:1fr; }
 .revamp .about-photo { height:380px; }
 .revamp .about-visual { max-width:700px; width:100%; }
 .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .b2b-strip { grid-template-columns:150px 1fr; gap:20px; }
 .b2b-strip>a { grid-column:2; }
 .faq-section { grid-template-columns:1fr; gap:0; }
 .revamp .choose { grid-template-columns:1fr; }
 .update-grid { gap:20px; }
}
@media (max-width:640px) {
 .revamp .section { padding:48px 20px; scroll-margin-top:96px; }
 .revamp .site-header { padding:12px 16px; }
 .revamp .brand { width:190px; }
 .revamp .hero { padding:130px 20px 90px; }
 .revamp .hero .hero-content h1 { font-size:36px; }
 .revamp .hero-copy { font-size:16px; }
 .hero-network { padding:18px; }
 .hero-network>div { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .glance { grid-template-columns:1fr 1fr; padding:24px 20px; gap:20px; }
 .glance>div:nth-child(2) { border:0; }
 .glance>div:last-child { grid-column:1/-1; border-top:1px solid var(--line); padding-top:16px; }
 .glance strong { font-size:28px; }
 .glance span { font-size:13px; }
 .revamp .meaning-grid { gap:16px; }
 .revamp .meaning-card h3 { font-size:18px; }
 .revamp .meaning-card p { font-size:14px; }
 .revamp .about-visual { padding-bottom:0; }
 .revamp .about-photo { height:300px; width:100%; }
 .revamp .floating-stat { width:100%; display:flex; align-items:center; gap:20px; }
 .work-grid,.network-grid,.case-grid,.journey-grid,.update-grid { grid-template-columns:1fr; }
 .work-item summary { min-height:76px; }
 .network-card { padding:24px; }
 .network-top { flex-direction:row; flex-wrap:wrap; align-items:center; gap:14px; }
 .network-top img { width:130px; }
 .network-bottom { flex-direction:column; align-items:start; }
 .case-grid { gap:20px; }
 .b2b-strip { grid-template-columns:1fr; }
 .b2b-strip>a { grid-column:auto; }
 .journey-card>img { height:200px; }
 .update-card { padding:20px 0; }
 .revamp .contact { padding:52px 20px; }
 .revamp .contact-inner { grid-template-columns:1fr; gap:26px; }
 .revamp .contact-info-card { margin-left:0; width:100%; }
 .revamp .site-footer { padding:32px 20px; }
 .faq-list summary { font-size:16px; }
 .directory-page .directory-intro { padding-top:40px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .revamp * { transition:none !important; animation:none !important; }
}
