/* P1: direct campus contacts replace inputs that did not submit any values. */
.contact.p1-contact .wrap{display:block}
.p1-contact-heading{max-width:760px;margin-bottom:32px}
.p1-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.p1-contact-card{background:var(--paper,#f5f3eb);border:1px solid #c9d1bf;padding:26px;scroll-margin-top:125px;min-width:0}
.p1-contact .p1-contact-region{font-size:11px;color:#5e7058;margin:0 0 14px}
.p1-contact-card h3{font-size:20px;font-weight:500;line-height:1.55;margin:0 0 15px;min-height:62px}
.p1-contact .p1-contact-address{font-size:12px;min-height:44px;line-height:1.7;margin:0 0 20px}
.p1-contact .p1-primary-phone{margin:0;line-height:1.5}
.p1-primary-phone span{display:block;font-size:11px;color:#58654f}
.p1-primary-phone a{display:inline-block;font-size:25px;color:var(--ink,#263b31);padding:5px 0;white-space:nowrap;letter-spacing:-.6px}
.p1-contact .p1-smart-phone{font-size:11px;margin:5px 0 20px;color:#65715e}
.p1-smart-phone a{text-decoration:underline;text-underline-offset:3px}
.p1-contact-actions{display:flex;flex-wrap:wrap;gap:8px}
.p1-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #87947b;border-radius:6px;font-size:12px;line-height:1.5;text-align:center;flex:1 1 auto;color:var(--ink,#263b31);background:transparent;text-decoration:none}
.p1-action-primary{background:var(--ink,#263b31);color:var(--paper,#f5f3eb);border-color:var(--ink,#263b31)}
.p1-action:hover{background:#dce5ce;color:#263b31}
.p1-action:focus-visible,.p1-campus-option:focus-visible,.p1-campus-change:focus-visible,.p1-mobile-actions a:focus-visible,.p1-dialog-close:focus-visible{outline:3px solid #688b3c;outline-offset:3px}
.p1-contact .p1-kakao-placeholder,.p1-kakao-placeholder{font:inherit;font-size:11px;line-height:1.6;color:#63705c;margin:16px 0 0;padding:9px 12px;min-height:36px;border:1px dashed #b6c0ab;border-radius:6px;background:#edf0e6;cursor:not-allowed;opacity:1}
.p1-kakao-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.p1-contact .p1-contact-note{font-size:12px;line-height:1.8;margin:22px 0 0;max-width:900px}
/* P1: the primary card is a detail link, and the consultation link is its sibling. */
.p1-program-card{position:relative;border-bottom:1px solid var(--line,#d6d9ce)}
.p1-program-card .program{border-bottom:0;padding-bottom:18px}
.p1-program-consult{display:inline-flex;align-items:center;gap:16px;font-size:12px;border-bottom:1px solid #829574;padding:7px 0;margin:0 0 24px 85px;min-height:36px}
.p1-mobile-bar{display:none}
.p1-contact-dialog{width:min(600px,calc(100vw - 24px));max-height:min(88dvh,820px);border:1px solid #bbc8ae;border-radius:16px;padding:0;background:var(--paper,#f5f3eb);color:var(--ink,#263b31);box-shadow:0 22px 80px #10251a40;overscroll-behavior:contain}
.p1-contact-dialog::backdrop{background:#10251abf}
.p1-dialog-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #d2dac8;background:var(--paper,#f5f3eb);position:sticky;top:0;z-index:1}
.p1-contact-dialog .p1-dialog-heading h2{font-size:20px;line-height:1.45;letter-spacing:-.5px;margin:0;font-weight:500}
.p1-dialog-close{border:1px solid #aab89a;border-radius:6px;background:transparent;color:inherit;min-width:66px;min-height:44px;padding:8px 10px;cursor:pointer;white-space:nowrap}
.p1-dialog-body{padding:22px 24px 26px}
.p1-dialog-body>p:first-child{font-size:13px;line-height:1.8;margin:0 0 18px;color:#5c6855}
.p1-campus-options{display:grid;gap:10px}
.p1-campus-option{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;background:transparent;border:1px solid #b3c2a5;border-radius:8px;padding:15px;color:inherit;cursor:pointer;min-height:64px;font:inherit}
.p1-campus-option span{font-size:14px;line-height:1.5}
.p1-campus-option small{font-size:11px;color:#65715e;line-height:1.5}
.p1-campus-option[aria-pressed="true"]{background:#e2edcf;border-color:#536b3c;box-shadow:inset 3px 0 #536b3c}
.p1-dialog-destination{margin-top:20px;padding-top:16px;border-top:1px solid #c6d2ba}
.p1-dialog-destination[hidden]{display:none}
.p1-dialog-selected{font-size:14px;line-height:1.6;margin:0 0 7px}
.p1-dialog-number{font-size:12px;line-height:1.7;margin:0 0 14px;color:#596950}
.p1-dialog-number span{font-size:16px;color:#263b31;margin-left:6px;white-space:nowrap}
.p1-dialog-note{font-size:11px;line-height:1.7;color:#65715e;margin:15px 0 0}
.p1-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.p1-contact-grid{grid-template-columns:1fr}.p1-contact-card{padding:24px}.p1-contact-card h3,.p1-contact .p1-contact-address{min-height:0}.p1-contact-actions{max-width:520px}}
/* P1: reserve the fixed bar height and device safe area so it cannot cover content. */
@media(max-width:767px){
 body{padding-bottom:calc(114px + env(safe-area-inset-bottom,0px))}
 .p1-mobile-bar{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;background:#263b31;color:#f5f3eb;border-top:1px solid #a2b28e;box-shadow:0 -6px 24px #263b3118;padding:0 14px calc(8px + env(safe-area-inset-bottom,0px))}
 .p1-campus-change{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:8px 2px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit;font-size:11px;line-height:1.5}
 .p1-campus-change>span:last-child{border-bottom:1px solid #c2d7ac;white-space:nowrap;color:#d7ee97}
 .p1-mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
 .p1-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 8px;border:1px solid #71866d;border-radius:6px;font-size:14px;line-height:1.4;text-decoration:none;color:inherit}
 .p1-mobile-actions a:last-child{background:#d7ee97;border-color:#d7ee97;color:#263b31}
 .p1-contact-dialog{max-height:88dvh;margin:auto;width:calc(100vw - 24px)}
 .p1-dialog-heading{padding:15px 18px}.p1-contact-dialog .p1-dialog-heading h2{font-size:18px}.p1-dialog-body{padding:18px}
 .p1-contact-card{scroll-margin-top:115px}.p1-program-consult{margin-left:42px}
}
@media(prefers-reduced-motion:reduce){.p1-program-card .program{transition:none}}
