/* Shared visual language for the six service category pages and future children of /services/. */
.iho-category-page{color:var(--iho-ink);overflow:hidden}
.iho-category-container{width:min(1160px,calc(100% - 180px));margin-left:max(48px,calc((100% - 1160px)/2));margin-right:auto}
.iho-category-page section{margin:0}
.iho-category-eyebrow{margin:0 0 20px;color:var(--iho-accent);font-size:12px;font-weight:700;letter-spacing:.17em;line-height:1.4}
.iho-category-intro{display:flex;align-items:center;min-height:490px;padding:94px 0 88px;background-color:var(--iho-navy);background-image:linear-gradient(90deg,#102738dc 0%,#102738c2 54%,#102738bd 100%),var(--iho-category-image);background-position:center;background-size:cover;color:#fff}
.iho-category-intro--employment{--iho-category-image:url('assets/category-heroes/employment.webp')}
.iho-category-intro--study{--iho-category-image:url('assets/category-heroes/study.webp')}
.iho-category-intro--family{--iho-category-image:url('assets/category-heroes/family.webp')}
.iho-category-intro--residence{--iho-category-image:url('assets/category-heroes/residence.webp')}
.iho-category-intro--business{--iho-category-image:url('assets/category-heroes/business.webp')}
.iho-category-intro--immigration{--iho-category-image:url('assets/category-heroes/immigration.webp')}
.iho-category-intro--employment{background-position:center 12%}
.iho-category-intro .iho-category-container{animation:iho-category-enter .65s ease-out both}
@keyframes iho-category-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.iho-category-intro .iho-category-eyebrow{color:#b9d0d8}
.iho-category-intro h1{max-width:720px;margin:0 0 24px;color:#fff;font-size:clamp(42px,4.5vw,66px);font-weight:650;letter-spacing:-.055em;line-height:1.22}
.iho-category-lead{max-width:570px;margin:0;color:#f1f5f6;font-size:clamp(21px,2.15vw,28px);font-weight:500;letter-spacing:-.035em;line-height:1.55}
.iho-category-secondary{max-width:560px;margin:18px 0 0;color:#d6e2e6;font-size:17px;line-height:1.75}
.iho-category-intro .iho-category-container:after{content:'';display:block;width:min(650px,100%);height:1px;margin-top:40px;background:#ffffff52}
.iho-category-services,.iho-category-before,.iho-category-related{padding:86px 0 94px}
.iho-category-services{background:#f6f8f9}
.iho-category-section-head{margin-bottom:38px}
.iho-category-section-head .iho-category-eyebrow{margin-bottom:12px}
.iho-category-section-head h2{margin:0;color:var(--iho-navy);font-size:clamp(28px,3vw,38px);font-weight:650;letter-spacing:-.045em;line-height:1.35}
.iho-category-section-head>p:last-child{margin:13px 0 0;color:var(--iho-muted);font-size:16px;line-height:1.7}
.iho-category-card-grid{display:grid;gap:18px;align-items:stretch}
.iho-category-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.iho-category-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.iho-category-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.iho-category-card{display:flex;min-width:0;min-height:255px;flex-direction:column;align-items:flex-start;padding:28px 29px 24px;background:#fff;border:1px solid #d7e0e2;color:var(--iho-ink);transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.iho-category-card:hover,.iho-category-card:focus-visible{background:#fcfefe;border-color:#8ea8af;transform:translateY(-2px)}
.iho-category-code{color:var(--iho-accent);font-size:13px;font-weight:700;letter-spacing:.08em}
.iho-category-card h3{margin:10px 0 12px;color:var(--iho-navy);font-size:24px;font-weight:650;letter-spacing:-.04em;line-height:1.4}
.iho-category-card h3{transition:color .18s ease}
.iho-category-card:hover h3,.iho-category-card:focus-visible h3{color:var(--iho-accent)}
.iho-category-card p{margin:0 0 20px;color:var(--iho-muted);font-size:15px;line-height:1.65}
.iho-category-card-more{display:flex;align-items:center;gap:10px;margin-top:auto;color:var(--iho-accent);font-size:14px;font-weight:600}
.iho-category-card-more span,.iho-category-procedure-arrow,.iho-category-related-links span,.iho-category-contact-link span{display:inline-block;transition:transform .18s ease}
.iho-category-card:hover .iho-category-card-more span,.iho-category-card:focus-visible .iho-category-card-more span,.iho-category-procedure:hover .iho-category-procedure-arrow,.iho-category-procedure:focus-visible .iho-category-procedure-arrow,.iho-category-related-links a:hover span,.iho-category-related-links a:focus-visible span,.iho-category-contact-link:hover span,.iho-category-contact-link:focus-visible span{transform:translateX(4px)}
.iho-category-procedures{margin-top:42px}
.iho-category-procedures h3{margin:0 0 14px;color:var(--iho-navy);font-size:19px;font-weight:600;letter-spacing:-.025em}
.iho-category-procedure{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.8fr) auto;align-items:center;gap:22px;min-height:76px;padding:16px 6px;border-top:1px solid #cdd8db;transition:background-color .18s ease,padding-inline .18s ease}
.iho-category-procedure:last-child{border-bottom:1px solid #cdd8db}
.iho-category-procedure:hover,.iho-category-procedure:focus-visible{padding-inline:14px;background:#edf2f4}
.iho-category-procedure-name{color:var(--iho-navy);font-size:18px;font-weight:600}
.iho-category-procedure-desc{color:var(--iho-muted);font-size:15px;line-height:1.55}
.iho-category-procedure-arrow{color:var(--iho-accent);font-size:20px}
.iho-category-before{background:#fff}
.iho-category-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:46px;border-top:1px solid var(--iho-line)}
.iho-category-check{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;min-height:126px;padding:26px 0 25px;border-bottom:1px solid var(--iho-line)}
.iho-category-number{color:#75919b;font-size:25px;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums}
.iho-category-check h3{margin:0 0 9px;color:var(--iho-navy);font-size:19px;font-weight:600;line-height:1.4}
.iho-category-check p{margin:0;color:var(--iho-muted);font-size:15px;line-height:1.65}
.iho-category-how{padding:76px 0 80px;background:var(--iho-navy);color:#fff}
.iho-category-how .iho-category-eyebrow{color:#a9c3cc}
.iho-category-how .iho-category-section-head h2{color:#fff}
.iho-category-how .iho-category-section-head>p:last-child{color:#c5d2d7}
.iho-category-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
.iho-category-steps>div{min-width:0;border-top:1px solid #78909b;padding-top:18px}
.iho-category-steps span{color:#a9c3cc;font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}
.iho-category-steps h3{margin:22px 0 8px;color:#fff;font-size:19px;font-weight:600;line-height:1.4}
.iho-category-steps p{margin:0;color:#c5d2d7;font-size:14px;line-height:1.65}
.iho-category-related{background:#fff;padding-bottom:76px}
.iho-category-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.iho-category-related-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:16px 21px;border:1px solid var(--iho-line);color:var(--iho-navy);font-size:17px;font-weight:600;transition:border-color .18s ease,background-color .18s ease}
.iho-category-related-links a:hover,.iho-category-related-links a:focus-visible{border-color:#92a9b1;background:#f7f9f9}
.iho-category-contact{padding:67px 0;background:#f1f5f6}
.iho-category-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.iho-category-contact .iho-category-eyebrow{margin-bottom:10px}
.iho-category-contact h2{margin:0;color:var(--iho-navy);font-size:clamp(27px,2.8vw,36px);font-weight:650;letter-spacing:-.04em}
.iho-category-contact p:last-child{max-width:650px;margin:13px 0 0;color:var(--iho-muted);font-size:16px;line-height:1.7}
.iho-category-contact-link{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:12px 22px;background:var(--iho-navy);color:#fff!important;font-size:15px;font-weight:600;transition:background-color .18s ease}
.iho-category-contact-link:hover,.iho-category-contact-link:focus-visible{background:#23485a}
@media(max-width:1100px){.iho-category-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}.iho-category-card{padding:25px 23px}.iho-category-card h3{font-size:22px}}
@media(max-width:900px){.iho-category-container{width:calc(100% - 64px);margin-inline:auto}.iho-category-intro{min-height:430px;padding:76px 0 66px;background-position:62% center;background-image:linear-gradient(90deg,#102738e0 0%,#102738cf 54%,#102738be 100%),var(--iho-category-image)}.iho-category-intro--employment{background-position:62% 12%}.iho-category-intro .iho-category-container:after{margin-top:40px}.iho-category-services,.iho-category-before,.iho-category-related{padding:66px 0 72px}.iho-category-cols-3,.iho-category-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.iho-category-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.iho-category-how{padding:62px 0 66px}}
@media(max-width:600px){.iho-category-container{width:calc(100% - 40px)}.iho-category-intro{min-height:410px;padding:58px 0 50px;background-position:61% center}.iho-category-intro h1{font-size:42px;margin-bottom:20px}.iho-category-lead{font-size:21px}.iho-category-secondary{font-size:15px}.iho-category-intro .iho-category-container:after{margin-top:34px}.iho-category-services,.iho-category-before,.iho-category-related{padding:54px 0 60px}.iho-category-section-head{margin-bottom:26px}.iho-category-section-head h2{font-size:29px}.iho-category-section-head>p:last-child{font-size:15px}.iho-category-card-grid{grid-template-columns:1fr;gap:12px}.iho-category-card{min-height:218px;padding:23px 22px 21px}.iho-category-card h3{font-size:22px}.iho-category-procedures{margin-top:32px}.iho-category-procedure{grid-template-columns:1fr auto;gap:5px 16px;padding:16px 4px}.iho-category-procedure-name{font-size:17px}.iho-category-procedure-desc{grid-column:1;grid-row:2;font-size:14px}.iho-category-procedure-arrow{grid-column:2;grid-row:1/3}.iho-category-checks{grid-template-columns:1fr}.iho-category-check{min-height:105px;grid-template-columns:42px 1fr;padding:20px 0}.iho-category-number{font-size:23px}.iho-category-check h3{font-size:18px}.iho-category-how{padding:54px 0 58px}.iho-category-steps{grid-template-columns:1fr;gap:20px}.iho-category-steps>div{display:grid;grid-template-columns:42px 1fr;gap:3px 13px;padding-top:14px}.iho-category-steps span{grid-row:1/3;font-size:21px}.iho-category-steps h3{margin:0;font-size:17px}.iho-category-steps p{grid-column:2}.iho-category-related-links{grid-template-columns:1fr;gap:10px}.iho-category-related-links a{min-height:64px}.iho-category-contact{padding:54px 0}.iho-category-contact-inner{display:block}.iho-category-contact p:last-child{font-size:15px}.iho-category-contact-link{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.iho-category-intro .iho-category-container{animation:none}.iho-category-card,.iho-category-card h3,.iho-category-card-more span,.iho-category-procedure,.iho-category-procedure-arrow,.iho-category-related-links a,.iho-category-related-links span,.iho-category-contact-link,.iho-category-contact-link span{transition:none!important}.iho-category-card:hover,.iho-category-card:focus-visible,.iho-category-card:hover .iho-category-card-more span,.iho-category-card:focus-visible .iho-category-card-more span,.iho-category-procedure:hover .iho-category-procedure-arrow,.iho-category-procedure:focus-visible .iho-category-procedure-arrow{transform:none}}
/* Keep the mobile contact control accessible without covering the service text. */
@media(max-width:900px){.iho-service-category .iho-mobile-contact{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:58px;height:58px;min-height:58px;padding:5px;border-radius:50%;font-size:0;line-height:1;box-shadow:0 3px 14px #10273830}.iho-service-category .iho-mobile-contact:before{content:'상담';font-size:13px;font-weight:600}.iho-service-category .iho-mobile-contact[aria-expanded="true"]:before{content:'닫기'}.iho-service-category .iho-contact-rail{right:14px;bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.iho-service-category .iho-header-inner{gap:12px}.iho-service-category .iho-brand{font-size:15px}.iho-service-category .iho-brand small{font-size:8px}}
@media(max-width:600px){.iho-category-intro--employment{background-position:62% 12%}}
