/* Contact pages extend the public site's shared palette, typography and controls. */
.public-contact-page{--contact-shadow:0 18px 55px #073d350c}
.public-contact-page main :is(h1,h2,h3,p,a,li){overflow-wrap:anywhere}
.contact-hero{background:var(--public-hero-background);color:#fff;padding:24px 0 68px;position:relative;overflow:hidden}
.contact-breadcrumb{display:flex;align-items:center;gap:12px;font-size:var(--public-font-min);color:#c9ded5;margin-bottom:38px}
.contact-breadcrumb a{text-decoration:none;min-height:24px}.contact-breadcrumb a:hover{text-decoration:underline}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:64px}
.contact-hero .public-eyebrow{color:var(--public-lime)}
.public-site .contact-hero h1{font-size:clamp(2.7rem,4.5vw,4.25rem);line-height:1.1;letter-spacing:-.045em}
.contact-hero h1 em{color:var(--public-lime);font-style:normal}
.contact-hero .public-lead{color:#d6e5de;font-size:1.04rem;max-width:510px}
.contact-hero .public-text-link{color:white}.contact-hero :focus-visible{outline-color:var(--public-lime)}
.contact-audiences{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:36px;color:#c7dfd2;font-size:var(--public-font-min)}
.contact-audiences span{display:flex;align-items:center;gap:8px}.contact-audiences span::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--public-lime)}
.contact-hero-visual{border-radius:24px;background:var(--public-paper);color:var(--public-ink);overflow:hidden;transform:rotate(1.5deg);box-shadow:0 24px 64px #031d252b}
.contact-hero-visual picture{display:block}.contact-hero-visual img{width:100%;height:300px;object-fit:cover;object-position:center}
.contact-photo-note{display:flex;align-items:center;gap:18px;padding:24px 26px}.contact-photo-note strong{font-family:var(--public-heading);font-size:1.14rem;letter-spacing:-.02em}.contact-photo-note p{font-size:.9rem;color:var(--public-muted);margin-top:4px}
.contact-photo-mark{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--public-lime)}
.contact-photo-mark svg,.contact-icon svg{width:24px;height:24px;display:block}
.contact-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:32px}.contact-section-heading>p{max-width:330px;color:var(--public-muted);font-size:.97rem}
.contact-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-channel{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--public-line);border-radius:20px;padding:28px;min-width:0;box-shadow:0 4px 16px #073d3503}
.contact-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:14px;color:var(--public-forest);background:var(--public-mint)}
.contact-channel h3{margin-top:22px!important}.contact-channel p{color:var(--public-muted);font-size:.93rem;margin:12px 0 22px!important}.contact-channel>a{display:flex;align-items:center;gap:12px;margin-top:auto;font-weight:700;font-size:.93rem;min-height:44px;text-decoration:none}.contact-channel>a:hover{text-decoration:underline}.contact-channel>a>span[aria-hidden]{font-size:1.1rem}
.contact-message-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:76px;align-items:start}
.contact-message-copy{padding-top:18px;min-width:0}.contact-message-copy .public-lead{font-size:1rem;max-width:400px}
.contact-support-list{display:grid;gap:26px;margin:34px 0}.contact-support-list>div{display:flex;gap:16px}.contact-support-list h3{font-size:1.05rem!important;letter-spacing:-.015em}.contact-support-list p{color:var(--public-muted);font-size:.93rem;margin-top:7px!important}
.contact-tip{padding:24px;background:var(--public-paper);border-left:3px solid var(--public-lime);border-radius:0 16px 16px 0}.contact-tip>strong{display:block;font-size:.94rem}.contact-tip p{font-size:.9rem;color:var(--public-muted);margin-top:8px!important}.contact-tip .public-text-link{font-size:var(--public-font-min);margin-top:12px}
.contact-operator{margin-top:22px!important}
.contact-form{position:relative;min-width:0;border:1px solid var(--public-line);border-radius:24px;padding:36px;background:var(--public-paper);box-shadow:var(--contact-shadow)}
.contact-form-heading{border-bottom:1px solid var(--public-line);padding-bottom:26px;margin-bottom:26px}.contact-form-kicker{font-size:var(--public-font-min);color:var(--public-muted);display:block;margin-bottom:7px}.contact-form-heading h3{font-size:1.8rem!important}.contact-form-heading p{font-size:var(--public-font-min);color:var(--public-muted);margin-top:12px!important}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.contact-field{min-width:0}.contact-field-wide{grid-column:1/-1}
.contact-field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.88rem;font-weight:700;margin-bottom:8px}.contact-field>label>span{font-weight:400;color:var(--public-muted);font-size:var(--public-font-min)}
.public-site .contact-input{display:block;width:100%;max-width:100%;min-height:50px;border:1px solid #b9ccc1;border-radius:10px;padding:12px 14px;background:#fff;color:var(--public-ink);font:400 1rem/1.5 var(--public-body);transition:border-color .16s,box-shadow .16s}
.contact-input::placeholder{color:#697c74;opacity:1}.contact-input:focus{outline:3px solid #86b2a4;outline-offset:2px;border-color:var(--public-forest)}
textarea.contact-input{resize:vertical;min-height:175px}.public-site select.contact-input{padding-right:24px}
.contact-field-help{font-size:var(--public-font-min);color:var(--public-muted);margin-top:8px!important;line-height:1.6}
.contact-field-error .contact-input{border-color:#b34532}.contact-errors{padding-left:20px;margin:7px 0 0;color:#963424;font-size:var(--public-font-min)}
.contact-error-summary{padding:20px;background:#fff0eb;border:1px solid #e4b4a8;border-radius:12px;margin:0 0 24px;color:#813520}.contact-error-summary h4{margin:0 0 10px;font-size:1rem}.contact-error-summary p,.contact-error-summary ul{font-size:.9rem}.contact-error-summary ul:empty{display:none}.contact-error-summary ul{padding-left:20px;margin-bottom:0}.contact-error-summary:focus{outline:3px solid #a55337;outline-offset:3px}
.contact-consent{margin:24px 0}.contact-consent>label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.86rem;line-height:1.65}.contact-consent input{width:18px;height:18px;accent-color:var(--public-forest);flex-shrink:0;margin:4px 0 0}.contact-consent input:focus-visible{outline:3px solid #86b2a4;outline-offset:3px}.contact-consent a{font-weight:700}
.contact-submit{width:100%;cursor:pointer}.contact-form-footnote{font-size:var(--public-font-min);color:var(--public-muted);text-align:center;margin-top:16px!important}
.contact-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-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}
.contact-next-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:64px;align-items:start}.contact-next-grid>div>p{color:var(--public-muted);margin-top:20px!important;max-width:340px}.contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}.contact-steps li>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #bdcfc3;border-radius:50%;color:var(--public-forest);font-size:.86rem;margin-bottom:22px;font-weight:700}.contact-steps h3{font-size:1.08rem!important}.contact-steps p{font-size:.91rem;color:var(--public-muted);margin-top:12px!important}
.contact-receipt-section{padding:80px 0 100px;background:linear-gradient(180deg,var(--public-mint),var(--public-paper));min-height:70vh}.contact-receipt{max-width:780px;margin:auto;padding:52px;border:1px solid var(--public-line);border-radius:28px;background:#fff;box-shadow:var(--contact-shadow);text-align:center}.contact-receipt>.contact-icon{width:70px;height:70px;border-radius:50%;margin:0 auto 24px;background:var(--public-lime)}.contact-receipt>.contact-icon svg{width:32px;height:32px}.contact-receipt h1{font-size:clamp(2.3rem,4vw,3.3rem)!important}.contact-receipt .public-lead{margin-inline:auto}.contact-reference{margin:28px auto;padding:22px;border-radius:16px;background:var(--public-paper);border:1px dashed #a9c0b0}.contact-reference>span{display:block;color:var(--public-muted);font-size:var(--public-font-min)}.contact-reference>strong{display:block;font-size:1.5rem;letter-spacing:.045em;margin:5px 0}.contact-receipt .public-actions{justify-content:center}
@media(max-width:1100px){.contact-hero-grid{gap:36px}.contact-message-grid{gap:36px}.contact-form{padding:28px}.contact-next-grid{grid-template-columns:1fr;gap:30px}.contact-hero-visual img{height:260px}}
@media(max-width:800px){.contact-hero{padding-bottom:48px}.contact-breadcrumb{margin-bottom:30px}.contact-hero-grid,.contact-message-grid{grid-template-columns:1fr;gap:38px}.contact-hero-visual{max-width:600px;transform:none}.contact-hero-visual img{height:auto;aspect-ratio:1.9;object-fit:cover}.contact-section-heading{display:block}.contact-section-heading>p{margin-top:16px!important;max-width:500px}.contact-channel-grid{grid-template-columns:1fr;gap:16px}.contact-channel{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px;padding:24px}.contact-channel .contact-icon{grid-row:1/4}.contact-channel h3{margin-top:0!important}.contact-channel p{margin:8px 0 10px!important}.contact-channel>a{grid-column:2}.contact-message-copy{padding:0}.contact-message-copy .public-lead{max-width:550px}.contact-support-list{gap:22px}.contact-tip{max-width:640px}}
@media(max-width:520px){.public-site .contact-hero h1{font-size:2.7rem}.contact-hero .public-eyebrow{font-size:var(--public-font-min);letter-spacing:.09em}.contact-hero .public-actions{align-items:stretch;flex-direction:column}.contact-hero .public-text-link{justify-content:center}.contact-photo-note{padding:20px;gap:14px}.contact-photo-mark{width:44px;height:44px}.contact-photo-note strong{font-size:1rem}.contact-photo-note p{font-size:var(--public-font-min)}.contact-form{padding:24px 20px;border-radius:20px}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-field-wide{grid-column:auto}.contact-steps{grid-template-columns:1fr;gap:24px}.contact-steps li{display:flex;gap:18px}.contact-steps li>span{flex-shrink:0;margin:0}.contact-steps p{margin-top:8px!important}.contact-receipt{padding:32px 22px}.contact-receipt-section{padding:48px 0 64px}.contact-reference>strong{font-size:1.2rem}.contact-receipt .public-actions{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.public-site .contact-input{transition:none}}
