.upgb-page{font-family:var(--up-font-family,"Noto Sans KR"),"Malgun Gothic",Arial,sans-serif;--gb-ink:#292333;--gb-text:#4e445b;--gb-purple:#6441b5;--gb-line:#ae9cc4;color:var(--gb-ink);font-size:14px;line-height:1.7}.upgb-page,.upgb-page *{box-sizing:border-box}.upgb-wrap{width:100%;max-width:var(--up-global-container-width,1120px);margin:0 auto;padding:0 20px}.upgb-section{padding:30px 0;border-bottom:1px solid #ddd4e7;scroll-margin-top:calc(var(--uplg-header,0px) + 68px)}.upgb-tone-white{background:#fff}.upgb-tone-soft{background:#f8f6fb}.upgb-tone-dark{background:#342e49;color:white}.upgb-page .upgb-heading{margin:0 0 16px;max-width:880px}.upgb-page .upgb-heading h2,.upgb-page .upgb-section-fold h2{font-size:22px;line-height:1.45;letter-spacing:-.03em;margin:0 0 7px;font-weight:750;word-break:keep-all}.upgb-page .upgb-heading p{font-size:14px;color:var(--gb-text);line-height:1.7;margin:0}.upgb-page .upgb-heading .upgb-eyebrow{font-size:12px;font-weight:700;color:#6441b5;margin:0 0 6px}.upgb-cards{display:grid;gap:12px}.upgb-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.upgb-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.upgb-card,.upgb-aside{border:1px solid var(--gb-line);border-radius:4px;background:white;padding:16px;min-width:0;color:var(--gb-ink)}.upgb-card{display:flex;align-items:start;flex-direction:column}.upgb-page h3{font-size:16px;line-height:1.5;margin:0 0 7px;font-weight:700;word-break:keep-all}.upgb-page .upgb-card p,.upgb-page .upgb-aside p,.upgb-text p,.upgb-numbered p{font-size:14px;color:var(--gb-text);margin:0;white-space:pre-line;overflow-wrap:anywhere}.upgb-tag{font-size:12px;line-height:1.5;padding:3px 7px;background:#eee8f7;color:#60428b;border-radius:3px;font-weight:700;margin-bottom:9px}.upgb-page ul{padding-left:18px;margin:10px 0;font-size:13px;color:#5c4f68}.upgb-page li+li{margin-top:4px}.upgb-link{display:inline-block;font-size:13px;font-weight:700;color:#6441b5;text-decoration:none;margin-top:10px}.upgb-card .upgb-link{margin-top:auto;padding-top:12px}.upgb-link:hover{text-decoration:underline}.upgb-numbered{list-style:none;counter-reset:gb;padding:0!important;margin:0}.upgb-numbered>li{counter-increment:gb;display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #c7b9d7;margin:0!important}.upgb-numbered>li:first-child{padding-top:0}.upgb-numbered>li:before{content:counter(gb,decimal-leading-zero);color:#6441b5;font-size:12px;font-weight:700;flex:0 0 22px;line-height:24px}.upgb-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.upgb-aside{border-top:3px solid #8060a8}.upgb-aside dl{font-size:13px;margin:14px 0}.upgb-aside dl>div{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #e3dce9;padding:7px 0}.upgb-aside dd{margin:0;text-align:right;color:#5c4f68}.upgb-note{font-size:12px;line-height:1.7;color:#65566f;background:#f1edf7;border-left:3px solid #a18bbd;padding:10px 12px;margin:14px 0 0;white-space:pre-line}.upgb-faq{border-top:1px solid var(--gb-line)}.upgb-faq details{border-bottom:1px solid var(--gb-line);padding:12px 0}.upgb-faq summary{font-weight:700;font-size:14px;cursor:pointer}.upgb-faq p{color:var(--gb-text);margin:9px 0 0;white-space:pre-line}.upgb-quote{margin:0;border-left:3px solid #8060a8;padding:5px 18px}.upgb-quote blockquote{font-size:16px;font-weight:600;margin:0 0 12px;white-space:pre-line}.upgb-quote figcaption{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#65566f}.upgb-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.upgb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 13px;border:1px solid #8060a8;border-radius:4px;text-decoration:none;color:#6441b5;background:white;font-size:13px;font-weight:700}.upgb-button-primary{background:#6441b5;color:white;border-color:#6441b5}.upgb-tone-dark .upgb-heading p,.upgb-tone-dark .upgb-heading .upgb-eyebrow{color:#ddd4f1}.upgb-tone-dark .upgb-actions{margin-top:0}.upgb-type-cta>.upgb-wrap{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:center}.upgb-type-cta .upgb-heading{margin:0}.upgb-type-cta .upgb-actions{display:flex;flex-direction:column}.upgb-type-cta .upgb-note{grid-column:1/-1}.upgb-tone-dark .upgb-button-primary{background:white;color:#342e49;border-color:white}.upgb-tone-dark .upgb-button:not(.upgb-button-primary){background:transparent;color:white;border-color:#a799bf}.upgb-table-scroll{overflow:auto}.upgb-table-scroll table{border-collapse:collapse;width:100%;font-size:14px}.upgb-table-scroll th,.upgb-table-scroll td{border:1px solid var(--gb-line);padding:10px;text-align:left;white-space:pre-line}.upgb-table-scroll th{background:#efe9f7}.upgb-section-fold>summary{cursor:pointer}.upgb-section-fold[open]>summary{margin-bottom:14px}.upgb-section-fold h2{display:inline}.upgb-updated{font-size:11px;color:#756782;padding-top:12px;padding-bottom:18px}.upgb-page .upgb-section .up-language-guide-preview[data-language-basic-preview]{max-width:none;padding:0}.upgb-page .upgb-section .up-language-guide-preview[data-language-basic-preview] .up-container{padding:0!important}.upgb-school-bottom{display:flex;justify-content:flex-end;margin-top:12px}.upgb-schools[data-upgb-sort="0"] .upld-sort{display:none!important}.upgb-schools[data-upgb-notice="0"] .upld-notice{display:none!important}.upgb-page .upgb-type-schools{padding-top:18px}.upgb-page .upgb-text+.upgb-text{margin-top:16px}.upgb-page a:focus-visible,.upgb-page summary:focus-visible{outline:2px solid #8060b7;outline-offset:3px}@media(max-width:760px){.upgb-wrap{padding:0 14px}.upgb-section{padding:22px 0}.upgb-page .upgb-heading h2,.upgb-page .upgb-section-fold h2{font-size:19px}.upgb-page .upgb-heading p{font-size:13px}.upgb-cards,.upgb-summary-grid{grid-template-columns:1fr;gap:10px}.upgb-card,.upgb-aside{padding:13px}.upgb-page h3{font-size:15px}.upgb-type-cta>.upgb-wrap{grid-template-columns:1fr;gap:14px}.upgb-type-cta .upgb-actions{flex-direction:row}.upgb-type-cta .upgb-button{flex:1;min-width:130px}.upgb-quote blockquote{font-size:15px}.upgb-page .upgb-schools .up-language-guide-preview[data-language-basic-preview]{padding:0}.upgb-school-bottom .upfd-full-schools{justify-content:center;width:100%}}

/* Dark section headings must override global heading colors. */
.upgb-page .upgb-tone-dark>.upgb-wrap>.upgb-heading h2,.upgb-page .upgb-tone-dark .upgb-section-fold>summary h2{color:#fff!important}

.upgb-review-card{display:flex;flex-direction:column;border:1px solid #ae9cc4;border-radius:4px;background:white;color:#292333;text-decoration:none;overflow:hidden}.upgb-review-card>img{display:block;width:100%;height:180px;object-fit:contain;background:#f1edf7}.upgb-review-card>div{padding:15px}.upgb-review-card p{font-size:14px;line-height:1.7;color:#4e445b;margin:6px 0 10px;overflow-wrap:anywhere}.upgb-review-card small{font-size:12px;color:#756782}.upgb-review-card:hover{border-color:#6441b5}.upgb-review-empty{font-size:14px;color:#65566f;padding:14px;border:1px solid #c6b6d6;background:white}

/* Mobile review rail: one card per view, swipe without changing other card types. */
@media(max-width:760px){.upgb-type-reviews .upgb-cards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:7px;scrollbar-width:thin}.upgb-type-reviews .upgb-review-card{flex:0 0 100%;min-width:0;scroll-snap-align:start}.upgb-type-reviews .upgb-review-card>img{height:230px}.upgb-type-reviews .upgb-review-card>div{padding:12px}.upgb-type-reviews .upgb-review-card h3{margin-bottom:0}}

.upgb-page .upgb-item-image{display:block;width:100%;height:140px;object-fit:cover;object-position:center 45%;margin:0 0 12px;border-radius:2px;}
@media(max-width:600px){.upgb-page .upgb-item-image{height:130px;}}

.upgb-page #services .upgb-item-image{height:auto;aspect-ratio:3/2;object-fit:contain;background:#f8eee7;}

.upgb-page .upgb-school-bottom{justify-content:center;margin-top:16px}.upgb-page .upgb-school-bottom .upfd-full-schools{display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:320px;max-width:100%;font-size:14px;font-weight:700}.upgb-page .upgb-school-bottom .upfd-full-schools:hover{background:#503091}@media(max-width:760px){.upgb-page .upgb-school-bottom .upfd-full-schools{width:100%}}

.upgb-page .upgb-preset-hidden{display:none!important}.upgb-page .upgb-school-bottom a.upfd-full-schools{box-sizing:border-box;height:50px!important;min-height:50px!important;padding:0 24px!important;font-size:15px!important;line-height:1.3!important;border-radius:5px;letter-spacing:0;white-space:normal;text-align:center;}

.upgb-page .upgb-cards.upgb-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:761px) and (max-width:1000px){.upgb-page .upgb-cards.upgb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.upgb-page .upgb-cards.upgb-cols-4{grid-template-columns:1fr}}

/* Keep service-card layout explicit even when legacy page styles are loaded. */
.upgb-page #services .upgb-cards.upgb-cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}.upgb-page #services .upgb-card{min-width:0;box-sizing:border-box}.upgb-page #services .upgb-item-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}@media(min-width:761px) and (max-width:1000px){.upgb-page #services .upgb-cards.upgb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.upgb-page #services .upgb-cards.upgb-cols-4{grid-template-columns:minmax(0,1fr)}}

/* Three-card service rail; the fourth card remains available by swipe or arrows. */
.upgb-page #services .upgb-cards.upgb-cols-4{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9d83c3 #eee8f6;padding-bottom:8px}.upgb-page #services .upgb-cards>.upgb-card{flex:0 0 calc((100% - 24px)/3);scroll-snap-align:start;scroll-snap-stop:always}.upgb-rail-controls{display:flex;justify-content:flex-end;gap:6px;margin:-6px 0 9px}.upgb-rail-controls button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border:1px solid #8060a8;border-radius:3px;background:#fff;color:#6441b5;font-size:18px;cursor:pointer}.upgb-rail-controls button:disabled{opacity:.35;cursor:default}@media(max-width:760px){.upgb-page #services .upgb-cards>.upgb-card{flex-basis:100%}}

/* Every country uses the same service rail, including three-benefit pages. */
.upgb-page #services .upgb-cards[data-upgb-rail]{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9d83c3 #eee8f6;padding-bottom:8px}

.upgb-page .upgb-card p.upgb-card-condition{font-size:11px;line-height:1.6;color:#756782;margin-top:10px;padding-top:8px;border-top:1px solid #e4dceb;width:100%}

/* The finder already provides the content width and side gutters. */
[data-finder-followup] .upgb-wrap {
    max-width: none;
    padding-inline: 0;
}

#usa-language-finder-followup-visa .upgb-card {
    background: #4b3078;
    border-color: #4b3078;
    color: #fff;
}

#usa-language-finder-followup-visa .upgb-card :is(h3,p,a) {
    color: inherit;
}

#usa-language-finder-followup-visa .upgb-card h3:only-child {
    margin-bottom: 0;
}

