/* Profile layout follows Graham's supplied reference; typography stays site-owned. */
.account-layout{max-width:1160px}
.account-section{padding:12px 0 72px}
.account-heading{border-bottom:1px solid #D9DFD6;padding-bottom:26px;margin-bottom:30px}
.account-heading h1{font-family:Newsreader,Georgia,serif;font-size:42px;line-height:1.15;letter-spacing:-.6px;color:#03363D;margin:0 0 12px}
.account-heading p{font:300 16px/1.75 Merriweather,Georgia,serif;color:#425653;margin:0}
.account-panel{min-width:0;background:#fff}
.account-panel fieldset{padding:0;margin:0;border:0;min-width:0}
.account-panel [hidden]{display:none!important}
.profile-row{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0,1.2fr);gap:56px;align-items:start;margin-bottom:28px}
.profile-label{padding-top:8px}
.account-panel label,.profile-label-title{display:block;font:500 15px/1.5 Montserrat,Arial,sans-serif;color:#03363D;margin:0 0 7px}
.account-panel label span{font-weight:400}
.account-layout .account-small,.account-panel .account-help{font:400 13px/1.7 Montserrat,Arial,sans-serif;color:#425653;margin:0}
.profile-label .account-help{max-width:340px}
.account-panel input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;min-width:0;border:1px solid transparent;border-radius:8px;background:#F3F4F3;padding:14px 20px;min-height:56px;font:500 16px/1.6 Montserrat,Arial,sans-serif;color:#242824}
.account-panel input[readonly]{color:#425653}
.account-panel input:not([readonly]):hover{border-color:#829A97}
.account-layout button{font:500 14px/1.5 Montserrat,Arial,sans-serif;border:1px solid #17494D;background:#17494D;color:#fff;border-radius:8px;padding:13px 22px;cursor:pointer}
.account-layout button:hover{background:#03363D}
.account-layout button:disabled{cursor:default;opacity:.65}
.account-layout button:focus-visible,.account-panel input:focus-visible,#ministry-context:focus-visible{outline:1px solid #829A97;outline-offset:1px}
.profile-control{min-width:0}
.account-editor{border:1px solid #D9DFD6;border-radius:8px;background:#F3F4F3;overflow:hidden}
.account-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#F3F4F3;border-bottom:1px solid #D9DFD6}
.account-toolbar button{box-sizing:border-box;width:32px;flex:0 0 32px;padding:4px 0;background:#fff;color:#03363D;border:1px solid #D9DFD6;border-radius:4px;font-size:13px;text-align:center}
.account-toolbar button:hover{background:#D6EEF1}
#ministry-context{min-height:150px;max-height:440px;overflow:auto;padding:16px 20px;font:400 16px/1.7 Montserrat,Arial,sans-serif;color:#242824;overflow-wrap:anywhere}
#ministry-context p{margin:0 0 12px}
#context-count{margin-top:8px}
.account-consent{display:flex;align-items:flex-start;gap:12px;padding-top:8px}
.account-consent input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:#17494D}
.account-consent label{font-size:14px;font-weight:400;line-height:1.7;margin:0}
.profile-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:38px;margin-bottom:0}
.profile-privacy{margin-top:28px;padding-top:20px;border-top:1px solid #E3E8E5}
.profile-privacy a{text-decoration:underline;text-underline-offset:3px}
.profile-save{display:flex;justify-content:flex-end;width:100%}
#save-profile{width:100%;max-width:320px;min-height:54px}
.account-panel #account-status{font:400 14px/1.7 Montserrat,Arial,sans-serif;color:#17494D;margin:0 0 24px;overflow-wrap:anywhere}
.account-panel #account-status[data-error=true]{color:#AF2C2C}
.account-panel #account-status[data-success=true]{background:#E3F0D2;border:1px solid #BDD9B4;border-radius:8px;padding:18px 22px;color:#17494D;font-weight:500}
#account-steps{font:15px/1.8 Montserrat,Arial,sans-serif;color:#242824;max-width:600px}
#account-steps>button{margin-bottom:24px}
#account-steps ol{padding-left:23px;margin:0 0 22px}
#account-steps li{padding-left:5px;margin:0 0 16px}
#account-steps p{font-size:13px;line-height:1.8}
.account-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.account-pending{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;color:#17494D}
.account-pending p{max-width:540px;font:400 18px/1.7 Montserrat,sans-serif}
#account-pending-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;align-items:center}
#account-pending-actions button{background:#17494D;color:white;border:0;border-radius:8px;padding:10px 18px}
#account-pending-actions a{text-decoration:underline}
@media(max-width:940px){.profile-row{gap:32px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}}
@media(max-width:700px){.account-heading h1{font-size:34px}.account-heading p{font-size:15px}.account-heading{padding-bottom:22px;margin-bottom:26px}.profile-row{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:26px}.profile-label{padding-top:0}.profile-label .account-help{max-width:none}.profile-actions{gap:24px;margin-top:32px}.account-consent{padding-top:0}#save-profile{max-width:none}.account-section{padding-bottom:48px}}

/* Fine field focus and hairline row dividers, requested 12 October 2026. */
.account-panel input:not([type=checkbox]):focus-visible{outline:none;border-color:#829A97}
.profile-row:not(.profile-actions){border-bottom:1px solid #E3E8E5;padding-bottom:14px;margin-bottom:14px}
.account-panel input[aria-invalid=true],.account-panel input[aria-invalid=true]:hover,.account-panel input[aria-invalid=true]:focus-visible{border-color:#AF2C2C}
.account-editor:has(#ministry-context[aria-invalid=true]){border-color:#AF2C2C}
#ministry-context[aria-invalid=true]:focus-visible{outline-color:#AF2C2C}
