/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.hero .support-campaign{background: linear-gradient(90deg, rgba(250, 249, 242, 0.8), rgba(250, 249, 242, 0.45) 52%, rgba(250, 249, 242, 0.26)), linear-gradient(0deg, rgb(250, 249, 242) 10%, rgba(250, 249, 242, 0.85) 18%, transparent 45%), url("/cimg/gbabc/renew/hero-11-inha-gate-v1.webp") center calc(100% - 4.375rem) / cover no-repeat, rgb(250, 249, 242); color: rgb(16, 41, 103); isolation: isolate;}
.support-campaign::before{content: none;}
.support-campaign::after{content: none;}
.hero .support-campaign > .wrap{width: 100%; max-width: none; padding: 4.0625rem 8.125rem 7.1875rem 5rem; justify-content: center;}
.support-layout{position: relative; display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: 1.375rem 1.875rem; width: min(76.875rem, 100%); align-items: center;}
.support-copy{grid-area: 1 / 1; min-width: 0; text-align: center;}
.support-brand{margin: 0; font-size: 1.875rem; line-height: 1.4; font-weight: 750; letter-spacing: -0.055em; white-space: nowrap;}
.support-brand em{display: inline-block; margin-left: 0.5rem; font-family: Georgia, serif; font-size: 2.125rem; font-weight: 500; letter-spacing: -0.03em; color: rgb(8, 125, 156);}
.hero .support-campaign h2{width: fit-content; max-width: 100%; margin: 1.4375rem auto 0; padding: 1.375rem 1.75rem 1.5625rem; border: 1px solid rgba(114, 146, 183, 0.4); border-radius: 0.4375rem; background: radial-gradient(at 65% 0%, rgba(66, 101, 168, 0.28), transparent 70%), linear-gradient(125deg, rgb(10, 30, 75), rgb(22, 57, 116) 65%, rgb(16, 43, 91)); box-shadow: rgba(255, 255, 255, 0.19) 0 1px 0 inset, rgba(7, 23, 56, 0.333) 0 -1px 0 inset, rgba(13, 42, 86, 0.12) 0 0.875rem 1.875rem; color: rgb(255, 255, 255); font-size: 4.625rem; line-height: 1.13; font-weight: 800; letter-spacing: -0.055em; word-break: keep-all;}
.support-title-line{display: block; white-space: nowrap;}
.support-title-line strong{color: rgb(164, 239, 223); font-weight: 800; text-shadow: rgba(7, 30, 58, 0.2) 0 1px 1px;}
.support-benefits{display: flex; align-items: center; justify-content: center; gap: 0.8125rem; margin: 1.25rem 0 0; color: rgb(19, 51, 109); font-size: 1.9375rem; line-height: 1.1; font-weight: 750; letter-spacing: -0.045em; white-space: nowrap;}
.support-check{width: 2.375rem; height: 2.375rem; fill: none; stroke: rgb(7, 143, 165); stroke-width: 2.4; flex-shrink: 0;}
.support-benefits strong{background: linear-gradient(145deg, rgb(62, 135, 221), rgb(20, 70, 157) 62%, rgb(10, 40, 110)) text; color: transparent; font-size: 6rem; line-height: 1.2; font-weight: 850; letter-spacing: 0; padding: 0 0.08em; margin-left: 0; filter: drop-shadow(rgba(255, 255, 255, 0.79) 0 0.125rem 0);}
.support-benefits small{font-size: 1.9375rem; font-weight: 750; margin-left: -0.3125rem;}
.support-gallery{grid-area: 1 / 2 / 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, auto); gap: 1.5rem 1rem; height: auto; min-width: 0; transform: none; filter: none;}
.support-photo{position: relative; display: flex; flex-direction: column; margin: 0; min-width: 0; min-height: 0; outline: rgba(139, 164, 175, 0.3) solid 1px; border: 0.5rem solid rgb(255, 255, 255); border-radius: 0.3125rem; overflow: hidden; background: rgb(255, 255, 255); box-shadow: rgba(22, 51, 70, 0.07) 0 0.125rem 0.25rem, rgba(22, 51, 70, 0.16) 0 0.75rem 1.4375rem; transform: translateY(var(--photo-y,0)) rotate(var(--photo-angle,0deg)); transition: transform 0.25s, box-shadow 0.25s;}
.support-photo:first-child{--photo-angle: -1.8deg; --photo-y: 0;}
.support-photo:nth-child(2){--photo-angle: 1.2deg; --photo-y: 0.1875rem;}
.support-photo:nth-child(3){--photo-angle: 1.8deg; --photo-y: 0;}
.support-photo:nth-child(4){--photo-angle: 1.8deg; --photo-y: 0;}
.support-photo:nth-child(5){--photo-angle: -1.8deg; --photo-y: 0.1875rem;}
.support-photo:nth-child(6){--photo-angle: 1.2deg; --photo-y: 0;}
.support-photo svg{display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; flex-shrink: 0; border-radius: 0.125rem; filter: saturate(0.96) contrast(1.025);}
.support-photo figcaption{position: static; padding: 0.75rem 0.1875rem 0.375rem; background: rgb(255, 255, 255); color: rgb(24, 52, 82); font-size: max(13px,0.9375rem); line-height: 1.3; font-weight: 650; text-align: center; text-shadow: none; white-space: nowrap;}
.support-open{grid-area: 2 / 1; justify-self: center; display: inline-flex; align-items: center; gap: 1.875rem; min-height: 3.25rem; padding: 0 1.5625rem; border: 1px solid rgb(154, 175, 197); border-radius: 6.25rem; background: rgba(255, 255, 255, 0.96); box-shadow: rgb(255, 255, 255) 0 1px 0 inset, rgba(36, 67, 99, 0.086) 0 0.3125rem 0.9375rem; color: rgb(23, 58, 118); font-family: inherit; font-size: max(13px,1rem); font-weight: 750; cursor: pointer; transition: background 0.2s, color 0.2s, transform 0.2s;}
.support-open svg{width: 1.375rem; height: 1.375rem; fill: none; stroke: currentcolor; stroke-width: 2;}
.support-open:focus-visible, .support-dialog-close:focus-visible{outline: rgb(8, 127, 150) solid 0.1875rem; outline-offset: 0.25rem;}
@media (hover: hover){.support-photo:hover{transform: translateY(calc(var(--photo-y,0) - 0.3125rem)) rotate(0deg); box-shadow: rgba(31, 91, 128, 0.2) 0 0.75rem 1.25rem;}
.support-open:hover{background: rgb(23, 58, 118); color: rgb(255, 255, 255); transform: translateY(-0.125rem);}}
.hero .support-campaign > .wrap{padding: 4.0625rem 7.5rem 6.875rem 1.875rem;}
.support-layout{column-gap: 1.75rem;}
.support-brand{font-size: 1.375rem;}
.support-brand em{font-size: 1.75rem; margin-left: 0.3125rem;}
.hero .support-campaign h2{font-size: 3.5rem; padding: 1.25rem;}
.support-benefits{font-size: 1.5625rem; gap: 0.5625rem;}
.support-benefits strong{font-size: 5.125rem;}
.support-benefits small{font-size: 1.5625rem;}
.support-gallery{height: auto; gap: 1.25rem 0.75rem;}
.support-photo{border-width: 0.25rem;}

