/* ASHKAR H&L visual system, September 2026. Structure/behaviour stays in styles.css. */
:root {
  --basalt:#202823;--basalt-2:#252e28;--basalt-3:#313b33;--soil:#202823;
  --lime:#f7f7f2;--lime-2:#edf0e9;--lime-3:#d8ddd5;--sand:#a5afa0;
  --green:#22733a;--green-2:#17572b;--gold:#f4c535;--gold-2:#f4c535;
  --clay:#222925;--ink:#222925;--ink-2:#555e58;--ink-3:#555e58;
  --on-dark:#f7f8f3;--on-dark-2:#d5ddd3;--on-dark-3:#c0ccbe;
  --f-display:var(--f-sans);--fs-0:.875rem;--fs-1:1rem;--fs-2:1.125rem;
  --fs-3:1.5rem;--fs-4:clamp(2rem,3vw,2.8rem);--fs-5:clamp(2.5rem,4.3vw,3.75rem);
  --s-4:2rem;--s-5:3rem;--s-6:4rem;--s-7:5rem;--radius:8px;
  --shadow-1:none;--shadow-2:none;
}
html {scroll-padding-top:6rem;scrollbar-color:#879285 var(--lime-2)}
body {overflow-x:clip}
::selection {background:var(--gold);color:var(--ink)}
a {text-underline-offset:.2em;text-decoration-thickness:1px}
h1,h2,h3,h4 {font-weight:700;line-height:1.12;text-wrap:balance;letter-spacing:-.025em}
.display {font-weight:750;letter-spacing:-.035em;line-height:1.08;font-variation-settings:normal}
.display em {font-style:normal;color:inherit}
.num {font-variation-settings:normal;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.lede {line-height:1.65;max-width:65ch}
.section {scroll-margin-top:1rem}
.light-2,.dark-2 {background:#fff}
.dark {background:var(--lime-2);color:var(--ink)}
.dark .lede,.dark .person p,.dark .people__intro p {color:var(--ink-2)}
.section__head,.projects__head {max-width:60ch;margin-bottom:2.5rem;gap:1rem}
/* Keep existing section labels available without a second competing heading. */
.eyebrow {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.grain::after,.strata::before,.cut-top::before,.seeking::before,#contact::before,.form::before,.hero__content::before,.hero__media::before,.hero__media::after,.cap__img::after {display:none}
.scroll-cue,.progress {display:none}
:focus-visible {outline:3px solid var(--green);outline-offset:4px}
.footer :focus-visible,.lightbox :focus-visible,#story :focus-visible {outline-color:var(--gold)}
.skip-link {position:fixed;background:var(--gold);color:var(--ink);font-weight:700}
.btn {min-height:46px;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:8px;font-weight:700;font-size:.9375rem;letter-spacing:0;text-transform:none;line-height:1.2;justify-content:center;text-align:center;box-shadow:none;will-change:auto;transition:background-color .16s,border-color .16s}
.btn:hover,.btn:active,.btn:hover svg {transform:none}
.btn--primary,.btn--gold {background:var(--gold);color:var(--ink);box-shadow:none}
.btn--primary:hover,.btn--gold:hover {background:#e8b61a;box-shadow:none}
.btn--ghost,.btn--ink {background:transparent;color:var(--ink);border-color:#899286}
.btn--ghost:hover,.btn--ink:hover {background:var(--lime-2);color:var(--ink);border-color:var(--ink)}
.btn:disabled {opacity:.55;cursor:wait}

.header,.header--solid {position:sticky;top:0;inset-inline:auto;background:#fff;color:var(--ink);border-bottom:1px solid var(--lime-3);padding-block:1rem;transform:none!important;backdrop-filter:none;box-shadow:none}
.header__inner {gap:1.5rem}
.brand {flex:none;gap:.75rem}
.brand__mark {width:110px;height:auto;max-height:44px;object-fit:contain;filter:none}
.brand__text {display:none;font-size:.85rem;line-height:1.2;letter-spacing:.015em;text-transform:none}
.brand__text small {max-width:17ch;font-size:.7rem;line-height:1.45;letter-spacing:0;color:var(--ink-2)}
.nav {margin-left:auto;gap:1.25rem}
.nav a {padding:.5rem 0;font-size:.9rem;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;opacity:1}
.nav a::after {height:2px}
.header__cta {display:inline-flex;margin-left:auto;min-height:42px;padding:.65rem 1rem}
.header__partner {display:none}
.header--menu-open .header__cta {visibility:hidden}
.burger {padding:.75rem}
.mobile-nav {background:var(--lime);color:var(--ink);justify-items:start;gap:1rem;padding:7rem var(--gutter) 3rem}
.mobile-nav a {font-size:clamp(1.75rem,7vw,2.5rem);font-weight:700;letter-spacing:-.03em;padding:.25rem 0;transform:none;opacity:1}
.mobile-nav a:hover {color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:4px}
@media(min-width:1024px) {.header__cta{margin-left:0}}
@media(min-width:1280px) {.brand__text{display:block}.nav{gap:1.4rem}}
@media(min-width:1400px) {.header__partner{display:inline-flex}}

.hero {width:min(var(--wrap),100% - 2 * var(--gutter));margin-inline:auto;min-height:0;padding-block:2.5rem;display:grid;gap:2rem;align-items:center;color:var(--ink);background:transparent;overflow:visible}
.hero__content {width:100%;margin:0;padding:0;display:grid;gap:1.35rem;min-width:0}
.hero h1 {font-size:var(--fs-5);max-width:18ch}
.hero h1 em {color:inherit}
.hero__meta {order:3;padding-top:1rem;border-top:1px solid var(--lime-3);gap:.2rem 1rem;font-size:.78rem;letter-spacing:0;text-transform:none;font-weight:450;color:var(--ink-2)}
.hero__meta .dot {display:none}
.hero__media {position:relative;inset:auto;order:2;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--lime-2);transform:none!important;will-change:auto}
.hero__media video {width:100%;height:100%;object-fit:cover}
.hero__row {grid-template-columns:1fr;gap:1.25rem}
.hero__sub {font-size:1.0625rem;line-height:1.65;color:var(--ink-2);max-width:60ch}
.hero__actions {gap:.65rem}
.hero__years {justify-self:start;text-align:left;gap:.65rem;color:var(--ink-2)}
.hero__years .num {font-size:1.5rem;color:var(--ink)}
.hero__years .num small {font-size:.7em;color:inherit;vertical-align:baseline;margin-left:.2rem;font-variation-settings:normal}
.hero__years-label {font-size:.875rem;font-style:normal;color:var(--ink-2);max-width:none}
@media(min-width:900px) {.hero{grid-template-columns:1.02fr 1fr;gap:3rem;padding-block:3rem}.hero__content{grid-column:1;grid-row:1}.hero__media{grid-column:2;grid-row:1;aspect-ratio:1/1;align-self:stretch;max-height:640px}}
.strip {background:#fff;color:var(--ink);border-color:var(--lime-3)}
.strip__grid {gap:1.5rem;padding-block:1.5rem}
.strip__item {padding:0;border:0;gap:.3rem}
.strip__item .num {font-size:1.65rem;color:var(--ink)}
.strip__item .num i {color:inherit}
.strip__item span:last-child {font-size:.825rem;letter-spacing:0;text-transform:none;font-weight:450;color:var(--ink-2);line-height:1.35}

.caps {gap:2.5rem 2rem}
.cap,.cap:nth-child(even) {display:grid;grid-template-columns:1fr;gap:1.2rem;align-content:start;align-items:start}
.cap__img,.cap:nth-child(even) .cap__img {order:0;aspect-ratio:16/10;border-radius:10px;box-shadow:none}
.cap__body {display:grid;grid-template-columns:1fr;gap:.8rem}
.cap__body h3,.cap__body p,.cap__body ul {grid-column:1}
.cap__n {display:none}
.cap h3 {font-size:1.45rem;line-height:1.2;font-weight:700;max-width:27ch}
.cap ul {gap:.3rem 1rem;padding-top:.25rem}
.cap li {border:0;background:none;padding:0;border-radius:0;font-size:.8rem;letter-spacing:0;text-transform:none}
.caps__note {margin-top:2rem;letter-spacing:0}
@media(min-width:700px) {.caps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1150px) {.caps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.who {gap:2.5rem}.who__sticky {gap:1.5rem;top:7rem}.who__body {gap:1.2rem;font-size:1rem;line-height:1.65}
.who__body .first::first-letter {font:inherit;float:none;margin:0;color:inherit}
.who__photo img {border-radius:10px;box-shadow:none}
.who__photo figcaption {position:static;background:none;color:var(--ink-2);font-size:.8rem;letter-spacing:0;text-transform:none;padding:.65rem 0 0;backdrop-filter:none;line-height:1.4}
.facts div {grid-template-columns:8rem 1fr;padding:.75rem 0;font-size:.9rem}
.facts dt {text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:450}
#story {background:var(--basalt);color:var(--on-dark)}
.story__intro {margin-bottom:2rem;gap:2rem}
.story__quote {font-size:1.125rem;line-height:1.65;font-style:normal;font-weight:400;border:0;padding:0;max-width:65ch}
.timeline {scrollbar-width:thin;scrollbar-color:#889780 var(--basalt);padding-block:0 1rem}
.timeline::-webkit-scrollbar {display:block;height:6px}
.timeline__track {gap:2rem;padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2))}
.timeline__track::before,.tl__year::after {display:none}
.tl {width:285px;gap:.85rem;padding:1.2rem 0 0;border-top:1px solid #63705f}
.tl__year,.tl--now .tl__year {font-size:1.55rem;font-variation-settings:normal;color:var(--gold)}
.tl h3 {font-size:1.2rem}.tl p {font-size:.9375rem;max-width:none}.tl img {filter:none}
.timeline__hint {font-size:.8rem;letter-spacing:0;text-transform:none}.timeline__hint svg {animation:none}

.fleet__head {gap:2rem;margin-bottom:2rem}
.manifest {border-color:var(--lime-3)}
.manifest__row {grid-template-columns:3rem minmax(0,1fr);gap:.5rem 1rem;border-color:var(--lime-3);align-items:start}
.manifest__qty {grid-row:span 2;font-size:1.5rem;color:var(--ink);font-variation-settings:normal;line-height:1.4}
.manifest__qty small {color:var(--ink-2)}
.manifest__type {font-size:1.05rem;line-height:1.4}
.manifest__type small {font-size:.75rem;letter-spacing:0;color:var(--ink-2)}
.manifest__models {color:var(--ink-2);font-size:.9375rem;grid-column:2}
.manifest__brand {color:var(--ink-2);font-size:.75rem;letter-spacing:0}
.fleet__gallery {gap:1rem;margin-top:2rem}
.fleet__gallery figure {aspect-ratio:auto;background:none;overflow:visible;transform:none;box-shadow:none}
.fleet__gallery img {height:auto;aspect-ratio:4/3;border-radius:8px}
.fleet__gallery figcaption {position:static;padding:.6rem 0 0;background:none;color:var(--ink-2);font-size:.8rem;letter-spacing:0;text-transform:none;line-height:1.4}
.fleet__note {color:var(--ink-2);font-size:.825rem;letter-spacing:0}
@media(min-width:900px) {.who{gap:4rem}.manifest__row{grid-template-columns:3rem 1.1fr 1.8fr 6rem;gap:1.5rem}.manifest__qty{grid-row:auto}.manifest__models{grid-column:auto}}
.marquee {background:var(--lime-2);border-color:var(--lime-3);padding-inline:var(--gutter)}
.marquee__track {animation:none;gap:2rem}
.marquee__track span {font-size:1rem;font-variation-settings:normal;color:var(--ink-2);gap:2rem}
.marquee__track span::after {display:none}
.mosaic {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px;gap:1rem;grid-auto-flow:row}
.tile {border-radius:10px;min-width:0}.tile::after {display:none}
.tile figcaption {padding:.85rem 1rem;background:rgba(22,29,24,.88);transform:none}
.tile figcaption b {font-size:1rem;line-height:1.3;font-weight:650}
.tile figcaption span {font-size:.68rem;line-height:1.4;letter-spacing:0}
.tile .tile__view {background:#fff;color:var(--ink);font-size:.72rem;border-radius:4px;letter-spacing:0;backdrop-filter:none;transform:none}
.mosaic .span-2,.mosaic .span-3,.mosaic .tall {grid-column:auto;grid-row:auto}
.tile--video {grid-column:span 2}
@media(min-width:760px) {.mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:240px}.mosaic .span-4{grid-column:span 2;grid-row:span 2}}
@media(max-width:499px) {.mosaic{grid-template-columns:1fr;grid-auto-rows:260px}.tile--video{grid-column:auto}}
.partner {gap:2.5rem}.partner__intro {gap:1.25rem;top:7rem}.partner__intro p {font-size:1rem;line-height:1.65}
.reasons {gap:1.25rem}.reason {display:block;padding:1.25rem 0 0;margin:0;border-radius:0}.reason::before {display:none}.reason:hover {background:none}
.reason h3 {font-size:1.2rem;margin-bottom:.6rem}
.seeking {padding:2rem;border-radius:12px;background:var(--lime-2);color:var(--ink);gap:1.25rem}
.seeking h3 {font-size:1.45rem;font-weight:700}.seeking li {color:var(--ink-2)}.seeking li::before {background:var(--ink);width:6px;height:6px;transform:none}
.photostrip {overflow-x:auto;background:#fff;padding:1rem;border:0}.photostrip__track {animation:none;gap:1rem}.photostrip img {height:180px;width:270px;filter:none}
.band {min-height:0;text-align:left}.band__bg {inset:0;transform:none!important;will-change:auto}.band__bg::after {background:rgba(17,25,20,.78)}
.band__inner {padding-block:3.5rem;gap:1.25rem;justify-items:start}.band h2 {font-size:var(--fs-4);max-width:24ch}.band h2 em {color:inherit}.band p {max-width:65ch;font-size:1rem}
.band__stats {justify-content:start;gap:1.5rem 3rem;margin-top:1rem}.band__stats div {text-align:left}.band__stats .num {font-size:1.75rem}.band__stats span {font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--on-dark-2)}
.people {gap:2rem}.people__intro p {font-size:1rem;line-height:1.65}.person {border-color:var(--lime-3);gap:.7rem}.person__name {font-size:1.5rem;font-weight:700}.person__role {font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--ink-2)}.person a {color:var(--ink);border:0;text-decoration:underline}.person a:hover {color:var(--green)}

#contact {background:#fff;border-block:1px solid var(--lime-3);overflow:visible}
.contact {gap:2rem}.contact h2 {margin-bottom:1.2rem}.contact__list {gap:1.2rem;margin-top:2rem}.contact__list small {font-size:.85rem;letter-spacing:0;text-transform:none;font-weight:450}.contact__list b {font-weight:600}
.form {background:var(--lime);padding:1.75rem;border-radius:12px;box-shadow:none}
.form__row {gap:1rem}.field label {letter-spacing:0;text-transform:none;color:var(--ink);font-weight:650}
.field input,.field textarea,.field select {min-height:46px;padding:.75rem .8rem;border-color:#a8b0a3;border-radius:6px;background:#fff;caret-color:var(--green)}
.field input:focus,.field textarea:focus,.field select:focus {outline:2px solid var(--green);outline-offset:2px;box-shadow:none}
.field input::placeholder,.field textarea::placeholder {color:#60695d;opacity:1}
.field textarea {min-height:8rem}.form__note {font-size:.85rem;line-height:1.5}.form__status {font-size:.9rem;border:1px solid var(--lime-3);border-radius:6px;background:var(--lime-2)}
.form__actions {gap:.65rem}.sheet {border-radius:12px;gap:2rem}.sheet__head img {height:auto;width:140px}.sheet__grid {gap:2rem}.sheet h3 {font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:.9rem}.sheet td {padding:.65rem 0}.sheet ul {gap:.65rem;color:var(--ink-2)}
.footer {border:0;padding-block:3rem 1.5rem}.footer__grid {gap:2rem}.footer h4 {font-size:1rem;letter-spacing:0;text-transform:none;color:var(--on-dark)}.footer a {font-size:.9375rem;padding:.3rem 0}.footer__brand img {width:130px;height:auto;filter:none;background:#fff;padding:.5rem;border-radius:6px}.footer__brand p {font-size:.875rem;max-width:50ch}.footer__bottom {letter-spacing:0;font-size:.775rem}
.lightbox {background:rgba(16,23,18,.97);padding:4rem 1.5rem}.lightbox img {max-height:80vh;transform:none;box-shadow:none}.lightbox__cap {bottom:1.1rem;left:4rem;right:4rem;transform:none;text-align:center;letter-spacing:0;text-transform:none;font-size:.8rem;line-height:1.4}.lightbox__btn {width:46px;height:46px;border-color:#7f8b79;background:var(--basalt)}

/* Never wait for scroll-triggered decoration before showing useful content. */
.reveal,.manifest__row,.strip__item .num {opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.wipe::before {display:none!important}.wipe img,.wipe video,.tile img,.fleet__gallery img {transform:none!important}
@media(min-width:900px) {.story__intro,.fleet__head,.people{gap:4rem}.people{grid-template-columns:1fr 1fr}}
@media(min-width:1000px) {.partner{gap:4rem}.contact{grid-template-columns:.85fr 1.15fr;gap:4rem}}
@media(max-width:599px) {.section{padding-block:3rem}.header__inner{gap:.75rem}.brand__mark{width:96px}.header__cta{font-size:.85rem}.hero{padding-block:1.75rem}.hero__actions{display:grid;grid-template-columns:1fr}.facts div{grid-template-columns:1fr;gap:.25rem}.form,.sheet,.seeking{padding:1.25rem}.lightbox__cap{left:1.25rem;right:1.25rem}.photostrip img{height:140px;width:210px}}
@media print {.header,.hero,.band,.photostrip,.progress{display:none!important}.dark,.dark-2,#story{background:#fff!important;color:#000!important}.tl p,.story__quote{color:#333}.section{padding-block:1rem}.wrap{width:100%}.sheet{padding:1rem;border-radius:0}.sheet__grid{grid-template-columns:1fr 1fr}.timeline__track{width:auto}}

/* Explicit language choice; never redirect visitors based on browser settings. */
.language-switch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .6rem;border:1px solid var(--lime-3);border-radius:6px;font-size:.9rem;font-weight:600;white-space:nowrap}
.language-switch:hover{background:var(--lime-2)}
@media(max-width:599px){.header__inner{gap:.5rem}.language-switch{font-size:.8rem;padding:.4rem}.brand__mark{width:84px}.header__cta{padding:.6rem .7rem}}
@media(min-width:1024px) and (max-width:1399px){.header__inner{gap:1rem}.nav{gap:1rem}.brand__text{display:none}}
