:root{--radius-button:999px;--radius-card:10px}
/* Buttons are capsules; larger interactive cards retain the subtle card radius. */
.button-solid,.outline-button,.text-link,.detail-info-cards a,.drawer-close,.round-arrow,.floating-contact,.back-top{border-radius:var(--radius-button)}
.button-solid,.outline-button{display:inline-flex;align-items:center;justify-content:center}
.text-link,.detail-info-cards a{border:1px solid var(--line);padding:10px 18px;line-height:1.5;background:transparent;display:inline-flex;align-items:center;justify-content:center}
.info-card,.gallery-card,.course,.glass-card,.small-links :is(button,a),.panel-feature,.curriculum>div,.trust-block,.map-placeholder,.detail-photo,.about-dialog-photo,.gallery-grid img,.detail-block .gallery-grid img,.detail-info-cards>div,.detail-contact,.table-scroll{border-radius:var(--radius-card)}
.gallery-card,.course,.panel-feature{overflow:hidden}
.panel-feature>img{border-radius:0}
.table-scroll{isolation:isolate}
.header .menu-button{display:none}
/* Mobile navigation drawer; the gallery viewer is styled in photo-experience.css. */
.mobile-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(360px,88vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-radius:14px 0 0 14px;padding:26px 26px max(26px,env(safe-area-inset-bottom));box-sizing:border-box;background:var(--paper);color:var(--ink);box-shadow:-10px 0 45px #07192c24;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.mobile-drawer[open]{display:flex;flex-direction:column}
.mobile-drawer.is-open{transform:translateX(0)}
.mobile-drawer::backdrop{background:#07192c00;backdrop-filter:none;transition:background .3s ease}
.mobile-drawer.is-open::backdrop{background:#07192c85}
.drawer-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:27px}
.drawer-top h2{font-size:25px;letter-spacing:-1px;font-weight:600}
.drawer-close{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:1px solid var(--line);font-size:29px;line-height:1;font-weight:300}
.drawer-nav{display:flex;flex-direction:column}
.drawer-nav>a{display:block;padding:17px 0;border-bottom:1px solid var(--line);font-size:19px;line-height:1.5;font-weight:500;letter-spacing:-.4px}
.drawer-nav>a[aria-current=page]{color:var(--accent)}
.drawer-footer{margin-top:auto;padding-top:32px}
.drawer-footer .button-solid{width:100%;min-height:48px;font-size:14px}
.drawer-footer p{font-size:11px;color:var(--muted);text-align:center;margin-top:13px}
@media(max-width:760px){
 .header .menu-button{display:flex;width:44px;height:44px;align-items:flex-end;border-radius:var(--radius-button);padding:10px 6px}
 .text-link,.detail-info-cards a{font-size:13px;padding:9px 16px}
}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-drawer::backdrop{transition:none}}

/* Program selection keeps one continuous sliding underline. */
.tabs{position:relative}
.tabs button[aria-selected=true]{border-color:transparent}
.tab-indicator{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);border-radius:999px;pointer-events:none}
.indicator-ready .tab-indicator{transition:transform 420ms cubic-bezier(.22,1,.36,1),width 420ms cubic-bezier(.22,1,.36,1)}
.tabs button{transition:color 180ms ease,background-color 180ms ease}
@media(prefers-reduced-motion:reduce){.indicator-ready .tab-indicator,.tabs button{transition:none}}

