/* Berolink global footer — integrated (tokens bf- namespaced; globals moved to legal.css) */
@font-face{font-family:'Space Grotesk';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/space-grotesk-500.woff2) format('woff2')}
:root{
  --bf-gardenia:#F1E9E0; --bf-cream-hi:#FAFAF8; --bf-umber:#221A15; --bf-umber-2:#2B221B;
  --bf-peri-deep:#4E5FA2; --bf-peri:#7A85B8; --bf-cobble:#A89A8E;
  --bf-taupe:rgba(34,26,21,.76); --bf-ink-faint:rgba(34,26,21,.5);
  --bf-line:rgba(34,26,21,.12); --bf-line-um:rgba(241,233,224,.14);
  --bf-title:'Quicksand',sans-serif; --bf-body:'Manrope',sans-serif; --bf-label:'Space Grotesk',sans-serif;
}
/* ============ GLOBAL FOOTER — split; ink grows around the photo ============ */
.foot{background:var(--bf-umber);color:var(--bf-gardenia)}
.foot-grid{display:grid;grid-template-columns:1fr}
/* photo fills the column edge-to-edge (restored per Soyoung, v13) */
.foot-photo{position:relative;overflow:hidden;min-height:46vh;background:var(--bf-umber)}
.foot-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.foot-panel{padding:2.5rem 1.4rem 1.9rem}
.panel-in{max-width:520px;margin:0 auto}
.foot-head{font-family:var(--bf-title);font-weight:500;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.32;letter-spacing:-0.01em;margin:0 0 1.15rem}
@media(min-width:900px){
  .foot-grid{grid-template-columns:1fr minmax(600px,660px)}
  .foot-photo{min-height:100%}
  .foot-panel{padding:2.9rem 2.4rem 2rem}
}
/* form card */
.iform{background:var(--bf-gardenia);color:var(--bf-umber);border-radius:20px;padding:1.6rem 1.4rem 1.5rem;max-width:520px}
.iform-title{font-family:var(--bf-title);font-weight:500;font-size:1.42rem;letter-spacing:-0.01em;margin:0 0 1.2rem}
.f-row{margin:0 0 .7rem}
.f-label{display:block;font-family:var(--bf-label);font-weight:500;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--bf-taupe);margin:0 0 .42rem}
@media(min-width:560px){
  .f-row{display:grid;grid-template-columns:104px 1fr;align-items:center;column-gap:.8rem}
  .f-row.f-top{align-items:start}
  .f-row.f-top .f-label{padding-top:.85em}
  .f-label{margin:0}
}
.f-in,.f-sel,.f-ta{width:100%;font-family:var(--bf-body);font-weight:500;font-size:.97rem;color:var(--bf-umber);background:var(--bf-cream-hi);border:1px solid var(--bf-line);border-radius:10px;padding:.52rem .8rem;outline:none}
.f-in::placeholder,.f-ta::placeholder{color:rgba(34,26,21,.42);font-weight:400}
.f-in:focus,.f-sel:focus,.f-ta:focus{border-color:var(--bf-peri-deep);box-shadow:0 0 0 3px rgba(78,95,162,.16)}
.f-ta{min-height:70px;resize:vertical}
.f-sel{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A89A8E' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}

/* conditional groups — CSS-only via :has(), JS mirrors for transition polish */
.g-invest,.g-nda{display:none}
.iform:has(.f-sel option[value="Investment"]:checked) .g-invest{display:block}
.iform:has(.f-sel option[value="Investment"]:checked) .g-nda,
.iform:has(.f-sel option[value="Research collaboration"]:checked) .g-nda,
.iform:has(.f-sel option[value="Business partnership"]:checked) .g-nda{display:block}

/* NDA — one selectable card, form-grammar row */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.nda-card{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;cursor:pointer;border:1.5px solid var(--bf-line);border-radius:13px;background:var(--bf-cream-hi);padding:.85rem 1rem;font-size:.93rem;line-height:1.5;transition:border-color .15s ease,background .15s ease}
.nda-card:hover{border-color:var(--bf-taupe)}
.nda-card:has(input:checked){border-color:var(--bf-peri-deep);background:rgba(78,95,162,.07)}
.nda-card:has(input:focus-visible){box-shadow:0 0 0 3px rgba(78,95,162,.2)}
.nda-card input{appearance:none;-webkit-appearance:none;width:19px;height:19px;margin:.12em 0 0;border:1.5px solid var(--bf-taupe);border-radius:5px;background:var(--bf-gardenia);cursor:pointer;display:grid;place-content:center}
.nda-card input:checked{border-color:var(--bf-peri-deep);background:var(--bf-peri-deep)}
.nda-card input:checked::before{content:"";width:10px;height:10px;background:var(--bf-gardenia);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.nda-meta{display:flex;align-items:baseline;gap:1rem;margin:.6rem 0 0}
.nda-link{flex:none;cursor:pointer;font-weight:500;font-size:.82rem;color:var(--bf-peri-deep);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;background:none;border:0;padding:0;font-family:var(--bf-body)}
.nda-link:hover{color:#435090}
.nda-link:focus-visible{outline:2px solid var(--bf-peri-deep);outline-offset:3px;border-radius:3px}
.nda-sub{margin:.5rem 0 0;font-size:.78rem;line-height:1.5;color:var(--bf-taupe)}

/* ── NDA modal — CSS-only open/close (checkbox toggle), JS enhances ── */
.ndamodal-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.ndamodal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:1.1rem}
.ndamodal-t:checked ~ .ndamodal{display:flex}
.ndamodal-scrim{position:absolute;inset:0;background:rgba(34,26,21,.52);cursor:pointer}
.ndamodal-card{position:relative;background:var(--bf-cream-hi);color:var(--bf-umber);border-radius:18px;max-width:640px;width:100%;max-height:min(86vh,760px);display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(34,26,21,.28);overflow:hidden}
.ndamodal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.6rem 1rem;border-bottom:1px solid var(--bf-line)}
.ndamodal-k{font-family:var(--bf-label);font-weight:500;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bf-taupe);margin:0 0 .5rem}
.ndamodal-h{font-family:var(--bf-title);font-weight:500;font-size:1.32rem;letter-spacing:-0.01em;line-height:1.25;margin:0}
.ndamodal-x{flex:none;display:grid;place-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--bf-line);background:var(--bf-gardenia);color:var(--bf-umber);cursor:pointer;font-size:1.1rem;line-height:1;transition:border-color .15s ease}
.ndamodal-x:hover{border-color:var(--bf-taupe)}
.ndamodal-x:focus-visible{outline:2px solid var(--bf-peri-deep);outline-offset:2px}
.ndamodal-body{padding:1.3rem 1.6rem 1.7rem;overflow-y:auto;font-size:.9rem;line-height:1.62}
.ndamodal-body .nda-note{font-style:italic;color:var(--bf-taupe);font-size:.85rem;margin:0 0 1.3rem;padding-bottom:1.1rem;border-bottom:1px solid var(--bf-line)}
.ndamodal-body dl{margin:0}
.ndamodal-body dt{font-family:var(--bf-body);font-weight:600;color:var(--bf-umber);margin:1.15rem 0 .28rem}
.ndamodal-body dt:first-child{margin-top:0}
.ndamodal-body dd{margin:0;color:var(--bf-taupe)}
.ndamodal-body .nda-foot{margin:1.5rem 0 0;padding-top:1.1rem;border-top:1px solid var(--bf-line);font-style:italic;color:var(--bf-taupe);font-size:.85rem}
body.ndamodal-lock{overflow:hidden}
/* submit + privacy footnote */
.f-actions{margin-top:1.1rem}
@media(min-width:560px){.f-actions{display:grid;grid-template-columns:104px 1fr;column-gap:.8rem}.f-actions>*{grid-column:2}}
.f-submit{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--bf-body);font-weight:600;font-size:1rem;color:var(--bf-cream-hi);background:var(--bf-peri-deep);border:1px solid var(--bf-peri-deep);border-radius:12px;padding:.68rem 1.2rem;cursor:pointer;box-shadow:0 0 16px rgba(78,95,162,.38),0 6px 22px rgba(78,95,162,.28);transition:background .15s ease,border-color .15s ease,box-shadow .2s ease}
.f-submit:hover{background:#435090;border-color:#435090;box-shadow:0 0 22px rgba(78,95,162,.55),0 8px 26px rgba(78,95,162,.4)}
.f-submit:focus-visible{outline:2px solid var(--bf-umber);outline-offset:3px}
.f-privacy{margin:.6rem 0 0;font-size:.8rem;color:var(--bf-taupe)}
.f-privacy a{color:var(--bf-taupe);text-underline-offset:3px}

/* confirmation state */
.f-done{display:none}
.iform.is-done form{display:none}
.iform.is-done .f-done{display:block}
.f-done-k{display:flex;align-items:center;gap:.5rem;font-family:var(--bf-label);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bf-peri-deep);margin:0 0 .6rem}
.f-done-k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bf-peri-deep)}
.f-done-msg{margin:0;font-size:1.02rem;line-height:1.6}

