/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.tutoring-page{--tutor-ink: #183a43; --tutor-blue: #326575;}
.tutoring-page a:focus-visible, .tutoring-page button:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
.skip-link{position: fixed; top: 0.5rem; left: 0.75rem; z-index: 200; padding: 0.75rem 1.25rem; background: rgb(255, 255, 255); color: rgb(21, 62, 146); transform: translateY(-150%);}
.skip-link:focus{transform: none;}
.tutoring-page main h2, .tutoring-page main h3, .tutoring-page main p, .tutoring-page main dd{word-break: keep-all; overflow-wrap: break-word;}
.tutor-intro, .tutor-guidance{color: var(--tutor-ink);}
.tutor-eyebrow{font-size: max(13px,0.875rem); font-weight: 550; line-height: 1.6; color: rgb(106, 124, 131); margin-bottom: 1.25rem;}
.tutor-intro{padding: 5.4375rem 0 0; background: rgb(255, 255, 255); text-align: center; scroll-margin-top: 5.75rem;}
.tutor-intro h2{font-size: 4.75rem; font-weight: 750; line-height: 1.2; letter-spacing: -0.06em;}
.tutor-intro h2 > span{display: block; font-size: 2.6875rem; font-weight: 500; letter-spacing: -0.05em; margin-bottom: 0.75rem;}
.tutor-intro h2 > strong{display: block; font-weight: 750;}
.tutor-intro h2 em{font-style: normal; font-weight: 680; font-size: 6.25rem; letter-spacing: -0.08em; color: rgb(50, 101, 117); margin-right: 0.625rem; text-shadow: none;}
.tutor-intro-lead{margin-top: 1.5rem; font-size: 1.375rem; font-weight: 600; line-height: 1.7; letter-spacing: -0.03em;}
.tutor-intro-body{margin: 1.0625rem auto 0; max-width: 49.375rem; font-size: max(13px,1.0625rem); line-height: 1.9; color: rgb(104, 124, 131);}
.tutor-facts{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgb(220, 228, 237); margin-top: 3.3125rem; padding: 1.875rem 0 2.125rem; text-align: center;}
.tutor-facts > div{padding: 0 1.25rem;}
.tutor-facts > div + div{border-left: 1px solid rgb(220, 228, 237);}
.tutor-facts dt{font-size: max(10px,0.8125rem); color: rgb(113, 129, 149); margin-bottom: 0.5rem;}
.tutor-facts dd{font-size: max(13px,1.1875rem); font-weight: 550;}
.tutor-facts strong{font-weight: 650; color: rgb(50, 101, 117);}
.tutor-guidance{padding: 5.75rem 0; background: rgb(243, 245, 245);}
.tutor-guidance-grid{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4.375rem; align-items: center;}
.tutor-guidance-image{margin: 0; border-radius: 0.75rem; overflow: hidden; background: rgb(215, 225, 236);}
.tutor-guidance-image img{display: block; width: 100%; height: auto; aspect-ratio: 1.12 / 1; object-fit: cover; object-position: center center;}
.tutor-guidance-copy h2{font-size: 2.625rem; font-weight: 500; letter-spacing: -0.05em; line-height: 1.4;}
.tutor-guidance-copy h2 strong{color: rgb(50, 101, 117); font-weight: 700;}
.tutor-body{font-size: max(13px,1.0625rem); line-height: 1.9; color: rgb(104, 124, 131);}
.tutor-guidance-copy > .tutor-body{margin-top: 1.4375rem;}
.tutor-focus{margin-top: 1.75rem;}
.tutor-focus > div{display: grid; grid-template-columns: 6.1875rem minmax(0, 1fr); gap: 1.0625rem; padding: 1.125rem 0; border-top: 1px solid rgb(213, 223, 233);}
.tutor-focus dt{font-size: max(13px,1rem); font-weight: 700; color: rgb(49, 92, 103);}
.tutor-focus dd{font-size: max(13px,0.9375rem); line-height: 1.75; color: rgb(104, 124, 131);}
.tutor-time{position: relative; padding: 5.4375rem 0 3.875rem; overflow: hidden; background: linear-gradient(118deg, rgb(16, 44, 61), rgb(24, 66, 81) 55%, rgb(40, 89, 98)); color: rgb(255, 255, 255);}
.tutor-time-top{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 4.375rem; align-items: center;}
.tutor-time .tutor-eyebrow{color: rgb(179, 201, 221);}
.tutor-time-heading h2{font-size: 2.75rem; line-height: 1.4; letter-spacing: -0.05em; font-weight: 450;}
.tutor-time-heading h2 strong{font-weight: 700; color: rgb(255, 242, 217);}
.tutor-time-heading > .tutor-body{color: rgb(194, 209, 224); max-width: 35.625rem; margin-top: 1.5625rem;}
.tutor-time-visual{padding: 1.5625rem 0 1.8125rem 2.625rem; border-left: 1px solid rgba(165, 197, 225, 0.267); text-align: center;}
.time-caption{display: block; font-size: max(13px,1rem); font-weight: 500; color: rgb(195, 215, 232); letter-spacing: -0.02em;}
.time-value{display: block; font-size: 8.625rem; font-weight: 600; line-height: 1.22; letter-spacing: -0.075em; color: rgb(240, 223, 191); text-shadow: none; white-space: nowrap; font-variant-numeric: lining-nums;}
.time-value > span{font-size: 1.875rem; margin-left: 0.5625rem; letter-spacing: -0.04em; font-weight: 450;}
.time-foot{display: block; font-size: max(13px,0.875rem); color: rgb(180, 201, 220); margin-top: 0.875rem;}
.tutor-time-details{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.75rem; margin-top: 3.125rem; padding-top: 1.75rem; border-top: 1px solid rgba(165, 197, 225, 0.267);}
.tutor-time-details h3{font-size: max(13px,1.1875rem); font-weight: 650; letter-spacing: -0.025em; color: rgb(236, 244, 252);}
.tutor-time-details p{font-size: max(13px,0.9375rem); line-height: 1.8; color: rgb(184, 203, 221); margin-top: 0.625rem;}
.next-page{padding: 1rem 0 4.125rem; background: rgb(255, 255, 255);}
.next-page a{display: grid; grid-template-columns: 9.375rem 1fr auto; align-items: center; gap: 1.875rem; padding: 1.8125rem 0; border-top: 1px solid rgb(34, 42, 55); border-bottom: 1px solid rgb(215, 217, 218);}
.next-page small{color: rgb(133, 140, 149); font-size: max(10px,0.6875rem); font-weight: 750;}
.next-page strong{font-size: 1.6875rem; letter-spacing: -0.035em;}
.next-page .arrow{font-size: 1.5625rem; transition: transform 0.2s, color 0.2s;}
.next-page a:hover .arrow{color: var(--blue); transform: translateX(0.375rem);}

.tutor-guidance-grid{grid-template-columns: 1fr; gap: 2.1875rem;}
.tutor-guidance-image{max-width: 46.25rem; width: 100%; justify-self: center;}
.tutor-guidance-image img{aspect-ratio: 1.4 / 1;}
.tutor-time-top{gap: 1.875rem;}
.time-value{font-size: 5.75rem;}
.tutor-time-heading h2{font-size: 2.1875rem;}
.time-value > span{font-size: 1.5625rem;}
.tutor-intro{padding-top: 4.0625rem;}
.tutor-intro h2{font-size: 4.0625rem;}
.tutor-intro h2 > span{font-size: 2.3125rem;}
.tutor-intro h2 em{font-size: 5.25rem;}
.tutor-facts dd{font-size: max(13px,1.0625rem);}
.tutor-facts > div{padding: 0 0.9375rem;}
.tutor-guidance{padding: 4.0625rem 0;}
.tutor-guidance-copy h2{font-size: 2.375rem;}
.tutor-time{padding: 4rem 0 3rem;}
.tutor-time-top{grid-template-columns: 1fr; gap: 1.875rem;}
.tutor-time-heading > .tutor-body{max-width: 100%;}
.tutor-time-visual{padding: 1.5625rem 0; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-top: 1px solid rgba(165, 197, 225, 0.267);}
.time-value{font-size: 7.8125rem;}
.tutor-time-details{margin-top: 0.9375rem; gap: 2.1875rem;}
.tutor-eyebrow{font-size: max(10px,0.75rem); margin-bottom: 0.9375rem;}
.tutor-intro{padding-top: 3rem;}
.tutor-intro h2{font-size: 2.6875rem;}
.tutor-intro h2 > span{font-size: 1.6875rem; margin-bottom: 0.625rem;}
.tutor-intro h2 em{font-size: 3.6875rem; margin-right: 0.25rem;}
.tutor-intro-lead{font-size: max(13px,1.125rem); margin-top: 1.3125rem;}
.tutor-intro-body{font-size: max(13px,0.9375rem); margin-top: 1.0625rem;}
.tutor-break{display: none;}
.tutor-facts{grid-template-columns: 1fr; margin-top: 1.9375rem; padding: 0.5rem 0 0.9375rem; text-align: left;}
.tutor-facts > div{display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: baseline; gap: 0.9375rem; padding: 0.875rem 0;}
.tutor-facts > div + div{border-left: 0; border-top: 1px solid rgb(237, 240, 244);}
.tutor-facts dt{margin: 0; font-size: max(10px,0.75rem);}
.tutor-facts dd{font-size: max(13px,1rem);}
.tutor-guidance{padding: 3rem 0;}
.tutor-guidance-grid{gap: 1.6875rem;}
.tutor-guidance-image img{aspect-ratio: 1.22 / 1;}
.tutor-guidance-copy h2{font-size: 1.8125rem;}
.tutor-guidance-copy > .tutor-body{margin-top: 1.1875rem;}
.tutor-body{font-size: max(13px,0.9375rem);}
.tutor-focus{margin-top: 1.4375rem;}
.tutor-focus > div{grid-template-columns: 5.125rem minmax(0, 1fr); gap: 0.875rem; padding: 1rem 0;}
.tutor-focus dt{font-size: max(13px,0.875rem);}
.tutor-focus dd{font-size: max(13px,0.875rem);}
.tutor-time{padding: 3rem 0 2.25rem;}
.tutor-time-heading h2{font-size: 1.875rem;}
.tutor-time-heading > .tutor-body{margin-top: 1.25rem;}
.tutor-time-top{gap: 1.625rem;}
.tutor-time-visual{padding: 1.4375rem 0;}
.time-caption{font-size: max(13px,0.875rem);}
.time-value{font-size: 6.125rem;}
.time-value > span{font-size: 1.5rem;}
.time-foot{font-size: max(10px,0.8125rem); margin-top: 0.625rem;}
.tutor-time-details{grid-template-columns: 1fr; gap: 1.5rem; padding-top: 1.5rem; margin-top: 0;}
.tutor-time-details h3{font-size: max(13px,1.0625rem);}
.tutor-time-details p{font-size: max(13px,0.875rem); margin-top: 0.5rem;}
.next-page{padding: 0 0 2.625rem;}
.next-page a{grid-template-columns: 1fr auto; gap: 0.5rem; padding: 1.375rem 0;}
.next-page small{grid-column: 1 / -1;}
.next-page strong{font-size: 1.375rem;}
.next-page .arrow{grid-area: 2 / 2;}

@media (prefers-reduced-motion: reduce){.tutoring-page *{scroll-behavior: auto !important; transition: none !important;}}
.tutor-image-check{padding: 3.625rem 0; background: rgb(243, 240, 234); color: rgb(24, 58, 67);}
.tutor-image-check-inner{display: flex; align-items: center; justify-content: space-between; gap: 2rem;}
.tutor-image-check h2{font-size: 2.125rem; line-height: 1.5; font-weight: 500; letter-spacing: -0.045em;}
.tutor-image-check h2 strong{color: rgb(50, 101, 117); font-weight: 700;}
.tutor-image-check p{font-size: max(13px,1rem); line-height: 1.75; color: rgb(104, 122, 141); margin-top: 0.75rem;}
.tutor-check-cta{display: inline-flex; align-items: center; justify-content: center; gap: 1.375rem; flex: 0 0 auto; padding: 1.0625rem 1.5rem; background: rgb(255, 255, 255); border: 1px solid rgb(191, 206, 224); border-radius: 0.75rem; box-shadow: rgba(24, 56, 94, 0.04) 0 0.25rem 0.75rem; font-size: max(13px,0.9375rem); font-weight: 650; transition: background 0.2s, border-color 0.2s;}
.tutor-check-cta span{font-size: 1.375rem; color: rgb(50, 101, 117); line-height: 1;}
.tutor-check-cta:hover{background: rgb(229, 237, 247); border-color: rgb(132, 159, 190);}
.tutor-consult{padding: 5.1875rem 0 4.5rem; background: rgb(255, 255, 255); color: rgb(24, 58, 67); scroll-margin-top: 5.625rem;}
.tutor-consult-grid{display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 5rem; align-items: center;}
.tutor-consult-copy h2{font-size: 2.625rem; line-height: 1.4; font-weight: 450; letter-spacing: -0.05em;}
.tutor-consult-copy h2 strong{color: rgb(50, 101, 117); font-weight: 700;}
.tutor-consult-copy > p:not(.tutor-eyebrow){font-size: max(13px,1.0625rem); line-height: 1.9; color: rgb(105, 121, 139); margin-top: 1.5rem;}
.tutor-consult-phone{display: flex; align-items: baseline; gap: 0.75rem; width: fit-content; font-size: 2rem; font-weight: 700; letter-spacing: -0.04em; margin-top: 1.875rem;}
.tutor-consult-phone span{font-size: max(10px,0.8125rem); font-weight: 500; letter-spacing: 0; color: rgb(118, 133, 152);}
.tutor-consult-kakao{display: inline-flex; align-items: center; gap: 1.375rem; margin-top: 0.8125rem; font-size: max(13px,0.875rem); color: rgb(82, 116, 126);}
.tutor-consult-kakao:hover{text-decoration: underline;}
.tutor-consult-form{padding: 2.0625rem 2.125rem 1.875rem; background: rgb(247, 249, 252); border: 1px solid rgb(220, 229, 239); border-radius: 1rem; box-shadow: rgba(23, 58, 98, 0.04) 0 0.625rem 2rem; min-width: 0;}
.tutor-consult-form h3{font-size: 1.5rem; letter-spacing: -0.04em;}
.tutor-selected-course{display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin: 1.125rem 0 1.5rem; padding-bottom: 1.1875rem; border-bottom: 1px solid rgb(220, 228, 238);}
.tutor-selected-course > span{font-size: max(10px,0.8125rem); color: rgb(101, 119, 140);}
.tutor-selected-course strong{font-size: max(13px,0.9375rem); font-weight: 650; color: rgb(50, 101, 117);}
.tutor-form-fields{display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.25rem 1rem;}
.tutor-field{min-width: 0;}
.tutor-field-wide{grid-column: 1 / -1;}
.tutor-field label{display: block; font-size: max(13px,0.875rem); font-weight: 600; margin-bottom: 0.5rem;}
.tutor-field label > span{color: rgb(113, 128, 150); font-size: max(10px,0.75rem); font-weight: 400;}
.tutor-field input{display: block; width: 100%; min-width: 0; height: 3.0625rem; border: 1px solid rgb(204, 215, 229); background: rgb(255, 255, 255); border-radius: 0.5rem; padding: 0 0.8125rem; color: rgb(23, 48, 77); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.9375rem);}
.tutor-field input::placeholder{color: rgb(133, 146, 163);}
.tutor-field input:focus-visible{outline: rgb(47, 107, 255) solid 0.125rem; outline-offset: 0.125rem; border-color: rgb(47, 107, 255);}
.tutor-field input:user-invalid{border-color: rgb(184, 52, 69);}
.tutor-field small{display: block; font-size: max(10px,0.75rem); color: rgb(117, 131, 151); margin-top: 0.4375rem;}
.tutor-consent-row{display: flex; align-items: flex-start; justify-content: space-between; gap: 0.625rem; margin-top: 1.4375rem;}
.tutor-consent{display: flex; align-items: flex-start; gap: 0.5rem; font-size: max(10px,0.75rem); line-height: 1.6; cursor: pointer;}
.tutor-consent input{width: 1.0625rem; height: 1.0625rem; margin-top: 1px; flex: 0 0 auto; accent-color: rgb(47, 107, 255);}
.tutor-consent-row > a{font-size: max(10px,0.75rem); line-height: 1.6; flex: 0 0 auto; text-decoration: underline; text-underline-offset: 0.1875rem; color: rgb(94, 113, 135);}
.tutor-consult-submit{display: flex; align-items: center; justify-content: center; gap: 1.3125rem; width: 100%; min-height: 3.375rem; padding: 0.8125rem 1.25rem; margin-top: 1.5rem; border: 0; border-radius: 0.5625rem; background: rgb(47, 107, 255); color: rgb(255, 255, 255); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,1.0625rem); font-weight: 700; cursor: pointer; box-shadow: rgba(47, 107, 255, 0.16) 0 0.375rem 1rem; transition: background 0.2s, box-shadow 0.2s;}
.tutor-consult-submit:hover{background: rgb(32, 84, 216); box-shadow: rgba(47, 107, 255, 0.208) 0 0.5rem 1.25rem;}
.tutor-consult-submit:disabled{background: rgb(129, 146, 169); box-shadow: none; cursor: not-allowed;}
.tutor-sr-only{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}

