/* Portal section/pages use the existing teal, ivory and gold palette. */
.ps-hub-heading{max-width:760px;margin:0 auto 38px;text-align:center}
.ps-kicker{display:block;color:#8a6829;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:14px}
.ps-hub-heading h2{font-size:clamp(30px,3.4vw,44px);margin:0 0 15px}
.ps-hub-heading p{font-size:15px;line-height:1.8;margin:0 auto;color:#60787d}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ps-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;background:#fffefd;border:1px solid #dddace;border-top:2px solid #d8b46a;border-radius:16px;box-shadow:0 12px 30px #06191f05}
.ps-card-label{font-size:9px;letter-spacing:1.2px;color:#886a32;margin-bottom:18px}
.ps-card h3{font-size:19px;line-height:1.4;margin:0 0 12px;color:#123f49}
.ps-card p{font-size:14px;line-height:1.8;color:#60787d;margin:0 0 24px}
.ps-card .ps-button{margin-top:auto}
.ps-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:12px 19px;border:1px solid transparent;border-radius:8px;background:#123f49;color:white;text-decoration:none;font:600 13px/1.6 Arial,"Segoe UI",sans-serif;cursor:pointer;text-align:center;overflow-wrap:anywhere}
.ps-button:hover{background:#1e6f78;color:white}
.ps-button-light{background:#f3eddf;border-color:#e6d8b7;color:#123f49}
.ps-button-light:hover{background:#eaddbb;color:#123f49}
.ps-page{font:15px/1.8 Arial,"Segoe UI",sans-serif;color:#17333a;background:#f7f8f5}
.ps-page .ps-hero{padding:62px 0;background:radial-gradient(ellipse at right top,#245c65,transparent 65%),#0b2830}
.ps-wrap{width:min(1200px,92%);margin-inline:auto}
.ps-hero h1{font-family:Georgia,serif;font-size:clamp(34px,4.6vw,54px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin:18px 0;color:white}
.ps-hero .ps-kicker{color:#e7c882}
.ps-hero>div>p{font-size:15px;line-height:1.9;color:#d2e0e3;max-width:760px;margin:0}
.ps-back{display:inline-block;margin-bottom:27px;color:#e5d6b0;font-size:12px;text-decoration:none}
.ps-back:hover{text-decoration:underline}
.ps-section{padding:65px 0}
.ps-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:30px;align-items:start}
.ps-panel{padding:30px;background:#fffefd;border:1px solid #e0e3da;border-radius:16px;min-width:0}
.ps-panel h2,.ps-faq-section h2{font-family:Georgia,serif;font-size:29px;line-height:1.25;font-weight:400;color:#123f49;margin:0 0 18px}
.ps-panel h3,.ps-related h3{font-size:17px;color:#123f49;margin:0 0 15px}
.ps-panel p{font-size:14px;line-height:1.85;color:#60787d}
.ps-panel .ps-notice{border-left:2px solid #d8b46a;padding-left:16px;margin-bottom:27px;font-size:13px}
.ps-sidebar{display:grid;gap:22px;min-width:0}
.ps-contact>a:not(.ps-text-link){display:block;padding:16px 0;border-bottom:1px solid #e7e4da;text-decoration:none;overflow-wrap:anywhere}
.ps-contact>a>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#8a6829}
.ps-contact>a>strong{display:block;font-weight:600;color:#123f49;font-size:14px;margin-top:4px}
.ps-text-link{display:inline-block;margin-top:23px;font-size:13px;font-weight:600;color:#123f49;text-decoration:none}
.ps-text-link:hover{text-decoration:underline}
.ps-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.ps-field{min-width:0}
.ps-field-wide{grid-column:1/-1}
.ps-field label{display:block;font-size:12px;font-weight:600;color:#17333a;margin-bottom:8px;line-height:1.6}
.ps-field input,.ps-field textarea,.ps-field select{width:100%;max-width:100%;min-height:47px;border:1px solid #cbd4cf;background:#f8faf6;border-radius:8px;padding:11px 12px;font:15px/1.6 Arial,"Segoe UI",sans-serif;color:#17333a}
.ps-field textarea{resize:vertical}
.ps-field select{background:white}
.ps-field [aria-invalid=true]{border-color:#a13c3c}
.ps-field .ps-field-error{font-size:12px;color:#9b3030;margin:6px 0 0}
.ps-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.8;margin:24px 0 12px}
.ps-consent input{width:17px;height:17px;margin-top:3px;flex-shrink:0;accent-color:#123f49}
.ps-panel .ps-privacy{font-size:11px;margin-bottom:24px}
.ps-errors{padding:17px 19px;margin-bottom:25px;border:1px solid #e4baba;background:#fff1ef;color:#8c2c2c;border-radius:9px;font-size:13px}
.ps-errors ul{padding-left:20px;margin:8px 0 0}
.ps-errors li{font-size:13px}
.ps-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ps-steps{padding-left:20px;margin:0;color:#60787d}
.ps-steps li{font-size:13px;margin-bottom:12px;padding-left:3px;line-height:1.85}
.ps-panel .ps-subtitle{margin-top:32px}
.ps-panel .ps-destination{font-size:11px;margin-top:14px;overflow-wrap:anywhere}
.ps-reference{display:block;width:fit-content;max-width:100%;padding:12px 16px;border:1px solid #d1ddcf;background:#eef4e8;border-radius:8px;color:#254d36;font-size:15px;letter-spacing:.6px;overflow-wrap:anywhere;margin:0 0 24px}
.ps-page .ps-faq-section{padding-top:0}
.ps-faq{background:white;border:1px solid #dfe3d8;border-radius:9px;max-width:900px;margin:12px 0}
.ps-faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-size:14px;font-weight:600;color:#173e47}
.ps-faq summary::-webkit-details-marker{display:none}
.ps-faq summary::marker{content:""}
.ps-faq p{padding:0 22px 20px;margin:0;font-size:14px;color:#60787d}
.ps-related{border-top:1px solid #dfe3d8;margin-top:35px;padding-top:28px}
.ps-related-links{display:flex;flex-wrap:wrap;gap:12px}
.ps-related-links a{display:inline-block;border:1px solid #d6dbd1;border-radius:8px;background:#fffdf7;padding:9px 13px;font-size:12px;text-decoration:none;color:#173e47}
.ps-related-links a:hover{background:#eee5cf}
@media(max-width:960px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px}.ps-panel{padding:25px}.ps-fields{grid-template-columns:1fr}.ps-field-wide{grid-column:auto}}
@media(max-width:700px){.ps-layout{grid-template-columns:1fr}.ps-section{padding:45px 0}.ps-page .ps-hero{padding:43px 0}.ps-hero h1{font-size:38px}.ps-hub-heading{margin-bottom:28px}.ps-panel{padding:25px}.ps-wrap{width:92%}}
@media(max-width:520px){.ps-grid{grid-template-columns:1fr;gap:16px}.ps-card{padding:25px}.ps-hub-heading h2{font-size:31px}.ps-card .ps-button{width:100%}.ps-hero h1{font-size:34px}.ps-panel{padding:22px}.ps-fields{gap:17px}.ps-field input,.ps-field textarea,.ps-field select{font-size:16px}.ps-faq summary{padding:17px}.ps-faq p{padding-inline:17px}.ps-related-links a{font-size:11px}.ps-page .ps-panel h2{font-size:27px}}
