.bofs-contact-page{--contact-blue:#2563eb;--contact-purple:#7c3aed;--contact-navy:#0b1220;--contact-text:#172033;--contact-muted:#64748b;--contact-border:#e2e8f0;--contact-light:#f8fafc;color:var(--contact-text);overflow:hidden;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bofs-contact-page *,.bofs-contact-page *::before,.bofs-contact-page *::after{box-sizing:border-box}
.bofs-contact-page__shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.bofs-contact-page__section{padding:clamp(72px,8vw,108px) 0}
.bofs-contact-page h1,.bofs-contact-page h2,.bofs-contact-page h3,.bofs-contact-page p{margin-top:0}
.bofs-contact-page h1,.bofs-contact-page h2,.bofs-contact-page h3{color:inherit;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}
.bofs-contact-page h2{margin-bottom:18px;font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.1}
.bofs-contact-page p{color:var(--contact-muted);font-size:1rem;line-height:1.72}
.bofs-contact-page__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px!important;color:var(--contact-blue)!important;font-size:.73rem!important;font-weight:800;letter-spacing:.18em;line-height:1.2!important}
.bofs-contact-page__eyebrow::before{width:28px;height:2px;flex:0 0 auto;content:"";background:linear-gradient(90deg,var(--contact-blue),var(--contact-purple))}
.bofs-contact-page a:focus-visible,.bofs-contact-page button:focus-visible,.bofs-contact-page input:focus-visible,.bofs-contact-page select:focus-visible,.bofs-contact-page textarea:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}

