/* Bahari company UI, November 2026. Company-only layer. */
:root { --sand:#f7f4ec; --mist:#edf2ed; --text-mid:#3e5148; --text-soft:#52635b; --ui-radius:12px; }
body { line-height:1.65; }
::selection { background:#c8a96e; color:#10261c; }
a { text-underline-offset:.25em; }
input, textarea { caret-color:var(--tide); }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
nav { background:#153729; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid #ffffff24; }
.nav-links { gap:clamp(1rem,2vw,2rem); }
.nav-links a { text-transform:none; letter-spacing:0; font-size:.95rem; padding:.7rem 0; }
.nav-links > li:last-child > a { display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1.2rem; border:1px solid #afc5b6; border-radius:6px; color:var(--sand); }
.nav-links > li:last-child > a:hover { background:var(--sand); color:var(--mangrove); }
.nav-dropdown-menu { border-radius:8px; padding:.65rem; box-shadow:0 16px 36px #071c252e; }
.nav-dropdown-menu a { padding:.65rem .8rem; border-radius:4px; }
.btn, .btn-outline-light { min-height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; padding:.85rem 1.4rem; font-weight:600; letter-spacing:0; text-transform:none; }
.btn:active, .btn-outline-light:active { transform:translateY(1px); }
.h2-hero { min-height:88svh; padding-top:10rem; }
.h2-hero-media { filter:saturate(.65) brightness(.85); animation:none; }
.h2-hero::before { mix-blend-mode:normal; background:linear-gradient(90deg,#10291eeb 0%,#10291eb8 45%,#10291e26 100%); }
.h2-hero::after { background:linear-gradient(0deg,#10291ed9,transparent 60%); }
.h2-hero-inner { max-width:74rem; padding-bottom:5rem; }
.h2-title { max-width:19ch; font-size:clamp(2.8rem,5.4vw,5.7rem); line-height:1.04; letter-spacing:-.035em; }
.h2-lede { color:#f0f1e9; max-width:53ch; font-size:1.13rem; }
.h2-actions { gap:1rem; }
.h2-actions .btn-ghost { background:#10291e66; border-color:#c2d0c5; }
.tide-line { animation:none; }
.page-hero { padding-top:10rem; padding-bottom:4.5rem; }
.page-title { max-width:20ch; font-size:clamp(2.5rem,4.6vw,4.6rem); line-height:1.08; letter-spacing:-.025em; }
.page-sub { max-width:65ch; line-height:1.75; }
.page-eyebrow, .cta-eyebrow { display:none; }
.section-title, .display { letter-spacing:-.025em; }
.waterline, .portfolio, .roles-sec, .workstreams, .downloads-sec { padding-top:clamp(3.5rem,6vw,6rem); padding-bottom:clamp(3.5rem,6vw,6rem); }
.know-card, .doc-card, .home-news-card { border:1px solid #cbd5cd; border-radius:var(--ui-radius); }
.know-card:hover, .doc-card:hover, .home-news-card:hover { box-shadow:0 12px 28px #173d2a12; }
.project-map { border-radius:var(--ui-radius); border:1px solid #bbcbbc; }
.careers-values-sec { background:#e9efe8; padding-block:3.5rem; }
.careers-values li { padding-top:1.25rem; }
.careers-values .mono { text-transform:none; letter-spacing:0; font-size:1.05rem; color:var(--mangrove); }
.roles-sec { background:var(--sand); }
.roles-top { display:grid; grid-template-columns:1fr 1fr; gap:3rem; max-width:none; align-items:start; }
.roles-top > p { margin:0; max-width:52ch; }
.role-card { border:1px solid #c4d0c5; border-radius:var(--ui-radius); padding:2rem; }
.role-meta, .role-closes { font-size:.8rem; text-transform:none; letter-spacing:.01em; }
.roles-empty { text-align:left; background:white; border:1px solid #c4d0c5; border-radius:var(--ui-radius); padding:clamp(1.5rem,4vw,3rem); }
.roles-empty .mono { font-family:var(--font-serif); font-size:1.8rem; text-transform:none; letter-spacing:-.015em; color:var(--mangrove); }
.roles-empty > p:last-child { margin:0; max-width:65ch; }
.careers-jump { margin-top:1.8rem; }
input,select,textarea { border-radius:6px; font:inherit; }
.form-submit:disabled { cursor:wait; opacity:.65; }
footer a { min-height:32px; display:inline-flex; align-items:center; }
footer { border-top:1px solid #ffffff24; }
.cookie-notice { border-radius:10px 10px 0 0; box-shadow:0 -8px 28px #10291e12; }
:focus-visible { outline:3px solid #2e6b52; outline-offset:4px; }
nav :focus-visible,footer :focus-visible,.page-hero :focus-visible,.h2-hero :focus-visible { outline-color:#e4c48a; }
@media(min-width:901px) { nav { padding-block:.8rem; } }
@media(max-width:900px) {
 nav { padding:1rem 1.25rem; }
 .nav-links { width:min(88vw,360px); height:100dvh; align-items:stretch; overflow-y:auto; overscroll-behavior:contain; padding:5.5rem 1.5rem 2rem; }
 .nav-links a { min-height:44px; font-size:1.05rem; }
 .nav-links > li:last-child { margin-top:1.25rem; border:0; }
 .nav-links > li:last-child > a { width:100%; }
 .nav-dropdown-menu { box-shadow:none; border-radius:0; }
 .nav-dropdown-menu a { font-size:.9rem; }
 .h2-hero { min-height:85svh; padding-top:8rem; }
 .h2-hero-inner { padding-bottom:3.5rem; }
 .page-hero { padding-top:8rem; padding-bottom:3rem; }
 .roles-top { grid-template-columns:1fr; gap:1rem; }
}
@media(max-width:560px) {
 .h2-title { font-size:clamp(2.5rem,10vw,3.5rem); }
 .h2-lede { font-size:1rem; }
 .h2-actions { flex-direction:column; align-items:stretch; }
 .h2-actions .btn { width:100%; }
 .careers-values { grid-template-columns:1fr; gap:1.5rem; }
 .page-title { font-size:2.65rem; }
 .cta-actions { gap:1rem; }
 .role-actions { flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* Content remains visible before any scroll observer runs. */
.reveal, [data-reveal].pending { opacity:1!important; transform:none!important; transition:none!important; }

/* Editorial refinement: group with proximity and type, rather than containers. */
.project-panel, .know-card, .doc-card, .model-card, .reg-card,
.aud-card, .contact-card, .kunduchi-card, .role-card, .roles-empty,
.home-news-card {
  background:transparent; border:0; border-radius:0; box-shadow:none;
}
.project-panel:hover, .know-card:hover, .doc-card:hover,
.home-news-card:hover, .model-card:hover, .aud-card:hover {
  box-shadow:none; transform:none; border-color:transparent;
}
.project-panel { overflow:visible; }
.project-panel:hover .project-img { transform:none; filter:saturate(.85); }
.portfolio-grid { gap:clamp(2rem,5vw,5rem); align-items:start; }
.project-body { padding:1.5rem 0 0; }
.project-meta { gap:.6rem 1.25rem; flex-wrap:wrap; }
.project-meta, .model-tag, .know-tag, .tag,
.role-meta, .role-closes, .doc-meta, .news-date {
  text-transform:none; letter-spacing:.015em; font-size:.82rem;
}
.project-facts { border:0; padding-top:.5rem; gap:1.5rem; }
.project-facts > div { border:0; }
.project-facts dt { text-transform:none; letter-spacing:0; font-size:.8rem; }
.project-facts dd { font-family:var(--font-sans); font-size:1rem; }
.project-side { margin-top:5rem; }
.model-cards { grid-template-columns:1fr; gap:0; }
.model-card { display:grid; grid-template-columns:minmax(12rem,1fr) 2fr; column-gap:4rem; padding:2.5rem 0; border-top:1px solid var(--line); }
.model-card .model-tag { grid-column:1; color:var(--tide); }
.model-card h3 { grid-column:1; font-size:2rem; }
.model-card > p { grid-column:2; grid-row:1 / span 2; margin-top:0; max-width:65ch; }
.model-card > a { grid-column:2; justify-self:start; }
.model-card .btn, .role-actions .btn, .cta-actions .btn-outline-light,
.h2-actions .btn-ghost {
 background:transparent; border:0; box-shadow:none; border-radius:0;
 padding:.65rem 0; text-decoration:underline; text-underline-offset:.35em;
}
.model-card .btn { color:var(--mangrove); }
.model-card .btn:hover { background:transparent; color:var(--tide); }
.h2-actions { align-items:center; gap:1rem 2rem; }
.h2-actions .btn-ghost { color:var(--sand); }
.reg-grid { grid-template-columns:1fr; gap:0; margin-top:2rem; }
.reg-card { display:grid; grid-template-columns:1fr 2fr; gap:3rem; padding:1.7rem 0; border-top:1px solid var(--line); }
.reg-card p { margin:0; max-width:65ch; }
.know-grid { gap:2.5rem 3.5rem; }
.know-card { padding:1.5rem 0; border-top:1px solid var(--line); }
.knowledge-dark .know-card { background:transparent; border-top:1px solid #a8c5b54d; }
.doc-card { padding:1.5rem 0; border-top:1px solid var(--line); }
.home-news-card { padding:1.5rem 0; border-top:1px solid var(--line); }
.aud-card { padding:1.5rem 0; border-top:1px solid var(--line); }
.contact-card, .kunduchi-card { padding:1.5rem 0; }
.role-card { padding:2rem 0; border-top:1px solid var(--line); }
.roles-empty { padding:2rem 0; border-top:1px solid var(--line); }
.roles-empty .mono { font-size:1.55rem; }
.section-label { display:none; }
.careers-values .mono, .partners-strip .mono { text-transform:none; letter-spacing:0; }
.partners-strip li { border:0; background:transparent; box-shadow:none; }
.cta-banner { background:var(--mist); color:var(--mangrove); text-align:left; }
.cta-banner h2 { color:var(--mangrove); max-width:24ch; margin-left:0; }
.cta-banner .cta-sub { color:var(--text-mid); margin-left:0; max-width:60ch; }
.cta-banner .cta-actions { justify-content:flex-start; }
.cta-banner .btn-outline-light { color:var(--mangrove); }
.tide-line { display:none; }
.status-dot::after { display:none; }
.core-layer { border-left:0; }
@media(max-width:900px) {
 .project-side { margin-top:0; }
 .model-card { column-gap:2rem; }
}
@media(max-width:640px) {
 .model-card, .reg-card { display:block; padding:1.75rem 0; }
 .model-card h3 { margin-top:.5rem; }
 .model-card > p, .reg-card > p { margin-top:.8rem; }
 .model-card > a { margin-top:1rem; }
 .h2-actions { align-items:flex-start; }
 .h2-actions .btn-ghost { width:auto; justify-content:flex-start; }
}
