/* Contact page only. The template breadcrumb and shared site shell are untouched. */
.ct-page{--ct-blue:#27387e;--ct-red:#dc1f25;--ct-sky:#9fd0f0;--ct-ink:#293752;--ct-muted:#53617b;font-family:"Instrument Sans",sans-serif;color:var(--ct-ink);background:#fff;overflow:clip}
.ct-page *{box-sizing:border-box}
.ct-shell{width:min(1260px,calc(100% - 96px));margin-inline:auto;position:relative;z-index:1}
.ct-contact{position:relative;padding:104px 0 150px;background:radial-gradient(ellipse at 2% 65%,#9fd0f066,transparent 55%),radial-gradient(ellipse at 95% 90%,#dce9f7,transparent 45%),linear-gradient(180deg,#fff 5%,#edf4fc 54%,#e7f1fb)}
.ct-contact::before{content:"";position:absolute;left:-12%;top:36%;width:68%;height:54%;border:1px solid #fff;border-radius:50%;transform:rotate(-20deg);box-shadow:0 22px 60px #27387e08,inset 0 1px 0 #fff;pointer-events:none}
.ct-page h2,.ct-page h3,.ct-page h4{font-family:Phudu,sans-serif;font-weight:600;letter-spacing:-.02em;margin:0}
.ct-intro{display:grid;grid-template-columns:1.12fr 1fr;align-items:end;gap:75px;margin-bottom:62px}
.ct-eyebrow{display:flex;align-items:center;gap:12px;color:var(--ct-red);font-size:13px;font-weight:650;letter-spacing:.085em;line-height:1.5;text-transform:uppercase;margin-bottom:22px}
.ct-eyebrow::before{content:"";width:27px;height:2px;background:currentColor;flex:0 0 27px}
.ct-intro h2{font-size:clamp(48px,5.2vw,74px);line-height:1.06;color:var(--ct-blue);scroll-margin-top:150px}
.ct-intro h2 span{color:var(--ct-red)}
.ct-intro>p{font-size:20px;line-height:1.85;color:var(--ct-muted);margin:0 0 3px;max-width:540px}
.ct-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:34px;align-items:stretch}
.ct-direct{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at 50% 72%,#9fd0f04a,transparent 55%),linear-gradient(140deg,#34498e,var(--ct-blue) 35%,#162349);border:1px solid #889bd1;border-radius:31px;box-shadow:inset 0 1px 1px #ffffff70,0 5px 0 #132048,0 20px 28px -15px #27387e80,0 42px 60px -34px #12214999;overflow:hidden}
.ct-direct::after{content:"";position:absolute;left:-15%;right:-30%;bottom:115px;height:300px;border:1px solid #b6dfff30;border-radius:50%;transform:rotate(-21deg);z-index:-1}
.ct-direct-copy{padding:43px 38px 0;position:relative;z-index:2}
.ct-direct .ct-eyebrow{color:var(--ct-sky);margin-bottom:18px}
.ct-direct h3{font-size:36px;line-height:1.18;color:white;margin-bottom:25px}
.ct-email{display:flex;align-items:center;gap:14px;padding:20px 0 25px;border-bottom:1px solid #ffffff35;color:#fff;font-weight:500;font-size:18px;line-height:1.65;text-decoration:none;overflow-wrap:anywhere}
.ct-email>span:first-child{flex:1;min-width:0}
.ct-email:hover{color:#cdeaff}
.ct-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #ffffffa6;border-radius:50%;background:linear-gradient(145deg,#fff,#e6edf5);color:var(--ct-red);box-shadow:inset 0 2px 3px #fff,0 3px 0 #c8d1e140,0 7px 12px #111e4120;transition:transform .25s,box-shadow .25s}
.ct-arrow svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ct-notice{position:relative;margin-top:29px;padding:25px 25px 26px;background:linear-gradient(120deg,#ffffff17,#ffffff05);border:1px solid #bfd8f64d;border-top-color:#d6e9ff80;border-radius:17px;box-shadow:inset 0 1px #ffffff22,0 10px 20px #0915341a}
.ct-notice-rule{position:absolute;left:0;top:22px;bottom:22px;width:3px;background:var(--ct-sky);border-radius:3px}
.ct-notice h4{color:var(--ct-sky);font-size:22px;line-height:1.3;margin-bottom:11px;letter-spacing:.005em}
.ct-notice p{color:#fff;font-size:19px;line-height:1.7;margin:0}
.ct-art{position:relative;margin:18px -16px 0;flex:1;display:flex;align-items:center;justify-content:center;min-height:240px}
.ct-art::before{content:"";position:absolute;left:15%;right:15%;bottom:16%;height:32%;border-radius:50%;background:#9fd0f038;filter:blur(35px)}
.ct-art img{width:100%;height:auto;position:relative;filter:drop-shadow(0 24px 18px #080f2e44);transform:rotate(-5deg);transition:transform .5s ease}
.ct-direct-signature{padding:8px 38px 39px;text-align:center}
.ct-direct-signature img{width:230px;max-width:100%;height:auto;opacity:.9}
.ct-form-panel{position:relative;min-width:0;background:linear-gradient(160deg,#fff 62%,#f6f9ff);border:1px solid #fff;border-top:3px solid var(--ct-red);border-radius:30px;padding:43px 43px 35px;box-shadow:inset 0 0 0 1px #dce5f1,0 5px 0 #b8cadd,0 14px 22px #27387e10,0 36px 60px -28px #27387e55}
.ct-form-heading .ct-eyebrow{margin-bottom:13px}
.ct-form-heading h3{font-size:42px;line-height:1.12;color:var(--ct-blue);margin-bottom:18px}
.ct-form-heading>p{font-size:18px;line-height:1.7;color:var(--ct-muted);margin:0}
.ct-required{font-size:14px;line-height:1.5;color:#606d83;margin:25px 0 17px}
.ct-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.ct-field{min-width:0}
.ct-field-full{grid-column:1/-1}
.ct-field label{font:600 16px/1.5 "Instrument Sans",sans-serif;color:var(--ct-blue);display:block;margin-bottom:9px}
.ct-field label>span{color:var(--ct-red)}
.ct-field small{font-size:14px;font-weight:400;color:var(--ct-muted)}
.ct-field input,.ct-field textarea{appearance:none;display:block;width:100%;font:400 18px/1.5 "Instrument Sans",sans-serif;color:#1d2946;background:linear-gradient(180deg,#f5f8fc,#fff);border:1px solid #c8d5e5;border-radius:11px;padding:13px 14px;box-shadow:inset 0 2px 3px #27387e05,0 1px 0 #fff;transition:border-color .2s,box-shadow .2s}
.ct-field textarea{min-height:165px;resize:vertical}
.ct-field input:hover,.ct-field textarea:hover{border-color:#899cbe}
.ct-field input:focus,.ct-field textarea:focus{outline:2px solid #9fd0f0;outline-offset:2px;border-color:var(--ct-blue);background:#fff;box-shadow:0 0 0 5px #9fd0f028}
.ct-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:63px;border:1px solid #ffffff6b;border-radius:14px;padding:13px 16px 13px 23px;font:600 22px/1.2 Phudu,sans-serif;text-transform:uppercase;cursor:pointer;transition:transform .25s,box-shadow .25s}
.ct-button-red{width:100%;margin-top:27px;color:white;background:linear-gradient(145deg,#ec353a,var(--ct-red) 55%,#c11c24);box-shadow:inset 0 1px 0 #ffffff3b,0 4px 0 #a51d24,0 13px 22px -10px #b7192960}
.ct-status{font-size:14px;line-height:1.65;color:var(--ct-muted);margin:19px 0 0}
.ct-alternative{border-top:1px solid #dbe3ee;margin-top:26px;padding-top:23px}
.ct-alternative>p{font-size:15px;line-height:1.5;color:var(--ct-muted);margin:0 0 12px}
.ct-online{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--ct-blue);font:600 20px/1.3 Phudu,sans-serif;text-transform:uppercase;text-decoration:none}
.ct-online:hover{color:var(--ct-red)}
.ct-page a:focus-visible,.ct-page button:focus-visible{outline:3px solid var(--ct-sky);outline-offset:5px}
.ct-wave{position:absolute;bottom:-1px;left:0;width:100%;height:100px;fill:#fff;pointer-events:none}
.ct-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}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ct-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #ffffff3b,0 4px 0 #a51d24,0 17px 26px -10px #b7192977}.ct-direct:hover .ct-art img{transform:rotate(-2deg) translateY(-5px)}.ct-page a:hover .ct-arrow{transform:translateY(-2px)}}
@media(max-width:1100px){.ct-shell{width:calc(100% - 64px)}.ct-intro{gap:38px}.ct-intro h2{font-size:60px}.ct-intro>p{font-size:19px}.ct-layout{gap:27px;grid-template-columns:.9fr 1.1fr}.ct-direct-copy{padding:34px 26px 0}.ct-direct h3{font-size:32px}.ct-email{font-size:17px}.ct-form-panel{padding:34px 28px 30px}.ct-form-heading h3{font-size:37px}.ct-fields{gap:20px 14px}.ct-direct-signature{padding:12px 26px 33px}}
@media(max-width:850px){.ct-contact{padding:70px 0 120px}.ct-shell{width:calc(100% - 48px);max-width:710px}.ct-intro{grid-template-columns:1fr;gap:27px;margin-bottom:42px}.ct-intro h2{font-size:64px}.ct-intro>p{max-width:none;font-size:20px}.ct-layout{grid-template-columns:1fr;gap:35px}.ct-direct{display:grid;grid-template-columns:1.12fr .88fr;align-items:center}.ct-direct-copy{padding:33px 0 34px 32px}.ct-direct h3{font-size:31px}.ct-notice{padding:20px;margin-top:22px}.ct-notice p{font-size:17px}.ct-art{margin:0 -15px 0 5px;min-height:0}.ct-direct-signature{display:none}.ct-email{font-size:16px;gap:9px;padding:9px 0 19px}.ct-email .ct-arrow{flex-basis:30px;width:30px;height:30px}.ct-form-panel{padding:38px}.ct-form-heading h3{font-size:43px}.ct-intro h2{scroll-margin-top:125px}.ct-wave{height:75px}}
@media(max-width:600px){.ct-shell{width:calc(100% - 36px)}.ct-contact{padding:53px 0 105px}.ct-eyebrow{font-size:12px;letter-spacing:.07em;margin-bottom:20px}.ct-intro{gap:25px;margin-bottom:34px}.ct-intro h2{font-size:47px;line-height:1.08}.ct-intro>p{font-size:19px;line-height:1.8}.ct-layout{gap:32px}.ct-direct{display:flex;border-radius:25px}.ct-direct-copy{padding:30px 25px 0}.ct-direct h3{font-size:31px;margin-bottom:19px}.ct-email{font-size:18px;padding:10px 0 22px;gap:15px}.ct-email .ct-arrow{flex-basis:37px;width:37px;height:37px}.ct-notice{margin-top:24px;padding:21px 22px}.ct-notice p{font-size:18px}.ct-notice h4{font-size:23px}.ct-art{width:85%;max-width:310px;margin:0 auto 9px;flex:none}.ct-direct-signature{display:none}.ct-form-panel{padding:30px 24px 27px;border-radius:25px}.ct-form-heading h3{font-size:35px}.ct-form-heading>p{font-size:18px}.ct-fields{gap:20px}.ct-field{grid-column:1/-1}.ct-field input,.ct-field textarea{font-size:18px;padding:13px}.ct-button{font-size:21px;padding-left:18px;gap:12px}.ct-online{font-size:20px}.ct-alternative{margin-top:24px}.ct-status{font-size:14px}.ct-wave{height:62px}}
@media(max-width:360px){.ct-intro h2{font-size:42px}.ct-form-panel{padding-inline:20px}.ct-direct-copy{padding-inline:21px}.ct-email{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ct-page *{transition:none!important;scroll-behavior:auto!important}.ct-art img{transform:none}}

.ct-form-heading h3{scroll-margin-top:160px}
@media(max-width:850px){.ct-form-heading h3{scroll-margin-top:160px}}

.ct-email{display:block;position:relative;padding-top:10px}
.ct-email>span:first-child{display:block}
.ct-email-domain{display:block;font-size:18px;white-space:nowrap;letter-spacing:-.025em}
.ct-email>.ct-arrow{position:absolute;right:0;top:9px}
@media(max-width:1100px) and (min-width:851px){.ct-email-domain{font-size:16px}}
@media(max-width:600px){.ct-email-domain{font-size:17px}}
@media(max-width:360px){.ct-email-domain{font-size:15px}}

/* Accessible, same-origin contact delivery and verification. */
.ct-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ct-verification{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0}
.ct-verification[hidden]{display:none}
.ct-verification altcha-widget{--altcha-color-primary:#27387e;--altcha-color-border:#c5d5e9;--altcha-color-text:#27387e;--altcha-border-radius:12px;--altcha-max-width:100%;font-family:inherit;max-width:100%}
.ct-verify-reset{border:0;background:transparent;color:#27387e;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:10px 0;cursor:pointer}
.ct-privacy{font-size:13px!important;line-height:1.65!important;color:#586780;margin:20px 0 0!important}
.ct-privacy a{color:#27387e;text-decoration:underline}
.ct-status{overflow-wrap:anywhere}
.ct-status-error{color:#b31621!important;background:#fff2f3;border-left:3px solid #dc1f25;padding:14px 16px;border-radius:7px}
.ct-status-success{color:#27387e!important;background:#edf6fd;border:1px solid #9fd0f0;padding:20px;border-radius:12px;font-size:16px!important}
.ct-button:disabled{cursor:default;opacity:.75;transform:none!important}
.ct-field input:read-only,.ct-field textarea:read-only{background:#f5f8fb;color:#586780}
.ct-verify-reset:focus-visible,.ct-privacy a:focus-visible{outline:3px solid #9fd0f0;outline-offset:4px}

/* Acknowledgement shown only after confirmed server acceptance. */
.ct-success-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:32px;border:0;background:radial-gradient(ellipse at 50% 10%,#9fd0f033,transparent 65%),linear-gradient(140deg,#27387e,#121e48);color:white;overflow:auto;z-index:100000}
.ct-success-dialog[open]{display:grid;place-items:center}.ct-success-dialog::backdrop{background:#121e48}.ct-success-card{position:relative;text-align:center;max-width:780px;width:100%;padding:40px 35px;z-index:1}.ct-success-logo{width:260px;height:auto;margin:0 auto 28px}.ct-success-close{position:fixed;top:24px;right:25px;background:#ffffff12;border:1px solid #ffffff60;border-radius:50%;color:white;font:32px/1 sans-serif;width:48px;height:48px}.ct-success-close:focus-visible{outline:3px solid #9fd0f0;outline-offset:5px}.ct-success-seal{width:78px;height:78px;margin:0 auto 25px;display:grid;place-items:center;border-radius:50%;border:1px solid #e7f5ff9c;background:linear-gradient(145deg,#ffffff24,#9fd0f014);box-shadow:inset 0 2px 1px #ffffff44,0 14px 35px #0004}.ct-success-seal svg{width:45px;stroke:#9fd0f0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ct-success-eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.16em;color:#c9e8fd}.ct-success-card h2{font-family:'Phudu',sans-serif;font-size:clamp(48px,6.5vw,86px);line-height:1.05;color:white;margin:18px 0 24px}.ct-success-card h2 span{color:#9fd0f0}.ct-success-card>p{font-size:20px;line-height:1.6;max-width:640px;margin:0 auto 15px}.ct-success-card p.ct-success-detail{font-size:16px;color:#d9e9fc}.ct-success-card p.ct-success-reference{font-size:14px;color:#bdd4ed}.ct-success-card small{font-size:13px;color:#c0d6ef}.ct-success-timer{height:3px;max-width:200px;margin:24px auto 13px;background:#9fd0f0;transform-origin:left;animation:ct-success-countdown 5s linear forwards}.ct-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ct-confetti i{position:absolute;top:-20px;left:var(--x);width:7px;height:15px;border-radius:2px;background:var(--colour);animation:ct-confetti-fall 4.4s var(--delay) ease-out both}.ct-confetti i:nth-child(3n){border-radius:50%;width:9px;height:9px}
@keyframes ct-confetti-fall{0%{opacity:0;transform:translateY(-30px) rotate(0)}10%{opacity:.9}100%{opacity:0;transform:translate(var(--drift),95dvh) rotate(var(--rotation))}}@keyframes ct-success-countdown{to{transform:scaleX(0)}}
@media(max-width:600px){.ct-success-dialog{padding:55px 18px 25px}.ct-success-card{padding:18px 3px}.ct-success-logo{width:225px}.ct-success-card>p{font-size:18px}.ct-success-close{top:13px;right:14px}.ct-success-card h2{font-size:clamp(43px,11vw,60px)}}
@media(prefers-reduced-motion:reduce){.ct-confetti{display:none}.ct-success-timer{animation:none}.ct-success-dialog *{animation:none!important}}