/* legal buttons + sign-off */
.foot-legal{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;max-width:520px;margin:1.05rem 0 0}
.foot-legal a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-weight:500;font-size:.95rem;color:var(--bf-gardenia);text-decoration:none;border:1px solid rgba(241,233,224,.32);border-radius:999px;padding:.8rem 1.35rem}
.foot-legal a::after{content:"→";color:var(--bf-cobble)}
.foot-legal a:hover{border-color:var(--bf-gardenia)}
.foot-legal a:hover::after{color:var(--bf-gardenia)}
.foot-legal a:focus-visible{outline:2px solid var(--bf-peri);outline-offset:3px}
.foot-sign{border-top:1px solid var(--bf-line-um);margin-top:1.5rem;padding-top:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.9rem 1.4rem}
/* wordmark: the Breve SC lettering face, same technique as the header .nav-mark.
   --bf-peri is the periwinkle for dark grounds (header uses --peri-deep on light). */
.f-brand{font-family:"Breve SC","IBM Plex Mono",ui-monospace,Menlo,monospace;font-weight:400;font-size:1.02rem;letter-spacing:.3em;text-transform:none;color:var(--bf-peri);text-decoration:none}
.foot-meta{font-family:var(--bf-label);font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bf-cobble)}

@media(min-width:900px){
  .iform{padding:1.8rem 1.4rem 1.6rem}
}
