/* Contact reference composition with live text, form controls and shared containers. */
.contact-page .contact-reference-hero{position:relative;isolation:isolate;height:calc(335 * var(--u));padding:0;overflow:hidden;background:#063954}
.contact-hero-background{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 0 0 41%);z-index:-1}
.contact-page .contact-reference-hero .inner-hero-grid{height:100%;display:flex;align-items:flex-start;padding-top:calc(25 * var(--u))}
.contact-hero-copy{padding-left:calc(10 * var(--u));width:calc(405 * var(--u));max-width:45%}
.contact-page .contact-hero-copy .inner-eyebrow{position:relative;isolation:isolate;font-size:calc(21 * var(--u));font-style:italic;line-height:1.2;background:transparent;padding:calc(5 * var(--u)) calc(9 * var(--u));margin:0 0 calc(10 * var(--u));transform:rotate(-4deg);border-radius:0}
.contact-hero-copy .inner-eyebrow:before{content:'';position:absolute;inset:-1px -13px;background:#f58000;mask:url('../images/reference/brush-mask.svg') center/100% 100% no-repeat;z-index:-1}
.contact-page .contact-hero-copy h1{font-size:calc(44 * var(--u));line-height:1.02;letter-spacing:-.025em;margin:0 0 calc(12 * var(--u))}
.contact-page .contact-hero-copy h1 em{font-size:calc(64 * var(--u));line-height:1.05;color:#ff8000}
.contact-page .contact-hero-copy>p{font-size:calc(15.5 * var(--u));line-height:1.4;margin:0;max-width:none}
.contact-brush-line{display:block;width:calc(180 * var(--u));height:calc(12 * var(--u));background:url('../images/reference/underline.png') center/100% 100% no-repeat;margin-top:calc(9 * var(--u))}
.contact-page .contact-benefits{position:relative;z-index:2;margin-top:calc(-41 * var(--u));padding:calc(40 * var(--u)) 0 calc(36 * var(--u));background:#fcfaf5 url('../images/reference/legacy-paper-grain.svg') center/cover;mask:url('../images/reference/legacy-paper-mask.svg') center/100% 100% no-repeat;filter:drop-shadow(0 3px 3px #493c291a)}
.contact-benefits .reference-feature-grid{gap:0;align-items:center}
.contact-benefits .reference-feature-grid>div{display:flex;text-align:left;align-items:center;gap:calc(14 * var(--u));padding:0 calc(25 * var(--u));border-right:1px solid #cbd1d4;min-width:0}
.contact-benefits .reference-feature-grid>div:first-child{padding-left:calc(15 * var(--u))}.contact-benefits .reference-feature-grid>div:last-child{border:0;padding-right:0}
.contact-benefits .reference-feature-grid .reference-art{width:calc(49 * var(--u));height:calc(55 * var(--u));flex-shrink:0;margin:0}
.contact-page main .contact-benefits h2{font-size:calc(13 * var(--u))!important;line-height:1.2;margin:0 0 calc(6 * var(--u))!important;letter-spacing:0;text-transform:none;white-space:nowrap}
.contact-benefits p{font-size:calc(11 * var(--u))!important;line-height:1.35!important;max-width:calc(115 * var(--u))}
.contact-page .contact-message-section{padding:calc(14 * var(--u)) 0 calc(16 * var(--u))}
.contact-page .contact-layout{grid-template-columns:43% minmax(0,1fr);gap:calc(24 * var(--u))}
.contact-details{position:relative;padding:calc(9 * var(--u)) 0 0 calc(7 * var(--u))}
.contact-page main .contact-details>h2{font-size:calc(24 * var(--u));line-height:1.2;margin:0 0 calc(18 * var(--u));padding-bottom:calc(10 * var(--u));position:relative}
.contact-details>h2:after,.contact-page .reference-contact-form>h2:after,.contact-location-copy>h2:after{content:'';position:absolute;bottom:0;left:0;width:calc(165 * var(--u));height:calc(8 * var(--u));background:url('../images/reference/underline.png') center/100% 100% no-repeat}
.contact-page main .contact-intro{font-size:calc(12 * var(--u));line-height:1.5;max-width:calc(300 * var(--u));margin:0 0 calc(17 * var(--u))}
.contact-handwritten{font-family:'Bradley Hand','Segoe Print',cursive;font-style:italic;line-height:1.1}
.contact-page main .contact-connections{position:absolute;top:calc(30 * var(--u));right:calc(-2 * var(--u));width:calc(128 * var(--u));font-size:calc(18 * var(--u));line-height:1.15;transform:rotate(-9deg);margin:0;padding-bottom:14px}
.contact-connections:after{content:'';position:absolute;bottom:0;left:0;width:85%;height:8px;background:url('../images/reference/underline.png') center/100% 100% no-repeat}
.contact-detail-row{display:grid;grid-template-columns:calc(43 * var(--u)) minmax(0,1fr);gap:calc(12 * var(--u));margin-top:calc(20 * var(--u));align-items:start}
.contact-detail-icon{width:calc(43 * var(--u));height:calc(44 * var(--u))}
.contact-page main .contact-detail-row h3{font-size:calc(12 * var(--u));line-height:1.25;margin:0 0 calc(5 * var(--u))!important}
.contact-page main .contact-detail-row p,.contact-detail-row address{font-size:calc(12 * var(--u));line-height:1.45;margin:0}
.contact-page .reference-contact-form{isolation:isolate;padding:calc(21 * var(--u)) calc(30 * var(--u));border:0;border-radius:0;background:transparent;box-shadow:none;gap:calc(18 * var(--u)) calc(14 * var(--u))}
.contact-page .reference-contact-form:before{content:'';position:absolute;inset:0;z-index:-1;background:#fdfcf9 url('../images/reference/quote-paper-grain.svg') center/cover;mask:url('../images/reference/quote-paper-mask.svg') center/100% 100% no-repeat;filter:drop-shadow(0 2px 3px #243b4d12)}
.contact-page main .reference-contact-form h2{position:relative;font-size:calc(20 * var(--u));line-height:1.2;padding:0;margin:0!important}
.contact-page .reference-contact-form>h2:after{bottom:calc(-8 * var(--u));width:calc(190 * var(--u))}
.contact-field label{font-size:calc(10.5 * var(--u));line-height:1.2;margin-bottom:calc(5 * var(--u));font-weight:400}
.contact-field input,.contact-field select,.contact-field textarea{font-size:calc(10 * var(--u));line-height:1.4;min-height:0;height:calc(38 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u)) calc(8 * var(--u)) calc(34 * var(--u));border-color:#e4e3e1;box-shadow:0 1px 4px #1231}
.contact-field textarea{height:calc(65 * var(--u));min-height:calc(65 * var(--u))}
.contact-input-icon{left:calc(10 * var(--u));top:calc(28 * var(--u));width:calc(16 * var(--u));height:calc(17 * var(--u))}
.contact-send{height:calc(39 * var(--u));min-height:0;width:calc(227 * var(--u));padding:4px 8px;font-size:calc(11 * var(--u));font-weight:500;border-radius:3px}
.contact-form-status{font-size:12px}
.contact-page .contact-location{padding:0 0 calc(4 * var(--u));background:transparent}
.contact-page .contact-location-grid{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:34% minmax(0,1fr);gap:calc(18 * var(--u));padding:calc(20 * var(--u)) calc(16 * var(--u));background:#063753;mask:url('../images/reference/why-torn-mask.svg') center/100% 100% no-repeat}
.contact-location-copy{position:relative;z-index:1}
.contact-location-background{position:absolute;left:36%;top:0;width:64%;height:100%;z-index:-1}
.contact-page main .contact-location-copy>h2{position:relative;font-size:calc(28 * var(--u));padding-bottom:calc(11 * var(--u));margin-bottom:calc(18 * var(--u));color:white}
.contact-location-copy>h2:after{width:calc(112 * var(--u));height:calc(9 * var(--u))}
.contact-location-address{display:grid;grid-template-columns:calc(28 * var(--u)) minmax(0,1fr);gap:calc(12 * var(--u));margin-bottom:calc(12 * var(--u))}
.contact-location-address>.reference-art{width:calc(28 * var(--u));height:calc(37 * var(--u))}
.contact-page main .contact-location-address h3{font-size:calc(11 * var(--u));margin:0 0 calc(4 * var(--u));line-height:1.25}
.contact-location-address address{font-size:calc(11.5 * var(--u));line-height:1.4;margin:0}
.contact-page .reference-map-link{border-radius:4px;max-width:none}
.contact-page .contact-services{padding:calc(24 * var(--u)) 0 calc(25 * var(--u));background:#fdfbf7 url('../images/reference/legacy-paper-grain.svg') center/cover;mask:url('../images/reference/legacy-paper-mask.svg') center/100% 100% no-repeat}
.contact-services .reference-service-links{gap:0}
.contact-services .reference-service-links>a{padding:0 calc(12 * var(--u));border:0;border-right:1px solid #cbd4d8;border-radius:0;background:transparent}
.contact-services .reference-service-links>a:last-child{border:0}.contact-services .reference-service-icon{width:calc(52 * var(--u));height:calc(52 * var(--u));margin:0 auto calc(10 * var(--u))}
.contact-services .reference-service-links strong{font-size:calc(12 * var(--u));margin-bottom:calc(6 * var(--u))}.contact-services .reference-service-links small{font-size:calc(10 * var(--u));line-height:1.4}
.contact-page .contact-footer{position:relative;isolation:isolate;overflow:hidden;padding:calc(30 * var(--u)) 0 calc(34 * var(--u));color:white;border:0;background:#063753;mask:url('../images/reference/why-torn-mask.svg') center/100% 100% no-repeat}
.contact-footer-background{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.contact-footer .inner-footer-grid{grid-template-columns:25% minmax(0,1fr) 25%;gap:calc(25 * var(--u))}
.contact-footer .reference-footer-logo{width:calc(190 * var(--u));max-width:100%;height:calc(76 * var(--u));padding:4px;justify-self:start}
.contact-footer .reference-footer-logo img{height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto}
.contact-page main .contact-footer h2{font-size:calc(13 * var(--u));line-height:1.2;margin:0 0 calc(6 * var(--u));color:white}
.contact-footer p{font-size:calc(10 * var(--u));line-height:1.5}
.contact-footer .inner-footer-action{grid-column:auto;position:relative}
.contact-footer .reference-footer-quote{position:relative;isolation:isolate;background:transparent;font-size:calc(18 * var(--u));line-height:1.2;padding:calc(7 * var(--u)) calc(20 * var(--u));transform:rotate(-5deg);border:0}
.contact-footer .reference-footer-quote:before{content:'';position:absolute;inset:-7px -8px;background:#ff8000;mask:url('../images/reference/cargo-brush-mask.svg') center/100% 100% no-repeat;z-index:-1}
.contact-footer .inner-footer-action .contact-handwritten{font-size:calc(17 * var(--u));line-height:1.15;margin-top:calc(15 * var(--u))!important;transform:rotate(-8deg);color:white;white-space:nowrap}
@media(max-width:991px){
 .contact-page .contact-reference-hero{height:350px}.contact-page .contact-reference-hero .inner-hero-grid{padding-top:30px}.contact-hero-copy{width:43%;max-width:none;padding-left:0}.contact-page .contact-hero-copy h1{font-size:38px}.contact-page .contact-hero-copy h1 em{font-size:56px}.contact-page .contact-hero-copy>p{font-size:14px}.contact-desktop-break{display:none}
 .contact-page .contact-benefits{padding:34px 0 28px;margin-top:-30px}.contact-benefits .reference-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.contact-benefits .reference-feature-grid>div:nth-child(even){border:0}.contact-benefits .reference-feature-grid>div{padding:0 18px!important}.contact-page main .contact-benefits h2{font-size:14px!important}.contact-benefits p{font-size:12px!important;max-width:180px}
 .contact-page .contact-layout{grid-template-columns:1fr;gap:28px}.contact-details{padding:12px 0}.contact-page main .contact-intro{font-size:14px;max-width:70%}.contact-page main .contact-details>h2{font-size:26px}.contact-page main .contact-connections{right:5%;font-size:22px;top:12px;width:160px}.contact-detail-row{margin-top:22px}.contact-page main .contact-detail-row p,.contact-detail-row address{font-size:14px}.contact-page main .contact-detail-row h3{font-size:14px}.contact-page .reference-contact-form{padding:28px;gap:22px 18px}.contact-page main .reference-contact-form h2{font-size:24px}.contact-field label{font-size:13px;margin-bottom:8px}.contact-field input,.contact-field select,.contact-field textarea{font-size:13px;height:44px;padding:11px 12px 11px 34px}.contact-field textarea{height:120px;min-height:120px}.contact-input-icon{top:38px;left:10px;width:16px;height:17px}.contact-send{height:44px;font-size:13px;width:227px}.contact-page .contact-message-section{padding:25px 0}
 .contact-page .contact-location-grid{grid-template-columns:38% minmax(0,1fr);gap:18px;padding:25px 18px}.contact-location-background{left:40%;width:60%}.contact-page main .contact-location-copy>h2{font-size:28px}.contact-location-address address{font-size:11px}.contact-location-address{grid-template-columns:24px minmax(0,1fr);gap:8px}.contact-location-address>.reference-art{width:24px}.contact-location-address h3{font-size:12px!important}
 .contact-page .contact-services{padding:28px 0}.contact-services .reference-service-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 0}.contact-services .reference-service-links>a:nth-child(3){border:0}.contact-services .reference-service-links strong{font-size:14px}.contact-services .reference-service-links small{font-size:12px}
 .contact-footer .inner-footer-grid{grid-template-columns:24% minmax(0,1fr);gap:25px}.contact-footer .inner-footer-action{grid-column:1/-1}.contact-page main .contact-footer h2{font-size:16px}.contact-footer p{font-size:12px}.contact-footer .reference-footer-quote{font-size:20px}.contact-footer .inner-footer-action .contact-handwritten{font-size:18px}
}
@media(max-width:575px){
 .contact-page .contact-reference-hero{height:370px}.contact-hero-background{width:170%;left:-40%;clip-path:inset(0 0 0 41%);opacity:.6}.contact-page .contact-reference-hero .inner-hero-grid{padding-top:30px}.contact-hero-copy{width:100%;max-width:none}.contact-page .contact-hero-copy .inner-eyebrow{font-size:19px}.contact-page .contact-hero-copy h1{font-size:40px}.contact-page .contact-hero-copy h1 em{font-size:60px}.contact-page .contact-hero-copy>p{max-width:330px;font-size:15px}.contact-page .contact-benefits{margin-top:-15px;padding:28px 0}.contact-benefits .reference-feature-grid>div{gap:8px;padding:0 7px!important}.contact-benefits .reference-feature-grid .reference-art{width:36px;height:43px}.contact-page main .contact-benefits h2{font-size:12px!important;white-space:normal}.contact-benefits p{font-size:10px!important}.contact-page main .contact-intro{max-width:100%;padding-right:80px;font-size:12px}.contact-page main .contact-connections{font-size:16px;right:-4px;top:34px;width:105px}.contact-page .reference-contact-form{padding:25px 18px}.contact-page main .reference-contact-form h2{font-size:22px}.contact-page .contact-location-grid{grid-template-columns:1fr;padding:26px 18px 200px;gap:0}.contact-location-background{left:0;top:auto;bottom:0;width:100%;height:190px}.contact-page .reference-map-link{max-width:360px}.contact-location-address address{font-size:13px}.contact-location-address{grid-template-columns:28px minmax(0,1fr);gap:10px}.contact-location-address>.reference-art{width:28px}.contact-location-address h3{font-size:13px!important}.contact-services .reference-service-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 0}.contact-services .reference-service-links>a:nth-child(3){border-right:1px solid #cbd4d8}.contact-services .reference-service-links>a:nth-child(even){border:0}.contact-services .reference-service-links strong{font-size:13px}.contact-services .reference-service-links small{font-size:11px}.contact-footer .inner-footer-grid{grid-template-columns:1fr;gap:25px;text-align:center}.contact-footer .reference-footer-logo{justify-self:center}.contact-footer .inner-footer-action{grid-column:auto}.contact-footer-background{opacity:.5}.contact-page .contact-footer{padding:28px 0 40px}.contact-footer p{font-size:12px}.contact-page main .contact-footer h2{font-size:17px}
}

.contact-svg-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.contact-hero-background{clip-path:none;mask-image:linear-gradient(90deg,transparent 0%,transparent 37%,#000 46%,#000 100%)}
.contact-benefits .reference-art,.contact-detail-icon,.contact-services .reference-service-icon{filter:url(#contact-navy-ink)}
.contact-page main .contact-intro{font-size:calc(11.5 * var(--u));max-width:calc(285 * var(--u))}
.contact-page main .contact-connections{font-size:calc(16 * var(--u));width:calc(145 * var(--u));right:calc(-22 * var(--u));white-space:nowrap}
.contact-details>h2:after,.contact-page .reference-contact-form>h2:after,.contact-location-copy>h2:after{background:#f58000;mask:url('../images/reference/brush-mask.svg') center/100% 100% no-repeat;transform:rotate(-2deg);height:calc(6 * var(--u))}
@media(min-width:992px){.contact-hero-copy{padding-left:calc(14 * var(--u))}.contact-page .contact-hero-copy .inner-eyebrow{margin-left:calc(-8 * var(--u))}.contact-page .contact-hero-copy h1{margin-bottom:0}.contact-page .contact-hero-copy h1 em{font-size:calc(76 * var(--u));line-height:.95}}
@media(max-width:991px){.contact-page main .contact-intro{font-size:14px;max-width:70%}.contact-page main .contact-connections{font-size:21px;right:2%;width:165px}}
@media(max-width:575px){.contact-page main .contact-intro{font-size:12px;max-width:100%;padding-right:80px}.contact-page main .contact-connections{font-size:15px;right:-4px;width:110px}.contact-hero-background{mask-image:linear-gradient(90deg,transparent 0%,transparent 37%,#000 46%,#000 100%)}}

.contact-page .contact-message-section{padding-top:calc(10 * var(--u));padding-bottom:calc(12 * var(--u))}
.contact-page main .contact-details>h2{margin-bottom:calc(14 * var(--u))}
.contact-page .contact-benefits,.contact-page .contact-services{background-image:linear-gradient(#ffffff8c,#ffffff8c),url('../images/reference/legacy-paper-grain.svg')}
.contact-footer .inner-footer-grid{grid-template-columns:28% minmax(0,1fr) 25%}
.contact-page main .contact-footer h2{font-size:calc(14 * var(--u))}.contact-footer p{font-size:calc(10.5 * var(--u))}

@media(max-width:991px){.contact-footer .inner-footer-grid{grid-template-columns:24% minmax(0,1fr)}.contact-page .contact-message-section{padding:25px 0}.contact-page main .contact-footer h2{font-size:16px}.contact-footer p{font-size:12px}}
@media(max-width:575px){.contact-page main .contact-connections{position:relative;top:auto;right:auto;width:auto;max-width:210px;white-space:normal;font-size:18px;margin:14px 0 18px;transform:rotate(-5deg)}.contact-page main .contact-intro{padding-right:0}.contact-footer .inner-footer-grid{grid-template-columns:1fr}}

@media(min-width:992px){.contact-page .contact-services{padding-top:calc(20 * var(--u));padding-bottom:calc(20 * var(--u))}.contact-services .reference-service-links strong{line-height:1.2}}

/* Full-width photographic hero; the benefits panel supplies the ragged paper overlap. */
.contact-hero-background{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right top;clip-path:none;mask:none}
@media(max-width:575px){.contact-hero-background{inset:0;width:100%;object-position:right top;opacity:.6}}

.contact-detail-row .contact-whatsapp-icon{display:block;object-fit:contain;filter:none}

.contact-form-errors{grid-column:1 / -1;color:#a12622;font-size:14px}
.contact-form-errors p{margin-bottom:8px}

.contact-captcha{grid-column:1 / -1;min-width:0;padding:0;border:0;background:transparent}
.contact-page main .contact-captcha>p{font-size:12px;line-height:1.5;margin:6px 0 12px;color:#506477}
.contact-captcha-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-captcha-question{font-size:19px;letter-spacing:2px;font-weight:800;color:var(--navy);white-space:nowrap}
.contact-captcha-controls input{width:100px;min-width:0;height:40px;padding:8px 12px;background:#fff;border:1px solid #aabcc6;border-radius:3px;color:var(--navy);font-size:14px}
.contact-captcha-refresh{display:grid;place-items:center;width:40px;height:40px;border:1px solid #bccbd1;border-radius:3px;background:#fff;color:var(--navy);font-size:18px}.contact-captcha-refresh[hidden]{display:none}.contact-captcha-refresh:hover{background:#fff1df;border-color:#c26700}.contact-captcha-refresh:disabled{opacity:.5}
.contact-captcha-controls input:focus-visible,.contact-captcha-refresh:focus-visible{outline:2px solid #c26700;outline-offset:3px}
.contact-page main .contact-captcha .contact-captcha-feedback{color:#a12622;margin:8px 0 0}.contact-captcha-feedback:empty{display:none}
@media(max-width:420px){.contact-captcha{padding:0}.contact-captcha-controls{gap:8px}.contact-captcha-controls input{width:85px}}

.contact-captcha-image{display:block;width:129px;height:40px;object-fit:contain;border:1px solid #c9d6dc;border-radius:4px;flex-shrink:0}
.contact-captcha-controls input{width:125px;letter-spacing:1px}
@media(max-width:420px){.contact-captcha-image{width:129px;height:40px}.contact-captcha-controls input{width:110px}}

.contact-captcha-controls .contact-captcha-image,.contact-captcha-controls input,.contact-captcha-controls .contact-captcha-refresh{box-sizing:border-box;height:40px;min-height:40px}
