/* ===========================================================
   ARK ASSURANCE — multi-page + premium additions (real-brand)
   Loaded after style.css. No Lenis. Fail-open reveals.
   =========================================================== */

/* Scroll progress bar */
.scrollbar{ position: fixed; top:0; left:0; height:3px; width:0%; z-index:60;
  background: linear-gradient(90deg, var(--tan), var(--green)); transition: width .1s linear; }

/* Nav active link */
.nav-links a.active{ opacity:1; color: var(--ink); position: relative; }
.nav-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:2px; background: var(--tan); border-radius:2px; }

/* Mobile drawer */
.mnav{ position: fixed; inset:0; z-index:80; background: var(--ink); color: var(--cream);
  display:flex; flex-direction:column; justify-content:center; gap:4px; padding:40px;
  transform: translateY(-100%); transition: transform .4s var(--ease); visibility:hidden; }
.mnav.open{ transform: translateY(0); visibility:visible; }
.mnav a{ font-family: var(--serif); font-size: 32px; color: var(--cream); padding:12px 0;
  border-bottom:1px solid var(--line-dark); font-variation-settings:"SOFT" 60; }
.mnav a:hover{ color: var(--tan); }
.mnav .close{ position:absolute; top:22px; right:24px; background:none; border:0; color:var(--cream);
  font-size:34px; line-height:1; cursor:pointer; }
.mnav .mcall{ margin-top:28px; font-family:var(--mono); font-size:13px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--tan); border-bottom:0 !important; }

/* Page hero (inner pages) */
.phero{ background: var(--ink); color: var(--cream);
  padding: clamp(116px,14vw,176px) 0 clamp(60px,7vw,92px); position: relative; overflow: hidden; }
.phero::after{ content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px;
  border:1px solid var(--line-dark); border-radius:50%; opacity:.5; }
.phero::before{ content:""; position:absolute; right:-40px; bottom:-220px; width:420px; height:420px;
  border:1px solid var(--line-dark); border-radius:50%; opacity:.35; }
.phero .wrap{ position: relative; z-index:1; }
.phero .kicker{ color: var(--tan); }
.phero h1{ color: var(--cream); max-width: 18ch; margin:.3em 0 .35em; }
.phero h1 em{ font-style: italic; color: var(--tan); font-variation-settings:"SOFT" 100,"opsz" 144; }
.phero p{ color: rgba(246,241,232,.82); max-width: 58ch; font-size: clamp(16px,1.4vw,19px); }
.crumbs{ font-family: var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color: rgba(246,241,232,.55); margin-bottom: 6px; }
.crumbs a{ color: rgba(246,241,232,.55); } .crumbs a:hover{ color: var(--tan); }

/* Real-photo hero (office) for homepage */
.hero-photo--office{ inset:0; background-size:cover; background-position:center 35%;
  background-image: linear-gradient(180deg, rgba(15,30,54,.08) 0%, rgba(15,30,54,.62) 100%),
    url("assets/office-tyler.jpg"); }

/* Team band on homepage */
.teamband .faces{ display:flex; flex-wrap:wrap; align-items:center; margin-top: 36px; }
.teamband .face{ width: 72px; height: 72px; border-radius:50%; overflow:hidden; margin-left:-14px;
  border:3px solid var(--paper); background: var(--cream); box-shadow: var(--shadow-soft); }
.teamband .face:first-child{ margin-left:0; }
.teamband .face img{ width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.teamband .more{ width:72px; height:72px; border-radius:50%; margin-left:-14px; border:3px solid var(--paper);
  display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:13px;
  color: var(--ink); background: var(--tan); box-shadow: var(--shadow-soft); }

/* Leadership cards (real headshots) */
.lead-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin-top: 48px; }
.lead-card{ background: var(--paper); border:1px solid var(--line); border-radius: var(--r-lg);
  overflow:hidden; transition: transform .25s var(--ease), border-color .25s var(--ease); }
.lead-card:hover{ transform: translateY(-4px); border-color: var(--tan); }
.lead-card .ph{ aspect-ratio: 1/1; overflow:hidden; background: var(--cream); }
.lead-card .ph img{ width:100%; height:100%; object-fit:cover; object-position: center 20%;
  filter: saturate(.97); transition: transform .5s var(--ease); }
.lead-card:hover .ph img{ transform: scale(1.04); }
.lead-card .body{ padding: 22px 24px 26px; }
.lead-card .gen{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color: var(--green); margin-bottom: 8px; display:inline-flex; align-items:center; gap:6px; }
.lead-card .gen::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--green); }
.lead-card h3{ font-size: 24px; margin-bottom: 4px; }
.lead-card .role{ font-size: 13.5px; color: var(--muted); }
@media (max-width: 820px){ .lead-grid{ grid-template-columns: 1fr; max-width:420px; margin-inline:auto; } }

