/* Layout and type follow anduril.com (black canvas, inset media, Helvetica Now Display).
   Helvetica Now is a licensed font, so the stack falls back to Helvetica Neue / Inter Tight. */
:root{
  --font:"Helvetica Now Display","Helvetica Neue",Helvetica,"Inter Tight",Arial,sans-serif;
  --black:#000;--white:#fff;--cream:#f0efea;--grey:#8f918f;--olive:#4f5443;--card:#4a4a4a;
  --pad:32px;--gap:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.label{font-size:12.2px;font-weight:500;letter-spacing:.04em;line-height:1.05;text-transform:uppercase}

/* Header */
.nav{position:sticky;top:0;z-index:20;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);background:var(--black)}
.logo{display:flex;align-items:center;gap:7px;font-weight:700;font-size:21px;letter-spacing:-.01em}
.logo svg{width:17px;height:21px}
.nav-mid{display:flex;gap:44px;font-size:15px}
.nav-end{display:flex;justify-content:flex-end;gap:40px;font-size:15px}
.nav a:hover{opacity:.6}
.nav-mid a[aria-current],.nav-end a[aria-current]{opacity:.6}

/* Media blocks */
.inset{padding:0 var(--pad)}
.media{position:relative;overflow:hidden;background:#111}
.media img{width:100%;height:100%;object-fit:cover}
.hero{height:calc(100vh - 92px);min-height:520px}
.hero h1{position:absolute;left:28px;bottom:26px;margin:0;font-weight:400;font-size:clamp(34px,4.4vw,64px);letter-spacing:-.02em;line-height:1.05;max-width:14ch}
.shade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.shade h1,.shade .tile-name{z-index:1}

/* Product tile grid (home) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);padding:var(--gap) var(--pad)}
.tile{position:relative;overflow:hidden;aspect-ratio:1/1;background:#111}
.tile.wide{grid-column:1/-1;aspect-ratio:auto;height:470px}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover img{transform:scale(1.03)}
.tile-name{position:absolute;left:18px;bottom:16px;font-size:24px;font-weight:500;letter-spacing:-.01em}

/* Grey rows section (Anduril "Arsenal" rows) */
.rows{background:var(--grey);color:#111;padding:40px var(--pad)}
.row{display:grid;grid-template-columns:1fr 1.37fr;gap:var(--pad);padding:32px 0;border-bottom:1px solid rgba(0,0,0,.25)}
.row:last-child{border-bottom:0}
.row h2{margin:0;font-weight:500;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.04em;line-height:1}
.row .left{display:flex;flex-direction:column;justify-content:space-between;min-height:180px}
.row .label{max-width:30ch}
.row .media{height:185px}

/* Cream text band */
.band{background:var(--cream);color:#111;padding:72px var(--pad)}
.band-head{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--pad);align-items:end;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,.35)}
.band h2{margin:0;font-weight:400;font-size:41px;letter-spacing:-.02em}
.band .more{font-size:15px;display:inline-flex;gap:10px;align-items:center}
.band-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);padding-top:32px}
.band-body p{margin:0;font-size:clamp(24px,2.3vw,34px);line-height:1.18;letter-spacing:-.02em;max-width:22ch}
.band-body .small{font-size:17px;line-height:1.3;letter-spacing:-.01em;max-width:46ch;color:#333}

/* Split panels (Anduril "PT 01/02") */
.split{display:grid;grid-template-columns:1fr 1fr}
.panel{padding:72px var(--pad) 72px}
.panel.olive{background:var(--olive)}
.panel.grey{background:var(--grey);color:#111}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:22px;border-bottom:1px solid currentColor;margin-bottom:22px}
.panel-head h3{margin:0;font-weight:400;font-size:30px;letter-spacing:-.02em}
.panel-head a{font-size:14px;opacity:.75}
.panel .media{height:300px}
.panel .num{font-size:clamp(48px,5vw,72px);letter-spacing:-.03em;text-align:right;margin-top:-46px;position:relative}

/* Product page */
.p-title{padding:110px var(--pad) 0}
.p-title h1{margin:0;font-weight:500;font-size:clamp(84px,13vw,190px);letter-spacing:-.05em;line-height:.9}
.p-intro{display:grid;grid-template-columns:200px 1fr auto;gap:36px;align-items:end;padding:56px var(--pad) 40px}
.p-intro .label{line-height:1.25}
.p-intro .tag{margin-top:24px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;letter-spacing:.06em}
.p-intro p.label{margin:0;max-width:52ch;line-height:1.3}
.arrow{width:22px;height:22px}
.p-media{height:82vh;min-height:460px}
.p-media+.p-media{margin-top:var(--gap)}
.configs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);padding:110px var(--pad) 40px}
.config{background:var(--cream);color:#111;display:flex;flex-direction:column}
.config-head{background:var(--card);color:#fff;padding:30px 32px 0;height:96px;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%);font-size:24px;font-weight:500;letter-spacing:-.01em;transition:background .3s,color .3s}
.config:hover .config-head{background:var(--cream);color:#111}
.config-img{height:300px;padding:10px 32px 0}
.config-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.specs{padding:24px 32px 34px;flex:1}
.spec{border-top:1px solid #777;padding:12px 0 14px}
.spec b{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.spec span{display:block;font-size:16px;color:#444;margin-top:2px}
.note{padding:0 var(--pad) 40px;color:#777;font-size:13px}
.take{position:relative;height:90vh;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.take img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.take h2{position:relative;margin:0;font-weight:700;font-size:clamp(54px,9.5vw,140px);letter-spacing:-.04em;text-transform:uppercase;text-align:center;line-height:.95}

/* Company page */
.c-rows{padding:20px var(--pad) 90px}
.c-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);padding:36px 0;border-top:1px solid #333}
.c-row h2{margin:0;font-weight:400;font-size:30px;letter-spacing:-.02em}
.c-row p{margin:0 0 14px;font-size:19px;line-height:1.35;color:#ccc;max-width:44ch}
.c-row a.big{font-size:30px;letter-spacing:-.02em}

/* Footer */
footer{padding:80px var(--pad) 60px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;row-gap:110px}
footer .logo{font-size:26px;align-self:start}
footer .logo svg{width:20px;height:25px}
footer h4{margin:0 0 30px;font-size:12.2px;font-weight:500;letter-spacing:.04em;color:#aaa;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;font-size:17px;line-height:1.65}
footer a:hover{opacity:.6}
footer .legal{grid-column:1/4;font-size:12.2px}
footer .legal b{display:block;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
footer .legal span{display:block;color:#aaa;line-height:1.5}
footer .mail{font-size:17px}

@media (max-width:900px){
  :root{--pad:16px;--gap:12px}
  .nav{grid-template-columns:auto 1fr;height:auto;padding-top:14px;padding-bottom:12px;row-gap:12px}
  .nav-mid{grid-column:1/-1;grid-row:2;gap:20px;font-size:14px;overflow-x:auto;white-space:nowrap}
  .nav-end a[href^="mailto"]{display:none}
  .nav-end{font-size:14px}
  .logo{font-size:18px}
  .hero{height:72vh}
  .tiles{grid-template-columns:1fr}
  .tile.wide{height:auto;aspect-ratio:1/1}
  .row,.band-head,.band-body,.split,.c-row{grid-template-columns:1fr}
  .row .left{min-height:0;gap:24px}
  .band-head{gap:14px}
  .configs{grid-template-columns:1fr;padding-top:70px}
  .p-title{padding-top:70px}
  .p-intro{grid-template-columns:1fr;gap:20px}
  .arrow{display:none}
  .p-media{height:60vh}
  footer{grid-template-columns:1fr 1fr;row-gap:50px}
  footer>.logo{grid-column:1/-1}
  footer .legal{grid-column:1/-1}
}
