
:root{--bg:#05090b;--cyan:#21d7ec;--text:#eef4f5;--muted:#9aabad;--line:#16353d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}
header{position:fixed;z-index:50;top:0;width:100%;height:64px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#05090bd9;backdrop-filter:blur(14px);border-bottom:1px solid #17343b}
.wordmark{font-weight:700;letter-spacing:.3em}nav{display:flex;gap:28px;font-size:10px;letter-spacing:.16em;color:#9dafb3}nav a:hover{color:var(--cyan)}
.eyebrow{color:var(--cyan);font-size:10px;letter-spacing:.3em;font-weight:700}.hero{min-height:92vh;padding:20vh 7vw 8vh;position:relative;background:radial-gradient(circle at 77% 37%,#123039,#05090b 45%)}.hero h1{font-size:clamp(62px,9vw,145px);line-height:.82;letter-spacing:-.055em;font-weight:500;margin:24px 0}.disciplines{font-size:clamp(12px,1.5vw,18px);letter-spacing:.16em;color:#bdc9cb}.flow{position:absolute;right:5vw;bottom:4vh;font:10px monospace;color:#6e858a;letter-spacing:.12em}
.intro,.software,.comfort,.systems,.constitution,.builders,.contact{padding:110px 7vw;border-top:1px solid var(--line)}h2{font-size:clamp(38px,5.3vw,78px);line-height:.98;letter-spacing:-.04em;font-weight:500;margin:22px 0}.intro>p:last-child,.copy p,.builders p{max-width:900px;color:#aebdc0;font-size:18px;line-height:1.7}
.rogue{position:relative;border-top:1px solid var(--line)}.rogue img{display:block;width:100%;max-height:900px;object-fit:cover}.rogue:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05090be6,transparent 42%)}.rogue .overlay{position:absolute;z-index:2;left:6vw;bottom:5vw}.rogue h2{font-size:clamp(36px,5vw,72px)}
.software{padding-bottom:0}.software .copy{max-width:1100px;margin-bottom:55px}.software>img{width:100%;display:block;border:1px solid #17434c}
.comfort{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center}.comfort>img{width:100%;display:block}.comfort h2{font-size:clamp(34px,4.5vw,66px)}
.systems{display:grid;grid-template-columns:.65fr 1.35fr;gap:6vw;align-items:center}.systems h2{font-size:clamp(34px,4.5vw,66px)}.vvi{display:grid;gap:18px}.vvi img{width:100%;display:block}.vvi .dims{max-width:650px;justify-self:end}
.punch{text-align:center;padding:145px 7vw;border-top:1px solid var(--line)}.punch p{font-size:clamp(28px,4.3vw,66px);line-height:1.05;margin:.85em 0}.punch em{font-style:normal;color:var(--cyan)}
.constitution{max-width:1250px;margin:auto}.constitution ol{padding-left:1.2em;font-size:clamp(22px,2.5vw,36px);line-height:1.85}.constitution li::marker{color:var(--cyan)}
.builders{max-width:1200px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.builders strong{display:block;font-size:clamp(24px,3vw,40px);line-height:1.2;margin:45px 0}.button{display:inline-block;margin-top:28px;padding:16px 20px;border:1px solid var(--cyan);color:var(--cyan);font-size:11px;letter-spacing:.16em}
.identity{border-top:1px solid var(--line);background:#020303;text-align:center}.identity img{width:100%;max-height:650px;object-fit:cover;object-position:center}
.contact{min-height:70vh;display:flex;flex-direction:column;justify-content:center}.contact>a{color:var(--cyan);font-size:14px}.contact footer{display:flex;justify-content:space-between;margin-top:100px;padding-top:24px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.15em;color:#718489}
@media(max-width:850px){nav{display:none}.comfort,.systems{grid-template-columns:1fr}.intro,.software,.comfort,.systems,.constitution,.builders,.contact{padding:80px 6vw}.vvi .dims{justify-self:start}.identity img{min-height:300px;object-fit:cover}.contact footer{flex-direction:column;gap:20px}}

/* v2.1 surgical image pass */
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090b 0%,rgba(5,9,11,.94) 35%,rgba(5,9,11,.42) 68%,rgba(5,9,11,.70) 100%);z-index:-1}
.hero-identity{position:absolute;z-index:-2;right:3.5vw;top:11vh;width:min(58vw,1100px);opacity:.72}
.hero-identity img{display:block;width:100%;height:auto;filter:saturate(.9) contrast(1.05)}
.systems{grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr)}
.vvi{display:grid;grid-template-columns:minmax(0,560px) minmax(120px,190px);gap:24px;align-items:end;justify-content:end}
.vvi .vvi-main{width:100%;max-width:560px;height:auto;justify-self:end}
.vvi .dims{width:100%;max-width:190px;height:auto;justify-self:end}
@media(max-width:850px){
  .hero-identity{right:-12vw;top:18vh;width:105vw;opacity:.34}
  .systems{grid-template-columns:1fr}
  .vvi{grid-template-columns:minmax(0,1fr) 120px;justify-content:start}
  .vvi .vvi-main{max-width:520px;justify-self:start}
  .vvi .dims{max-width:120px}
}

/* v2.2 requested visual adjustments */
.hero-identity{
  right:4vw;
  top:5.5vh;
  width:min(54vw,980px);
  opacity:.31;
  filter:blur(1.4px);
}
.hero-identity:after{
  content:"";position:absolute;inset:-2px;
  background:linear-gradient(90deg,#05090b 0%,rgba(5,9,11,.72) 20%,rgba(5,9,11,.12) 58%,rgba(5,9,11,.36) 100%);
}
.hero-copy{position:relative;z-index:3;max-width:68vw}
.systems{grid-template-columns:minmax(360px,1fr) minmax(430px,.82fr);gap:5vw}
.vvi{grid-template-columns:minmax(0,430px) minmax(90px,145px);gap:18px}
.vvi .vvi-main{max-width:430px}
.vvi .dims{max-width:145px}
.landing-exterior{position:relative;border-top:1px solid var(--line);background:#020405}
.landing-exterior img{display:block;width:100%;max-height:900px;object-fit:cover;object-position:center}
.landing-exterior:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,9,11,.84),transparent 44%)}
.landing-exterior>div{position:absolute;z-index:2;left:6vw;bottom:4vw}
.landing-exterior h2{font-size:clamp(34px,4.6vw,68px);margin:12px 0}
@media(max-width:850px){
 .hero-identity{right:-10vw;top:10vh;width:110vw;opacity:.22}
 .hero-copy{max-width:100%}
 .systems{grid-template-columns:1fr}
 .vvi{grid-template-columns:minmax(0,1fr) 105px}
 .vvi .vvi-main{max-width:430px}
 .vvi .dims{max-width:105px}
 .landing-exterior img{height:65vh;object-fit:cover}
}

/* v2.3 Hull Lab quality treatment */
.software-bg{
  position:relative;
  min-height:min(72vw,820px);
  padding:0;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.software-bg>img{
  position:absolute;
  inset:-5px;
  width:calc(100% + 10px);
  height:calc(100% + 10px);
  object-fit:cover;
  border:0;
  filter:blur(1.8px) brightness(.46) contrast(.90) saturate(.78);
  transform:scale(1.008);
}
.software-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,9,11,.94) 0%,rgba(5,9,11,.78) 39%,rgba(5,9,11,.35) 72%,rgba(5,9,11,.55) 100%),
    rgba(5,28,33,.10);
}
.software-bg .copy{
  position:relative;
  z-index:2;
  max-width:850px;
  margin:0;
  padding:8vw 7vw;
  text-shadow:0 2px 20px rgba(0,0,0,.55);
}
@media(max-width:850px){
 .software-bg{min-height:720px}
 .software-bg .copy{padding:90px 6vw}
 .software-bg>img{filter:blur(1.5px) brightness(.40) contrast(.90) saturate(.72)}
}

/* v2.4 composition corrections */

/* 1 — identity larger, higher, sharp; no blur */
.hero-identity{
  right:1.5vw !important;
  top:1.5vh !important;
  width:min(64vw,1220px) !important;
  opacity:.44 !important;
  filter:none !important;
}
.hero-identity img{filter:none !important}
.hero-identity:after{
  background:linear-gradient(90deg,#05090b 0%,rgba(5,9,11,.70) 19%,rgba(5,9,11,.10) 55%,rgba(5,9,11,.24) 100%) !important;
}

/* 2 — Hull Lab still atmospheric, but clearly visible */
.software-bg>img{
  filter:blur(.75px) brightness(.68) contrast(.96) saturate(.88) !important;
}
.software-bg:after{
  background:linear-gradient(90deg,rgba(5,9,11,.88) 0%,rgba(5,9,11,.62) 35%,rgba(5,9,11,.20) 72%,rgba(5,9,11,.32) 100%) !important;
}

/* 3 — landing craft text outside the image */
.landing-copy{
  padding:85px 7vw 55px;
  border-top:1px solid var(--line);
}
.landing-copy h2{
  max-width:1100px;
  font-size:clamp(38px,5vw,72px);
  margin:16px 0 0;
}
.landing-exterior>div{display:none !important}
.landing-exterior:after{background:linear-gradient(0deg,rgba(5,9,11,.24),transparent 35%) !important}

/* exterior + interior get comparable visual weight */
.landing-exterior img{
  height:min(66vw,860px) !important;
  max-height:none !important;
  object-fit:cover !important;
}
.comfort{
  min-height:760px;
  grid-template-columns:1.35fr .65fr !important;
}
.comfort>img{
  height:100%;
  min-height:680px;
  object-fit:cover;
}

/* 4 — propulsion pair centered and lightly softened */
.systems{
  grid-template-columns:1fr !important;
  text-align:center;
}
.systems .copy{
  max-width:1050px;
  margin:0 auto 52px;
}
.systems .copy p{margin-left:auto;margin-right:auto}
.vvi{
  grid-template-columns:minmax(0,430px) minmax(90px,145px) !important;
  justify-content:center !important;
  align-items:center !important;
  gap:22px !important;
}
.vvi .vvi-main{
  max-width:430px !important;
  justify-self:center !important;
  filter:blur(.45px);
}
.vvi .dims{
  max-width:145px !important;
  justify-self:center !important;
  filter:blur(.3px);
}

/* 5 — manifesto + constitution beside each other; constitution magenta */
.beliefs{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:0;
  border-top:1px solid var(--line);
}
.beliefs .punch{
  border-top:0;
  border-right:1px solid var(--line);
  padding:100px 5vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.beliefs .punch p{
  font-size:clamp(24px,3vw,48px);
}
.beliefs .constitution{
  border:0;
  margin:0;
  max-width:none;
  padding:100px 5vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.beliefs .constitution .eyebrow{color:#d23bc2}
.beliefs .constitution li::marker{color:#d23bc2}

@media(max-width:850px){
  .hero-identity{right:-25vw !important;top:8vh !important;width:135vw !important;opacity:.28 !important}
  .comfort{grid-template-columns:1fr !important;min-height:0}
  .comfort>img{min-height:0;height:auto}
  .beliefs{grid-template-columns:1fr}
  .beliefs .punch{border-right:0;border-bottom:1px solid var(--line)}
  .vvi{grid-template-columns:minmax(0,1fr) 105px !important}
}

/* v2.5 requested sequencing */
.landing-exterior img{
  height:min(78vw,980px) !important;
  object-fit:cover !important;
  object-position:center center !important;
}
/* Hull Lab: visible on right, protected only behind copy on left */
.software-bg>img{
  filter:blur(.2px) brightness(.86) contrast(1.00) saturate(.94) !important;
}
.software-bg:after{
  background:linear-gradient(90deg,
    rgba(5,9,11,.94) 0%,
    rgba(5,9,11,.82) 20%,
    rgba(5,9,11,.48) 38%,
    rgba(5,9,11,.10) 58%,
    rgba(5,9,11,.02) 100%) !important;
}

/* v2.6 — actual transparent hero symbol + visible Hull Lab */

/* The source asset is now transparent: stop treating it like a poster. */
.hero-identity{
  right:3.5vw !important;
  top:8vh !important;
  width:min(48vw,900px) !important;
  opacity:.78 !important;
  filter:none !important;
}
.hero-identity img{
  width:100% !important;
  height:auto !important;
  filter:none !important;
}
.hero-identity:after{display:none !important}

/* Hull Lab: show the actual interface. Only protect copy on far left. */
.software-bg>img{
  filter:none !important;
  opacity:.90 !important;
}
.software-bg:after{
  background:linear-gradient(90deg,
    rgba(5,9,11,.92) 0%,
    rgba(5,9,11,.72) 16%,
    rgba(5,9,11,.36) 28%,
    rgba(5,9,11,.08) 40%,
    rgba(5,9,11,0) 52%) !important;
}
.software-bg .copy{
  max-width:560px !important;
}
@media(max-width:850px){
  .hero-identity{
    right:-12vw !important;
    top:14vh !important;
    width:92vw !important;
    opacity:.48 !important;
  }
  .software-bg>img{opacity:.82 !important}
  .software-bg:after{
    background:linear-gradient(90deg,rgba(5,9,11,.94) 0%,rgba(5,9,11,.65) 45%,rgba(5,9,11,.12) 78%) !important;
  }
}

/* v2.7 — rebalance hero logo vs Hull Lab */

/* Hero symbol: larger, high right, sharp */
.hero-identity{
  right:1.5vw !important;
  top:3.5vh !important;
  width:min(59vw,1240px) !important;
  opacity:.82 !important;
  filter:none !important;
}
.hero-identity img{
  width:100% !important;
  height:auto !important;
  filter:none !important;
}
.hero-identity:after{display:none !important}

/* Hull Lab: restore restrained section size; improve visibility without enlarging it */
.software-bg{
  min-height:min(58vw,700px) !important;
}
.software-bg>img{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  object-fit:cover !important;
  filter:none !important;
  opacity:.82 !important;
}
.software-bg:after{
  background:linear-gradient(90deg,
    rgba(5,9,11,.93) 0%,
    rgba(5,9,11,.73) 17%,
    rgba(5,9,11,.36) 29%,
    rgba(5,9,11,.08) 42%,
    rgba(5,9,11,0) 54%) !important;
}
.software-bg .copy{
  max-width:560px !important;
  padding:7vw !important;
}
@media(max-width:850px){
  .hero-identity{
    right:-18vw !important;
    top:10vh !important;
    width:118vw !important;
    opacity:.48 !important;
  }
  .software-bg{min-height:650px !important}
}

/* v2.8 FINAL — Hull Lab restrained, no zoom/crop */
.software-bg{
  min-height:580px !important;
  height:580px !important;
  overflow:hidden !important;
}
.software-bg>img{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  opacity:.86 !important;
  background:#05090b;
}
.software-bg:after{
  background:linear-gradient(90deg,
    rgba(5,9,11,.95) 0%,
    rgba(5,9,11,.82) 18%,
    rgba(5,9,11,.42) 32%,
    rgba(5,9,11,.10) 45%,
    rgba(5,9,11,0) 58%) !important;
}
.software-bg .copy{
  max-width:540px !important;
  width:540px !important;
  padding:70px 0 70px 7vw !important;
}
.software-bg .copy h2{
  font-size:clamp(38px,3.8vw,60px) !important;
  line-height:.98 !important;
}
.software-bg .copy p{
  max-width:500px !important;
}
@media(max-width:850px){
  .software-bg{
    min-height:620px !important;
    height:620px !important;
  }
  .software-bg .copy{
    width:auto !important;
    max-width:88vw !important;
    padding:70px 6vw !important;
  }
  .software-bg>img{
    object-fit:cover !important;
    opacity:.62 !important;
  }
}
