/* jsp/tutor/tutorApply.jsp 에서 분리한 페이지 전용 스타일 */
        body.theme-sian3:not(.is-form-open):not(.is-app-subroute) .s34-form-shell,
        body.theme-sian3:not(.is-form-open):not(.is-app-subroute) .s34-site-header,
        body.theme-sian4:not(.is-form-open) .s34-form-shell,
        body.theme-sian4:not(.is-form-open) .s34-site-header {
            visibility: hidden;
            pointer-events: none;
            position: fixed;
            inset: 0;
            z-index: -1;
        }
        body.theme-sian3.is-form-open #s3Landing,
        body.theme-sian3.is-form-open .s3-sticky-cta,
        body.theme-sian3.is-form-open .s3-geo,
        body.theme-sian3.is-form-open .s3-snap-progress,
        body.theme-sian4.is-form-open #s4Landing,
        body.theme-sian4.is-form-open .s4-header,
        body.theme-sian4.is-form-open .s4-rail {
            display: none !important;
        }
        /* Keep landing noise / glow alive on form — styled further in sian3-app.css */
        body.theme-sian3.is-form-open .s34-form-shell,
        body.theme-sian3.is-form-open .s34-site-header,
        body.theme-sian3.is-app-subroute .s34-site-header,
        body.theme-sian4.is-form-open .s34-form-shell,
        body.theme-sian4.is-form-open .s34-site-header {
            visibility: visible;
            pointer-events: auto;
        }
        body.theme-sian3.is-form-open .s34-form-shell {
            position: relative;
            z-index: 1;
        }
        body.theme-sian3.is-form-open .s34-site-header,
        body.theme-sian3.is-app-subroute .s34-site-header,
        body.theme-sian4.is-form-open .s34-site-header {
            position: fixed;
            inset: 0 0 auto 0;
            z-index: 3200;
            height: auto;
        }
        /* Non-sian3 fallback only — sian3 uses dark canvas from sian3-app.css */
        body.is-form-open:not(.theme-sian3) #splitLayout {
            display: block !important;
            position: relative;
            min-height: 100dvh;
            opacity: 1 !important;
            visibility: visible !important;
            background: #f6f5f4;
            padding: calc(64px + env(safe-area-inset-top, 0px)) 0 40px;
            overflow: auto;
        }
        body.is-form-open:not(.theme-sian3) #formStage {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            position: relative;
            width: min(920px, calc(100% - 32px));
            margin: 0 auto;
        }
        /* ── EN hero: DAECHI EDU ↔ MATCH NOW (Syne; DAECHI/MATCH = red) ── */
        /* Pull wide Syne caps left so their optical edge matches the Korean lead */
        body.theme-sian3-en .s3-hero__headline {
            gap: 0.12em;
            letter-spacing: 0.02em;
            margin-left: clamp(-8px, -0.4vw, -3px);
        }
        /* headline + lead + buttons: nudge block slightly down */
        body.theme-sian3-en .s3-hero__stack {
            transform: translateY(clamp(10px, 1.6vh, 22px));
        }
        body.theme-sian3-en .s3-hero__lead {
            font-size: clamp(0.95rem, 1.75vw, 1.12rem);
        }
        /* a bit more air between Korean lead and CTAs */
        body.theme-sian3-en .s3-hero__actions {
            margin-top: clamp(32px, 5.2vh, 48px);
        }
        body.theme-sian3-en .s3-flip {
            min-width: 4.6em;
        }
        body.theme-sian3-en .s3-flip--suffix {
            min-width: 2.35em;
            margin-left: 0.14em;
        }
        body.theme-sian3-en .s3-flip__item {
            font-family: var(--s3-font-display);
            font-weight: 800;
            font-size: clamp(3.05rem, 11.2vw, 7.45rem);
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #fff;
            transition:
                    opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1),
                    transform 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                    filter 0.42s ease,
                    color 0.35s ease,
                    letter-spacing 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                    clip-path 0.68s cubic-bezier(0.16, 1, 0.3, 1);
        }
        body.theme-sian3-en .s3-flip__item.is-active {
            color: #fff;
        }
        body.theme-sian3-en .s3-flip__item[data-word="DAECHI"].is-active,
        body.theme-sian3-en .s3-flip__item[data-word="MATCH"].is-active {
            color: var(--s3-red, #C4151F);
        }
        /* MATCHING watermark — softer, slightly smaller (EN only; right align unchanged) */
        body.theme-sian3-en .s3-watermark {
            opacity: 0.02;
            font-size: clamp(2.3rem, 7.4vw, 5.9rem);
        }
        /* Forward → MATCH NOW: letters snap in from a hard horizontal blur */
        body.theme-sian3-en .s3-hero__headline.is-fwd .s3-flip__item {
            transform: translateX(-0.18em) scaleX(1.12);
            filter: blur(10px);
            clip-path: inset(0 100% 0 0);
            opacity: 0;
        }
        body.theme-sian3-en .s3-hero__headline.is-fwd .s3-flip__item.is-active {
            transform: translateX(0) scaleX(1);
            filter: blur(0);
            clip-path: inset(0 0 0 0);
            opacity: 1;
        }
        /* Backward → DAECHI EDU: letters drop with tracking tighten */
        body.theme-sian3-en .s3-hero__headline.is-back .s3-flip__item {
            transform: translateY(-0.28em) scaleX(0.92);
            filter: blur(8px);
            letter-spacing: 0.18em;
            opacity: 0;
        }
        body.theme-sian3-en .s3-hero__headline.is-back .s3-flip__item.is-active {
            transform: translateY(0) scaleX(1);
            filter: blur(0);
            letter-spacing: 0.04em;
            opacity: 1;
        }
        @media (max-width: 720px) {
            body.theme-sian3-en .s3-flip { min-width: 3.6em; }
            body.theme-sian3-en .s3-flip--suffix { min-width: 1.9em; }
            body.theme-sian3-en .s3-flip__item {
                font-size: clamp(2.2rem, 11vw, 3.4rem);
                letter-spacing: 0.02em;
            }
            body.theme-sian3-en .s3-hero__stack {
                transform: translateY(clamp(4px, 1vh, 12px));
            }
            body.theme-sian3-en .s3-hero__actions {
                margin-top: clamp(20px, 3.5vh, 32px);
            }
            body.theme-sian3-en .s3-hero__lead {
                font-size: clamp(0.9rem, 3.6vw, 1.02rem);
                word-break: keep-all;
            }
        }
        @media (max-width: 640px) {
            body.theme-sian3-en .s3-flip { min-width: 0; }
            body.theme-sian3-en .s3-flip--suffix { min-width: 0; margin-left: 0.1em; }
            body.theme-sian3-en .s3-flip__item {
                font-size: clamp(2.05rem, 10.8vw, 2.85rem);
                letter-spacing: 0.015em;
            }
            body.theme-sian3-en .s3-hero__lead {
                font-size: clamp(0.78rem, 3.1vw, 0.86rem);
                word-break: keep-all;
            }
            body.theme-sian3-en .s3-hero__actions {
                margin-top: 14px;
            }
        }
        /* Short phone viewports — keep GIF subtle so copy stays primary */
        @media (max-width: 640px) and (max-height: 720px) {
            body.theme-sian3 .s3-hero__symbol {
                width: min(38vw, 140px) !important;
                max-width: 140px !important;
                opacity: 0.4;
                top: auto !important;
                bottom: clamp(86px, 16vh, 128px) !important;
                transform: none !important;
            }
            body.theme-sian3 .s3-hero__stack {
                padding-right: min(24vw, 72px);
                margin-top: -12px;
            }
            body.theme-sian3 .s3-hero__micro {
                margin-top: -4px;
                margin-bottom: 18px;
            }
        }
        @media (max-width: 640px) {
            body.theme-sian3-en .s3-hero__stack {
                transform: none;
                margin-top: -16px;
            }
        }
    

        /* 이력서 양식 추가 항목: 경력사항 행, 연수 수료(고교/대학), 자기소개 */
        /* 여러 줄 입력 행: 라벨 칸(108px, nowrap)이 입력칸 밑으로 넘치지 않도록 위 정렬 + 줄바꿈 허용 */
        body.theme-sian3.is-form-open .txtTable table tr.form-row--multiline td {
            vertical-align: top !important;
            padding-top: 12px !important;
            padding-bottom: 12px !important;
        }
        body.theme-sian3.is-form-open .txtTable table tr.form-row--multiline td.inf_1 {
            padding-top: 14px !important;
            padding-right: 10px !important;
            white-space: normal !important;
            word-break: keep-all;
        }
        /* textarea·경력 행 아래 안내 문구가 입력칸 옆으로 붙지 않고 아래 줄로 내려오게 */
        body.theme-sian3.is-form-open .txtTable table tr.form-row--multiline textarea.form-input { display: block; }
        body.theme-sian3.is-form-open .txtTable table tr.form-row--multiline td > .form-hint {
            display: flex !important;
            margin-top: 8px !important;
            max-width: var(--form-control-max);
        }
        /* 경력사항 행은 입력칸 4개가 들어가므로 셀 전체 폭을 쓴다 (기간 텍스트가 잘리지 않게) */
        body.theme-sian3.is-form-open .career-rows,
        body.theme-sian3.is-form-open .career-rows__foot,
        body.theme-sian3.is-form-open .txtTable table tr.form-row--multiline td > .career-rows + .career-rows__foot + .form-hint { max-width: none; }
        body.theme-sian3.is-form-open .career-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr) auto; }
        body.theme-sian3.is-form-open .training-fields,
        body.theme-sian3.is-form-open .resume-question { max-width: var(--form-control-max); }
        .career-rows { display: flex; flex-direction: column; gap: 10px; width: 100%; }
        .career-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 8px; align-items: center; }
        .career-row .form-input { width: 100%; min-width: 0; }
        .career-rows__foot { display: flex; justify-content: flex-start; margin-top: 10px; }
        .career-rows__foot .btn-secondary:disabled { opacity: .45; cursor: not-allowed; }
        /* 테마 버튼 display 지정이 hidden 속성을 덮어쓰지 않도록 (행이 1개일 때 삭제 버튼 숨김) */
        .career-row .career-row__remove[hidden] { display: none !important; }
        .resume-question { margin: 0 0 8px; font-size: 13px; font-weight: 600; line-height: 1.45; opacity: .9; }
        .training-fields { display: grid; grid-template-columns: 1fr; gap: 12px; width: 100%; }
        .training-field { display: flex; flex-direction: column; gap: 6px; }
        body.theme-sian3.is-form-open textarea.form-input.resume-textarea { min-height: 110px !important; }
        body.theme-sian3.is-form-open textarea.form-input.resume-textarea--sm { min-height: 80px !important; }
        .education-block--high .education-period { margin-top: 10px; max-width: min(420px, 100%); }
        .education-grade { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
        .education-grade__sub { font-style: normal; font-weight: 500; opacity: .6; }
        @media (max-width: 768px) {
            .career-row,
            body.theme-sian3.is-form-open .career-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .career-row .career-row__remove { grid-column: 1 / -1; justify-self: end; }
        }
        body.is-standalone-form.is-form-open #s3Landing,
        body.is-standalone-form .s3-sticky-cta,
        body.is-standalone-form .s3-snap-progress,
        body.is-standalone-form .s3-header__burger,
        body.is-standalone-form .s3-header__nav { display: none !important; }
        body.is-standalone-form .s34-form-shell,
        body.is-standalone-form .s34-site-header {
            visibility: visible !important;
            pointer-events: auto !important;
        }
        body.is-standalone-form .s34-site-header {
            position: fixed;
            inset: 0 0 auto 0;
            z-index: 3200;
        }
        body.is-standalone-form #splitLayout,
        body.is-standalone-form #formStage {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
        }
        body.is-standalone-form .aura-switch__link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            text-decoration: none;
            color: inherit;
            font: inherit;
            font-weight: 700;
            cursor: pointer;
        }
        /* Match form-head action button height (40px) */
        body.is-standalone-form.is-form-open .aura-switch__track,
        body.is-standalone-form.is-form-open .split-layout__form .aura-switch__track {
            min-height: 40px;
            height: 40px;
            box-sizing: border-box;
            padding: 3px !important;
        }
        body.is-standalone-form.is-form-open .aura-switch__btn,
        body.is-standalone-form.is-form-open .split-layout__form .aura-switch__btn,
        body.is-standalone-form.is-form-open .aura-switch__link {
            min-height: 34px !important;
            height: 34px !important;
            padding: 0 !important;
            box-sizing: border-box;
        }
    