.hero .support-campaign > .wrap{padding: 1.5625rem 1.5rem 5.625rem; align-items: flex-start;}
.support-layout{grid-template-columns: 1fr; gap: 1.5rem; width: min(35rem, 100%); text-align: center;}
.support-brand{font-size: 1.4375rem;}
.support-brand em{font-size: 1.75rem; color: rgb(7, 88, 118);}
.hero .support-campaign h2{margin: 0.75rem auto 0; padding: 0.8125rem 1.4375rem; font-size: 2.3125rem;}
.support-title-line{display: inline;}
.support-benefits{justify-content: center; margin-top: 0.625rem; font-size: 1.4375rem; gap: 0.625rem;}
.support-benefits strong{font-size: 3.8125rem;}
.support-benefits small{font-size: 1.4375rem;}
.support-check{width: 1.75rem; height: 1.75rem;}
.support-gallery{grid-area: 2 / 1; width: min(25rem, 100%); height: auto; justify-self: center; gap: 1.125rem 0.625rem; transform: none;}
.support-photo{border-width: 0.25rem; border-radius: 0.125rem;}
.support-photo figcaption{font-size: max(10px,0.6875rem); padding: 0.4375rem 0.125rem 0.125rem;}
.support-open{grid-area: 3 / 1; justify-self: center; min-height: 2.75rem; font-size: max(13px,0.875rem);}
body:has(.support-campaign.is-active) .fab{top: auto; bottom: calc(0.5rem + env(safe-area-inset-bottom,0)); left: 0.75rem; right: 0.75rem; transform: none; display: flex; border-radius: 0.875rem;}
body:has(.support-campaign.is-active) .fab a{width: 20%; min-width: 0; flex: 1 1 0%; gap: 0.1875rem; padding: 0.4375rem 0.125rem; border-top: 0; border-left: 1px solid var(--line); font-size: 0.625rem;}
body:has(.support-campaign.is-active) .fab a:first-child{border-left: 0;}
body:has(.support-campaign.is-active) .fab .ic{width: 1.75rem; height: 1.75rem;}
body:has(.support-campaign.is-active) .fab .ico{width: 0.9375rem; height: 0.9375rem;}
.hero .support-campaign > .wrap{padding: 1.625rem 1.25rem 5.3125rem;}
.support-layout{gap: 1.5rem;}
.support-brand{font-size: 1.3125rem;}
.support-brand em{font-size: 1.625rem;}
.hero .support-campaign h2{font-size: 1.8125rem; padding: 0.875rem 0.75rem;}
.support-benefits{font-size: 1.375rem;}
.support-benefits strong{font-size: 3.875rem;}
.support-benefits small{font-size: 1.375rem;}
.support-gallery{height: auto; gap: 1.0625rem 0.5625rem;}