#usa-language-finder-followup-visa .upgb-card a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

#usa-language-finder-followup-visa .upgb-card a:focus-visible {
    outline-color: #fff;
}

#usa-language-finder-followup-visa .upgb-note {
    padding: 12px 14px;
    border-left: 4px solid #4b3078;
    background: #eee7f8;
    color: #35234f;
    font-size: 14px;
    font-weight: 700;
}

#usa-language-finder-followup-support .upgb-card {
    background: #4b3078;
    border-color: #4b3078;
}

#usa-language-finder-followup-support .upgb-card h3 {
    color: #fff;
    margin: 0;
}

#usa-language-finder-followup-contact,
#canada-language-finder-followup-contact {
    /* Extend the background beyond the centered finder without adding horizontal scroll. */
    background: #342e49;
    box-shadow: 0 0 0 100vmax #342e49;
    clip-path: inset(0 -100vmax);
}

#usa-language-finder-followup-contact .upgb-heading p,
#canada-language-finder-followup-contact .upgb-heading p {
    white-space: pre-line;
}

@media (max-width: 760px) {
    #usa-language-finder-followup-visa .upgb-card:nth-child(-n+2) {
        grid-column: span 1;
    }
    #usa-language-finder-followup-visa .upgb-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #usa-language-finder-followup-visa .upgb-card:nth-child(n+3) {
        grid-column: 1 / -1;
    }
}
