:root{
    --ink:#0C0D0F;--coal:#141518;--slate:#1E2024;--line:rgba(255,255,255,0.08);
    --red:#D0212A;--red-deep:#7E1316;--bone:#ECEDEF;--ash:#9A9DA3;
    --display:'Archivo',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
    --maxw:1200px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--ink);color:var(--bone);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--red)}
  h2.sec{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.02em;line-height:1.04;margin:14px 0 0}
  .lead{max-width:60ch;color:var(--ash);font-size:17px;margin-top:18px}
  .btn{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.02em;padding:13px 24px;border-radius:3px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:.15s;border:1px solid transparent}
  .btn.primary{background:var(--red);color:#fff;border-color:var(--red)}
  .btn.primary:hover{background:#e23b43}
  .btn.ghost{border:1px solid #fff;color:#fff}
  .btn.ghost:hover{background:#fff;color:var(--ink)}

  /* reveal-on-scroll */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* nav */
  .bar{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;position:fixed;top:0;left:0;right:0;z-index:20;transition:transform .35s ease,background-color .3s ease,backdrop-filter .3s ease,padding .25s ease}
  .bar.scrolled{background:rgba(10,11,13,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:15px;padding-bottom:15px}
  .bar.hide{transform:translateY(-108%)}
  .logo{display:flex;align-items:center;gap:13px}
  .logo .mark{height:38px;width:auto;display:block}
  .logo .word{height:15px;width:auto;display:block}
  .logo .tag{font-size:10.5px;color:var(--ash);margin-top:5px;letter-spacing:.01em}
  .nav{display:flex;gap:30px;align-items:center;font-size:14px;color:var(--bone)}
  .nav a:hover{color:#fff}
  .nav .btn{padding:9px 16px;font-size:12px}

  /* hero */
  .hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:#0A0B0D url(media/hero-poster.jpg) center/cover no-repeat}
  .hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .hveil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,13,.58) 0%,rgba(10,11,13,.40) 38%,rgba(10,11,13,.86) 100%)}
  .htint{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 82% 8%,rgba(126,19,22,.42) 0%,rgba(126,19,22,.08) 34%,rgba(126,19,22,0) 60%)}
  @media(prefers-reduced-motion:reduce){.hvid{display:none}}
  .hero .wrap{position:relative;z-index:2;padding:96px 32px 64px}
  .hero h1{font-family:var(--display);font-weight:700;font-size:clamp(42px,6.4vw,84px);line-height:.98;letter-spacing:-.022em;max-width:15ch;margin:20px 0 0;text-shadow:0 2px 40px rgba(0,0,0,.5)}
  .hero h1 b{color:var(--red)}
  .triad{display:flex;gap:28px;flex-wrap:wrap;margin-top:24px}
  .triad span{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--bone);display:flex;align-items:center;gap:9px}
  .triad span::before{content:"";width:7px;height:7px;background:var(--red);display:inline-block}
  .hsub{margin-top:24px;max-width:56ch;font-size:18px;color:#c9ccd2}
  .hbtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}

  /* proof band */
  .proof{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--coal)}
  .psweep{position:absolute;top:0;bottom:0;width:180px;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(208,33,42,0.13),transparent);animation:hsweep 7s linear infinite}
  @keyframes hsweep{0%{left:-200px}100%{left:100%}}
  @media(prefers-reduced-motion:reduce){.psweep{display:none}}
  .proof .wrap{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:0}
  @media(max-width:860px){.proof .wrap{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:520px){.proof .wrap{grid-template-columns:repeat(2,1fr)}}
  .stat{padding:30px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .stat:last-child{border-right:0}
  .stat .v{font-family:var(--mono);font-weight:500;font-size:24px;color:var(--red);line-height:1}
  .stat .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);margin-top:8px}

  /* trust strip (serves the 30-second scanner: licences + named end-users, high on the page) */
  .trust{background:var(--ink);border-bottom:1px solid var(--line)}
  .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:26px 32px}
  @media(max-width:760px){.trust .wrap{grid-template-columns:1fr;gap:20px}}
  .tcol .tlabel{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
  .tcol .tvals{font-family:var(--mono);font-size:12.5px;color:var(--ash);line-height:1.75;letter-spacing:.02em}

  section.block{padding:96px 0}
  .alt{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

  /* capabilities */
  .caps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
  @media(max-width:760px){.caps{grid-template-columns:1fr}}
  .cap{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:26px}
  .alt .cap{background:#0f1013}
  .cap .ci{width:38px;height:38px;border:1px solid var(--red);border-radius:5px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
  .cap h3{font-family:var(--display);font-weight:600;font-size:19px;color:var(--bone)}
  .cap p{color:var(--ash);font-size:14.5px;margin-top:8px}
  .cap .meta{font-family:var(--mono);font-size:11px;color:var(--red);margin-top:14px;letter-spacing:.04em}

  /* projects */
  .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  @media(max-width:900px){.pgrid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.pgrid{grid-template-columns:1fr}}
  .pcard{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--ink)}
  .pcard .pim{aspect-ratio:16/10;position:relative;background:#1c2733 center/cover no-repeat;filter:saturate(.8) contrast(1.05) brightness(1.02)}
  .pcard .pim::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(8,9,11,.42))}
  .pcard .pb{padding:18px}
  .pcard .pt{font-family:var(--display);font-weight:700;font-size:17px;color:var(--bone);text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}
  .pcard .pm{font-family:var(--mono);font-size:11px;color:var(--red);margin-top:8px;letter-spacing:.04em}
  .pcard p.pd{color:var(--ash);font-size:13.5px;margin-top:10px}
  .ptags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
  .ptag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ash);border:1px solid var(--line);border-radius:2px;padding:4px 7px}

  /* unmanned feature */
  .feat{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
  @media(max-width:820px){.feat{grid-template-columns:1fr;gap:32px}}
  .feat .fstats{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px}
  .feat .fs .v{font-family:var(--mono);font-weight:500;font-size:30px;color:var(--red)}
  .feat .fs .k{font-family:var(--mono);font-size:11px;color:var(--ash);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
  .fnote{margin-top:22px;color:var(--ash);font-size:14px;border-left:2px solid var(--red);padding:4px 0 4px 16px;max-width:56ch}
  .fnote b{color:var(--bone);font-weight:500}
  .fimg{border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;aspect-ratio:4/3;background:#10141a center/cover no-repeat}
  .fimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(208,33,42,.18),rgba(12,13,15,.42));mix-blend-mode:multiply}
  .partners{font-family:var(--mono);font-size:11px;color:var(--ash);margin-top:22px;letter-spacing:.04em}

  /* credentials */
  .creds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
  @media(max-width:820px){.creds{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:460px){.creds{grid-template-columns:1fr}}
  .cred{position:relative;overflow:hidden;background:#0f1013;border:1px solid var(--line);border-radius:10px;padding:22px 20px;display:flex;flex-direction:column;gap:13px}
  .cred::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),rgba(208,33,42,0))}
  .cred-seal{width:46px;height:46px;border-radius:50%;border:1px solid rgba(208,33,42,.5);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(208,33,42,.14),rgba(208,33,42,0) 70%)}
  .cred-seal svg{width:23px;height:23px}
  .cred-t{font-family:var(--display);font-weight:700;font-size:18px;color:var(--bone);line-height:1.1}
  .cred-s{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ash);line-height:1.55}
  .corp{margin-top:30px;border-left:2px solid var(--red);padding:6px 0 6px 18px;color:var(--ash);font-size:14.5px;max-width:64ch}
  .corp b{color:var(--bone);font-weight:500}

  /* contact */
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  @media(max-width:760px){.contact{grid-template-columns:1fr;gap:32px}}
  .field{margin-bottom:14px}
  .field label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ash);margin-bottom:6px}
  .field input,.field textarea{width:100%;background:var(--coal);border:1px solid var(--line);border-radius:3px;padding:12px;color:var(--bone);font-family:var(--body);font-size:14px}
  .field textarea{min-height:96px;resize:vertical}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--red)}
  .cinfo dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ash);margin-top:18px}
  .cinfo dd{font-size:15px;color:var(--bone);margin-top:4px}

  footer{background:#08090B;border-top:1px solid var(--line);padding:46px 0 40px}
  footer .frow{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px}
  footer .ftag{font-family:var(--mono);font-size:11px;color:#6f7177;letter-spacing:.04em;margin-top:14px;max-width:40ch;line-height:1.7}
  footer .fmini{font-family:var(--mono);font-size:11px;color:var(--ash);letter-spacing:.04em}
  footer .fmini span{display:block;margin-bottom:7px}
  footer .copy{font-family:var(--mono);font-size:11px;color:#5a5c61;margin-top:34px;border-top:1px solid var(--line);padding-top:22px}

/* ===== inner-page styles ===== */
.phero{position:relative;overflow:hidden;background:#0A0B0D;border-bottom:1px solid var(--line);padding:160px 0 64px}
.phero .pbg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:saturate(.82) contrast(1.03)}
.phero .pveil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,11,13,.74) 0%,rgba(10,11,13,.55) 44%,rgba(10,11,13,.93) 100%)}
.phero .glow{position:absolute;width:620px;height:620px;right:-160px;top:-180px;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(208,33,42,.18) 0%,rgba(208,33,42,.05) 40%,rgba(208,33,42,0) 66%)}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.02em;margin:14px 0 0;max-width:20ch}
.phero .lead{margin-top:18px}
.sectlink{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.04em;display:inline-block;margin-top:22px}
.sectlink:hover{color:#e23b43}
.srow{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:34px 0;border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
@media(max-width:760px){.srow{grid-template-columns:1fr;gap:12px}}
.srow .snum{font-family:var(--mono);font-size:12px;color:var(--red)}
.srow h3{font-family:var(--display);font-weight:600;font-size:22px;color:var(--bone);margin-top:6px}
.srow p{color:var(--ash);font-size:15px}
.srow .meta{font-family:var(--mono);font-size:11px;color:var(--red);margin-top:12px;letter-spacing:.04em}
.ptwrap{margin-top:36px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ptable{width:100%;border-collapse:collapse;font-size:13px}
.ptable th{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ash);text-align:left;padding:13px 14px;background:var(--coal);border-bottom:1px solid var(--line)}
.ptable td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--bone);vertical-align:top}
.ptable tr:last-child td{border-bottom:0}
.ptable td .u{font-family:var(--mono);color:var(--ash);font-size:12px}
.ptable td .up{font-family:var(--mono);color:var(--red);font-size:12px}
.ptable tbody tr:hover td{background:#0f1013}
@media(max-width:820px){
.ptwrap{border:0;border-radius:0;overflow:visible}
.ptable{min-width:0}
.ptable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ptable,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%}
.ptable tr{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:14px 16px;background:var(--ink)}
.ptable tbody tr:hover td{background:transparent}
.ptable td{border:0;padding:5px 0;display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.ptable td:first-child{font-family:var(--display);font-weight:700;font-size:16px;color:var(--bone);padding:0 0 8px;display:block}
.ptable td:not(:first-child)::before{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
.ptable td:nth-of-type(2)::before{content:"End user"}
.ptable td:nth-of-type(3)::before{content:"Field"}
.ptable td:nth-of-type(4)::before{content:"Depth"}
.ptable td:nth-of-type(5)::before{content:"Period"}
.ptable td:nth-of-type(6)::before{content:"Uptime"}
}
.tl{margin-top:8px;border-left:2px solid var(--red);padding-left:26px;display:flex;flex-direction:column;gap:30px}
.tl .mi .d{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.04em}
.tl .mi h4{font-family:var(--display);font-weight:600;font-size:19px;color:var(--bone);margin-top:6px}
.tl .mi p{color:var(--ash);font-size:14.5px;margin-top:6px;max-width:64ch}
.team{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}
@media(max-width:700px){.team{grid-template-columns:1fr}}
.tm{border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--ink)}
.tm .r{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:.08em;text-transform:uppercase}
.tm h3{font-family:var(--display);font-weight:600;font-size:20px;margin-top:6px}
.tm p{color:var(--ash);font-size:14px;margin-top:10px}
.prose p{color:var(--ash);font-size:15.5px;max-width:70ch;margin-top:16px}
.grpbox{margin-top:30px;border:1px solid var(--line);border-radius:8px;padding:24px;background:#0f1013;max-width:74ch}
.grpbox .gt{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:.08em;text-transform:uppercase}
.grpbox p{color:var(--ash);font-size:14.5px;margin-top:10px}


.moredetails{margin-top:24px;border-top:1px solid var(--line)}
.moredetails>summary{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.04em;cursor:pointer;padding:16px 0 4px;list-style:none}
.moredetails>summary::-webkit-details-marker{display:none}
.moredetails>summary::after{content:" +"}
.moredetails[open]>summary::after{content:" close"}

/* ===== capabilities: information-design layer ===== */
.capgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media(max-width:880px){.capgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.capgrid{grid-template-columns:1fr}}
.envelope{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#0f1013;padding:26px 26px 16px;overflow:hidden}
.envelope .cap-note{font-family:var(--mono);font-size:10.5px;color:var(--ash);letter-spacing:.06em;margin-top:12px}
.envsvg{width:100%;height:auto;display:block}
.envsvg .dl{font-family:'IBM Plex Mono',monospace;font-size:12px;fill:var(--bone)}
.envsvg .dm{font-family:'IBM Plex Mono',monospace;font-size:11px;fill:var(--ash)}
.envsvg .dr{font-family:'IBM Plex Mono',monospace;font-size:11px;fill:var(--red)}

/* ===== dive: pinned depth-meter descent (capabilities) ===== */
.dive2{position:relative;height:560vh;background:#0A0B0D}
.dive2-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#0a1a24 url(media/cap-sea.jpg) center/cover no-repeat;display:flex;flex-direction:column}
.dive2-dark{position:absolute;inset:0;z-index:0;background:#04070a;opacity:.18;pointer-events:none;will-change:opacity}
.dive2-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,8,11,.55) 0%,rgba(4,8,11,0) 30%,transparent 62%,rgba(0,0,0,.4) 100%)}
.dive2-head{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:120px 40px 0;width:100%}
.dive2-head .lead{max-width:60ch}
.dive2-inner{position:relative;z-index:2;flex:1;max-width:var(--maxw);margin:0 auto;padding:8px 40px 40px;width:100%;display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:center}
.gauge .glabel{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ash);margin-bottom:14px}
.meter{position:relative;height:54vh;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 11%,#000 89%,transparent 100%)}
.meter .cl{position:absolute;left:2px;right:14px;top:50%;height:1px;background:rgba(208,33,42,.3);z-index:1}
.meter .dot{position:absolute;left:0;top:50%;transform:translate(-1px,-50%);width:18px;height:18px;border:2px solid var(--red);border-radius:50%;background:rgba(10,11,13,.5);box-shadow:0 0 0 4px rgba(208,33,42,.14);z-index:3}
.meter .read{position:absolute;left:44px;top:50%;transform:translateY(-50%);z-index:4;font-family:var(--mono);font-weight:500;font-size:clamp(30px,3.4vw,44px);color:#fff;line-height:1;letter-spacing:.01em;text-shadow:0 2px 22px rgba(0,0,0,.75)}
.meter .read small{font-size:.36em;color:var(--red);margin-left:5px}
.tape{position:absolute;left:0;top:0;width:100%;will-change:transform}
.tape .t{position:absolute;left:0;width:100%;display:flex;align-items:center;transform:translateY(-50%)}
.tape .t .ln{margin-left:28px;width:7px;height:1px;background:rgba(255,255,255,.22)}
.tape .t.maj .ln{width:14px;background:rgba(255,255,255,.42)}
.tape .t .lb{font-family:var(--mono);font-size:10.5px;color:var(--ash);margin-left:11px;opacity:.75}
.tape .t.maj .lb{color:var(--bone);opacity:1}
.assets{position:relative;height:64vh;overflow:hidden}
.asset{position:absolute;left:0;right:0;top:50%;display:flex;align-items:center;gap:26px;
    will-change:transform,opacity,filter;pointer-events:none}
.asset .lv-icon{flex:0 0 auto;width:90px;height:90px;border:1px solid rgba(255,255,255,.3);border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(8,10,12,.4)}
.asset .lv-txt{max-width:44ch}
  .asset h3{text-wrap:balance}
.asset .lv-d{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--red)}
.asset h3{font-family:var(--display);font-weight:700;font-size:clamp(23px,2.8vw,30px);margin-top:8px;color:#fff}
.asset p{color:#cfd2d7;margin-top:11px;font-size:15.5px;line-height:1.6}
@media(max-width:820px){.dive2{height:auto}.dive2-stage{position:static;height:auto;padding:6vh 0 8vh;display:block}.dive2-rays,.dive2-stage::after{display:none}.dive2-head{padding:0 24px}.dive2-inner{grid-template-columns:1fr;gap:18px;padding:6vh 24px 0}.gauge{display:none}.assets{height:auto;overflow:visible}.asset{position:relative;top:auto;transform:none!important;opacity:1!important;margin-bottom:7vh}.asset:last-child{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.dive2-stage{transition:none}}

/* ===== reel: pinned project instrument (track record) ===== */
.reel{position:relative;height:500vh;background:#0A0B0D}
.reel-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#0d1218;display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reel-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 6%,rgba(208,33,42,.09),transparent 46%),linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4))}
.reel-head{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:120px 40px 0;width:100%}
.reel-head .lead{max-width:60ch}
.reel-inner{position:relative;z-index:2;flex:1;max-width:var(--maxw);margin:0 auto;padding:8px 40px 40px;width:100%;display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:center}
.rgauge .glabel{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ash);margin-bottom:14px}
.rmeter{position:relative;height:52vh;overflow:hidden;--mc:#0d1218}
.rmeter::before,.rmeter::after{content:"";position:absolute;left:0;right:0;height:60px;z-index:2;pointer-events:none}
.rmeter::before{top:0;background:linear-gradient(180deg,var(--mc),rgba(0,0,0,0))}
.rmeter::after{bottom:0;background:linear-gradient(0deg,var(--mc),rgba(0,0,0,0))}
.rmeter .cl{position:absolute;left:2px;right:14px;top:50%;height:1px;background:rgba(208,33,42,.3);z-index:1}
.rmeter .dot{position:absolute;left:0;top:50%;transform:translate(-1px,-50%);width:16px;height:16px;border:2px solid var(--red);border-radius:50%;background:rgba(10,11,13,.5);box-shadow:0 0 0 4px rgba(208,33,42,.14);z-index:3}
.rmeter .read{position:absolute;left:40px;top:50%;transform:translateY(-50%);z-index:4;font-family:var(--mono);font-weight:500;font-size:clamp(34px,3.6vw,48px);color:#fff;line-height:1;text-shadow:0 2px 22px rgba(0,0,0,.7)}
.rmeter .read small{font-size:.36em;color:var(--ash);margin-left:7px}
.rtape{position:absolute;left:0;top:0;width:100%;will-change:transform}
.rtape .t{position:absolute;left:0;width:100%;display:flex;align-items:center;transform:translateY(-50%)}
.rtape .t .ln{margin-left:26px;width:8px;height:1px;background:rgba(255,255,255,.26)}
.rtape .t .lb{font-family:var(--mono);font-size:11px;color:var(--ash);margin-left:12px}
.rlist{position:relative;height:52vh;overflow:hidden}
.ritem{position:absolute;left:0;right:0;top:50%;will-change:transform,opacity}
.ritem .rcli{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--red);text-transform:uppercase}
.ritem h3{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.9vw,34px);margin-top:10px;color:#fff;line-height:1.06;max-width:20ch}
.ritem .rmeta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.ritem .rchip{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--bone);border:1px solid var(--line);border-radius:3px;padding:6px 11px}
.ritem .rchip b{color:var(--red);font-weight:500;margin-right:6px}
@media(max-width:820px){.reel{height:auto}.reel-stage{position:static;height:auto;padding:6vh 0 8vh;display:block}.reel-stage::after{display:none}.reel-head{padding:0 24px}.reel-inner{grid-template-columns:1fr;gap:18px;padding:6vh 24px 0}.rgauge{display:none}.rlist{height:auto;overflow:visible}.ritem{position:relative;top:auto;transform:none!important;opacity:1!important;margin-bottom:7vh}.ritem:last-child{margin-bottom:0}}

/* ===== about: team portraits + last-frame fit ===== */
.tm-photo{position:relative;width:128px;height:128px;border-radius:10px;border:1px solid var(--line);background:#111317;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}
  .tm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tm-photo svg{width:46px;height:46px;opacity:.5}
.tm-photo .ph-lab{position:absolute;bottom:9px;font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);opacity:.55}
.endframe{min-height:100vh;display:flex;flex-direction:column}
.endframe>section{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center}
.endframe>footer{flex:0 0 auto}
@media(max-width:820px){.endframe{min-height:0;display:block}.endframe>section{display:block}}

/* ===== full record: accordion list ===== */
.acclist{margin-top:38px;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-h{width:100%;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 6px;text-align:left;color:var(--bone);font-family:inherit}
.acc-h:hover{color:#fff}
.acc-t{font-family:var(--display);font-weight:600;font-size:clamp(15px,1.9vw,18px);flex:1;line-height:1.2}
.acc-y{font-family:var(--mono);font-size:12px;color:var(--ash);white-space:nowrap}
.acc-ic{font-family:var(--mono);font-size:20px;color:var(--red);width:18px;text-align:center;line-height:1;transition:transform .3s ease}
.acc-item.open .acc-ic{transform:rotate(45deg)}
.acc-item.open .acc-h{color:#fff}
.acc-p{overflow:hidden;max-height:0;transition:max-height .35s ease}
.acc-in{display:flex;flex-wrap:wrap;gap:12px 30px;padding:2px 6px 22px}
.acc-f{font-family:var(--mono);font-size:12.5px;color:var(--bone);display:flex;gap:9px;align-items:baseline}
.acc-f b{color:var(--red);font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:600px){.acc-in{flex-direction:column;gap:9px;width:100%}.acc-f{justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px}}

/* ===== about: Tara Advisory parent-logo backdrop ===== */
.tara-sec{position:relative;overflow:hidden}
.tara-sec .wrap{position:relative;z-index:1}
.tara-sec .wrap::before{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:280px;height:187px;background:url(media/ta-advisory-mark.png) center/contain no-repeat;opacity:.08;pointer-events:none;filter:drop-shadow(0 0 55px rgba(208,33,42,.18))}
@media(max-width:760px){.tara-sec .wrap::before{width:180px;height:120px;opacity:.06;right:-6px}}

/* ===== 2026-09-04 client amendments (Surinder review, 19 Jul 2026) ===== */
/* A1: boxes were the same colour as the page, so they did not read as boxes.
   Lift the surface off the background, strengthen the edge, tighten the box, add air between. */
  .cap,.alt .cap,.pcard,.cred,.tm,.grpbox,.envelope{
    background:#16181C;
    border:1px solid rgba(255,255,255,0.14);
  }
  .cap,.alt .cap{padding:22px}
  .cred{padding:20px 18px}
  .caps{gap:24px}
  .capgrid{gap:22px}
  .pgrid{gap:24px}
  .creds{gap:20px}
  .cap:hover,.pcard:hover,.cred:hover{border-color:rgba(255,255,255,0.22);background:#191C21;transition:.18s}

/* A2: certificate screenshots on the credential cards (Surinder 2026-09-09) */
  .cred{display:flex;flex-direction:column;gap:11px;height:100%}
  a.cred{text-decoration:none;color:inherit;transition:.18s;cursor:pointer}
  .cred .cred-s{margin-bottom:14px}
  .cred-link{margin-top:auto}
  .cred-doc{background:#F4F5F6;border-radius:4px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
  .cred-doc img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
    opacity:.92;transition:opacity .2s ease}
  a.cred:hover .cred-doc img{opacity:1}
  .cred-doc-none{background:#101216;border:1px dashed rgba(255,255,255,.14);color:var(--ash);
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:0 14px}
  .cred-link{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);
    border-bottom:1px solid rgba(208,33,42,.4);align-self:flex-start;padding-bottom:2px}
  .cred-link::after{content:" \2197";letter-spacing:0}
  a.cred:hover .cred-link{color:#e23b43;border-bottom-color:#e23b43}
  .fund{display:flex;gap:26px;align-items:flex-start;margin-top:30px;padding:22px 24px;
    border:1px solid var(--line);border-left:2px solid var(--red);border-radius:6px;background:#16181C}
  .fund-v{font-family:var(--mono);font-size:26px;color:var(--red);white-space:nowrap;line-height:1.2}
  .fund-p{color:var(--ash);font-size:14.5px;line-height:1.6;margin:0;max-width:78ch}
  @media(max-width:700px){.fund{flex-direction:column;gap:12px}}

/* A7: clientele and end users. Hairline cell grid, monochrome marks, same language as the rest of the site. */
  .ltile{height:92px;display:flex;align-items:center;justify-content:center;padding:0 18px;
    box-sizing:border-box;background:transparent}
  .ltile img{width:auto;height:auto;display:block;opacity:.68;transition:opacity .2s ease;max-width:82%}
  .ltile img.lg-wide{max-height:23px}
  .ltile img.lg-mid{max-height:30px}
  .ltile img.lg-sq{max-height:40px}
  .ltile img.lg-tall{max-height:48px}
  .ltile:hover img{opacity:1}
  .ltile.is-blank{pointer-events:none}

  .logos-band{padding-top:56px;padding-bottom:56px;overflow:hidden}
  .lmarq{overflow:hidden;margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
  .lmarq-b{border-top:0;margin-top:0}
  .lrow{display:flex;width:max-content}
  .lrow .ltile{flex:0 0 200px;width:200px;border-right:1px solid var(--line)}
  .lrow-a{animation:lscroll-a 46s linear infinite}
  .lrow-b{animation:lscroll-b 56s linear infinite}
  .lmarq:hover .lrow{animation-play-state:paused}
  @keyframes lscroll-a{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes lscroll-b{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  .lnote{font-family:var(--mono);font-size:10.5px;color:var(--ash);letter-spacing:.1em;text-transform:uppercase;margin-top:20px}
  @media(prefers-reduced-motion:reduce){.lrow{animation:none}.lmarq{overflow-x:auto}}

  .logos-static .lgroup{margin-top:32px}
  .lgl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
  /* flex, not grid: a short last row centres itself instead of leaving empty cells */
  .lgrid{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line)}
  .lgrid .ltile{flex:0 0 16.6667%;max-width:16.6667%;
    border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .lgrid .ltile:nth-child(6n+1){border-left:0}
  @media(max-width:960px){
    .lgrid .ltile{flex:0 0 25%;max-width:25%}
    .lgrid .ltile:nth-child(6n+1){border-left:1px solid var(--line)}
    .lgrid .ltile:nth-child(4n+1){border-left:0}
  }
  @media(max-width:640px){
    .lgrid .ltile{flex:0 0 33.3333%;max-width:33.3333%}
    .lgrid .ltile:nth-child(4n+1){border-left:1px solid var(--line)}
    .lgrid .ltile:nth-child(3n+1){border-left:0}
    .ltile{height:78px;padding:0 12px}
    .lrow .ltile{flex:0 0 150px;width:150px}
  }

/* A6: coverage chart */
  .mapstage{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;margin-top:38px}
  .mapwrap{position:relative;border:1px solid var(--line);border-radius:10px;background:#101216;overflow:hidden;padding:26px}
  .mapgrid{position:absolute;inset:0;pointer-events:none}
  .mapimg{width:100%;height:auto;display:block;position:relative;filter:drop-shadow(0 0 26px rgba(200,33,44,.16))}
  .mpin{position:absolute;display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(6px);animation:mpin-in .5s ease forwards}
  .mpin-1{left:24%;top:41.5%;animation-delay:.20s}
  .mpin-2{left:38.5%;top:72%;animation-delay:.50s}
  .mpin-3{left:79.5%;top:64.5%;animation-delay:.80s}
  .mpin-4{left:70%;top:79.5%;animation-delay:1.1s}
  @keyframes mpin-in{to{opacity:1;transform:translateY(0)}}
  .mdot{width:8px;height:8px;border-radius:50%;background:var(--red);position:relative;flex:0 0 auto;
    box-shadow:0 0 0 3px rgba(200,33,44,.18)}
  /* two staggered sonar rings, wider throw */
  .mdot::after,.mdot::before{content:"";position:absolute;inset:-9px;border:1px solid var(--red);
    border-radius:50%;animation:mping 3.4s cubic-bezier(.2,.6,.3,1) infinite;opacity:0}
  .mdot::before{animation-delay:1.7s}
  @keyframes mping{
    0%{transform:scale(.4);opacity:.85}
    45%{opacity:.35}
    100%{transform:scale(4.6);opacity:0}
  }
  .mnum{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;color:#fff;
    background:rgba(200,33,44,.92);border-radius:3px;padding:2px 6px}
  .mapkey{align-self:center}
  .mk-h{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);
    padding-bottom:12px;border-bottom:1px solid var(--line)}
  .mklist{list-style:none;margin:0;padding:0}
  .mklist li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
  .mki{font-family:var(--mono);font-size:11px;color:var(--red);padding-top:2px;flex:0 0 auto}
  .mklist b{display:block;font-family:var(--display);font-size:15px;letter-spacing:-.01em;margin-bottom:4px}
  .mklist span:not(.mki){display:block;color:var(--ash);font-size:13.5px;line-height:1.55}
  .mkfoot{display:flex;gap:34px;margin-top:22px}
  .mkf .v{font-family:var(--mono);font-size:26px;color:var(--red)}
  .mkf .k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ash);margin-top:4px}
  @media(max-width:960px){.mapstage{grid-template-columns:1fr;gap:28px}}
  @media(prefers-reduced-motion:reduce){.mpin{opacity:1;transform:none;animation:none}.mdot::after,.mdot::before{animation:none;opacity:.35;transform:scale(1.6)}}

/* certificate lightbox */
  .lbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
    background:rgba(6,7,9,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    opacity:0;pointer-events:none;transition:opacity .22s ease;padding:32px}
  .lbox.open{opacity:1;pointer-events:auto}
  .lbox-in{position:relative;max-width:min(760px,92vw);max-height:88vh;display:flex;flex-direction:column;
    transform:translateY(10px) scale(.985);transition:transform .22s ease}
  .lbox.open .lbox-in{transform:none}
  .lbox-img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;border-radius:4px;
    box-shadow:0 30px 70px -20px rgba(0,0,0,.8);background:#fff}
  .lbox-cap{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);
    margin-top:14px;text-align:center}
  .lbox-x{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;
    background:var(--red);color:#fff;border:0;cursor:pointer;font-size:17px;line-height:1;
    display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.45)}
  .lbox-x:hover{background:#e23b43}
  body.lbox-lock{overflow:hidden}
  @media(max-width:600px){.lbox{padding:18px}.lbox-x{top:-10px;right:-10px;width:32px;height:32px}}
  @media(prefers-reduced-motion:reduce){.lbox,.lbox-in{transition:none}}

/* ===== mobile navigation ===== */
  .navtoggle{display:none}
  @media(max-width:900px){
    .bar{padding:16px 20px}
    .bar .logo{position:relative;z-index:31}
    .navtoggle{display:flex;flex-direction:column;justify-content:center;gap:5px;
      width:44px;height:44px;padding:0 10px;position:relative;z-index:31;
      background:rgba(20,22,26,.6);border:1px solid var(--line);border-radius:6px;cursor:pointer;
      -webkit-tap-highlight-color:transparent}
    .navtoggle span{display:block;height:1.5px;width:100%;background:var(--bone);border-radius:2px;
      transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .18s ease}
    .bar.nav-open .navtoggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
    .bar.nav-open .navtoggle span:nth-child(2){opacity:0}
    .bar.nav-open .navtoggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

    .nav{position:fixed;left:0;right:0;top:0;min-height:100dvh;z-index:30;
      flex-direction:column;align-items:stretch;gap:0;
      padding:96px 20px 40px;
      background:rgba(9,10,12,.98);
      -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
      transform:translateY(-101%);visibility:hidden;
      transition:transform .34s cubic-bezier(.4,0,.2,1),visibility 0s linear .34s;
      overflow-y:auto}
    .bar.nav-open .nav{transform:none;visibility:visible;transition:transform .34s cubic-bezier(.4,0,.2,1),visibility 0s}
    .nav a:not(.btn){padding:19px 2px;border-bottom:1px solid var(--line);
      font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.01em;color:var(--bone)}
    .nav a.btn{margin-top:26px;justify-content:center;min-height:48px}
    body.nav-lock{overflow:hidden}
  }
  @media(prefers-reduced-motion:reduce){
    .nav{transition:none}.navtoggle span{transition:none}
  }

/* unmanned hero: left scrim so the headline sits clear of the vessel */
.phero-usv .pveil{background:linear-gradient(180deg,rgba(10,11,13,.70) 0%,rgba(10,11,13,.48) 42%,rgba(10,11,13,.92) 100%),linear-gradient(90deg,rgba(10,11,13,.88) 0%,rgba(10,11,13,.72) 30%,rgba(10,11,13,.34) 58%,rgba(10,11,13,.06) 82%,rgba(10,11,13,0) 100%)}
@media(max-width:900px){.phero-usv .pveil{background:linear-gradient(180deg,rgba(10,11,13,.80) 0%,rgba(10,11,13,.66) 42%,rgba(10,11,13,.94) 100%)}}

/* unmanned feature: two-image block */
.fpair{display:grid;gap:16px}
.ftile{margin:0}
.fcap{font-family:var(--mono);font-size:10.5px;line-height:1.5;color:var(--ash);letter-spacing:.05em;margin-top:9px}
.fimg-flat{aspect-ratio:16/9;background-color:#0E1116;background-size:contain;background-position:center}
.fimg-flat::after{display:none}
@media(max-width:820px){.fpair{gap:22px}}

/* section heading and its lead paragraph share one measure, so their right edges align */
h2.sec{max-width:52rem}
.lead{max-width:52rem}
.dive2-head .lead,.reel-head .lead{max-width:52rem}

/* capabilities depth section, mobile: a read-down list with a static depth rail, no scroll-jacking */
@media(max-width:820px){
  .asset{visibility:visible!important;filter:none!important;padding-left:60px;align-items:flex-start;gap:16px}
  .asset::before{content:attr(data-depth-label);position:absolute;left:0;top:2px;width:52px;
    font-family:var(--mono);font-size:11px;line-height:1.2;letter-spacing:.04em;color:var(--red)}
  .asset::after{content:"";position:absolute;left:21px;top:26px;bottom:-7vh;width:1px;
    background:linear-gradient(180deg,rgba(208,33,42,.55),rgba(208,33,42,.06))}
  .asset:last-child::after{display:none}
  .asset .lv-icon{width:64px;height:64px;border-radius:12px}
  .asset .lv-icon svg{width:32px;height:32px}
  .asset h3{font-size:21px}
  .asset p{font-size:14.5px}
}

/* capabilities depth section, mobile: kill the photo contrast problem and make the rail legible */
@media(max-width:820px){
  .dive2-dark{opacity:.86}
  .dive2-stage{background-position:center top}
  .dive2-head .lead{color:#c6c9ce}
  .asset{padding-left:72px}
  .asset::before{width:62px;top:0;font-size:13px;letter-spacing:.02em;color:var(--bone)}
  .asset::after{left:25px;top:28px;background:linear-gradient(180deg,rgba(208,33,42,.7),rgba(208,33,42,.08))}
  .asset .lv-d{font-size:12px}
}
/* phones: drop the decorative icon so the copy is not squeezed between rail and icon */
@media(max-width:640px){
  .asset .lv-icon{display:none}
  .asset{padding-left:64px}
  .asset .lv-txt{max-width:none}
}
