/* Presentation only: retained wording, links, tab labels and form behavior. */
:root{color-scheme:light}*{box-sizing:border-box}
body{background:#f3f6fa;color:#26394c;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
#container{width:900px;max-width:calc(100% - 24px);margin:16px auto;background:#fff;border:1px solid #d5dfe9;border-radius:5px;box-shadow:0 2px 10px #18395b08}
#header{padding:16px 20px;font-size:17px;line-height:1.4}#header a{color:#34495f}#header span{font-size:30px;margin-right:20px;text-shadow:none;vertical-align:middle}
#navigation,#content-container{width:100%;float:none}#navigation{border-bottom:3px solid #2763a5;padding:0 12px;background:#fff;overflow:hidden}#navigation ul{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}#navigation li{display:block}#navigation li a{float:none;display:block;margin:0;padding:8px 14px;border:1px solid #22598f;border-bottom:0;border-radius:4px 4px 0 0;font-size:14px;font-weight:600;line-height:1.4;background:#eaf2fc;color:#174a80}#navigation li a:hover{background:#dbe8f7}#navigation li a[aria-current=page]{background:#2763a5;color:#fff}
#content{padding:20px;line-height:1.45;display:flow-root}#content>.paragraph{padding:0 8px}#content>img{margin:0 18px 10px 0;border-radius:4px;max-width:100%;height:auto;float:left!important}#content:has(>img)>.paragraph{margin:0 0 0 154px!important;padding:0!important}#content .paragraph ul{list-style:square outside;padding-left:18px;margin:10px 0 12px}#content .paragraph ul li{margin:4px 0;line-height:1.45}#content h2{font-size:21px;line-height:1.3;color:#204e7d;margin:0 0 12px}#content h3{font-size:17px;line-height:1.35;color:#204e7d;padding-left:0}p{margin-bottom:10px}
#footer{padding:12px 20px;border-top:2px solid #2763a5;background:#f8fafd;font-size:12px;line-height:1.5;color:#526579}#footer span{display:block;margin-top:4px}
.preview-note{padding:7px 20px;background:#fff9e8;border-bottom:1px solid #ede0b6;color:#665523;font-size:12px;line-height:1.4}
.contact-form{width:280px;margin:0 0 14px 20px}.contact-form .form-field{margin:12px 0}.contact-form label{font-weight:600;line-height:1.4}.contact-form input:not([type=hidden]),.contact-form textarea{padding:8px 10px;min-height:40px;border:1px solid #aebdce;border-radius:4px;background:#fff;color:#26394c}.contact-form textarea{min-height:110px}.contact-form button{background:#2763a5;font-size:14px;min-height:40px;padding:8px 16px;border-radius:4px}.contact-form button:hover{background:#1f528a}.field-error{font-size:13px}.info,.success,.warning,.error{border-radius:4px;line-height:1.4}.error{color:#86251c;background-color:#fff5f3;border-color:#e7b8b1}.success{color:#245b39;background-color:#f0faf3;border-color:#b9d7c2}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #174a80;outline-offset:3px}
@media(max-width:940px){#container{max-width:calc(100% - 16px);margin:10px auto}#header a{line-height:1.4}#header span{display:inline-block;margin:0 18px 0 0}#content>.paragraph{width:auto!important;float:none!important;padding:0!important;margin-bottom:16px}.contact-form{width:auto;float:none;margin:16px 0 0}}
@media(max-width:580px){#header{padding:14px 16px;font-size:15px}#header span{display:block;margin:0 0 3px;font-size:28px}#navigation{padding:0 8px}#navigation ul{gap:3px}#navigation li a{padding:8px 10px;font-size:13px}#content{padding:16px}#content>img{width:86px;margin:0 12px 8px 0}#content:has(>img)>.paragraph{margin-left:0!important}#footer{padding:12px 16px}.preview-note{padding:7px 16px}}
/* Keep service information and its enquiry form close together. */
#content:has(>.contact-form){display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,290px);gap:20px;align-items:start}#content:has(>.contact-form)>.paragraph{width:auto!important;float:none!important;padding:0!important;margin:0!important}#content>.contact-form{width:auto;float:none;margin:0}#content:has(>.contact-form)>[role=status],#content:has(>.contact-form)>[role=alert]{grid-column:1/-1}
@media(max-width:620px){#content:has(>.contact-form){display:block}#content>.contact-form{margin:16px 0 0}}

/* Compact paired name fields, preserving native validation and submission. */
.contact-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 10px}.contact-form>*{grid-column:1/-1}.contact-form>.form-field:has(input[name=first_name]),.contact-form>.form-field:has(input[name=last_name]){grid-column:auto}.contact-form .form-field,.contact-form>p{margin:0}.contact-form h2{font-size:18px;line-height:1.3;margin:0 0 2px!important}.contact-form label{display:block;font-size:13px;line-height:1.3;margin-bottom:3px}.contact-form input:not([type=hidden]),.contact-form textarea{min-height:32px;padding:6px 8px;line-height:1.3}.contact-form textarea{min-height:84px;height:84px;resize:vertical}.contact-form button{justify-self:start;min-height:34px;padding:7px 14px}.field-error:empty{display:none}

.contact-form .form-field:focus-within{background:#eaf2fc;box-shadow:0 0 0 5px #eaf2fc;border-radius:3px}.contact-form .form-field:focus-within label{color:#174a80}

/* Familiar jFormer presentation, implemented with native controls and CSS. */
.contact-form input:not([type=hidden]),.contact-form textarea{font-family:Arial,sans-serif;border-color:#aaa;border-radius:3px;background:linear-gradient(#fff,#f3f3f3);box-shadow:inset 0 1px 2px #00000008}.contact-form label{font-weight:700}.contact-form .form-field:focus-within{background:#dfefff;box-shadow:0 0 0 4px #dfefff,0 0 0 5px #c2d7ef;border-radius:3px}.contact-form .form-field:has([aria-invalid=true]),.contact-form .form-field:has(:user-invalid){background:#ffdfe0;box-shadow:0 0 0 4px #ffdfe0,0 0 0 5px #efc2c4}.contact-form .field-error{font-size:12px;font-weight:600;line-height:1.35}.contact-form button{background:linear-gradient(#fff,#e8edf3);color:#174a80;border:1px solid #aebdce;box-shadow:0 1px 2px #00000016;border-radius:4px}.contact-form button:hover{background:linear-gradient(#fff,#dfeaf6);border-color:#174a80}.contact-form button:active{background:#dfeaf6;box-shadow:inset 0 1px 2px #00000012}

.contact-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#174a80;outline:2px solid #174a80;outline-offset:-2px;box-shadow:none}
