/* PERTT 120 | Phase 2: scoped styles; approved existing visual identity unchanged. */
.p120f2{background:#fff;color:#071c3b}.p120f2 *{box-sizing:border-box}
.p120f2-hero{background:linear-gradient(135deg,#f2f7fc 0%,#fff 64%);border-bottom:1px solid #dde7f0;padding:46px 0 54px}
.p120f2-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(265px,.65fr);gap:40px;align-items:start}
.p120f2-hero h1{font-size:clamp(32px,4.2vw,56px);letter-spacing:-.03em;line-height:1.1;margin:18px 0 20px;color:#071c3b}
.p120f2-lead{font-size:clamp(17px,1.6vw,20px);color:#334b67;line-height:1.78;max-width:760px}
.p120f2-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
.p120f2-caution{font-size:12px;line-height:1.7;color:#62768c}
.p120f2-hero-aside{padding:25px;border:1px solid #d5e2ed;border-radius:17px;background:#fff;box-shadow:0 8px 27px rgba(7,28,59,.045)}
.p120f2-hero-aside strong{display:block;color:#071c3b;margin-bottom:16px}
.p120f2-hero-aside ol{padding-left:19px;color:#4a5c70;line-height:1.9}
.p120f2-section{padding:54px 0}.p120f2-soft{background:#f5f8fb}.p120f2-content{max-width:1080px;margin:auto}
.p120f2-content h2{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:0 0 24px;color:#071c3b}
.p120f2-content>p{font-size:16px;line-height:1.86;color:#344c64;max-width:940px;margin:0 0 17px}
.p120f2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 24px}
.p120f2-card{border:1px solid #d7e2ed;border-radius:15px;background:#fff;padding:24px;min-width:0}
.p120f2-card h3{font-size:19px;line-height:1.35;color:#071c3b;margin:0 0 12px}.p120f2-card p{font-size:15px;line-height:1.85;margin:0;color:#40556d}
.p120f2-list{padding-left:24px;line-height:1.85;color:#3b5067;max-width:1000px}.p120f2-list li{margin-bottom:10px}
.p120f2-table-wrap{width:100%;overflow-x:auto;border:1px solid #d9e4ed;border-radius:13px;background:#fff;margin:20px 0 26px}
.p120f2-table{border-collapse:collapse;width:100%;min-width:650px;text-align:left}
.p120f2-table th,.p120f2-table td{font-size:14px;line-height:1.75;vertical-align:top;text-align:left;padding:16px;border-bottom:1px solid #e2eaf1;color:#344963}
.p120f2-table thead th{background:#edf3f9;color:#071c3b}.p120f2-table tbody th{width:22%;color:#071c3b}
.p120f2-faq{display:grid;gap:12px}.p120f2-faq details{background:#fff;border:1px solid #dae4ee;border-radius:12px;padding:19px 20px}
.p120f2-faq summary{cursor:pointer;font-size:16px;font-weight:780;color:#071c3b;line-height:1.55}
.p120f2-faq p{line-height:1.8;margin:11px 0 0;color:#40556d}
.p120f2-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.p120f2-related a{display:inline-flex;border:1px solid #cbd9e6;border-radius:9px;padding:12px 15px;color:#163e6b;background:#fff;font-size:14px;line-height:1.45;font-weight:720;text-decoration:none}
.p120f2-related a:hover{border-color:#446d9a;background:#f0f6fb}
.p120f2-last{padding:65px 0;background:#071c3b;color:#fff;text-align:center}.p120f2-last h2{color:#fff;font-size:clamp(29px,3.2vw,42px)}
.p120f2-last p{color:#d4e1ee;max-width:800px;margin:auto;line-height:1.9}.p120f2-last .p120f2-hero-actions{justify-content:center}
.p120f2-last .btn-primary{background:#fff;color:#071c3b}.p120f2-last .btn-outline{background:transparent;color:#fff;border-color:#8aa0b7}
.p120f2-bridge{padding:42px 0;background:#f5f8fb}.p120f2-bridge-panel{padding:30px;border-radius:16px;border:1px solid #d6e1eb;background:white}
.p120f2-bridge h2{font-size:clamp(24px,2.8vw,36px);margin:0 0 15px;color:#071c3b}.p120f2-bridge h3{margin:24px 0 12px;color:#071c3b}
.p120f2-bridge p{color:#3d556b;line-height:1.85}.p120f2-bridge-panel>a{font-weight:750;text-decoration:underline;text-underline-offset:4px}
.p120f2-index .p120f2-related{margin:12px 0 24px}
.p120f2 a:focus-visible,.p120f2-bridge a:focus-visible{outline:3px solid #e5ba54;outline-offset:3px}
@media(max-width:870px){.p120f2-hero-grid{grid-template-columns:1fr}.p120f2-hero{padding:32px 0 42px}.p120f2-hero-aside{max-width:none}}
@media(max-width:620px){.p120f2-section{padding:35px 0}.p120f2-grid{grid-template-columns:1fr}.p120f2-card{padding:18px}.p120f2-hero-actions{flex-direction:column;align-items:stretch}.p120f2-hero-actions .btn{width:100%}.p120f2-hero-aside{padding:19px}.p120f2-content>p{font-size:15px}.p120f2-faq details{padding:17px}.p120f2-last{padding:45px 0}.p120f2-bridge-panel{padding:20px}}
