/* Contact layout: Bootstrap grid handles responsive columns. */
.contact-experience{--contact-navy:#10354c;--contact-muted:#536c7c;--contact-gold:#c79538;color:var(--contact-navy);background:#fff;}
.contact-experience .container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:24px;box-sizing:border-box;}
.contact-experience *, .contact-experience *:before,.contact-experience *:after{box-sizing:border-box;}
.contact-experience h1{font-size:clamp(36px,4.3vw,60px);line-height:1.08;letter-spacing:-.035em;max-width:800px;margin:20px 0;}
.contact-experience h2{font-size:clamp(27px,2.6vw,37px);line-height:1.18;letter-spacing:-.025em;margin:16px 0 22px;}
.contact-experience p{color:var(--contact-muted);font-size:16px;line-height:1.85;}
.contact-kicker{color:#8b6422;font-size:11px;letter-spacing:.17em;font-weight:700;display:flex;gap:12px;align-items:center;}
.contact-kicker:before{content:'';width:32px;height:2px;background:var(--contact-gold);}
.contact-intro{padding:64px 0 54px;background:linear-gradient(115deg,#edf4f7,#f8faf8);border-bottom:1px solid #e0e8ed;}
.contact-intro p{max-width:730px;margin-bottom:26px;font-size:18px;line-height:1.75;}
.contact-intro .btn{gap:24px;border-radius:8px;padding:14px 22px;}
.contact-intro-note{display:inline-block;color:#607686;font-size:12px;margin:14px 0 14px 22px;}
.contact-story{padding:80px 0;}
.contact-story-tint{background:#f3f7f8;}
.contact-story-copy{padding-top:8px;padding-bottom:8px;}
.contact-photo{position:relative;isolation:isolate;margin:0 12px 0 0;border-radius:16px;box-shadow:0 18px 45px #153a4e15;}
.contact-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;}
.contact-photo figcaption{position:absolute;bottom:18px;left:18px;right:18px;display:flex;align-items:center;gap:13px;padding:12px 16px;background:#fffef7ed;border:1px solid #fff8;border-radius:9px;font-size:12px;font-weight:600;color:#183e53;backdrop-filter:blur(8px);}
.contact-photo figcaption span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#173f56;color:#f4cf7b;font-size:10px;}
.contact-photo-right{margin:0 0 0 12px;}
.contact-checklist{list-style:none;margin:24px 0 0;padding:0;}
.contact-checklist li{position:relative;padding:13px 0 13px 28px;border-top:1px solid #e3e9ed;color:#405d6e;font-size:14px;line-height:1.65;}
.contact-checklist li:before{content:'✓';position:absolute;left:0;color:#a47827;font-weight:700;}
.contact-text-link{display:inline-flex;gap:26px;color:#153f57;border-bottom:1px solid #bd923f;padding:8px 0;text-decoration:none;font-size:14px;font-weight:700;}
.contact-form-section{padding:88px 0;background:#fff;scroll-margin-top:100px;}
.contact-form-surface{background:#fff;border:1px solid #dce5eb;border-radius:16px;padding:34px;box-shadow:0 12px 40px #12364b0a;}
.contact-form-surface .contact-form-heading{scroll-margin-top:120px;}
.contact-form-surface h2{font-size:25px;margin-top:0;}
.contact-form-surface .form{margin:22px 0 0;max-width:none;}
.contact-form-surface .form-grid{gap:18px;}
.contact-form-surface .field input,.contact-form-surface .field select,.contact-form-surface .field textarea{width:100%;min-height:47px;border-radius:7px;}
.contact-form-surface .contact-disclosure p,.contact-form-surface .contact-disclosure label,.contact-form-surface small{font-size:12px;line-height:1.7;}
.contact-form-surface .contact-disclosure input[type=checkbox]{width:17px;height:17px;min-height:17px;flex-shrink:0;}
.contact-business-card{margin:28px 0;padding:22px;border-radius:12px;background:#f1f6f8;border:1px solid #e0e9ee;overflow-wrap:anywhere;}
.contact-business-card h2{font-size:17px;margin:0 0 14px;}
.contact-business-card p,.contact-reference-note{font-size:13px!important;}
.contact-business-card dl{margin-bottom:0;}
.contact-business-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#627989;}
.contact-business-card dd{margin:6px 0 16px;font-size:14px;}
.contact-photo.is-reveal-ready{opacity:0;transform:translateX(-28px) translateY(12px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.3,1);}
.contact-photo-right.is-reveal-ready{transform:translateX(28px) translateY(12px);}
.contact-photo.is-reveal-ready.is-visible{opacity:1;transform:none;}
@media(max-width:991px){.contact-intro{padding:44px 0;}.contact-story,.contact-form-section{padding:48px 0;}.contact-photo,.contact-photo-right{margin:0;}.contact-story .row{--bs-gutter-y:2rem;}.contact-form-surface{padding:24px;}}
@media(max-width:575px){.contact-experience .container{padding-inline:20px;}.contact-intro-note{display:block;margin-left:0;}.contact-photo figcaption{left:12px;right:12px;bottom:12px;padding:9px 12px;font-size:11px;}.contact-form-surface{padding:20px 16px;}.contact-form-surface .form-grid{grid-template-columns:1fr;}.contact-experience p{font-size:15px;}.contact-experience .contact-photo.is-reveal-ready{transform:translateY(18px);}.contact-experience .contact-photo.is-visible{transform:none;}}
@media(prefers-reduced-motion:reduce){.contact-photo.is-reveal-ready{opacity:1;transform:none;transition:none;}}

.contact-experience h1{font-size:clamp(36px,4.3vw,56px)!important;line-height:1.08!important;}
.contact-experience h2{font-size:clamp(27px,2.6vw,36px)!important;line-height:1.2!important;}
.contact-experience .contact-form-heading h2{font-size:25px!important;}.contact-experience .contact-business-card h2{font-size:17px!important;}

.contact-banner-image{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px #15384f20;}
.contact-banner-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.contact-intro .contact-banner-copy h1{font-size:clamp(36px,3.8vw,49px)!important;}
.contact-intro .contact-intro-note{display:block;margin:16px 0 0;}
@media(max-width:991px){.contact-banner-image{max-width:640px;}.contact-intro .row{--bs-gutter-y:2rem;}}

.contact-experience .contractor-contact-top { background:linear-gradient(135deg,#e7f0fa,#f8f5ed); }
.contact-experience .contractor-contact-top h1 { color:#123651; font-size:clamp(1.5rem,2.3vw,2rem); line-height:1.15; }
.contact-experience .contractor-contact-top .contact-form-surface { background:#fff; border-top:4px solid #bb8731; box-shadow:0 16px 38px #1236511a; }
