.contact-page,.contact-page *{box-sizing:border-box}
.contact-page{font-family:var(--contact-font),sans-serif;color:var(--contact-text-color);background:var(--contact-background);font-size:var(--contact-body-size);line-height:1.7}
.contact-page h1,.contact-page h2,.contact-page h3,.contact-page p{margin:0}
.contact-page h1,.contact-page h2,.contact-page h3{font-family:inherit;color:inherit;font-weight:600}
.contact-page .contact-shell{width:calc(100% - var(--contact-side-padding)*2);max-width:var(--contact-content-width);margin-inline:auto}
.contact-page .contact-eyebrow{text-transform:uppercase;font-size:var(--contact-eyebrow-size);font-weight:700;letter-spacing:.12em;color:var(--contact-accent);line-height:1.5}
.contact-page h2{font-size:var(--contact-heading-size);line-height:1.2;letter-spacing:-.025em}
.contact-banner{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--contact-gradient-start),var(--contact-gradient-end));color:var(--contact-text-color);padding-block:var(--contact-padding-top) var(--contact-padding-bottom)}
.contact-banner::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.15) 2px,transparent 3px),radial-gradient(circle,rgba(255,255,255,.08) 2px,transparent 3px);background-size:72px 70px;background-position:0 0,30px 30px;pointer-events:none}
.contact-banner-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:var(--contact-art-gap);min-height:var(--contact-min-height);position:relative}
.contact-banner .contact-eyebrow{color:inherit;margin-bottom:var(--contact-intro-gap)}
.contact-banner h1{font-size:var(--contact-heading-size);line-height:1;letter-spacing:-.045em;margin-bottom:var(--contact-heading-gap)}
.contact-banner-description{text-transform:uppercase;font-size:var(--contact-body-size);line-height:1.16;font-weight:400}
.contact-banner-art{width:100%;max-width:var(--contact-art-width);justify-self:end}
.contact-banner-art svg,.contact-banner-art img{display:block;width:100%;height:var(--contact-art-height);object-fit:contain}
.contact-content{padding-block:var(--contact-padding-top) var(--contact-padding-bottom)}
.contact-content-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--contact-card-width);gap:var(--contact-gap);align-items:start}
.contact-form-wrap>.contact-eyebrow{margin-bottom:14px}
.contact-form-wrap>h2{margin-bottom:var(--contact-heading-gap)}
.contact-intro{color:var(--contact-muted-color);margin-bottom:var(--contact-intro-gap)}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--contact-field-gap)}
.contact-field{min-width:0}
.contact-field--full{grid-column:1/-1}
.contact-field label{display:block;font-size:var(--contact-label-size);font-weight:600;line-height:1.5;margin-bottom:8px}
.contact-field :is(input,select,textarea){display:block;width:100%;border:1px solid var(--contact-field-border);background:var(--contact-field-background);color:var(--contact-text-color);font:inherit;font-size:14px;min-width:0;padding:12px 16px;box-shadow:none}
.contact-field input{height:var(--contact-field-height);border-radius:var(--contact-field-radius)}
.contact-field select{height:var(--contact-field-height);border-radius:var(--contact-square-radius);font-size:15px}
.contact-field textarea{min-height:var(--contact-textarea-height);border-radius:var(--contact-square-radius);resize:vertical}
.contact-field :is(input,select,textarea):focus-visible{outline:2px solid var(--contact-accent);outline-offset:2px}
.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;background:var(--contact-button-background);color:var(--contact-button-color);border:0;border-radius:var(--contact-button-radius);padding:var(--contact-button-padding-y) var(--contact-button-padding-x);font-family:inherit;font-size:var(--contact-button-size);font-weight:700;text-transform:uppercase;letter-spacing:.025em;cursor:pointer}
.contact-submit:hover{background:var(--contact-button-hover)}
.contact-submit>span:last-child:not(:first-child){font-size:24px;line-height:1;font-weight:400}
.contact-details{padding:var(--contact-card-padding);border-radius:var(--contact-card-radius);background:var(--contact-card-background)}
.contact-details>.contact-eyebrow{color:var(--contact-muted-color);margin-bottom:28px}
.contact-details>h2{font-size:var(--contact-card-heading-size);margin-bottom:20px}
.contact-card-intro{color:var(--contact-muted-color);font-size:15px;line-height:1.7;margin-bottom:28px}
.contact-channel{display:grid;grid-template-columns:var(--contact-icon-size) minmax(0,1fr);gap:16px;padding-block:var(--contact-row-padding);border-bottom:1px solid color-mix(in srgb,var(--contact-accent) 18%,transparent)}
.contact-channel:first-child{padding-top:20px}
.contact-channel-icon{display:flex;align-items:center;justify-content:center;width:var(--contact-icon-size);height:var(--contact-icon-size);border-radius:50%;color:var(--contact-accent);background:white;box-shadow:0 8px 20px rgba(65,26,63,.08)}
.contact-channel-icon svg,.contact-channel-icon img{width:19px;height:19px;object-fit:contain}
.contact-channel h3{font-size:15px;line-height:1.4;font-weight:600;margin-bottom:5px}
.contact-channel a,.contact-channel-value{font-size:14px;line-height:1.6;font-weight:700;color:var(--contact-accent);text-decoration:none;overflow-wrap:anywhere}
.contact-channel a:hover{text-decoration:underline}
.contact-channel-note{color:var(--contact-muted-color);font-size:12px;line-height:1.6;margin-top:6px}
.contact-notice{margin-top:28px;padding:var(--contact-notice-padding);border-left:3px solid var(--contact-accent);background:var(--contact-notice-background);font-size:15px;line-height:1.65;color:var(--contact-muted-color)}
.contact-notice strong{display:block;color:var(--contact-text-color);font-size:13px;margin-bottom:8px}
.contact-feedback{padding:16px;margin-bottom:24px;border:1px solid currentColor;border-radius:var(--contact-square-radius)}
.contact-feedback--success{color:#276a45;background:#f0faf4}
.contact-feedback--error{color:#a82142;background:#fff3f5}
.contact-feedback ul{margin:0;padding-left:20px}
@media(max-width:900px){
 .contact-content-grid{grid-template-columns:minmax(0,1fr);gap:var(--contact-mobile-gap)}
 .contact-details{width:100%}
 .contact-banner h1{font-size:var(--contact-mobile-heading-size)}
}
@media(max-width:600px){
 .contact-page .contact-shell{width:calc(100% - var(--contact-mobile-side-padding)*2)}
 .contact-banner,.contact-content{padding-block:var(--contact-mobile-padding-top) var(--contact-mobile-padding-bottom)}
 .contact-banner-grid{grid-template-columns:minmax(0,1fr);min-height:var(--contact-mobile-min-height);gap:24px}
 .contact-banner-description{font-size:20px}
 .contact-banner-art{max-width:340px;justify-self:center}
 .contact-banner-art svg,.contact-banner-art img{height:260px}
 .contact-content h2{font-size:var(--contact-mobile-heading-size)}
 .contact-fields{grid-template-columns:minmax(0,1fr)}
 .contact-field--full{grid-column:auto}
}