.support-dialog{width: min(53.125rem, 100% - 2rem); max-height: 85vh; margin: auto; padding: 2.375rem; border: 1px solid rgb(212, 229, 243); border-radius: 1.25rem; background: rgb(246, 251, 255); color: rgb(20, 49, 92); box-shadow: rgba(4, 17, 39, 0.4) 0 1.5625rem 6.25rem; overflow: auto;}
.support-dialog::backdrop{background: rgba(9, 25, 50, 0.72); backdrop-filter: blur(0.25rem);}
.support-dialog-header{display: flex; justify-content: space-between; align-items: flex-start; gap: 1.25rem; margin-bottom: 1.5625rem;}
.support-dialog h2{font-size: 1.875rem; line-height: 1.3; letter-spacing: -0.04em; margin: 0;}
.support-dialog-intro{font-size: max(13px,0.9375rem); line-height: 1.7; margin: 0.75rem 0 0; color: rgb(83, 102, 126);}
.support-dialog-close{flex-shrink: 0; width: 2.375rem; height: 2.375rem; border: 1px solid rgb(209, 222, 235); border-radius: 50%; background: rgb(255, 255, 255); color: rgb(20, 49, 92); cursor: pointer; display: grid; place-items: center;}
.support-dialog-close svg{width: 1.25rem; height: 1.25rem; stroke: currentcolor; stroke-width: 2; fill: none;}
.support-detail-list{display: grid; gap: 0.875rem; padding: 0; margin: 0; list-style: none;}
.support-detail-list li{padding: 1.375rem; border: 1px solid rgb(220, 231, 241); border-radius: 0.75rem; background: rgb(255, 255, 255);}
.support-detail-list h3{font-size: max(13px,1.1875rem); margin: 0 0 0.5625rem; color: rgb(18, 62, 136); letter-spacing: -0.03em;}
.support-detail-list p{font-size: max(13px,0.9375rem); line-height: 1.8; margin: 0; color: rgb(65, 83, 108); word-break: keep-all;}
.support-dialog{padding: 1.4375rem 1.125rem;}
.support-dialog h2{font-size: 1.4375rem;}
.support-dialog-header{gap: 0.625rem;}
.support-detail-list li{padding: 1.0625rem;}
.support-detail-list h3{font-size: max(13px,1.0625rem);}
@media (prefers-reduced-motion: reduce){.support-photo, .support-open{transition: none;}
.support-photo:hover, .support-open:hover{transform: none;}}
.support-photo-credit{font-size: max(10px,0.6875rem); line-height: 1.6; color: rgb(103, 114, 127); margin: 1.125rem 0 0;}
.support-photo-credit a{text-decoration: underline; text-underline-offset: 0.125rem;}
.hero .support-campaign{background-size: auto, auto, auto 100%; background-position: center center, center center, 32% bottom;}
