/* SIBO contact: reference-inspired hierarchy, shared charcoal/teal system. */
/* Match the reserved title-card overlap to the following enquiry section. */
body.sibo-site.sibo-contact-page .sibo-page-hero{background:var(--sibo-surface-raised)}
body.sibo-contact-page .sibo-contact-main{color:var(--sibo-text);background:var(--sibo-surface);font-size:var(--sibo-text-body);line-height:1.75}
.sibo-contact-main *,.sibo-contact-main *::before,.sibo-contact-main *::after{box-sizing:border-box}
.sibo-contact-main :is(h1,h2,h3,p,dl,dd){margin:0}
.sibo-contact-main :is(h1,h2,h3){font-family:inherit;font-weight:600;color:inherit;line-height:1.12;letter-spacing:-.045em}
.sibo-contact-main a{color:inherit;text-decoration:none}
.sibo-contact-main a:hover{color:var(--sibo-accent)}
.sibo-contact-main [hidden]{display:none!important}
.sibo-contact-hero{position:relative;isolation:isolate;background:#101b1d;overflow:hidden}
.sibo-contact-hero-media,.sibo-contact-hero::after{position:absolute;inset:0;z-index:-1}
body.sibo-contact-page .sibo-contact-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.sibo-contact-hero::after{content:'';background:linear-gradient(90deg,rgba(8,17,19,.94),rgba(8,17,19,.72) 44%,rgba(8,17,19,.12)),linear-gradient(0deg,rgba(8,17,19,.25),transparent)}
.sibo-contact-hero-inner{min-height:490px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:70px 78px;color:#fff}
.sibo-contact-breadcrumb{display:flex;align-items:center;gap:14px;font-size:var(--sibo-text-small);margin-bottom:28px;color:#d5dedf}
.sibo-contact-breadcrumb [aria-current]{color:var(--sibo-accent)}
body.sibo-contact-page .sibo-contact-hero h1{font-size:clamp(48px,5.2vw,84px);max-width:14ch;margin-bottom:22px}
.sibo-contact-hero-inner>p{max-width:53ch;font-size:var(--sibo-text-reading);line-height:1.8;color:#e0e8e7}
.sibo-contact-enquiry{padding-block:110px;background:var(--sibo-surface-raised);scroll-margin-top:130px}
.sibo-contact-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(40px,6vw,116px);align-items:start}
.sibo-contact-copy{min-width:0;padding-top:12px}
.sibo-contact-main .sibo-kicker{margin-bottom:20px}
body.sibo-contact-page .sibo-contact-copy h2{font-size:clamp(36px,3.6vw,58px);max-width:15ch;margin-bottom:24px}
.sibo-contact-description{max-width:57ch;color:var(--sibo-text-muted);font-size:var(--sibo-text-body);line-height:1.85}
.sibo-contact-description p+p{margin-top:16px}
.sibo-contact-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px;margin-top:44px!important}
.sibo-contact-item{min-width:0;padding-top:24px;border-top:1px solid var(--sibo-line)}
.sibo-contact-item dt{display:flex;flex-direction:column;align-items:flex-start;gap:15px;font-size:var(--sibo-text-control);font-weight:600;margin-bottom:8px}
.sibo-contact-icon{width:25px;height:25px;color:var(--sibo-accent);flex-shrink:0}
.sibo-contact-item dd{color:var(--sibo-text-muted);font-size:var(--sibo-text-control);overflow-wrap:anywhere}
.sibo-contact-item address{font-style:normal;line-height:1.75}
.sibo-contact-socials{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid var(--sibo-line);font-size:var(--sibo-text-small)}
.sibo-contact-socials>span{color:var(--sibo-text-muted)}
/* Shared social icons with consistent touch and keyboard targets. */
body.sibo-contact-page .sibo-contact-socials a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;padding:10px;border:1px solid var(--sibo-line);border-radius:8px;background:transparent;color:var(--sibo-text-muted);text-decoration:none;transition:color .18s,background .18s,border-color .18s}
body.sibo-contact-page .sibo-contact-socials a:is(:hover,:focus-visible){background:var(--sibo-accent);color:#071b1a;border-color:var(--sibo-accent)}
body.sibo-contact-page .sibo-contact-socials a>svg{display:block;flex:0 0 20px;width:20px;height:20px;transform:none}

.sibo-contact-form-card{min-width:0;border:1px solid var(--sibo-line);border-radius:12px;background:var(--sibo-surface);overflow:hidden}
.sibo-contact-form-heading{display:flex;align-items:stretch;border-bottom:1px solid var(--sibo-line)}
body.sibo-contact-page .sibo-contact-form-heading h2{flex:1;padding:25px 30px;font-size:clamp(22px,2vw,30px);line-height:1.3;letter-spacing:-.03em}


.sibo-contact-form-body{padding:28px 30px 32px}
.sibo-contact-form-intro{font-size:var(--sibo-text-control);line-height:1.75;color:var(--sibo-text-muted);margin-bottom:26px!important}
.sibo-contact-form .fluentform{margin:0}
.sibo-contact-form .ff-el-group{margin-bottom:20px}
.sibo-contact-form .ff-t-container{gap:20px}
.sibo-contact-form .ff-t-cell{padding:0!important;min-width:0}
.sibo-contact-form .ff-el-input--label{margin-bottom:8px;font-size:var(--sibo-text-action);line-height:1.5}
body.sibo-contact-page .sibo-contact-form .ff-el-form-control{font-family:inherit;font-size:16px;line-height:1.5;min-height:50px;padding:12px 14px;border:1px solid #535b65;border-radius:6px;background:var(--sibo-surface-raised);color:var(--sibo-text);width:100%}
body.sibo-contact-page .sibo-contact-form textarea.ff-el-form-control{min-height:128px;resize:vertical}
.sibo-contact-form .ff-el-form-control::placeholder{color:var(--sibo-text-muted)}
.sibo-contact-form .ff-el-form-control:focus{border-color:var(--sibo-accent)}
.sibo-contact-form .ff-el-is-error .ff-el-form-control{border-color:#f3a5a5!important}
.sibo-contact-form .text-danger{color:#ffc7c7;font-size:var(--sibo-text-small)}
.sibo-contact-form .ff-message-success{color:var(--sibo-text);background:var(--sibo-surface-hover);border-color:var(--sibo-accent);font-size:var(--sibo-text-body)}
.sibo-contact-form .ff_submit_btn_wrapper{margin-bottom:0}
.sibo-contact-form .sibo-form-unavailable{margin-bottom:18px!important;color:var(--sibo-text-muted)}
.sibo-contact-location{padding-block:90px 110px}
.sibo-contact-location-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
body.sibo-contact-page .sibo-contact-location-heading h2{font-size:clamp(34px,3.5vw,52px)}
.sibo-contact-location-heading .sibo-text-link{flex-shrink:0}
.sibo-contact-map{position:relative;min-height:390px;border:1px solid var(--sibo-line);border-radius:12px;overflow:hidden;background:var(--sibo-surface-raised)}
.sibo-contact-map-placeholder{min-height:390px;padding:40px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 50% 0%,#21c4b810,transparent 65%)}
.sibo-contact-map-pin{display:grid;place-items:center;width:62px;height:62px;border:1px solid #21c4b855;background:#21c4b80c;border-radius:50%;margin-bottom:18px}
.sibo-contact-map-pin .sibo-contact-icon{width:28px;height:28px}
.sibo-contact-map-company{font-weight:600;font-size:var(--sibo-text-reading);margin-bottom:8px!important}
.sibo-contact-map address{font-style:normal;color:var(--sibo-text-muted);max-width:55ch}
.sibo-contact-map-note{max-width:68ch;font-size:var(--sibo-text-small);color:var(--sibo-text-muted);margin:16px 0 22px!important;line-height:1.7}
.sibo-contact-map-frame{display:block;border:0;width:100%;height:430px;background:var(--sibo-surface-raised)}
@media(min-width:1600px){.sibo-contact-main>.sibo-contact-enquiry>.sibo-container,.sibo-contact-location>.sibo-container{max-width:1500px}}
@media(max-width:1000px){.sibo-contact-hero-inner{min-height:430px}.sibo-contact-enquiry{padding-block:76px}.sibo-contact-grid{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.sibo-contact-items{grid-template-columns:1fr;gap:20px;margin-top:30px!important}.sibo-contact-item dt{flex-direction:row;gap:12px;align-items:center}.sibo-contact-form-heading h2,.sibo-contact-form-body{padding:24px!important}.sibo-contact-location{padding-block:70px 80px}}
@media(max-width:760px){.sibo-contact-grid{grid-template-columns:1fr;gap:44px}.sibo-contact-copy h2{max-width:20ch!important}.sibo-contact-items{grid-template-columns:repeat(2,minmax(0,1fr))}.sibo-contact-hero-inner{min-height:390px;padding-block:54px 60px}.sibo-contact-hero::after{background:linear-gradient(90deg,rgba(8,17,19,.94),rgba(8,17,19,.55))}.sibo-contact-location-heading{align-items:flex-start;flex-direction:column;gap:22px}.sibo-contact-map-placeholder{padding:30px 22px}.sibo-contact-map-frame{height:390px}}
@media(max-width:480px){body.sibo-contact-page .sibo-contact-hero h1{font-size:44px}.sibo-contact-hero-inner>p{font-size:17px}.sibo-contact-enquiry{padding-block:60px}.sibo-contact-items{gap:22px 16px}.sibo-contact-item dt{font-size:15px;gap:8px}.sibo-contact-item dd{font-size:15px}.sibo-contact-item .sibo-contact-icon{width:22px;height:22px}.sibo-contact-socials{gap:14px}.sibo-contact-form .ff-t-container{flex-direction:column;gap:0}.sibo-contact-form .ff-t-cell{width:100%!important;flex-basis:auto!important}.sibo-contact-location{padding-block:58px 64px}.sibo-contact-form-heading h2,.sibo-contact-form-body{padding:22px!important}.sibo-contact-map-company{font-size:17px}}
/* Keep the stacked enquiry card inside equal page gutters, even with long form content. */
body.sibo-contact-page .sibo-contact-form-card{width:100%;max-width:100%;margin-inline:0}
body.sibo-contact-page .sibo-contact-form :is(.fluentform,form,.ff-el-group,.ff-el-input--content){min-width:0;max-width:100%}
@media(max-width:760px){
    body.sibo-contact-page .sibo-contact-grid{
        --sibo-contact-gutter:24px;
        width:100%;max-width:100%;margin-inline:0;padding-inline:var(--sibo-contact-gutter);
        grid-template-columns:minmax(0,1fr);justify-items:stretch;
    }
}
@media(max-width:600px){
    body.sibo-contact-page .sibo-contact-grid{--sibo-contact-gutter:20px}
}
@media(max-width:480px){
    body.sibo-contact-page .sibo-contact-form-heading h2,
    body.sibo-contact-page .sibo-contact-form-body{padding-inline:20px!important}
}
@media(prefers-reduced-motion:reduce){.sibo-contact-main *{scroll-behavior:auto!important;transition:none!important}}