/* Hero */
.bofs-contact-page__hero{position:relative;display:grid;align-items:center;min-height:580px;padding:clamp(90px,10vw,132px) 0;color:#fff;background:var(--contact-navy);isolation:isolate}
.bofs-contact-page__hero::before{position:absolute;inset:0;z-index:-2;content:"";background:radial-gradient(circle at 78% 20%,rgba(37,99,235,.24),transparent 34%),radial-gradient(circle at 20% 88%,rgba(124,58,237,.15),transparent 30%)}
.bofs-contact-page__hero::after{position:absolute;inset:0;z-index:-1;opacity:.2;content:"";background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 96%)}
.bofs-contact-page__hero-inner{max-width:940px;text-align:center}
.bofs-contact-page__hero .bofs-contact-page__eyebrow{justify-content:center;color:#93c5fd!important}
.bofs-contact-page__hero h1{max-width:850px;margin:0 auto 25px;color:#fff;font-size:clamp(3rem,6vw,5.2rem);line-height:1.02}
.bofs-contact-page__lead{max-width:750px;margin:0 auto 34px!important;color:#cbd5e1!important;font-size:clamp(1.04rem,1.5vw,1.2rem)!important}
.bofs-contact-page__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:13px}
.bofs-contact-page__button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;border:1px solid transparent;border-radius:9px;font-weight:780;text-decoration:none;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.bofs-contact-page__button:hover{transform:translateY(-2px)}
.bofs-contact-page__button--primary{color:#fff;background:linear-gradient(105deg,var(--contact-blue),#5b4ee9 68%,var(--contact-purple));box-shadow:0 13px 30px rgba(37,99,235,.24)}
.bofs-contact-page__button--primary:hover{color:#fff;box-shadow:0 17px 36px rgba(37,99,235,.32)}
.bofs-contact-page__button--secondary{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.05)}
.bofs-contact-page__button--secondary:hover{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.1)}

/* Contact options */
.bofs-contact-page__options{background:var(--contact-light)}
.bofs-contact-page__heading{max-width:690px;margin-bottom:44px}
.bofs-contact-page__option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bofs-contact-page__option-card{min-width:0;display:flex;flex-direction:column;padding:30px 28px;border:1px solid var(--contact-border);border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.055);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.bofs-contact-page__option-card:hover{border-color:#bfdbfe;transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.09)}
.bofs-contact-page__icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:24px;border-radius:13px;color:var(--contact-blue);background:#eff6ff}
.bofs-contact-page__option-card:nth-child(2) .bofs-contact-page__icon{color:var(--contact-purple);background:#f5f3ff}
.bofs-contact-page__icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bofs-contact-page__option-card h3{margin:0 0 11px;font-size:1.25rem}
.bofs-contact-page__option-card p{margin-bottom:22px;font-size:.9rem}
.bofs-contact-page__option-card>a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;margin-top:auto;color:var(--contact-blue);font-size:.91rem;font-weight:800;text-decoration:none}
.bofs-contact-page__option-card>a:hover{color:#1d4ed8;text-decoration:underline;text-underline-offset:4px}

/* Form */
.bofs-contact-page__form-section{position:relative;padding-bottom:clamp(120px,12vw,154px);color:#fff;background:linear-gradient(135deg,#0b1220,#121d32)}
.bofs-contact-page__form-section::before{position:absolute;inset:0;opacity:.34;content:"";background:radial-gradient(circle at 13% 22%,rgba(37,99,235,.22),transparent 29%),radial-gradient(circle at 88% 82%,rgba(124,58,237,.17),transparent 31%)}
.bofs-contact-page__form-grid{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(440px,.88fr);gap:76px;align-items:center}
.bofs-contact-page__form-copy h2{color:#fff}
.bofs-contact-page__form-copy>p:not(.bofs-contact-page__eyebrow){color:#cbd5e1}
.bofs-contact-page__form-copy .bofs-contact-page__eyebrow{color:#93c5fd!important}
.bofs-contact-page__form-note{display:flex;gap:14px;margin-top:30px;padding:19px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.045)}
.bofs-contact-page__form-note>span{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--contact-blue),var(--contact-purple))}
.bofs-contact-page__form-note p{margin:0;color:#cbd5e1;font-size:.87rem;line-height:1.6}
.bofs-contact-page__form-note strong{color:#fff}
.bofs-contact-page__form-card{width:calc(100% - 96px);min-width:0;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.16);border-radius:19px;background:#fff;box-shadow:0 30px 75px rgba(0,0,0,.3)}
.bofs-contact-page__form-card .bofs-enquiry-form{min-width:0}
.bofs-contact-page__form-card .bofs-enquiry-form label{color:#243046}
.bofs-contact-page__form-card .bofs-enquiry-form__hint,.bofs-contact-page__form-card .bofs-enquiry-form__microcopy{color:var(--contact-muted)}
.bofs-contact-page__form-card .bofs-enquiry-form__error{color:#b91c1c}
.bofs-contact-page__form-card input,.bofs-contact-page__form-card select,.bofs-contact-page__form-card textarea{max-width:100%}

/* Guidance and reassurance */
.bofs-contact-page__guidance{padding-bottom:clamp(126px,13vw,164px);background:#fff}
.bofs-contact-page__guidance-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,.78fr);gap:70px;align-items:center}
.bofs-contact-page__guidance-grid>div>p:last-child{max-width:590px;margin-bottom:0}
.bofs-contact-page__guidance-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0;padding:22px;border:1px solid var(--contact-border);border-radius:16px;background:var(--contact-light);list-style:none}
.bofs-contact-page__guidance-list li{min-width:0;display:flex;gap:11px;align-items:flex-start;padding:14px 13px;border:1px solid var(--contact-border);border-radius:9px;color:#344054;background:#fff;font-size:.88rem;line-height:1.5}
.bofs-contact-page__guidance-list span{color:var(--contact-blue);font-weight:850}
.bofs-contact-page__reassurance{display:flex;gap:32px;align-items:center;justify-content:space-between;margin-top:62px;padding:32px 34px;border-radius:16px;color:#fff;background:var(--contact-navy);box-shadow:0 22px 52px rgba(15,23,42,.12)}
.bofs-contact-page__reassurance h2{margin-bottom:8px;color:#fff;font-size:clamp(1.45rem,2.5vw,2rem)}
.bofs-contact-page__reassurance p{margin:0;color:#cbd5e1;font-size:.92rem}
.bofs-contact-page__reassurance p a{overflow-wrap:anywhere;color:#bfdbfe;font-weight:700;text-underline-offset:3px}
.bofs-contact-page__reassurance>.bofs-contact-page__button{flex:0 0 auto}

@media(max-width:1080px) and (min-width:901px){.bofs-contact-page__form-card{width:calc(100% - 72px)}}
@media(max-width:900px){.bofs-contact-page__option-grid{grid-template-columns:1fr 1fr}.bofs-contact-page__option-card--project{grid-column:1/-1}.bofs-contact-page__form-grid,.bofs-contact-page__guidance-grid{grid-template-columns:1fr;gap:44px}.bofs-contact-page__form-card{width:min(calc(100% - 72px),650px)}.bofs-contact-page__guidance-grid{gap:36px}}
@media(max-width:620px){.bofs-contact-page__shell{width:min(100% - 28px,540px)}.bofs-contact-page__section{padding:68px 0}.bofs-contact-page__hero{min-height:auto;padding:82px 0 74px}.bofs-contact-page__hero h1{font-size:clamp(2.55rem,12vw,3.65rem)}.bofs-contact-page__actions{display:grid}.bofs-contact-page__button{width:100%;padding-inline:18px}.bofs-contact-page__option-grid{grid-template-columns:1fr}.bofs-contact-page__option-card--project{grid-column:auto}.bofs-contact-page__option-card{padding:25px 22px}.bofs-contact-page__form-section{padding-bottom:148px}.bofs-contact-page__form-card{width:100%;padding:23px 18px 38px;border-radius:15px}.bofs-contact-page__form-card .bofs-enquiry-form__grid{grid-template-columns:1fr}.bofs-contact-page__guidance{padding-bottom:142px}.bofs-contact-page__guidance-list{grid-template-columns:1fr;padding:15px}.bofs-contact-page__reassurance{display:grid;margin-top:42px;padding:26px 22px 38px}.bofs-contact-page__reassurance>.bofs-contact-page__button{margin-right:68px}}
@media(max-width:390px){.bofs-contact-page__shell{width:calc(100% - 24px)}.bofs-contact-page__hero h1{font-size:clamp(2.25rem,12vw,2.85rem)}.bofs-contact-page__form-card{padding-inline:14px}.bofs-contact-page__form-note{padding:16px}.bofs-contact-page__guidance-list{padding:11px}.bofs-contact-page__reassurance{padding-inline:18px}.bofs-contact-page__reassurance>.bofs-contact-page__button{margin-right:62px}}
@media(prefers-reduced-motion:reduce){.bofs-contact-page *,.bofs-contact-page *::before,.bofs-contact-page *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
