/* SABD visible contact form */
.sabd-visible-contact{padding:112px 0;background:#171b1a;color:#fff}
.sabd-contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:start}
.sabd-contact-copy{position:sticky;top:120px}
.sabd-contact-copy h2{max-width:560px;margin:18px 0 26px;font-size:clamp(52px,6vw,88px);line-height:.92;letter-spacing:-.06em}
.sabd-contact-copy>p:not(.eyebrow){max-width:540px;margin:0;color:rgba(255,255,255,.62);font-size:16px;line-height:1.72}
.sabd-contact-details{display:grid;gap:7px;margin-top:52px;padding-top:25px;border-top:1px solid rgba(255,255,255,.16)}
.sabd-contact-details span,.contact-quick span{color:var(--acid);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sabd-contact-details a,.contact-quick a{width:max-content;color:#fff;font-weight:800;text-decoration:none}
.sabd-contact-details small,.contact-quick small{color:rgba(255,255,255,.45);font-size:11px}
.sabd-contact-card{padding:46px;background:#f4f1e8;color:#171b1a;border:1px solid rgba(255,255,255,.14)}
.sabd-live-contact-form{display:grid;gap:20px}
.sabd-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sabd-field{display:grid;gap:8px}
.sabd-field label{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#505854}
.sabd-field input,.sabd-field select,.sabd-field textarea{width:100%;border:0;border-bottom:1px solid #b9b7af;border-radius:0;background:transparent;color:#171b1a;padding:13px 0;font:500 15px/1.45 "DM Sans",Arial,sans-serif;outline:none;transition:.2s}
.sabd-field textarea{min-height:145px;resize:vertical}
.sabd-field input:focus,.sabd-field select:focus,.sabd-field textarea:focus{border-color:#171b1a;box-shadow:0 1px 0 #171b1a}
.sabd-field input::placeholder,.sabd-field textarea::placeholder{color:#969993}
.sabd-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sabd-contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;width:100%;min-height:58px;margin-top:7px;padding:0 22px;border:1px solid #171b1a;border-radius:999px;background:#171b1a;color:#fff;font:800 12px/1 "DM Sans",Arial,sans-serif;cursor:pointer;transition:.22s}
.sabd-contact-submit:hover{background:var(--acid);color:#171b1a;transform:translateY(-2px)}
.sabd-contact-submit:disabled{opacity:.58;cursor:wait;transform:none}
.sabd-contact-status{min-height:22px;margin:0;font-size:13px;line-height:1.5;color:#5c625e}
.sabd-contact-status.is-error{color:#8a2f28}.sabd-contact-status.is-error a{color:inherit;text-decoration:underline}
.sabd-contact-status.is-success{color:#234f37;font-weight:700}
.sabd-contact-note{margin:0;color:#727771;font-size:11px;line-height:1.55}
.contact-page-hero{padding:165px 0 90px;background:#171b1a;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}
.contact-page-hero h1{max-width:850px;margin:22px 0 0;font-size:clamp(68px,9vw,132px);line-height:.86;letter-spacing:-.07em}
.contact-page-hero-grid>div:last-child>p{margin:0 0 40px;color:rgba(255,255,255,.64);font-size:18px;line-height:1.7}
.contact-quick{display:grid;gap:7px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.sabd-contact-page-section{background:#e7efe9;color:#171b1a}
.sabd-contact-page-section .sabd-contact-copy{color:#171b1a}
.sabd-contact-page-section .sabd-contact-copy>p:not(.eyebrow){color:#58605c}
.sabd-contact-page-section .sabd-contact-card{background:#fff;border-color:rgba(17,20,16,.12)}
.sabd-contact-route{margin-top:45px;padding-top:25px;border-top:1px solid rgba(17,20,16,.15)}
.sabd-contact-route strong{display:block;margin-bottom:14px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.sabd-contact-route ol{margin:0;padding-left:18px;color:#59625d;font-size:13px;line-height:1.8}
@media(max-width:900px){.sabd-contact-layout,.contact-page-hero-grid{grid-template-columns:1fr}.sabd-contact-copy{position:static}.sabd-contact-copy h2{max-width:740px}.contact-page-hero{padding-top:135px}.contact-page-hero-grid>div:last-child{max-width:650px}.sabd-contact-card{padding:36px}}
@media(max-width:620px){.sabd-visible-contact{padding:76px 0}.sabd-contact-copy h2{font-size:48px}.sabd-field-row{grid-template-columns:1fr}.sabd-contact-card{padding:28px 22px}.contact-page-hero{padding:120px 0 65px}.contact-page-hero h1{font-size:58px}.contact-page-hero-grid>div:last-child>p{font-size:16px}.sabd-live-contact-form{gap:16px}}
@media(prefers-reduced-motion:reduce){.sabd-contact-submit{transition:none!important}}

/* =========================================================
   V15 contact modal + contact-page clean-up
   ========================================================= */

/* Tracking reset requested for the current typography pass. */
html body, html body *{letter-spacing:0!important}

.sabd-contact-modal{position:fixed;z-index:180;inset:0;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.sabd-contact-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.sabd-contact-modal-backdrop{position:absolute;inset:0;background:rgba(10,13,12,.82);backdrop-filter:blur(10px)}
.sabd-contact-modal-panel{position:relative;z-index:1;width:min(760px,100%);max-height:min(88vh,860px);overflow:auto;padding:38px 40px 40px;background:#f4f1e8;color:#171b1a;border:1px solid rgba(255,255,255,.18);box-shadow:0 34px 100px rgba(0,0,0,.38)}
.sabd-contact-modal-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(23,27,26,.14)}
.sabd-contact-modal-head .eyebrow{margin:0 0 14px}
.sabd-contact-modal-head h2{max-width:590px;margin:0;font-size:clamp(42px,6vw,70px);line-height:.94}
.sabd-contact-modal-head p:not(.eyebrow){max-width:560px;margin:15px 0 0;color:#626a66;font-size:14px;line-height:1.65}
.sabd-contact-modal-close{display:grid;place-items:center;width:46px;height:46px;border:1px solid #171b1a;border-radius:50%;background:transparent;color:#171b1a;font:400 28px/1 Arial,sans-serif;cursor:pointer}
.sabd-contact-modal-close:hover{background:#171b1a;color:#fff}
body.contact-modal-open{overflow:hidden}

/* The contact page should simply introduce the conversation and show the form. */
.contact-page-hero-grid{grid-template-columns:1.2fr .8fr}
.sabd-contact-page-section .sabd-contact-copy{padding-top:4px}

@media(max-width:620px){
  .sabd-contact-modal{padding:10px}
  .sabd-contact-modal-panel{max-height:94vh;padding:26px 20px 28px}
  .sabd-contact-modal-head{gap:14px;margin-bottom:22px;padding-bottom:18px}
  .sabd-contact-modal-head h2{font-size:44px}
  .sabd-contact-modal-close{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.sabd-contact-modal{transition:none}}

/* Modal markup alignment */
.sabd-contact-modal-panel{position:relative}
.sabd-contact-modal-close{position:absolute;top:22px;right:22px;z-index:2}
.sabd-contact-modal-copy{padding:2px 68px 24px 0;margin-bottom:26px;border-bottom:1px solid rgba(23,27,26,.14)}
.sabd-contact-modal-copy .eyebrow{margin:0 0 14px}
.sabd-contact-modal-copy h2{max-width:590px;margin:0;font-size:clamp(42px,6vw,70px);line-height:.94}
.sabd-contact-modal-copy>p:not(.eyebrow){max-width:560px;margin:15px 0 0;color:#626a66;font-size:14px;line-height:1.65}
@media(max-width:620px){
  .sabd-contact-modal-close{top:16px;right:16px}
  .sabd-contact-modal-copy{padding-right:56px;margin-bottom:22px;padding-bottom:18px}
  .sabd-contact-modal-copy h2{font-size:44px}
}



/* V17 background refinements */
.contact-page-hero{position:relative;overflow:hidden;isolation:isolate;background:#171b1a;color:#fff;}
.contact-page-hero::before{content:"";position:absolute;inset:0;z-index:0;background:url("assets/backgrounds/work-hero-biotech.webp") 72% center/cover no-repeat;opacity:.26;filter:saturate(.88) brightness(.95);} 
.contact-page-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, rgba(23,27,26,.97) 0%, rgba(23,27,26,.92) 40%, rgba(23,27,26,.84) 72%, rgba(23,27,26,.76) 100%);} 
.contact-page-hero > .shell,.contact-page-hero-grid{position:relative;z-index:3;} 
.contact-page-hero-grid>div:last-child>p{color:rgba(255,255,255,.76);} 
@media(max-width:620px){
  .contact-page-hero::before{background-position:74% center;opacity:.18;} 
  .contact-page-hero::after{background:linear-gradient(180deg, rgba(23,27,26,.97) 0%, rgba(23,27,26,.90) 44%, rgba(23,27,26,.82) 100%);} 
}



/* V20 CONTACT HERO VISIBILITY */
.contact-page-hero::before{opacity:.38 !important;}


/* V21 stronger contact hero background */
.contact-page-hero::before{opacity:.46 !important;}
@media(max-width:620px){.contact-page-hero::before{opacity:.22 !important;}}


/* V22: +15% contact hero background strength */
.contact-page-hero::before{opacity:.53 !important;}
.contact-page-hero h1{ text-wrap:balance; }

@media(max-width:620px){
  .contact-page-hero::before{opacity:.25 !important;}
}


/* V24 CONTACT HERO HIERARCHY */
.contact-page-hero-grid{
  grid-template-columns:1fr !important;
  gap:24px !important;
  align-items:start !important;
  max-width:940px;
}
.contact-page-hero h1{
  max-width:14ch;
  font-size:clamp(52px,7vw,96px);
  line-height:.94;
  text-wrap:balance;
}
.contact-page-hero-grid>div:last-child{max-width:64ch;}
.contact-page-hero-grid>div:last-child>p{
  max-width:64ch;
  margin:0;
  text-wrap:pretty;
}
@media(max-width:620px){
  .contact-page-hero h1{font-size:clamp(44px,12vw,60px);}
}


/* V25 CONTACT GRID + TYPE CORRECTION */
.contact-page-hero-grid{
  width:var(--shell) !important;
  max-width:none !important;
  margin-inline:auto !important;
  display:block !important;
}
.contact-page-hero-grid>div:first-child{max-width:900px;}
.contact-page-hero h1{
  max-width:14ch !important;
  margin:20px 0 0 !important;
  font-size:clamp(52px,5.8vw,80px) !important;
  line-height:.98 !important;
  text-wrap:pretty !important;
}
.contact-page-hero-grid>div:last-child{
  max-width:60ch !important;
  margin-top:25px !important;
}
.contact-page-hero-grid>div:last-child>p{
  max-width:60ch !important;
  margin:0 !important;
  font-size:17px !important;
  line-height:1.68 !important;
}
.sabd-contact-layout{
  grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr) !important;
  gap:86px !important;
}
.sabd-contact-copy h2{
  max-width:13ch !important;
  font-size:clamp(44px,4.6vw,64px) !important;
  line-height:1.02 !important;
  text-wrap:pretty !important;
}
.sabd-contact-copy>p:not(.eyebrow){max-width:48ch !important;line-height:1.68 !important;}
@media(max-width:900px){
  .sabd-contact-layout{grid-template-columns:1fr !important;gap:48px !important;}
  .sabd-contact-copy{max-width:680px;}
}
@media(max-width:620px){
  .contact-page-hero h1{font-size:clamp(42px,11vw,56px) !important;}
  .sabd-contact-copy h2{font-size:clamp(40px,10.5vw,52px) !important;max-width:15ch !important;}
}


/* V29: raise contact hero background image opacity by ~15% */
.contact-page-hero::before{opacity:.61 !important;}
@media(max-width:620px){.contact-page-hero::before{opacity:.29 !important;}}


/* V30 modal close treatment */
.sabd-contact-modal-close{
  border-color:#171b1a !important;
  background:#171b1a !important;
  color:#c8ff2e !important;
}
.sabd-contact-modal-close:hover{
  background:#c8ff2e !important;
  color:#171b1a !important;
}


/* =========================================================
   V33 CONTACT: ONE CONSISTENT HERO + FORM SECTION
   ========================================================= */
.contact-page-hero{display:none !important;}
.sabd-contact-page-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:90px 0 96px !important;
  background:#08111d !important;
  color:#fff !important;
}
.sabd-contact-page-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("assets/backgrounds/work-hero-biotech.webp") 76% center/cover no-repeat;
  opacity:.61;
  filter:saturate(.9) brightness(.92);
  pointer-events:none;
}
.sabd-contact-page-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(8,17,29,.98) 0%,rgba(8,17,29,.92) 40%,rgba(8,17,29,.76) 72%,rgba(8,17,29,.64) 100%);
  pointer-events:none;
}
.sabd-contact-layout{position:relative;z-index:3;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr) !important;gap:82px !important;align-items:start !important;}
.sabd-contact-copy{position:static !important;padding-top:6px !important;color:#fff !important;}
.sabd-contact-copy h1{
  max-width:14ch;
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  font-size:clamp(52px,5.25vw,74px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.045em !important;
  text-wrap:pretty;
}
.sabd-contact-copy>p:not(.eyebrow){max-width:56ch !important;margin:24px 0 0 !important;color:rgba(255,255,255,.74) !important;font-size:17px !important;line-height:1.66 !important;}
.sabd-contact-copy .eyebrow{color:var(--acid) !important;margin-bottom:20px !important;}
.sabd-contact-card{padding:36px 38px !important;background:#fff !important;border-color:rgba(255,255,255,.14) !important;box-shadow:0 24px 70px rgba(0,0,0,.22);}
.sabd-live-contact-form{gap:16px !important;}
.sabd-field-row{gap:16px !important;}
.sabd-field textarea{min-height:112px !important;}
.sabd-contact-submit{min-height:54px !important;}
@media(max-width:1020px){
  .sabd-contact-layout{grid-template-columns:1fr !important;gap:44px !important;}
  .sabd-contact-copy{max-width:760px;}
  .sabd-contact-card{max-width:820px;}
}
@media(max-width:620px){
  .sabd-contact-page-section{padding:66px 0 70px !important;}
  .sabd-contact-page-section::before{opacity:.38;background-position:72% center;}
  .sabd-contact-copy h1{font-size:clamp(43px,12vw,58px);max-width:16ch;}
  .sabd-contact-card{padding:28px 22px !important;}
}
