@font-face { font-family:'Pretendard'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/PretendardVariable.woff2') format('woff2'); }
:root { --navy:#172f4c; --navy-deep:#0d233b; --orange:#ed8b24; --orange-soft:#f5a44d; --text:#202e3d; --muted:#566474; --line:#e1e6eb; --cream:#f5f7f9; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif; font-size:17px; font-weight:400; line-height:1.7; color:var(--text); background:#fff; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button,select { cursor:pointer; }
img { display:block; max-width:100%; }
a:focus-visible,button:focus-visible,select:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.wrap { width:min(calc(100% - 80px),var(--max)); margin:0 auto; }
section { padding:80px 0; }
h1,h2,h3,p { margin-top:0; overflow-wrap:anywhere; }
h1,h2,h3 { word-break:keep-all; }
p { line-height:1.85; }
.topbar { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--line); }
.topbar.scrolled { box-shadow:0 4px 20px #102a4310; }
.nav { position:relative; display:flex; align-items:center; gap:32px; min-height:92px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.brand img { width:52px; height:52px; object-fit:contain; }
.brand-text { display:flex; flex-direction:column; gap:4px; }
.brand-text small { color:#73808e; font-size:10px; letter-spacing:.16em; font-weight:700; }
.brand-text strong { color:var(--navy-deep); font-size:26px; font-weight:800; letter-spacing:.04em; line-height:1; }
.menu { display:flex; align-items:center; justify-content:center; gap:28px; margin-left:auto; }
.menu a { position:relative; display:inline-flex; align-items:center; min-height:92px; font-size:17px; font-weight:600; white-space:nowrap; }
.menu a::after { position:absolute; content:''; height:3px; bottom:0; left:0; width:100%; background:var(--orange); transform:scaleX(0); transition:transform .2s; }
.menu a:hover::after,.menu a[aria-current='page']::after { transform:scaleX(1); }
.menu a[aria-current='page'] { color:#a75c13; }
.header-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.language-control { display:inline-flex; align-items:center; gap:6px; color:#4d5b69; }
.language-control svg { width:18px; height:18px; }
.language-control select { width:105px; min-height:40px; border:0; background:transparent; font-size:15px; color:inherit; }
.menu-toggle { display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:40px; height:40px; padding:0; border:0; background:none; flex-shrink:0; }
.menu-toggle span { width:22px; height:2px; background:var(--navy); transition:transform .2s,opacity .2s; }
.menu-toggle.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.menu-toggle.is-active span:nth-child(2) { opacity:0; }
.menu-toggle.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.cta { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:13px 25px; border:1px solid transparent; border-radius:0; font-size:16px; font-weight:600; cursor:pointer; transition:background .2s,color .2s; }
.cta.primary { background:var(--orange); color:#fff; }
.cta.primary:hover { background:#ce7116; }
.cta.secondary { background:transparent; border-color:#ffffff75; color:#fff; }
.cta.secondary:hover { background:#ffffff15; }
.cta.outline { background:#fff; border-color:#cbd3dc; color:var(--navy); }
.cta:disabled { opacity:.55; cursor:wait; }
.nav-cta.cta { min-height:38px; padding:8px 14px; font-size:14px; background:var(--navy); white-space:nowrap; }
.hero { position:relative; isolation:isolate; padding:0; color:#fff; background:#0c2936 url('assets/electronics-v2.png') center 53% / cover no-repeat; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#081e32f0 0%,#0a2438d9 36%,#0a24385c 73%,#0a243826 100%); z-index:-1; }
.hero-inner { padding-top:66px; padding-bottom:73px; }
.hero-copy { max-width:710px; }
.hero-line { display:block; width:40px; height:3px; margin-bottom:20px; background:var(--orange); }
.eyebrow,.section-kicker { display:block; font-size:13px; line-height:1.5; font-weight:600; letter-spacing:.17em; }
.hero .eyebrow { color:#a9c7d7; }
.hero-copy h1 { margin:22px 0 24px; font-size:clamp(38px,4vw,58px); line-height:1.3; font-weight:600; letter-spacing:-.055em; }
.hero-copy p { max-width:650px; margin-bottom:0; font-size:17px; line-height:1.9; color:#d1dce4; word-break:keep-all; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-caption { display:flex; justify-content:space-between; padding:17px max(40px,calc((100% - var(--max))/2)); border-top:1px solid #ffffff25; color:#b2c8d4; font-size:11px; letter-spacing:.19em; }
.stats-section { padding:0; border-bottom:1px solid var(--line); }
.hero-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:30px 0; }
.metric { display:flex; min-width:0; align-items:center; justify-content:center; gap:20px; padding:4px 26px; border-right:1px solid var(--line); }
.metric:first-child { padding-left:0; justify-content:flex-start; }
.metric:last-child { border:0; }
.metric strong { color:var(--navy); font-size:34px; font-weight:600; letter-spacing:-.035em; }
.metric span { min-width:0; max-width:170px; font-size:14px; line-height:1.7; color:var(--muted); word-break:normal; overflow-wrap:anywhere; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.section-kicker { color:#8b6643; margin-bottom:12px; font-size:12px; }
.section-heading h2 { margin:0; font-size:32px; font-weight:600; letter-spacing:-.045em; }
.section-index { color:#8994a0; font-size:13px; letter-spacing:.13em; }
.service-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.service-tile { display:block; min-width:0; }
.service-tile__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
.service-tile h3 { margin:0; font-size:25px; line-height:1.5; font-weight:400; letter-spacing:-.045em; }
.tile-more { display:inline-flex; flex-shrink:0; align-items:center; gap:10px; font-size:12px; color:#7a8592; }
.tile-more span:last-child { font-size:17px; color:#43566c; }
.service-tile__image { position:relative; overflow:hidden; background:#edf1f4; }
.service-tile__image img { width:100%; height:190px; object-fit:cover; transition:transform .45s ease; }
.service-tile:first-child img { object-position:65% center; }
.service-tile:hover img { transform:scale(1.045); }
.service-tile:hover h3,.text-link:hover { color:#bd691b; }
.tile-number { position:absolute; bottom:0; left:0; padding:10px 14px; font-size:13px; background:var(--navy-deep); color:#fff; }
.values-section { background:#f3f6f8; border-top:1px solid var(--line); }
.hero-panel { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.panel-card { padding:0; }
.panel-card + .panel-card { padding-left:48px; border-left:1px solid #d5dde5; }
.split-tag { display:block; margin-bottom:17px; color:#9a6c3f; font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.panel-card h2 { margin:0 0 21px; font-size:34px; font-weight:600; line-height:1.5; letter-spacing:-.035em; }
.panel-card p { font-size:16px; color:var(--muted); margin-bottom:0; }
.hero-panel .panel-card:last-child h2 { padding-top:30px; }
.content-page,.directions-page,.privacy-page { min-height:65vh; padding-bottom:30px; }
.sub-hero { position:relative; isolation:isolate; padding:28px 0 42px; color:#fff; background:#173449 url('assets/electronics-v2.png') center 60% / cover; }
.sub-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#102b42ed,#102b4299); z-index:-1; }
.breadcrumb { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-bottom:22px; font-size:13px; color:#c2d0da; }
.breadcrumb a:hover { color:#fff; }
.eyebrow-dark { color:#b9cfdd; font-size:12px; }
.sub-hero__title { margin:12px 0 0; font-size:42px; font-weight:400; line-height:1.35; letter-spacing:-.045em; }
.sub-hero__text { max-width:700px; margin:16px 0 0; color:#c4d3df; font-size:16px; }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:42px; align-items:start; }
.section-head h2 { margin-bottom:0; font-size:34px; line-height:1.5; font-weight:600; letter-spacing:-.04em; }
.section-head p { margin-bottom:0; font-size:16px; color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.card { min-width:0; border-top:2px solid var(--navy); padding:28px 0 0; }
.num { margin:0 0 20px; font-size:14px; color:#a67544; letter-spacing:.12em; }
.card h3 { margin-bottom:16px; font-size:25px; font-weight:600; letter-spacing:-.04em; }
.card p { font-size:16px; color:var(--muted); }
.card-photo { overflow:hidden; margin:-30px 0 25px; }
.card-photo img { width:100%; height:205px; object-fit:cover; }
.text-link { display:inline-flex; align-items:center; gap:26px; padding:9px 0; font-size:14px; font-weight:600; }
.text-link > span:last-child { font-size:22px; font-weight:400; }
.about-photo { position:relative; margin-bottom:55px; overflow:hidden; }
.about-photo img { width:100%; height:320px; object-fit:cover; object-position:center 52%; }
.about-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#102b42b3,transparent 80%); }
.about-photo > span { position:absolute; left:45px; bottom:38px; z-index:1; color:#fff; font-size:26px; line-height:1.55; letter-spacing:.07em; }
.band { border:1px solid var(--line); }
.band-grid { display:grid; grid-template-columns:1.2fr 1fr; }
.band-copy,.band-list { padding:42px; }
.band-copy { color:#fff; background:var(--navy); }
.band-copy .split-tag { color:#e3b279; }
.band h2 { font-size:29px; line-height:1.55; font-weight:600; letter-spacing:-.04em; }
.band-copy p { margin-bottom:0; font-size:16px; color:#c3d0dd; }
.band-list { background:#f6f8fa; }
.band-list h2 { font-size:23px; }
.band-list ul { list-style:none; padding:0; margin:0; }
.band-list li { position:relative; padding:16px 0 16px 17px; border-bottom:1px solid #dde4eb; font-size:15px; line-height:1.8; color:#5c6c7c; }
.band-list li::before { position:absolute; content:''; left:0; top:25px; width:4px; height:4px; background:var(--orange); }
.service-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.service-detail-grid > img { width:100%; height:380px; object-fit:cover; }
.service-detail h2 { font-size:32px; font-weight:600; line-height:1.5; }
.service-detail p { font-size:17px; color:var(--muted); }
.detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:28px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-card,.inquiry-box { min-width:0; }
.contact-card h2,.inquiry-box h2 { font-size:30px; font-weight:600; }
.contact-switcher { display:flex; gap:0; margin:22px 0 28px; border-bottom:1px solid #cbd4dd; }
.contact-tab { flex:1; padding:13px; border:0; border-bottom:2px solid transparent; background:#f6f8fa; color:#7d8792; font-size:15px; }
.contact-tab.is-active { border-color:var(--orange); color:var(--navy); font-weight:600; background:#fff; }
.contact-list { display:grid; }
.contact-item { padding:16px 0; border-bottom:1px solid var(--line); font-size:16px; line-height:1.75; }
.contact-item strong { display:block; margin-bottom:5px; color:#87919b; font-size:13px; font-weight:600; }
.contact-item span { overflow-wrap:anywhere; }
.contact-phone-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.contact-call-link { padding:5px 15px; border:1px solid #c7d0d9; color:var(--navy); font-size:13px; }
.inquiry-box { padding:35px; background:#f4f6f8; border-top:2px solid var(--navy); }
.inquiry-box > p { font-size:15px; color:var(--muted); }
.mini-form { display:grid; gap:12px; margin-top:26px; }
.mini-form input,.mini-form textarea { width:100%; padding:15px; border:1px solid #dce2e8; border-radius:0; background:#fff; font-size:15px; }
.mini-form textarea { min-height:155px; resize:vertical; }
.mini-form input:focus,.mini-form textarea:focus { outline:1px solid var(--navy); }
.form-status,.map-status { min-height:24px; margin:8px 0 0; font-size:14px; line-height:1.7; color:var(--muted); }
.is-error { color:#ac3627; }
.is-success { color:#237753; }
.directions-section { padding-top:65px; }
.directions-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:45px; align-items:start; }
.directions-card h2 { font-size:30px; font-weight:600; }
.directions-actions { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 0; }
.directions-actions .cta { padding:12px 16px; font-size:14px; }
.map-panel { padding:6px; border:1px solid var(--line); }
.map-canvas { width:100%; min-height:480px; background:#f1f4f6; }
.privacy-card { max-width:960px; margin:0 auto; }
.privacy-content { font-size:16px; }
.privacy-content h2 { margin:45px 0 20px; padding-top:24px; border-top:1px solid var(--line); font-size:25px; font-weight:600; line-height:1.6; }
.privacy-content p,.privacy-content li { line-height:1.95; overflow-wrap:anywhere; }
.policy-language-note { padding:18px 22px; background:#f4f6f8; color:var(--muted); font-size:15px; }
.footer { margin-top:0; }
.footer-links { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f6f7f9; }
.footer-links__row { display:flex; align-items:center; min-height:57px; gap:32px; }
.footer-links__row a { font-size:14px; color:#606e7b; }
.footer-links__row a:hover { color:var(--navy); }
.footer-top-link { margin-left:auto; font-size:19px !important; }
.footer-main { background:#edf2f7; color:#405469; }
.footer-main__row { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:35px 0 28px; }
.footer-company { min-width:0; }
.footer-company p { margin:0 0 8px; font-size:14px; line-height:1.8; word-break:keep-all; }
.footer-logo { flex-shrink:0; opacity:1; }
.footer-logo img { width:80px; height:80px; object-fit:contain; }
.footer-copy { padding:0 0 23px; background:#edf2f7; }
.footer-copy p { margin:0; color:#8b9db0; font-size:12px; line-height:1.8; letter-spacing:.015em; }
.quick-actions { position:fixed; right:18px; bottom:22px; z-index:25; display:grid; gap:7px; }
.quick-action { display:flex; justify-content:center; align-items:center; width:49px; height:49px; box-shadow:0 3px 12px #172a3f1a; }
.quick-action--kakao { background:#f8d94d; color:#342d27; }
.quick-action--phone { background:var(--navy); color:#fff; }
.quick-action__label { font-size:15px; font-weight:800; letter-spacing:-.03em; }
.quick-action svg { width:21px; height:21px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.reveal { opacity:0; transform:translateY(16px); transition:opacity .55s,transform .55s; }
.reveal.is-visible { opacity:1; transform:none; }
@media(min-width:1181px) {
 html[lang='en'] .menu,html[lang='ja'] .menu { gap:19px; }
 html[lang='en'] .service-tile h3 { font-size:20px; }
}
@media(max-width:1180px) {
 .nav { min-height:78px; gap:17px; } .header-actions { margin-left:auto; } .nav-cta { display:none; } .menu-toggle { display:inline-flex; }
 .menu { position:absolute; top:calc(100% + 10px); right:0; left:0; display:grid; margin:0; gap:8px; padding:16px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 16px 35px #102a4324; opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; max-height:calc(100dvh - 105px); overflow:auto; transition:opacity .2s,transform .2s; }
 .menu.is-open { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
 .menu { grid-template-columns:minmax(0,1fr); justify-content:stretch; }
 .menu a { min-height:52px; padding:12px 16px; border:0; border-radius:12px; background:#f3f6f9; font-size:17px; } .menu a::after { display:none; }
 .menu a[aria-current='page'] { background:#fff0df; }
 .hero-copy { max-width:690px; } .service-tile__heading { align-items:flex-start; flex-direction:column; gap:5px; }
 .service-tile h3 { font-size:25px; } .metric { padding:0 20px; gap:14px; } .metric strong { font-size:28px; }
 .hero-panel { gap:40px; } .panel-card + .panel-card { padding-left:35px; } .section-head { gap:40px; } .contact-grid { gap:35px; }
 .directions-grid { grid-template-columns:300px minmax(0,1fr); gap:28px; }
}
@media(max-width:760px) {
 .wrap { width:calc(100% - 40px); } section { padding:52px 0; } .nav { min-height:72px; gap:10px; }
 .brand img { width:43px; height:43px; } .brand-text small { display:block; font-size:8px; line-height:1.3; letter-spacing:.08em; white-space:nowrap; } .brand-text strong { font-size:22px; } .brand { gap:7px; }
 .language-control { gap:4px; } .language-control select { width:95px; font-size:14px; } .language-control svg { width:16px; height:16px; } .header-actions { gap:0; }
 .menu { left:0; right:0; padding:14px; } .hero { background-position:60% center; }
 .hero::before { background:linear-gradient(90deg,#081e32f0,#0a2438c7); }
 .hero-inner { padding-top:44px; padding-bottom:46px; } .hero-copy h1 { font-size:38px; line-height:1.4; margin:20px 0; }
 .hero-copy p { font-size:15px; line-height:1.95; } .hero .eyebrow { font-size:11px; } .hero-line { width:30px; margin-bottom:16px; }
 .hero-actions { margin-top:24px; gap:9px; } .hero-actions .cta { padding:12px 20px; min-height:43px; font-size:14px; }
 .hero-caption { padding:14px 20px; font-size:10px; letter-spacing:.1em; } .hero-caption span:last-child { display:none; }
 .hero-metrics { padding:22px 0; gap:0; }
 .metric,.metric:first-child { flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:5px; padding:0 12px; }
 .metric:first-child { padding-left:0; } .metric:last-child { padding-right:0; } .metric strong { font-size:26px; } .metric span { font-size:12px; line-height:1.6; }
 .section-heading { margin-bottom:27px; gap:12px; } .section-heading h2 { font-size:28px; } .section-kicker { font-size:11px; } .section-index { font-size:11px; white-space:nowrap; }
 .service-tiles { grid-template-columns:1fr; gap:30px; } .service-tile__heading { flex-direction:row; align-items:center; margin-bottom:12px; gap:14px; }
 .service-tile h3 { font-size:25px; } .service-tile__image img { height:185px; } .tile-more { font-size:12px; gap:7px; }
 .hero-panel { grid-template-columns:1fr; gap:35px; } .panel-card + .panel-card { padding:30px 0 0; border-left:0; border-top:1px solid #d5dde5; }
 .hero-panel .panel-card:last-child h2 { padding-top:0; } .panel-card h2 { font-size:28px; } .panel-card p { font-size:15px; }
 .sub-hero { padding:18px 0 30px; } .sub-hero__title { font-size:36px; } .sub-hero__text { font-size:14px; } .breadcrumb { font-size:12px; margin-bottom:22px; }
 .section-head,.cards,.band-grid,.contact-grid,.directions-grid,.service-detail-grid { grid-template-columns:1fr; }
 .section-head { gap:20px; margin-bottom:32px; } .section-head h2 { font-size:29px; } .section-head p,.card p { font-size:15px; }
 .cards { gap:30px; } .card { padding-top:22px; } .card h3 { font-size:25px; } .card-photo { margin-top:-24px; } .card-photo img { height:210px; }
 .about-photo { margin-bottom:32px; } .about-photo img { height:235px; } .about-photo > span { left:24px; bottom:24px; font-size:20px; }
 .band-copy,.band-list { padding:26px; } .band h2 { font-size:26px; } .band-copy p { font-size:15px; }
 .contact-grid { gap:35px; } .inquiry-box { padding:26px 20px; } .directions-grid { gap:30px; } .map-canvas { min-height:350px; }
 .service-detail-grid { gap:30px; } .service-detail-grid > img { height:240px; } .service-detail h2 { font-size:28px; } .service-detail p { font-size:16px; }
 .privacy-content { font-size:14px; } .privacy-content h2 { font-size:22px; }
 .footer-links__row { display:flex; flex-wrap:wrap; gap:12px 22px; padding:18px 0; } .footer-links__row a { font-size:12px; }
 .footer-main__row { align-items:flex-start; gap:20px; padding:27px 0 18px; } .footer-company p { font-size:12px; } .footer-logo { display:none; } .footer-copy p { font-size:11px; }
 .quick-actions { right:10px; bottom:12px; gap:5px; } .quick-action { width:40px; height:40px; } .quick-action__label { font-size:13px; } .quick-action svg { width:18px; height:18px; }
 html[lang='en'] .service-tile__heading { align-items:flex-start; flex-direction:column; gap:6px; } html[lang='en'] .hero-copy h1 { font-size:36px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } .reveal { opacity:1; transform:none; } }

/* Readable typography and a stable English language-control label. */
body { font-size:17px; }
.hero-copy p { color:#e6edf3; }
.metric span { max-width:210px; color:#536273; }
.service-tile h3 { line-height:1.45; }
.tile-more { color:#5c6875; }
.contact-item strong { color:#596775; }
.footer-company p { color:#405469; }
.footer-copy p { color:#617387; }
.language-control { color:#344559; }
.language-control select { font-weight:600; }
.quick-action--kakao { background:#fee500; border-radius:10px; overflow:hidden; }
.quick-action--kakao .kakaotalk-icon { width:100%; height:100%; object-fit:contain; }
.quick-action--wechat { border:0; padding:9px; border-radius:10px; background:#07c160; cursor:pointer; }
.quick-action--wechat img { width:100%; height:100%; }
.quick-action--wechat:hover,.quick-action--wechat[aria-expanded='true'] { background:#06a953; }
.wechat-panel,.phone-panel { position:absolute; right:calc(100% + 12px); bottom:0; width:300px; max-width:calc(100vw - 85px); max-height:calc(100dvh - 100px); overflow-y:auto; padding:25px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--text); box-shadow:0 12px 36px #102a4326; }
.wechat-panel[hidden],.phone-panel[hidden] { display:none; }
.wechat-panel__brand { display:block; color:#078c47; font-size:12px; font-weight:600; margin-bottom:12px; }
.wechat-panel h2,.phone-panel h2 { font-size:20px; font-weight:600; line-height:1.5; margin:0 0 12px; }
.wechat-panel p,.phone-panel p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.wechat-panel__close { position:absolute; right:9px; top:7px; width:32px; height:32px; border:0; padding:0; background:transparent; color:var(--muted); font-size:25px; line-height:1; }
.quick-action--phone { border:0; cursor:pointer; }
.phone-choices { display:grid; gap:10px; margin-top:20px; }
.phone-choice { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--line); background:#f3f6f9; }
.phone-choice:hover { border-color:var(--navy); background:#eaf0f6; }
.phone-choice strong { font-size:15px; font-weight:600; line-height:1.6; }
.phone-choice span { font-size:16px; color:var(--navy); white-space:nowrap; }
.main-contacts { padding:55px 0; border-top:1px solid var(--line); }
.main-contacts-grid { display:grid; grid-template-columns:.8fr 1fr 1fr; gap:25px; align-items:center; }
.main-contacts h2 { margin:0; font-size:28px; font-weight:600; }
.main-contact-link { display:flex; flex-direction:column; gap:7px; padding:22px 25px; border-left:2px solid var(--orange); background:#f4f7fa; }
.main-contact-link strong { font-size:17px; font-weight:600; }
.main-contact-link span { font-size:25px; color:var(--navy); font-weight:600; white-space:nowrap; }
.footer-company a:hover { text-decoration:underline; }
@media(min-width:761px) and (max-width:980px) {
  .main-contacts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .main-contacts-grid > div { grid-column:1/-1; }
}
@media(max-width:760px) {
  .main-contacts-grid { grid-template-columns:1fr; gap:16px; }
  .main-contacts h2 { font-size:26px; margin-bottom:8px; }
  .main-contact-link { padding:18px 22px; }
  .phone-panel { padding:24px 18px 18px; }
  .phone-choice { padding:12px 10px; }
}
.map-panel { min-width:0; }
.map-frame { position:relative; width:100%; height:480px; overflow:hidden; background:#eef2f5; }
.map-frame .map-canvas,.map-fallback { position:absolute; inset:0; width:100%; height:100%; min-height:0; border:0; }
.map-frame .map-canvas { z-index:1; visibility:hidden; }
.map-frame .map-canvas.is-ready { visibility:visible; }
.map-fallback { display:block; }
.map-fallback[hidden],.map-canvas[hidden] { display:none; }
.map-caption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:14px 10px 8px; font-size:13px; }
.map-caption span { color:var(--muted); }
.map-caption a { color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cert-intro-grid { display:grid; grid-template-columns:300px minmax(0,1fr); gap:70px; align-items:center; }
.kc-mark-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0; padding:30px 20px; border:1px solid var(--line); background:#fff; }
.kc-mark-panel .section-kicker { font-size:10px; letter-spacing:.12em; text-align:center; }
.kc-mark-panel img { width:110px; height:auto; margin:20px 0 25px; }
.kc-mark-panel figcaption { color:var(--muted); font-size:14px; text-align:center; }
.cert-intro-copy h2 { margin:14px 0 24px; font-size:38px; line-height:1.45; letter-spacing:-.04em; font-weight:600; }
.cert-intro-copy p { max-width:740px; margin-bottom:22px; font-size:18px; color:var(--muted); }
.cert-intro-note { padding-left:18px; border-left:3px solid var(--orange); font-size:14px; line-height:1.85; color:#677585; }
.cert-domains { padding-top:65px; background:#f4f7fa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cert-domain { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); margin-top:28px; background:#fff; border:1px solid var(--line); }
.cert-domain-heading { padding:34px; }
.cert-domain-code { display:block; margin-bottom:22px; font-size:11px; letter-spacing:.12em; font-weight:600; color:#a46830; }
.cert-domain-heading h3 { margin-bottom:20px; font-size:27px; line-height:1.5; font-weight:600; letter-spacing:-.04em; }
.cert-domain-heading p { margin-bottom:0; font-size:16px; color:var(--muted); }
.cert-types { margin:0; padding:14px 30px; border-left:1px solid var(--line); }
.cert-types > div { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:start; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.cert-types > div:last-child { border-bottom:0; }
.cert-types dt { font-size:16px; font-weight:600; line-height:1.8; }
.cert-types dd { margin:0; font-size:15px; line-height:1.85; color:var(--muted); }
.cert-combination { margin:28px 0 0; padding-left:18px; border-left:3px solid #b5c6d8; font-size:15px; color:var(--muted); }
.cert-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:0; margin:0; list-style:none; }
.cert-steps li { min-width:0; padding-top:25px; border-top:2px solid var(--navy); }
.cert-steps li > span { display:block; margin-bottom:18px; color:#a46830; font-size:13px; }
.cert-steps h3 { margin-bottom:13px; font-size:21px; font-weight:600; line-height:1.5; }
.cert-steps p { margin-bottom:0; font-size:15px; color:var(--muted); }
.cert-contact { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-top:55px; padding:30px 35px; background:var(--navy); color:#fff; }
.cert-contact h3 { margin-bottom:10px; font-size:24px; line-height:1.5; font-weight:600; }
.cert-contact p { margin-bottom:0; color:#d2dfeb; font-size:15px; }
.cert-contact .cta { flex-shrink:0; }
.cert-sources { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:25px; color:var(--muted); font-size:13px; }
.cert-sources a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:980px) {
  .cert-intro-grid { grid-template-columns:240px minmax(0,1fr); gap:35px; }
  .cert-domain { grid-template-columns:1fr; }
  .cert-domain-heading { padding:30px; }
  .cert-types { border-left:0; border-top:1px solid var(--line); }
  .cert-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:35px; }
}
@media(max-width:760px) {
  body { font-size:16px; }
  .hero-metrics { grid-template-columns:1fr; padding:8px 0; }
  .metric,.metric:first-child { flex-direction:row; align-items:center; justify-content:flex-start; gap:24px; padding:18px 0; border-right:0; border-bottom:1px solid var(--line); }
  .metric:last-child { border-bottom:0; }
  .metric strong { min-width:76px; font-size:29px; }
  .metric span { max-width:none; font-size:15px; line-height:1.7; }
  .service-tile__heading { flex-wrap:wrap; row-gap:6px; }
  .language-control select { width:92px; font-size:14px; }
  .brand img { width:38px; height:38px; }
  .brand-text strong { font-size:21px; }
  .nav { gap:7px; }
  .footer-company p { font-size:13px; }
  .footer-copy p { font-size:12px; }
  .privacy-content { font-size:15px; }
  .directions-grid .map-panel { order:-1; }
  .map-frame { height:360px; }
  .directions-section { padding-top:30px; }
  .cert-intro-grid { grid-template-columns:1fr; gap:30px; }
  .kc-mark-panel { padding:22px 20px; }
  .kc-mark-panel img { width:85px; margin:12px 0 20px; }
  .cert-intro-copy h2 { font-size:30px; }
  .cert-intro-copy p { font-size:16px; }
  .cert-intro-note { font-size:14px; }
  .cert-domain-heading { padding:25px 22px; }
  .cert-domain-heading h3 { font-size:25px; }
  .cert-types { padding:0 22px; }
  .cert-types > div { grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .cert-steps { grid-template-columns:1fr; gap:27px; }
  .cert-steps li { padding-top:20px; }
  .cert-contact { flex-direction:column; align-items:stretch; gap:25px; margin-top:35px; padding:27px 22px; }
  .cert-contact h3 { font-size:22px; }
  .cert-sources { font-size:12px; }
}
@media(max-width:360px) {
  .brand-text small { font-size:7px; letter-spacing:.06em; }
  .brand { gap:5px; }
  .nav { gap:5px; }
  .language-control select { width:76px; font-size:13px; }
  .language-control { gap:2px; }
  .menu-toggle { width:30px; }
}