/* Full team roster grid */
.roster-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:16px; }
.member{ background: var(--paper); border:1px solid var(--line); border-radius: var(--r-md);
  overflow:hidden; transition: transform .2s var(--ease), border-color .2s var(--ease); }
.member:hover{ transform: translateY(-3px); border-color: var(--tan); }
.member .ph{ aspect-ratio: 4/5; overflow:hidden; background: var(--cream); }
.member .ph img{ width:100%; height:100%; object-fit:cover; object-position:center 16%;
  transition: transform .5s var(--ease); }
.member:hover .ph img{ transform: scale(1.05); }
.member .body{ padding: 16px 18px 20px; }
.member .name{ font-family: var(--serif); font-size: 19px; color: var(--ink); font-variation-settings:"SOFT" 50; }
.member .role{ font-size: 12.5px; color: var(--muted); margin-top: 4px; line-height:1.4; }
@media (max-width: 940px){ .roster-grid{ grid-template-columns: repeat(3,1fr); } }
@media (max-width: 640px){ .roster-grid{ grid-template-columns: repeat(2,1fr); gap:12px; } }

/* Coverage deep-dive rows */
.cov-row{ display:grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,72px); align-items:center;
  padding: clamp(48px,6vw,80px) 0; border-top:1px solid var(--line); }
.cov-row:nth-child(even) .cov-art{ order:-1; }
.cov-art{ aspect-ratio: 4/3; border-radius: var(--r-lg); overflow:hidden; background: var(--ink);
  position: relative; display:flex; align-items:center; justify-content:center; }
.cov-art .glyph{ font-family: var(--serif); font-size: clamp(80px,12vw,150px); color: var(--tan);
  font-variation-settings:"SOFT" 100; opacity:.92; }
.cov-art .badge{ position:absolute; bottom:18px; left:18px; font-family:var(--mono); font-size:10px;
  letter-spacing:.18em; text-transform:uppercase; color: rgba(246,241,232,.7); }
.cov-row h2{ font-size: clamp(30px,3.6vw,44px); }
.cov-row .facts{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 24px; }
.cov-row .facts span{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  background: var(--paper); border:1px solid var(--line); color: var(--muted-tan); padding:7px 12px; border-radius:var(--r-pill); }
.cov-list{ list-style:none; padding:0; margin:0 0 26px; display:grid; gap:10px; }
.cov-list li{ padding-left: 28px; position: relative; font-size:15px; color: var(--body); }
.cov-list li::before{ content:""; position:absolute; left:0; top:5px; width:18px; height:18px;
  border-radius:50%; background-color: var(--green-soft); background-repeat:no-repeat; background-position:center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2l2.6 2.6L13 6' stroke='%230D7746' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
@media (max-width: 820px){ .cov-row{ grid-template-columns: 1fr; } .cov-row:nth-child(even) .cov-art{ order:0; } }

/* Office feature band */
.office-feature{ border-radius: var(--r-xl); overflow:hidden; position: relative; min-height: 400px;
  display:flex; align-items:flex-end; color: var(--cream); background-size:cover; background-position:center;
  background-image: linear-gradient(180deg, rgba(15,30,54,.1), rgba(15,30,54,.78)), url("assets/office-tyler.jpg"); }
.office-feature .cap{ padding: 40px; }
.office-feature .cap .k{ font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color: var(--tan); }
.office-feature .cap h3{ color: var(--cream); font-size: clamp(26px,3vw,40px); margin:10px 0 0; }
.office-feature .cap p{ color: rgba(246,241,232,.82); margin:10px 0 0; max-width: 46ch; }

/* timeline (about) */
.timeline{ position: relative; margin-top: 48px; padding-left: 28px; }
.timeline::before{ content:""; position:absolute; left:6px; top:6px; bottom:6px; width:2px; background: var(--line); }
.tl-item{ position: relative; padding: 0 0 36px 28px; }
.tl-item::before{ content:""; position:absolute; left:-1px; top:4px; width:14px; height:14px; border-radius:50%;
  background: var(--tan); border:3px solid var(--cream); box-shadow:0 0 0 1px var(--line); }
.tl-item .yr{ font-family:var(--mono); font-size:12px; letter-spacing:.18em; color: var(--green); }
.tl-item h3{ font-size: 22px; margin:6px 0 6px; }
.tl-item p{ font-size:15px; color: var(--body); margin:0; max-width: 54ch; }

/* count up */
.count{ font-variant-numeric: tabular-nums; }

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal--hidden{ opacity:1 !important; transform:none !important; }
}
[x-cloak]{ display:none !important; }
