.contact-hero{min-height:580px;padding:180px 8% 100px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 35%,#234a66,#1a384d 57%,#193448 90%)}
.contact-hero-grid{position:absolute;inset:0;background-image:linear-gradient(#87a4b012 1px,transparent 1px),linear-gradient(90deg,#87a4b012 1px,transparent 1px);background-size:72px 72px;transform:perspective(800px) rotateX(12deg) scale(1.1)}
.contact-glow{position:absolute;right:4%;top:5%;width:520px;height:520px;border:1px solid #ef621632;border-radius:50%;box-shadow:0 0 0 80px #ef621606,0 0 0 155px #a1c0ce06,inset 0 0 120px #ef62160d;animation:contact-pulse 8s ease-in-out infinite}
.contact-glow:before,.contact-glow:after{content:'';position:absolute;inset:15%;border:1px solid #8daab749;border-radius:50%}.contact-glow:after{inset:36%;background:#ef621666;filter:blur(30px)}
.hero-inner{position:relative;z-index:2;max-width:980px}.contact-hero h1{font-size:clamp(58px,7vw,110px);font-weight:500;line-height:1.05;margin:35px 0 25px}.contact-hero h1 em{font-style:normal;color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.contact-hero p{font-size:18px;color:#b6c5cc;max-width:620px}
.contact-section{padding:115px 8%;background:#1a384d}.contact-intro h2{font-size:clamp(43px,5vw,78px);font-weight:500;line-height:1.08;margin:0 0 20px}.contact-intro h2 span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.contact-intro>p{color:#9eafb8;font-size:16px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:26px;align-items:start;margin-top:55px}
.contact-aside{border:1px solid #1f425b;padding:37px;background:radial-gradient(circle at 75% 65%,#244b68,#1d3d54 61%,#1c3a50);min-height:605px;position:relative;overflow:hidden}.aside-label{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill;font:700 10.5px Montserrat;letter-spacing:.23em}.contact-aside h3{font-size:clamp(28px,2.4vw,38px);font-weight:500;line-height:1.15;margin:42px 0 25px}.contact-aside>p{font-size:14px;color:#aab9c1;line-height:1.85}.email-direct{display:inline-flex;gap:18px;align-items:center;color:#f2f5f7;font:600 16px Montserrat;margin-top:28px;padding-bottom:10px;border-bottom:1px solid var(--orange)}.email-direct span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.aside-separator{height:1px;background:#2a5a7b;margin:45px 0 20px}.aside-small{font-size:12.5px;color:#899da7;line-height:1.8}.aside-graphic{position:absolute;bottom:-22px;right:-20px;width:270px;opacity:.45;pointer-events:none}.aside-graphic svg{width:100%}
.form-shell{border:1px solid #20455f;background:linear-gradient(160deg,#1f425b,#1c3b51 72%);padding:36px;box-shadow:0 35px 80px #0003}.preview-notice{display:flex;gap:13px;padding:15px 17px;border:1px solid #b67b3966;background:#21466155;margin-bottom:24px}.notice-dot{width:9px;height:9px;margin-top:6px;border-radius:50%;background:#ffae65;flex-shrink:0}.preview-notice strong{display:block;font-size:12.5px;color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill;margin-bottom:4px}.preview-notice small{display:block;font-size:11.5px;line-height:1.5;color:#bda899}
.contact-tabs{display:flex;border-bottom:1px solid #254f6d;gap:10px}.contact-tabs button{border:0;background:transparent;color:#95a8b0;padding:16px 14px 18px;cursor:pointer;font:600 12.5px Montserrat;letter-spacing:.03em;border-bottom:2px solid transparent;text-align:left}.contact-tabs button.active{color:#f5f7f8;border-color:var(--orange)}.tab-index{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill;font-size:10.5px;padding-right:7px}.panel-intro{padding:31px 0 15px}.panel-intro h3{font-size:30px;font-weight:500;margin:0 0 9px}.panel-intro p{margin:0;color:#9dafb9;font-size:13px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:23px}.form-panel label{display:flex;flex-direction:column;gap:10px;color:#d9e2e6;font:600 11.5px Montserrat;letter-spacing:.03em}.form-panel label span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.form-panel input,.form-panel select,.form-panel textarea{border:1px solid #244c69;background:#1b3a50;color:#eff4f5;outline:0;font:400 14px 'DM Sans';padding:15px 16px;border-radius:3px;min-width:0;width:100%;transition:border-color .2s}.form-panel input::placeholder,.form-panel textarea::placeholder{color:#718690}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:#ef6216}.form-panel select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#b2c4cb 50%),linear-gradient(135deg,#b2c4cb 50%,transparent 50%);background-position:calc(100% - 21px) center,calc(100% - 16px) center;background-size:5px 5px;background-repeat:no-repeat}.field-full{margin-top:24px}.form-panel textarea{resize:vertical;min-height:130px}.file-label small{color:#8da1ab;font:400 11.5px 'DM Sans'}.form-panel input[type=file]{font-size:12.5px}.form-panel input[type=file]::file-selector-button{border:0;background:#26516f;color:#fff;padding:9px;margin-right:12px;cursor:pointer}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:24px;border-top:1px solid #1e4058}.form-bottom p{margin:0;color:#82949d;font-size:11.5px;line-height:1.6;max-width:320px}.submit-preview{border:1px solid #35709a;background:#224965;color:#d6e1e6;padding:16px 20px;min-width:180px;display:flex;justify-content:space-between;gap:18px;font:700 11.5px Montserrat;letter-spacing:.06em;cursor:pointer}.submit-preview span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.form-feedback{margin-top:18px;color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill;padding:13px;border-left:2px solid var(--orange);background:#21466155;font-size:12.5px}
.contact-outro{text-align:center;padding:115px 8%;background:radial-gradient(ellipse at 50% 50%,#224964,#19364a 70%)}.contact-outro h2{font-size:clamp(46px,6vw,88px);font-weight:500;line-height:1.1}.contact-outro h2 span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.contact-outro>a{color:#fff;border-bottom:1px solid var(--orange);padding-bottom:10px;font:600 12.5px Montserrat}
@keyframes contact-pulse{50%{transform:scale(1.04);opacity:.7}}
@media(max-width:1050px){.contact-layout{grid-template-columns:1fr}.contact-aside{min-height:360px}.contact-glow{right:-250px}}
@media(max-width:650px){.contact-hero{padding:155px 7% 65px;min-height:560px}.contact-hero h1{font-size:49px}.contact-hero p{font-size:15px}.contact-section{padding:80px 6%}.contact-layout{gap:15px}.contact-aside,.form-shell{padding:25px}.contact-tabs button{font-size:10.5px;padding:13px 7px}.field-grid{grid-template-columns:1fr;gap:20px}.form-bottom{flex-direction:column;align-items:stretch}.contact-outro{padding:90px 6%}}
@media(prefers-reduced-motion:reduce){.contact-glow{animation:none}}

/* Office location and embedded Google Maps. */
.contact-location{padding:90px 8% 110px;background:#1a384d;border-top:1px solid #19364a}.location-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.location-heading h2{font-size:clamp(38px,4.5vw,65px);font-weight:500;line-height:1.1;margin:0 0 24px}.location-heading h2 span{color:var(--pgf-orange);-webkit-text-stroke:var(--pgf-accent-stroke);paint-order:stroke fill}.location-heading address{font-style:normal;color:#b6c5cc;font-size:16px;line-height:1.8}.location-heading>a{color:#f2f5f7;font:600 12.5px Montserrat;border-bottom:1px solid var(--orange);padding-bottom:10px;white-space:nowrap}.location-map{overflow:hidden;border:1px solid #1f425b;border-radius:4px;background:#1e4058}.location-map iframe{display:block;width:100%;height:450px}@media(max-width:650px){.contact-location{padding:70px 6%}.location-heading{flex-direction:column;align-items:flex-start;gap:22px}.location-map iframe{height:340px}}
