.psychology-hero { background: radial-gradient(circle at 80% 18%, rgba(72,148,158,.26), transparent 30%), linear-gradient(125deg,#092330,#123f50 65%,#112d34); }
.psychology-contact-hero { display:grid; gap:7px; padding:30px; border:1px solid rgba(255,255,255,.24); border-radius:8px; color:#fff; background:rgba(255,255,255,.09); backdrop-filter:blur(8px); }
.psychology-contact-hero i { color:#e1bd61; font-size:2rem; }
.psychology-contact-hero span { margin-top:8px; color:rgba(255,255,255,.65); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.psychology-contact-hero strong { font-size:1.15rem; }
.psychology-contact-hero a { color:#fff; text-decoration:none; overflow-wrap:anywhere; }
.psychology-services { background:#f5f8f8; }
.psychology-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; margin-bottom:38px; }
.psychology-intro h2,.psychology-vocation h2,.psychology-guidance h2 { margin:0; font-size:clamp(2rem,4vw,3.35rem); }
.psychology-intro > p { color:#52636a; font-size:1.03rem; line-height:1.8; }
.psychology-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.psychology-service-grid article { min-width:0; padding:26px; border:1px solid #d6e0e2; border-radius:8px; background:#fff; box-shadow:0 14px 38px rgba(9,39,50,.055); }
.psychology-service-grid i { display:grid; width:50px; height:50px; place-items:center; margin-bottom:22px; border-radius:50%; color:#176478; background:#e4f0f1; font-size:1.25rem; }
.psychology-service-grid h3 { color:#102f3a; font-size:1.08rem; }
.psychology-service-grid p { margin:0; color:#607178; font-size:.9rem; line-height:1.65; }
.psychology-vocation { color:#fff; background:linear-gradient(135deg,#071923,#123f50); }
.psychology-vocation-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr); gap:60px; align-items:center; }
.psychology-vocation .eyebrow { color:#e1bd61; }
.psychology-vocation p,.psychology-vocation li { color:rgba(255,255,255,.76); }
.psychology-vocation ul { display:grid; gap:8px; margin:24px 0 30px; padding-left:20px; }
.psychology-vocation .btn { display:inline-flex; align-items:center; gap:10px; font-weight:800; }
.psychology-vocation-mark { display:grid; aspect-ratio:1; place-content:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; text-align:center; background:radial-gradient(circle,rgba(43,123,134,.28),transparent 67%); }
.psychology-vocation-mark span { color:#e1bd61; font-size:clamp(5rem,10vw,9rem); font-weight:900; line-height:.9; }
.psychology-vocation-mark small { max-width:12ch; margin:12px auto 0; color:#fff; font-weight:800; text-transform:uppercase; }
.psychology-guidance { background:#fff; }
.psychology-guidance .container { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:56px; align-items:start; }
.psychology-guidance-copy p { max-width:850px; color:#52636a; line-height:1.8; }
.psychology-contact-card { display:grid; gap:9px; padding:28px; border-radius:8px; color:#fff; background:#123f50; }
.psychology-contact-card span { color:#e1bd61; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.psychology-contact-card h3 { font-size:1.1rem; }
.psychology-contact-card a { color:#fff; text-decoration:none; overflow-wrap:anywhere; }

.vocational-header { padding:64px 0 54px; color:#fff; background:radial-gradient(circle at 80% 20%,rgba(194,159,91,.16),transparent 28%),linear-gradient(125deg,#092330,#123f50); }
.vocational-header a { display:inline-flex; gap:8px; margin-bottom:30px; color:#fff; font-weight:700; text-decoration:none; }
.vocational-header .eyebrow { color:#e1bd61; }
.vocational-header h1 { max-width:900px; margin:0 0 18px; font-size:clamp(2.4rem,6vw,5.1rem); line-height:.98; overflow-wrap:anywhere; }
.vocational-header p:last-child { max-width:780px; margin:0; color:rgba(255,255,255,.78); font-size:1.05rem; }
.vocational-introduction { color:#fff; background:#071923; }
.vocational-introduction .container { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:32px; align-items:center; padding-top:24px; padding-bottom:24px; }
.vocational-introduction div { display:grid; grid-template-columns:auto auto; gap:8px; align-items:baseline; }
.vocational-introduction div span { color:#e1bd61; font-size:2rem; font-weight:900; }
.vocational-introduction div small { max-width:9ch; color:#fff; font-size:.68rem; font-weight:800; line-height:1.2; text-transform:uppercase; }
.vocational-introduction p { margin:0; padding-left:30px; border-left:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.72); font-size:.82rem; }
.vocational-introduction p strong { color:#fff; }
.vocational-main { padding:56px 0 80px; background:#f5f8f8; }
.vocational-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; }
.vocational-sidebar { position:sticky; top:24px; padding:24px; border:1px solid #d4dfe1; border-radius:8px; background:#fff; box-shadow:0 14px 38px rgba(9,39,50,.06); }
.vocational-progress-copy { display:flex; justify-content:space-between; gap:10px; font-size:.82rem; }
.vocational-progress-copy strong { color:#176478; }
.vocational-progress { height:8px; margin:12px 0 24px; overflow:hidden; border-radius:10px; background:#e5ecee; }
.vocational-progress span { display:block; width:0; height:100%; background:#176478; transition:width .25s ease; }
.vocational-sidebar ol { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.vocational-sidebar li { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:center; color:#6a787d; font-size:.78rem; font-weight:700; }
.vocational-sidebar li span { display:grid; width:30px; height:30px; place-items:center; border:1px solid #cedadd; border-radius:50%; }
.vocational-sidebar li.is-current { color:#123f50; }
.vocational-sidebar li.is-current span { border-color:#176478; color:#fff; background:#176478; }
.vocational-sidebar li.is-complete span { border-color:#2c7d67; color:#fff; background:#2c7d67; }
.vocational-sidebar > p { margin:24px 0 0; padding-top:20px; border-top:1px solid #e1e7e8; color:#68787d; font-size:.72rem; line-height:1.55; }
.vocational-form,.vocational-results { min-width:0; padding:34px; border:1px solid #d4dfe1; border-radius:8px; background:#fff; box-shadow:0 18px 50px rgba(9,39,50,.07); }
.vocational-step { min-width:0; margin:0; padding:0; border:0; }
.vocational-step[hidden],.vocational-results[hidden] { display:none; }
.vocational-step legend { display:grid; gap:4px; width:100%; color:#102f3a; font-size:clamp(1.7rem,3vw,2.6rem); font-weight:900; line-height:1.1; }
.vocational-step legend span { color:#9a771c; font-size:.72rem; letter-spacing:.03em; text-transform:uppercase; }
.vocational-step > p { color:#607178; }
.vocational-scale { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:24px 0 12px; color:#68787d; font-size:.66rem; text-align:center; }
.vocational-question { padding:22px 0; border-top:1px solid #e0e7e8; }
.vocational-question > p { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; margin:0 0 16px; color:#23383f; font-weight:700; }
.vocational-question > p > span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#176478; background:#e4f0f1; font-size:.73rem; }
.vocational-options { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-left:42px; }
.vocational-options label { cursor:pointer; text-align:center; }
.vocational-options input { position:absolute; opacity:0; pointer-events:none; }
.vocational-options label > span { display:grid; min-height:46px; place-items:center; border:1px solid #cbd7da; border-radius:6px; color:#52636a; background:#fff; font-weight:800; transition:.15s ease; }
.vocational-options small { display:none; }
.vocational-options input:focus-visible + span { outline:3px solid rgba(23,100,120,.22); outline-offset:2px; }
.vocational-options input:checked + span { border-color:#176478; color:#fff; background:#176478; box-shadow:0 8px 20px rgba(23,100,120,.2); }
.vocational-error { margin:15px 0 0!important; color:#9a2637!important; font-weight:700; }
.vocational-controls { display:flex; gap:12px; margin-top:26px; padding-top:24px; border-top:1px solid #e0e7e8; }
.vocational-controls .btn { display:inline-flex; align-items:center; gap:8px; }
.vocational-results { grid-column:2; }
.vocational-results h2 { margin-bottom:12px; font-size:clamp(2rem,4vw,3.25rem); }
.vocational-results-intro { max-width:760px; color:#607178; }
.vocational-top { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:30px 0 38px; }
.vocational-result-card { min-width:0; padding:24px; border:1px solid #d4dfe1; border-radius:8px; background:#f8fbfb; }
.vocational-result-card:first-child { color:#fff; border-color:#123f50; background:linear-gradient(145deg,#123f50,#176478); }
.vocational-result-card .rank { color:#9a771c; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.vocational-result-card:first-child .rank { color:#e1bd61; }
.vocational-result-card i { display:block; margin:18px 0; color:#176478; font-size:1.7rem; }
.vocational-result-card:first-child i { color:#e1bd61; }
.vocational-result-card h3 { font-size:1.05rem; }
.vocational-result-card strong { display:block; font-size:2rem; }
.vocational-result-card p { color:#607178; font-size:.78rem; }
.vocational-result-card:first-child p { color:rgba(255,255,255,.75); }
.vocational-result-card a { font-size:.78rem; font-weight:800; }
.vocational-result-card:first-child a { color:#fff; }
.vocational-all-results { display:grid; gap:13px; margin-bottom:32px; }
.vocational-result-row { display:grid; grid-template-columns:minmax(170px,.38fr) minmax(0,1fr) 60px; gap:14px; align-items:center; font-size:.83rem; font-weight:700; }
.vocational-result-track { height:11px; overflow:hidden; border-radius:10px; background:#e3eaec; }
.vocational-result-track span { display:block; height:100%; border-radius:10px; background:#176478; }
.vocational-note { margin:28px 0; padding:22px 0; border-top:1px solid #dce4e6; border-bottom:1px solid #dce4e6; }
.vocational-note strong { color:#9a2637; }
.vocational-note p { margin:5px 0 0; color:#607178; font-size:.85rem; }
.vocational-result-actions { display:flex; flex-wrap:wrap; gap:10px; }
.vocational-result-actions .btn { display:inline-flex; gap:8px; align-items:center; }

@media (max-width:991px){.psychology-intro,.psychology-vocation-grid,.psychology-guidance .container{grid-template-columns:1fr}.psychology-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.psychology-vocation-mark{max-width:340px}.vocational-layout{grid-template-columns:1fr}.vocational-sidebar{position:static}.vocational-sidebar ol{grid-template-columns:repeat(8,1fr)}.vocational-sidebar li{display:block;text-align:center;font-size:0}.vocational-sidebar li span{margin:auto}.vocational-results{grid-column:1}.vocational-top{grid-template-columns:1fr}}
@media (max-width:640px){.psychology-service-grid{grid-template-columns:1fr}.psychology-contact-hero{padding:24px}.vocational-header{padding:46px 0}.vocational-introduction .container{grid-template-columns:1fr 1fr;gap:18px}.vocational-introduction p{grid-column:1 / -1;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.2);border-left:0}.vocational-main{padding:28px 0 55px}.vocational-sidebar{padding:18px}.vocational-form,.vocational-results{padding:22px 16px}.vocational-scale{display:none}.vocational-options{margin-left:0}.vocational-options label>span{min-height:48px}.vocational-options small{display:block;margin-top:5px;color:#68787d;font-size:.54rem;line-height:1.15}.vocational-question>p{grid-template-columns:26px minmax(0,1fr)}.vocational-result-row{grid-template-columns:1fr 48px}.vocational-result-track{grid-column:1 / -1;grid-row:2}.vocational-controls .btn{padding-left:12px;padding-right:12px}.vocational-result-actions{display:grid}.vocational-result-actions .btn{justify-content:center;white-space:normal}}
@media print{.site-header,.site-footer,.vocational-header,.vocational-sidebar,.vocational-result-actions{display:none!important}.vocational-main{padding:0;background:#fff}.vocational-layout{display:block}.vocational-results{box-shadow:none;border:0}.vocational-top{grid-template-columns:repeat(3,1fr)}}
