/* Contact page only; inquiry fields reuse the established homepage component. */
.contact-page-editorial{background:#f2f1eb;color:#0b1d2a;}
.contact-page-editorial .contact-container,.contact-page-editorial .home-footer>.container{width:min(1184px,calc(100% - 96px));margin-inline:auto;}
.contact-page-editorial .contact-page-main{padding-block:112px 64px;border:0;}
.contact-page-editorial .contact-breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:32px;font-size:11px;line-height:1.6;color:#526c79;}
.contact-page-editorial .contact-breadcrumb a{display:inline-flex;align-items:center;min-height:28px;text-decoration:none;}
.contact-page-editorial .contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:80px;align-items:start;}
.contact-page-editorial h1{margin:0;font-size:48px;font-weight:800;line-height:1.1;letter-spacing:-.05em;}
.contact-page-editorial .contact-intro>p{margin:24px 0 0;max-width:405px;font-size:16px;line-height:1.8;color:#485b66;}
.contact-page-editorial .contact-direct{margin:34px 0 0;padding-top:25px;border-top:1px solid #bdc7cb;max-width:405px;}
.contact-page-editorial .contact-direct>div+div{margin-top:21px;}
.contact-page-editorial .contact-direct dt{margin-bottom:5px;font-size:12px;font-weight:600;line-height:1.6;color:#526c79;}
.contact-page-editorial .contact-direct dd{margin:0;}
.contact-page-editorial .contact-direct a{display:inline-flex;align-items:center;max-width:100%;min-height:38px;font-size:18px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;}
.contact-page-editorial .contact-form-anchor{scroll-margin-top:104px;min-width:0;}
.contact-page-editorial .inquiry-field,.contact-page-editorial .inquiry-file label{font-size:15px;margin-bottom:21px;}
.contact-page-editorial .inquiry-field .inquiry-optional,.contact-page-editorial .inquiry-file .inquiry-optional{font-size:13px;font-weight:400;color:#526c79;}
.contact-page-editorial .inquiry-field input:not([type=file]),.contact-page-editorial .inquiry-field textarea,.contact-page-editorial .inquiry-field select{margin-top:9px;background:#fafaf7;border:1px solid #b4c2c9;color:#0b1d2a;min-height:50px;}
.contact-page-editorial .inquiry-field select{display:block;width:100%;min-width:0;padding:12px 38px 12px 13px;font:400 16px/1.5 Manrope,Arial,sans-serif;border-radius:0;}
.contact-page-editorial .inquiry-field select:focus-visible{outline:2px solid #0967d9;outline-offset:2px;border-color:#0967d9;}
.contact-page-editorial .inquiry-field textarea{min-height:150px;}
.contact-page-editorial .inquiry-field textarea::placeholder{font-size:15px;}
.contact-page-editorial .contact-field-hint{display:block;max-width:510px;margin-top:7px;font-size:13px;font-weight:400;line-height:1.65;color:#526c79;}
.contact-page-editorial .inquiry-file label{margin-bottom:0;}
.contact-page-editorial .inquiry-file-control{font-size:13px;min-height:44px;padding:10px 15px;}
.contact-page-editorial .inquiry-file-hint,.contact-page-editorial #inquiryFileName{font-size:12px;line-height:1.65;}
.contact-page-editorial #inquiryRemoveFile{font-size:12px;min-height:44px;}
.contact-page-editorial .inquiry-privacy{font-size:13px;line-height:1.7;margin-bottom:22px;}
.contact-page-editorial #inquiryStatus{font-size:14px;}
.contact-page-editorial .inquiry-file{margin-bottom:24px;}
.contact-page-editorial .contact-location{display:grid;grid-template-columns:1fr .8fr auto;align-items:center;gap:40px;padding-block:32px 42px;border-top:1px solid #bdc7cb;}
.contact-page-editorial .contact-location h2{margin:0;font-size:24px;font-weight:650;letter-spacing:-.03em;line-height:1.3;}
.contact-page-editorial .contact-location p{margin:8px 0 0;font-size:14px;line-height:1.7;color:#526c79;}
.contact-page-editorial .contact-location address{font-size:16px;line-height:1.8;font-style:normal;color:#485b66;}
.contact-page-editorial .contact-map-link{display:flex;align-items:center;gap:22px;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;}
.contact-page-editorial .contact-map-arrow{display:grid;place-items:center;width:44px;min-width:44px;height:44px;flex:0 0 44px;border:1px solid #b4c2c9;color:#0967d9;}
.contact-page-editorial .contact-map-arrow .icon{display:block;width:22px;height:22px;}
.contact-page-editorial main a:focus-visible{outline:2px solid #0967d9;outline-offset:4px;}
.contact-page-editorial .contact-direct a:hover,.contact-page-editorial .contact-breadcrumb a:hover{color:#0967d9;}
.contact-page-editorial .contact-map-link:hover .contact-map-arrow{background:#0967d9;color:#fff;}
.contact-page-editorial .home-footer a:focus-visible{outline-color:#8ccaff;}
@media(min-width:1600px){
.contact-page-editorial .contact-container,.contact-page-editorial .home-footer>.container{width:min(1280px,calc(100% - 160px));}
.contact-page-editorial h1{font-size:52px;}
}
@media(max-width:1000px){
.contact-page-editorial .contact-container,.contact-page-editorial .home-footer>.container{width:calc(100% - 64px);}
.contact-page-editorial .contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;}
.contact-page-editorial h1{font-size:40px;}
.contact-page-editorial .contact-intro>p{font-size:15px;}
.contact-page-editorial .contact-direct a{font-size:16px;}
.contact-page-editorial .contact-location{grid-template-columns:1fr 1fr;gap:25px 40px;}
.contact-page-editorial .contact-map-link{grid-column:2;}
}
@media(max-width:700px){
.contact-page-editorial .contact-container,.contact-page-editorial .home-footer>.container{width:calc(100% - 40px);}
.contact-page-editorial .contact-page-main{padding-block:78px 38px;}
.contact-page-editorial .contact-breadcrumb{font-size:10px;margin-bottom:23px;}
.contact-page-editorial .contact-grid{grid-template-columns:minmax(0,1fr);gap:30px;}
.contact-page-editorial h1{font-size:34px;line-height:1.13;}
.contact-page-editorial .contact-intro>p{font-size:15px;line-height:1.8;margin-top:20px;}
.contact-page-editorial .contact-direct{display:flex;flex-wrap:wrap;gap:12px 28px;max-width:none;margin-top:23px;padding-top:18px;}
.contact-page-editorial .contact-direct>div+div{margin-top:0;}
.contact-page-editorial .contact-direct dt{font-size:12px;}
.contact-page-editorial .contact-direct a{font-size:16px;min-height:36px;}
.contact-page-editorial .inquiry-form{margin-top:0;}
.contact-page-editorial .inquiry-field{margin-bottom:20px;}
.contact-page-editorial .inquiry-row{grid-template-columns:1fr;gap:0;}
.contact-page-editorial .inquiry-field textarea{min-height:160px;}
.contact-page-editorial .contact-location{grid-template-columns:1fr;gap:18px;padding-block:27px 35px;}
.contact-page-editorial .contact-location h2{font-size:23px;}
.contact-page-editorial .contact-location p{font-size:14px;}
.contact-page-editorial .contact-map-link{grid-column:auto;justify-content:space-between;max-width:350px;margin-top:3px;}
}
@media(max-width:359px){.contact-page-editorial h1{font-size:30px;}.contact-page-editorial .contact-direct a{font-size:15px;}}
/* Office shares the left column with direct contacts; mobile keeps the form first. */
.contact-page-editorial .contact-grid{grid-template-areas:'intro form' 'office form';grid-template-rows:auto 1fr;row-gap:30px;}
.contact-page-editorial .contact-intro{grid-area:intro;}
.contact-page-editorial .contact-form-anchor{grid-area:form;}
.contact-page-editorial .contact-location{grid-area:office;display:block;max-width:405px;min-width:0;padding:23px 0 0;align-self:start;}
.contact-page-editorial .contact-office-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;}
.contact-page-editorial .contact-location h2{font-size:23px;flex:none;}
.contact-page-editorial .contact-location address{font-size:15px;line-height:1.7;}
.contact-page-editorial .contact-location>p{margin-top:7px;font-size:13px;}
.contact-page-editorial .contact-office-map{display:block;width:100%;height:240px;border:1px solid #bdc7cb;margin-top:17px;background:#e8ece9;}
.contact-page-editorial .contact-map-link{justify-content:space-between;gap:18px;margin-top:12px;font-size:13px;}
@media(max-width:700px){
.contact-page-editorial .contact-grid{grid-template-areas:'intro' 'form' 'office';grid-template-rows:auto;}
.contact-page-editorial .contact-location{max-width:none;padding-top:25px;}
.contact-page-editorial .contact-office-heading{align-items:start;}
.contact-page-editorial .contact-office-map{height:240px;}
.contact-page-editorial .contact-map-link{max-width:none;margin-top:12px;}
}

/* Approved office order: heading, address, map on every viewport. */
.contact-page-editorial .contact-location>address{margin-top:7px;}