.footer-band{background:#132b3f;color:#edf2f6}
.footer-band .footer .brand{color:#fff}
.footer-band .footer p{color:#bbc7d0}
.footer-band .footer-links{color:#edf2f6}
.footer-band .back-top{background:#ffffff12;color:#edf2f6}
/* Education cards and their shortcuts share a clear two-row grid. */
.about-grid{grid-template-columns:minmax(0,1.12fr) repeat(2,minmax(0,1fr));gap:14px}
.about-grid .about-heading{grid-column:1;grid-row:1/3;padding-right:30px}
.about-grid .glass-card{min-width:0;min-height:290px;padding:30px 26px}
.about-grid .glass-card h3{min-height:69px;margin:12px 0 14px;word-break:keep-all}
.about-grid .glass-card p{word-break:keep-all}
.about-grid .glass-bottom{padding-top:28px}
.about-grid .small-links{grid-column:2/4;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));align-self:stretch;gap:10px}
.about-grid .small-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:74px;padding:18px 16px;word-break:keep-all;font-size:13px}
.about-grid .small-links span{flex:none;display:block;margin:0;font-size:20px}
@media(max-width:1100px){
 .about-grid .small-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about-grid .about-heading{grid-column:1/-1;grid-row:auto;padding:0 0 22px}
 .about-grid .small-links{grid-column:1/-1;grid-row:auto}
}
@media(max-width:560px){
 .about-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .about-grid .glass-card{min-height:245px;padding:26px}
 .about-grid .glass-card h3{min-height:0;font-size:23px}
 .about-grid .glass-card p{font-size:13px}
 .about-grid .small-links a{min-height:68px;padding:16px;font-size:13px}
}

/* All program panels share one grid row, sized by the tallest panel. */
.program-tab-panels{display:grid;grid-template-columns:minmax(0,1fr)}
.program-tab-panels>[role="tabpanel"]{grid-area:1 / 1;min-width:0;align-self:start}
/* Override the global [hidden] display:none!important only in this shared grid. */
.program-tab-panels>[role="tabpanel"][hidden]{display:block!important;visibility:hidden;pointer-events:none}
/* Expanded course labels have their own visibility rules; keep those hidden too. */
.program-tab-panels>[role="tabpanel"][hidden] *{visibility:hidden!important}

/* Sky blue accents and a restrained aircraft-yellow detail. */
.about-grid .outline-button>span,.about-grid .small-links span{color:var(--accent-warm)}
/* Reference footer: light field, compact information columns and bottom navigation. */
.footer-band{background:#f5f6fa;color:var(--ink)}
.footer-reference{display:block;padding:40px 0 28px}
.footer-reference .footer-top{display:flex;gap:27px;flex-wrap:wrap;font-size:13px;font-weight:500;padding-bottom:30px}
.footer-reference .footer-top>a:first-child{color:var(--accent-label)}
.footer-reference .footer-info{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:center;width:100%}
.footer-info>dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:0}
.footer-info>dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;font-size:12px;line-height:1.9}
.footer-info dt{color:#7a818c}
.footer-info dd{margin:0;color:#414e5c;word-break:keep-all}
.footer-band .footer .footer-signature{color:var(--navy);justify-self:end;width:auto;gap:6px}
.footer-signature .brand-en{font-size:28px}
.footer-signature .brand-ko{font-size:11px;letter-spacing:5px}
.footer-signature .footer-brand-note{font-size:12px;color:#727c89;font-weight:400;letter-spacing:0;margin-top:6px}
.footer-reference .footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid #e5e8ee;width:100%;gap:25px}
.footer-band .footer-reference .footer-bottom>p{font-size:11px;color:#7a818c}
.footer-band .footer-reference .back-top{margin:0;width:38px;height:38px;background:white;color:#5b6570}
@media(max-width:1000px){.footer-reference .footer-info{gap:30px}.footer-info>dl{grid-template-columns:1fr;gap:12px}.footer-info>dl>div{grid-template-columns:85px 1fr}.footer-signature .brand-en{font-size:24px}}
@media(max-width:760px){
 .footer-reference{padding:32px 0 24px}
 .footer-reference .footer-top{gap:16px 22px;font-size:12px;padding-bottom:25px}
 .footer-reference .footer-info{grid-template-columns:1fr;gap:28px}
 .footer-band .footer .footer-signature{justify-self:start}
 .footer-reference .footer-bottom{margin-top:28px;align-items:flex-start;gap:20px;flex-direction:column}
 .footer-reference>div{width:100%}
}

.footer-reference .footer-info{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:45px;align-items:start}
.footer-cert-examples{justify-self:end;max-width:355px;width:100%}
.footer-cert-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.footer-cert-row>a{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border-radius:6px}
.footer-cert-row .cert-image{display:flex;align-items:center;justify-content:center;height:75px;width:100%}
.footer-cert-row img{width:100%;max-width:106px;max-height:72px;object-fit:contain}
.footer-cert-row img.cert-privacy{width:66px;height:66px}
.footer-cert-row>a>span:last-child{font-size:10px;line-height:1.5;color:#5f6975;white-space:nowrap}
.footer-band .footer .footer-cert-examples>p{font-size:10px;line-height:1.7;color:#69727e;margin-top:15px;word-break:keep-all}
@media(max-width:1000px){.footer-reference .footer-info{gap:30px;grid-template-columns:minmax(0,1fr) minmax(290px,1fr)}}
@media(max-width:760px){.footer-reference .footer-info{grid-template-columns:1fr;gap:30px}.footer-cert-examples{justify-self:start;max-width:355px}.footer-cert-row{gap:10px}}

/* Custom airline lettering, rendered in white from the luminance of its master. */
.header .brand-airline{display:flex;justify-content:center;min-height:44px}
.brand-wordmark{display:block;width:240px;height:44px;font-size:26px;font-weight:800;letter-spacing:1px;line-height:44px;white-space:nowrap;color:#fff}
@supports (mask-mode:luminance){
 .brand-wordmark{color:transparent;background:#fff;mask-image:url('/assets/sungju-air-wordmark-master.png');mask-mode:luminance;mask-repeat:no-repeat;mask-size:106% auto;mask-position:50% 43%}
}
@media(max-width:1000px){.brand-wordmark{width:204px}}
@media(max-width:760px){.brand-wordmark{width:190px;font-size:22px;mask-position:50% 38%}}

/* Photos emerge inside the existing staggered grid without moving its tracks. */
.info-grid .info-card{position:relative;isolation:isolate;overflow:hidden;transition:translate 450ms cubic-bezier(.22,.75,.3,1),background-color 260ms ease}
.info-grid .info-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity 420ms ease,transform 700ms cubic-bezier(.22,.75,.3,1);z-index:0}
.info-grid .info-card:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#071e31e8,#071e3199);opacity:0;transition:opacity 260ms ease;pointer-events:none}
.info-grid .info-card>:not(img){position:relative;z-index:2;transition:color 260ms ease}
.info-grid .info-card:focus-visible{translate:0 -4px;background:#19344b}
.info-grid .info-card:focus-visible .info-card-photo{opacity:1;transform:scale(1)}
.info-grid .info-card:focus-visible:after{opacity:1}
.info-grid .info-card:focus-visible :is(.card-category,h3,p,.card-meta){color:#fff}
@media(hover:hover) and (pointer:fine){
 .info-grid .info-card:hover{translate:0 -5px;background:#19344b}
 .info-grid .info-card:hover .info-card-photo{opacity:1;transform:scale(1)}
 .info-grid .info-card:hover:after{opacity:1}
 .info-grid .info-card:hover :is(.card-category,h3,p,.card-meta){color:#fff}
 .info-grid .gallery-slideshow:hover{translate:0 -4px}
}
.gallery-slideshow{position:relative;min-height:220px;background:#19344b;transition:translate 450ms cubic-bezier(.22,.75,.3,1)}
.gallery-link{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit}
.gallery-slideshow .gallery-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:none;transition:opacity 950ms ease}
.gallery-slideshow .gallery-frame.is-current{opacity:1}
.gallery-slideshow:hover .gallery-frame{transform:none}
.gallery-caption{position:absolute;inset:auto 0 0;z-index:2;padding:36px 20px 18px;background:linear-gradient(transparent,#091e32db);color:white;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.gallery-caption b{font-size:12px;font-weight:500;white-space:nowrap}
.gallery-playback{position:absolute;top:14px;left:14px;z-index:3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#102a4499;color:white;padding:9px}
.gallery-playback svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gallery-playback .play-symbol{display:none}
.gallery-playback[aria-pressed="true"] .pause-symbol{display:none}
.gallery-playback[aria-pressed="true"] .play-symbol{display:block}
.gallery-slideshow>.gallery-count{position:absolute;inset:14px 14px auto auto;z-index:3;width:auto;padding:6px 9px;background:#102a4499;border-radius:999px;font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums;line-height:1.4;pointer-events:none}
@media(max-width:760px){
 .gallery-caption{padding:32px 14px 14px;display:block;font-size:13px}
 .gallery-caption b{display:block;margin-top:6px;font-size:11px}
 .gallery-playback{top:10px;left:10px}
 .gallery-slideshow>.gallery-count{top:12px;right:10px;font-size:9px}
}
@media(hover:none){.info-grid .info-card-photo{opacity:.1;transform:none}}
@media(prefers-reduced-motion:reduce){
 .info-grid .info-card,.info-grid .info-card-photo,.info-grid .info-card:after,.info-grid .info-card>:not(img),.gallery-slideshow,.gallery-slideshow .gallery-frame{transition:none}
 .info-grid .info-card:hover,.info-grid .info-card:focus-visible,.info-grid .gallery-slideshow:hover{translate:none}
}

/* Footer: align contact rows, keep each number intact, and center the mark caption. */
.footer-info .footer-phones{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer-phones a{white-space:nowrap}
.footer-band .footer .footer-cert-examples>p{text-align:center;max-width:34em;margin:14px auto 0}
.footer-cert-examples{align-self:start;padding-top:0}
@media(max-width:760px){.footer-reference .footer-info{gap:28px}.footer-cert-examples{max-width:340px}.footer-band .footer .footer-cert-examples>p{text-align:left}.footer-info>dl>div{grid-template-columns:76px minmax(0,1fr)}}

/* Certification samples share the contact circle's baseline at the hero edge. */
.hero-certifications{position:absolute;right:3%;bottom:-45px;z-index:3;color:var(--muted)}
.hero-cert-list{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.hero-cert-badge{display:flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:50%;background:#fff;box-shadow:0 8px 24px #00000012;padding:8px;flex:none}
.hero-cert-badge img{width:76px;height:58px;object-fit:contain}
.hero-cert-badge img.hero-cert-privacy{width:60px;height:60px}
.hero-certifications>p{position:absolute;top:100%;left:0;width:100%;margin-top:12px;text-align:center;color:#727c85;font-size:10px;line-height:1.6;white-space:nowrap}
@media(max-width:760px){
 .hero-certifications{right:5%;bottom:-38px}
 .hero-cert-list{gap:8px}
 .hero-cert-badge{width:76px;height:76px;padding:7px}
 .hero-cert-badge img{width:62px;height:49px}
 .hero-cert-badge img.hero-cert-privacy{width:51px;height:51px}
 .hero-certifications>p{margin-top:10px;font-size:9px}
}
@media(max-width:420px){
 .hero .floating-contact{width:64px;height:64px;bottom:-32px;font-size:12px;gap:3px}
 .hero .floating-contact>small{font-size:10px}
}

/* Circular informational badge generated from the supplied ministry logo. */
.hero-cert-badge.hero-cert-ministry{width:92px;height:92px;border-radius:50%;padding:0;background:#fff}
.hero-cert-ministry>a{display:block;width:100%;height:100%;border-radius:50%;background:#fff}
.hero-cert-badge.hero-cert-ministry img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff}
.footer-cert-row .footer-cert-ministry img{width:74px;height:74px;max-height:none;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff}
.footer-cert-row .footer-cert-ministry>span:last-child{color:#17384f;font-weight:600}
.footer-cert-ministry small{display:block;font-size:9px;font-weight:400;margin-top:4px;color:#697783}
.hero-cert-ministry>a:focus-visible,.footer-cert-ministry:focus-visible{outline:2px solid #167eaf;outline-offset:4px}
@media(max-width:760px){.hero-cert-badge.hero-cert-ministry{width:76px;height:76px}}


/* Three marks: institutional designation and two distinct instructor biographies. */
.hero-cert-badge:is(.hero-cert-academy,.hero-cert-usflight){padding:0}
:is(.hero-cert-academy,.hero-cert-usflight)>a{display:block;width:100%;height:100%;border-radius:50%;background:#fff}
.hero-cert-badge:is(.hero-cert-academy,.hero-cert-usflight) img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff}
:is(.hero-cert-academy,.hero-cert-usflight)>a:focus-visible,:is(.footer-cert-academy,.footer-cert-usflight):focus-visible{outline:2px solid #167eaf;outline-offset:4px}
.footer-cert-examples{max-width:355px}
.footer-cert-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-cert-row>a>span:last-child{white-space:normal;word-break:keep-all}
.footer-cert-row :is(.footer-cert-academy,.footer-cert-usflight) img{width:74px;height:74px;max-height:none;aspect-ratio:1;object-fit:contain;border-radius:50%;background:#fff}
.footer-cert-row :is(.footer-cert-academy,.footer-cert-usflight)>span:last-child{color:#17384f;font-weight:600}
:is(.footer-cert-academy,.footer-cert-usflight) small{display:block;font-size:9px;font-weight:400;margin-top:4px;color:#697783}
#us-flight-instructor{scroll-margin-top:140px}
@media(max-width:420px){
 .hero-certifications>p{white-space:normal;word-break:keep-all;font-size:8px;line-height:1.5}
 .footer-cert-examples{max-width:340px}
}

/* White booking circle with a navy aircraft icon and label. */
.hero .floating-contact{background:#fff;color:#12384e;border-radius:50%;gap:3px;text-align:center;text-decoration:none;box-shadow:0 6px 18px #172e4420;transition:background-color .18s ease,box-shadow .18s ease}
.hero .floating-contact .booking-plane{display:block;width:25px;height:25px;flex:none}
.hero .floating-contact>strong{font-size:15px;font-weight:750;line-height:1.2;letter-spacing:-.5px;white-space:nowrap}
.hero .floating-contact>small{font-size:10px;line-height:1.3;font-weight:500;color:#284859}
.hero .floating-contact:hover{background:#f4f7fa;box-shadow:0 8px 22px #172e4430}
.hero .floating-contact:focus-visible{outline:3px solid #12384e;outline-offset:5px}
.photo-viewer-bottom{justify-content:flex-end}
@media(max-width:760px){
 .hero .floating-contact .booking-plane{width:21px;height:21px}
 .hero .floating-contact>strong{font-size:13px}
 .hero .floating-contact>small{font-size:9px}
}
@media(max-width:420px){
 .hero .floating-contact{gap:2px}
 .hero .floating-contact .booking-plane{width:17px;height:17px}
 .hero .floating-contact>strong{font-size:11px}
 .hero .floating-contact>small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.hero .floating-contact{transition:none}}

/* Generated circular reservation artwork retains the native telephone link. */
.hero .floating-contact{padding:0;gap:0;background:#fff}
.hero .floating-contact>.booking-badge-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain;aspect-ratio:1;border-radius:50%;background:#fff}
.hero .floating-contact:hover{background:#fff}

/* A quiet maker credit, separate from Sungju Air's business details. */
.footer-reference .footer-creator{display:flex;align-items:center;justify-content:flex-end;gap:14px;width:auto;margin:0 0 0 auto;align-self:flex-end;flex:none}
.footer-creator>span{flex:none;font-size:10px;letter-spacing:.03em;color:#7a818c}
.footer-creator>img{display:block;width:210px;max-width:100%;height:auto;opacity:.8}
@media(max-width:760px){.footer-reference .footer-bottom{gap:16px}.footer-creator>img{width:200px}}

/* Business identity stays readable alongside the three credentials. */
.footer-info>dl>div{grid-template-columns:90px minmax(0,1fr);gap:12px}
.footer-info>dl>.footer-address{grid-column:1/-1}
#air-force-instructor{scroll-margin-top:140px}