.tutor-consult-grid{grid-template-columns: 1fr; gap: 2.0625rem;}
.tutor-consult-copy > p:not(.tutor-eyebrow){margin-top: 0.9375rem;}
.tutor-consult-phone{margin-top: 1.125rem;}
.tutor-image-check-inner{flex-wrap: wrap;}
.tutor-image-check{padding: 2.625rem 0;}
.tutor-image-check-inner{display: block;}
.tutor-image-check h2{font-size: 1.625rem;}
.tutor-image-check p{font-size: max(13px,0.875rem); margin-top: 0.5rem;}
.tutor-check-cta{margin-top: 1.25rem; width: 100%; padding: 0.875rem 1.25rem;}
.tutor-consult{padding: 3rem 0 2.5625rem; scroll-margin-top: 4.875rem;}
.tutor-consult-grid{gap: 1.75rem;}
.tutor-consult-copy h2{font-size: 1.875rem;}
.tutor-consult-copy > p:not(.tutor-eyebrow){font-size: max(13px,0.9375rem);}
.tutor-consult-phone{font-size: 1.8125rem;}
.tutor-consult-form{padding: 1.5625rem 1.25rem; border-radius: 0.75rem;}
.tutor-consult-form h3{font-size: 1.375rem;}
.tutor-selected-course{margin: 1.0625rem 0 1.375rem; align-items: flex-start;}
.tutor-selected-course strong{font-size: max(13px,0.875rem);}
.tutor-selected-course > span{font-size: max(10px,0.75rem); flex: 0 0 auto;}
.tutor-form-fields{gap: 1.125rem 0.75rem; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);}
.tutor-field input{font-size: max(13px,1rem); padding: 0 0.6875rem;}
.tutor-consent-row{flex-wrap: wrap; gap: 0.5rem;}
.tutor-consent-row > a{margin-left: 1.5625rem;}
.tutor-consult-submit{font-size: max(13px,1rem); margin-top: 1.25rem;}

.tutor-field select{display: block; width: 100%; min-width: 0; height: 3.0625rem; border: 1px solid rgb(204, 215, 223); background: rgb(255, 255, 255); border-radius: 0.5rem; padding: 0 0.75rem; color: rgb(24, 58, 67); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.9375rem);}
.tutor-field select:focus-visible{outline: rgb(47, 107, 255) solid 0.125rem; outline-offset: 0.125rem;}
.tutor-consult-form{background: rgb(245, 247, 247); border-color: rgb(220, 228, 230); box-shadow: none;}
.tutor-check-cta{border-color: rgb(213, 201, 181); box-shadow: none;}
.tutor-check-cta:hover{background: rgb(235, 229, 217); border-color: rgb(178, 149, 99);}
.tutor-time .tutor-eyebrow, .time-caption{color: rgb(199, 218, 221);}
.tutor-time-heading > .tutor-body, .tutor-time-details p, .time-foot{color: rgb(208, 223, 228);}
.subpage-hero--hotel-tutoring .subpage-hero-media img{object-position: 65% center;}
.tutor-field select{font-size: max(13px,1rem);}
