/*
  EXIT homepage / system identity v28
  The hero is a layered operating field: evidence -> control axis -> ordered space.
  No flattened hero artwork. All copy, navigation, rails and evidence are live DOM.
*/
.home{
  --portal-ink:#090a09;
  --portal-charcoal:#121311;
  --portal-graphite:#1a1b18;
  --portal-paper:#e8e1d5;
  --portal-muted:rgba(232,225,213,.66);
  --portal-faint:rgba(232,225,213,.36);
  --portal-rule:rgba(232,225,213,.15);
  --portal-amber:#c9912e;
  --portal-amber-soft:rgba(201,145,46,.44);
  --seam-x:46.3%;
  min-height:100vh;
  min-height:100svh;
  overflow:hidden;
  background:var(--portal-ink);
}

.home main{
  height:100vh;
  height:100svh;
}

.home .site-header.portal-header{
  position:absolute;
  inset:0 0 auto;
  z-index:20;
  height:96px;
  border:0;
  background:linear-gradient(180deg,rgba(4,5,4,.72),rgba(4,5,4,.18) 76%,transparent);
}

.portal-header-inner{
  position:relative;
  z-index:2;
  height:96px;
  width:calc(100% - 2 * clamp(28px,3.1vw,58px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto minmax(300px,1fr);
  align-items:center;
  gap:38px;
}

.portal-wordmark{
  justify-self:start;
  display:inline-flex;
  align-items:baseline;
  gap:16px;
  text-decoration:none;
  white-space:nowrap;
  color:var(--portal-paper);
  font-family:Iowan Old Style,Baskerville,Times New Roman,serif;
  line-height:1;
  letter-spacing:.18em;
}

.portal-wordmark-exit{
  color:var(--portal-amber);
  font-size:22px;
}

.portal-wordmark-framework{
  font-size:19px;
}

.portal-nav{
  display:flex;
  align-items:center;
  gap:clamp(24px,2.6vw,46px);
}

.portal-nav a{
  color:rgba(232,225,213,.84);
  font:13px/1 var(--mono);
  letter-spacing:.02em;
  text-decoration:none;
  text-transform:none;
  transition:color .18s ease;
}

.portal-nav a:hover{color:var(--portal-paper)}

.portal-header-meta{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--portal-faint);
  font:9px/1 var(--mono);
  letter-spacing:.25em;
  white-space:nowrap;
}

.portal-header-meta>i{
  width:64px;
  height:1px;
  background:rgba(232,225,213,.2);
}

.portal-menu-toggle{
  width:auto;
  height:44px;
  padding:0;
  display:flex;
  align-items:center;
  gap:12px;
  border:0;
  background:transparent;
  color:var(--portal-paper);
  font:9px/1 var(--mono);
  letter-spacing:.14em;
}

.portal-menu-toggle>b{
  width:22px;
  display:grid;
  gap:6px;
}

.portal-menu-toggle>b i{
  display:block;
  width:22px;
  height:1px;
  background:currentColor;
}

.home .portal-mobile-menu{
  position:absolute;
  z-index:30;
  top:78px;
  right:clamp(24px,3vw,56px);
  width:min(360px,calc(100vw - 48px));
  padding:18px 22px 22px;
  background:rgba(9,10,9,.96);
  border:1px solid rgba(232,225,213,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 16px;
}

.home .portal-mobile-menu[hidden]{display:none}

.home .portal-mobile-menu a{
  border:0;
  border-bottom:1px solid rgba(232,225,213,.12);
  padding:12px 0;
  margin:0;
  color:var(--portal-muted);
  text-decoration:none;
  font:10px/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.portal-hero{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  height:100vh;
  height:100svh;
  overflow:hidden;
  background:
    radial-gradient(circle at 60% 42%,rgba(201,145,46,.035),transparent 24%),
    linear-gradient(90deg,#080908 0 48%,#090a09 56% 100%);
  color:var(--portal-paper);
}

.portal-grid{
  position:absolute;
  inset:0;
  z-index:-5;
  opacity:.28;
  background-image:
    linear-gradient(rgba(232,225,213,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,225,213,.045) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,#000 0 82%,transparent);
}

.portal-grid::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(201,145,46,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,145,46,.04) 1px,transparent 1px);
  background-size:216px 216px;
}

.portal-vignette{
  position:absolute;
  inset:0;
  z-index:12;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.34),transparent 17%,transparent 73%,rgba(0,0,0,.58)),
    linear-gradient(90deg,rgba(0,0,0,.04),transparent 42%,rgba(0,0,0,.18));
  box-shadow:inset 0 0 180px rgba(0,0,0,.42);
}

.portal-evidence-field{
  position:absolute;
  z-index:-2;
  inset:92px calc(100% - var(--seam-x)) 104px 0;
  overflow:hidden;
  border-right:1px solid rgba(232,225,213,.09);
  background:
    linear-gradient(90deg,rgba(4,5,4,.22),transparent 22%,rgba(4,5,4,.08)),
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(232,225,213,.025) 32px),
    #0b0c0b;
  filter:saturate(.72);
}

.portal-evidence-field::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.8;
  background:
    radial-gradient(circle at 24% 32%,rgba(232,225,213,.06),transparent 18%),
    radial-gradient(circle at 72% 68%,rgba(201,145,46,.08),transparent 16%),
    linear-gradient(115deg,transparent 0 52%,rgba(232,225,213,.025) 52.2%,transparent 52.5%);
}

.portal-evidence-field::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.04) 0 74%,rgba(0,0,0,.42) 100%);
  box-shadow:inset -80px 0 100px rgba(0,0,0,.28);
}

.evidence-fragment{
  position:absolute;
  z-index:2;
  border:1px solid rgba(232,225,213,.11);
  background:rgba(13,14,13,.76);
  color:rgba(232,225,213,.56);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  font:8px/1.65 var(--mono);
  letter-spacing:.1em;
}

.evidence-fragment::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.025),transparent 38%,rgba(201,145,46,.025));
}

.evidence-signal{
  left:4.2%;
  top:8%;
  width:21%;
  padding:16px 18px;
}

.evidence-signal span,.evidence-signal strong{
  display:block;
  font-weight:400;
}

.evidence-signal strong{
  color:var(--portal-amber);
  margin-top:2px;
}

.evidence-signal strong::after{
  content:"";
  display:block;
  width:22px;
  margin-top:7px;
  border-top:2px solid var(--portal-amber);
}

.evidence-log{
  left:7%;
  bottom:22%;
  width:24%;
  padding:15px 18px;
}

.evidence-log span{display:block}

.evidence-checks{
  left:38%;
  top:28%;
  width:25%;
  padding:14px 16px;
}

.evidence-checks span{
  display:flex;
  gap:8px;
  align-items:center;
}

.evidence-checks i{
  width:9px;
  height:9px;
  border:1px solid rgba(232,225,213,.24);
}

.evidence-note{
  background:rgba(224,215,197,.72);
  color:#171815;
  border-color:rgba(255,255,255,.16);
  font-family:Iowan Old Style,Baskerville,Georgia,serif;
  font-size:15px;
  line-height:1.2;
  letter-spacing:.01em;
  transform:rotate(-2.2deg);
}

.evidence-note em{font-style:italic}

.evidence-note-a{
  left:27%;
  top:20%;
  padding:16px 17px 18px;
}

.evidence-note-b{
  left:68%;
  bottom:20%;
  padding:15px 17px 17px;
  transform:rotate(1.4deg);
}

.evidence-system{
  left:3.2%;
  bottom:5%;
  width:29%;
  border:0;
  border-left:1px solid rgba(232,225,213,.22);
  background:rgba(8,9,8,.52);
  padding:12px 15px;
}

.evidence-system span,.evidence-system strong{
  display:block;
  font-weight:400;
}

.evidence-system strong{color:var(--portal-amber)}

.evidence-chart{
  left:37%;
  bottom:7%;
  width:30%;
  height:16%;
  padding:9px;
  opacity:.7;
}

.evidence-chart svg{width:100%;height:100%}
.evidence-chart path{stroke:rgba(232,225,213,.5);stroke-width:2}

.evidence-map{
  left:64%;
  top:45%;
  width:27%;
  height:22%;
  overflow:hidden;
  background:
    linear-gradient(32deg,transparent 48%,rgba(232,225,213,.06) 49% 50%,transparent 51%),
    linear-gradient(-25deg,transparent 48%,rgba(232,225,213,.045) 49% 50%,transparent 51%),
    rgba(11,12,11,.78);
}

.evidence-map small{
  position:absolute;
  left:11px;
  bottom:9px;
  font:6px/1.3 var(--mono);
  letter-spacing:.12em;
  color:rgba(232,225,213,.38);
}

.map-node{
  position:absolute;
  width:7px;
  height:7px;
  border:1px solid var(--portal-amber);
  border-radius:50%;
}

.node-a{left:24%;top:30%}
.node-b{left:52%;top:53%}
.node-c{left:77%;top:24%}

.map-line{
  position:absolute;
  height:1px;
  transform-origin:left center;
  background:rgba(201,145,46,.55);
}

.line-a{left:25%;top:31%;width:35%;transform:rotate(31deg)}
.line-b{left:53%;top:54%;width:34%;transform:rotate(-42deg)}
.line-c{left:25%;top:31%;width:58%;transform:rotate(-5deg);opacity:.4}

.evidence-photo{
  position:absolute;
  z-index:1;
  border:1px solid rgba(232,225,213,.08);
  background:
    linear-gradient(135deg,rgba(232,225,213,.1),transparent 36%),
    repeating-linear-gradient(90deg,rgba(232,225,213,.025) 0 1px,transparent 1px 6px),
    #141512;
  opacity:.76;
}

.evidence-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 46% 36%,rgba(232,225,213,.16) 0 8%,transparent 9%),
    radial-gradient(ellipse at 46% 48%,rgba(232,225,213,.1) 0 15%,transparent 16%);
  filter:blur(.5px);
}

.photo-a{left:19%;top:3%;width:25%;height:23%;transform:rotate(.7deg)}
.photo-b{left:2%;top:35%;width:30%;height:24%;transform:rotate(-.5deg)}
.photo-c{left:50%;top:5%;width:32%;height:25%;transform:rotate(-1deg)}

.evidence-scratches{
  position:absolute;
  inset:0;
  z-index:4;
  opacity:.22;
  background:
    repeating-linear-gradient(93deg,transparent 0 71px,rgba(232,225,213,.07) 72px,transparent 73px 116px),
    repeating-linear-gradient(2deg,transparent 0 86px,rgba(232,225,213,.04) 87px,transparent 88px 140px);
  mix-blend-mode:screen;
}

.portal-control-axis{
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:var(--seam-x);
  width:2px;
  transform:translateX(-1px);
  pointer-events:none;
}

.axis-core{
  position:absolute;
  inset:0;
  width:2px;
  background:linear-gradient(
    180deg,
    rgba(201,145,46,.24) 0%,
    rgba(229,182,93,.82) 12%,
    #f2d395 42%,
    #c9912e 76%,
    rgba(201,145,46,.34) 100%
  );
  box-shadow:0 0 6px rgba(236,186,87,.45);
}

.axis-glow{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:46px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,145,46,.15),transparent);
  filter:blur(10px);
}

.portal-control-axis::after{
  content:"";
  position:absolute;
  top:12%;
  bottom:7%;
  left:50%;
  width:9px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(255,218,142,.22) 25%,rgba(201,145,46,.22) 70%,transparent);
  filter:blur(5px);
  animation:axis-breathe 8s ease-in-out infinite;
}

.portal-subject{
  position:absolute;
  z-index:7;
  left:var(--seam-x);
  bottom:14.8%;
  width:clamp(64px,5.9vw,102px);
  transform:translateX(-48%);
  color:#080908;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.68));
  pointer-events:none;
}

.portal-subject svg{
  width:100%;
  height:auto;
  overflow:visible;
  fill:#0a0a09;
  stroke:rgba(232,225,213,.08);
  stroke-width:1.2;
}

.portal-subject .subject-pack{
  fill:#11120f;
  stroke:rgba(232,225,213,.09);
}

.portal-subject .subject-strap{
  fill:none;
  stroke:rgba(232,225,213,.13);
  stroke-width:4;
}

.portal-copy{
  position:absolute;
  z-index:8;
  left:57.1%;
  top:50%;
  width:min(39%,720px);
  transform:translateY(-50%);
}

.portal-eyebrow{
  margin:0 0 24px;
  color:rgba(232,225,213,.76);
  font:12px/1 var(--mono);
  letter-spacing:.34em;
}

.portal-hero-title{
  max-width:none;
  margin:0;
  color:var(--portal-paper);
  font-family:Iowan Old Style,Baskerville,Georgia,Times New Roman,serif;
  font-size:clamp(58px,5.45vw,102px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.055em;
  text-wrap:initial;
}

.portal-hero-title span,.portal-hero-title em{display:block}

.portal-hero-title em{
  margin-top:.05em;
  color:#e0a944;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.045em;
}

.portal-hero-lead{
  margin:27px 0 0;
  max-width:650px;
  color:rgba(232,225,213,.76);
  font-family:Iowan Old Style,Baskerville,Georgia,serif;
  font-size:clamp(17px,1.28vw,23px);
  line-height:1.45;
  letter-spacing:.004em;
}

.portal-hero-lead strong{
  color:rgba(232,225,213,.9);
  font-weight:400;
}

.portal-hero-actions{
  position:static;
  width:auto;
  transform:none;
  margin-top:31px;
  display:flex;
  align-items:center;
  gap:16px;
}

.portal-cta{
  min-height:58px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(232,225,213,.26);
  color:rgba(232,225,213,.88);
  background:rgba(9,10,9,.32);
  font-family:Iowan Old Style,Baskerville,Georgia,serif;
  font-size:15px;
  line-height:1;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease;
}

.portal-cta-primary{
  border-color:rgba(232,225,213,.55);
  background:var(--portal-paper);
  color:#10110f;
}

.portal-cta:hover{
  transform:translateY(-1px);
  border-color:rgba(232,225,213,.65);
  color:var(--portal-paper);
}

.portal-cta-primary:hover{
  border-color:var(--portal-amber);
  background:#d8b066;
  color:#11120f;
}

.portal-side-notes{
  position:absolute;
  z-index:7;
  top:15%;
  right:2.9%;
  bottom:20%;
  width:94px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  pointer-events:none;
}

.portal-side-notes div{
  padding-left:13px;
  border-left:1px solid rgba(232,225,213,.17);
  color:rgba(232,225,213,.42);
  font:7px/1.75 var(--mono);
  letter-spacing:.16em;
}

.portal-side-notes span{display:block}

.portal-side-notes i{
  display:block;
  width:16px;
  margin-top:9px;
  border-top:2px solid var(--portal-amber);
}

.portal-stage-rail{
  position:absolute;
  z-index:10;
  left:4.2%;
  right:5.4%;
  bottom:87px;
  height:44px;
  color:var(--portal-amber);
  font:9px/1.2 var(--mono);
  letter-spacing:.11em;
  pointer-events:none;
}

.stage-line{
  position:absolute;
  left:2.7%;
  right:1.2%;
  top:16px;
  height:1px;
  background:linear-gradient(90deg,rgba(201,145,46,.45),rgba(201,145,46,.92) 45%,rgba(201,145,46,.58));
}

.stage-line i{
  position:absolute;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-3px;
  border-radius:50%;
  background:#d5a548;
  box-shadow:0 0 9px rgba(201,145,46,.25);
}

.stage-line i:nth-child(1){left:0}
.stage-line i:nth-child(2){left:50%}
.stage-line i:nth-child(3){right:0}

.stage-label{
  position:absolute;
  top:0;
  display:grid;
  gap:5px;
}

.stage-label strong{font-weight:400}
.stage-label span{font-size:8px}
.stage-chaos{left:0}
.stage-conviction{left:50%;transform:translateX(-50%)}
.stage-control{right:0;text-align:right}

.portal-principles{
  position:absolute;
  z-index:10;
  left:0;
  right:0;
  bottom:0;
  height:72px;
  border-top:1px solid rgba(232,225,213,.14);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  background:rgba(5,6,5,.42);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.portal-principles span{
  height:31px;
  padding:5px 32px;
  display:flex;
  align-items:center;
  gap:24px;
  border-right:1px solid rgba(232,225,213,.14);
  color:rgba(232,225,213,.82);
  font-family:Iowan Old Style,Baskerville,Georgia,serif;
  font-size:14px;
  line-height:1.3;
  white-space:nowrap;
}

.portal-principles span:last-child{border-right:0}

.portal-principles b{
  color:rgba(232,225,213,.45);
  font:8px/1 var(--mono);
  font-weight:400;
}

@keyframes axis-breathe{
  0%,100%{opacity:.54;transform:translateX(-50%) scaleX(.8)}
  50%{opacity:.9;transform:translateX(-50%) scaleX(1.2)}
}

@media(max-width:1180px){
  .home{--seam-x:45%}
  .portal-header-inner{grid-template-columns:1fr auto;gap:24px}
  .portal-nav{display:none}
  .portal-header-meta{justify-self:end}
  .portal-copy{left:53.5%;width:41.5%}
  .portal-hero-title{font-size:clamp(54px,6.1vw,78px)}
  .portal-side-notes{display:none}
  .portal-principles span{padding-inline:20px;gap:14px;font-size:12px}
}

@media(max-width:899px){
  .home{
    --seam-x:58%;
    min-height:100svh;
    overflow:hidden;
  }

  .home main{height:100svh}

  .home .site-header.portal-header{
    height:80px;
    background:linear-gradient(180deg,rgba(5,6,5,.92),rgba(5,6,5,.32) 72%,transparent);
  }

  .portal-header-inner{
    height:80px;
    width:calc(100% - 40px);
    grid-template-columns:1fr auto;
  }

  .portal-wordmark{gap:9px;letter-spacing:.14em}
  .portal-wordmark-exit{font-size:17px}
  .portal-wordmark-framework{font-size:13px}
  .portal-header-meta>span,.portal-header-meta>i,.portal-menu-toggle>span{display:none}
  .portal-menu-toggle{width:38px;height:38px;justify-content:flex-end}
  .portal-menu-toggle>b{width:24px}
  .portal-menu-toggle>b i{width:24px}
  .portal-mobile-menu{top:66px;right:20px}

  .portal-hero{
    height:100svh;
    min-height:100svh;
    background:
      radial-gradient(circle at 58% 32%,rgba(201,145,46,.06),transparent 25%),
      linear-gradient(180deg,#090a09 0 100%);
  }

  .portal-grid{
    opacity:.2;
    background-size:42px 42px;
    mask-image:linear-gradient(180deg,#000 0 80%,transparent);
  }

  .portal-evidence-field{
    inset:76px 0 auto 0;
    height:37%;
    border-right:0;
    border-bottom:1px solid rgba(232,225,213,.08);
    opacity:.8;
    mask-image:linear-gradient(180deg,#000 0 68%,transparent 100%);
  }

  .evidence-signal{left:4%;top:10%;width:34%;padding:12px;font-size:6px}
  .evidence-log{left:5%;bottom:10%;width:34%;padding:10px;font-size:6px}
  .evidence-checks{left:40%;top:18%;width:28%;padding:9px;font-size:6px}
  .evidence-note{font-size:10px}
  .evidence-note-a{left:61%;top:8%;padding:10px}
  .evidence-note-b{display:none}
  .evidence-system{left:64%;bottom:8%;width:31%;font-size:5.5px}
  .evidence-chart{left:40%;bottom:4%;width:22%;height:26%}
  .evidence-map{display:none}
  .photo-a{left:20%;top:0;width:25%;height:36%}
  .photo-b{left:1%;top:45%;width:27%;height:38%}
  .photo-c{left:69%;top:34%;width:29%;height:35%}

  .portal-control-axis{
    left:var(--seam-x);
  }

  .axis-glow{width:30px}

  .portal-subject{
    left:var(--seam-x);
    bottom:auto;
    top:25%;
    width:clamp(46px,13vw,68px);
  }

  .portal-copy{
    left:20px;
    right:20px;
    top:44%;
    width:auto;
    transform:none;
  }

  .portal-eyebrow{
    margin-bottom:14px;
    font-size:8px;
    letter-spacing:.3em;
  }

  .portal-hero-title{
    font-size:clamp(43px,12.4vw,66px);
    line-height:.92;
    letter-spacing:-.055em;
  }

  .portal-hero-title em{margin-top:.07em}

  .portal-hero-lead{
    margin-top:18px;
    font-size:clamp(14px,3.8vw,18px);
    line-height:1.38;
  }

  .portal-hero-actions{
    margin-top:20px;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    width:min(100%,430px);
  }

  .portal-cta{
    width:100%;
    min-height:50px;
    padding:0 17px;
    font-size:13px;
  }

  .portal-stage-rail{
    left:20px;
    right:20px;
    bottom:22px;
    height:38px;
    font-size:7px;
  }

  .stage-line{top:13px}
  .stage-label span{font-size:6px}
  .portal-principles{display:none}
  .portal-side-notes{display:none}
}

@media(max-width:520px){
  .portal-wordmark-framework{display:none}
  .portal-copy{top:43%}
  .portal-hero-title{font-size:clamp(39px,12.8vw,56px)}
  .portal-hero-lead{max-width:360px}
  .portal-stage-rail{bottom:max(16px,env(safe-area-inset-bottom))}
}

@media(max-height:760px) and (max-width:899px){
  .portal-evidence-field{height:32%}
  .portal-subject{top:22%;width:45px}
  .portal-copy{top:36%}
  .portal-eyebrow{margin-bottom:10px}
  .portal-hero-title{font-size:clamp(36px,10vw,50px)}
  .portal-hero-lead{margin-top:12px;font-size:13px}
  .portal-hero-actions{margin-top:14px;grid-template-columns:1fr 1fr}
  .portal-cta{min-height:44px;font-size:11px}
}

@media(prefers-reduced-motion:reduce){
  .portal-control-axis::after{animation:none}
  .portal-cta{transition:none}
}


/* v29 fidelity patch: restore photographic materiality while keeping UI/system layers live. */
.home{--seam-x:46.1%;}
.portal-scene-art{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:-8%;
  width:108%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.72) contrast(1.06) brightness(.72);
  pointer-events:none;
  user-select:none;
}
.portal-scene-mask{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,6,5,.20) 0 30%,transparent 39%,rgba(9,10,9,.08) 43%,rgba(9,10,9,.54) 49%,rgba(9,10,9,.94) 56%,#090a09 63% 100%),
    linear-gradient(180deg,rgba(9,10,9,.38) 0 9%,transparent 18% 74%,rgba(9,10,9,.48) 91% 100%);
}
.portal-grid{z-index:2;opacity:.16}
.portal-evidence-field{
  z-index:3;
  background:
    linear-gradient(90deg,rgba(5,6,5,.46),rgba(5,6,5,.17) 48%,rgba(5,6,5,.04)),
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(232,225,213,.018) 32px);
  border-right:0;
  filter:none;
}
.portal-evidence-field::after{background:linear-gradient(90deg,rgba(0,0,0,.03),transparent 60%,rgba(0,0,0,.35));box-shadow:none}
.evidence-fragment{background:rgba(7,8,7,.54);border-color:rgba(232,225,213,.095);box-shadow:0 18px 40px rgba(0,0,0,.18);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
.evidence-photo{display:none}
.evidence-scratches{opacity:.13}
.portal-vignette{z-index:4}
.portal-control-axis{z-index:5}
.portal-copy{left:57.2%;top:49.5%;width:min(40.5%,740px)}
.portal-hero-title{font-size:clamp(64px,5.8vw,108px);line-height:.92}
.portal-hero-title em{color:#d7a13b}
.portal-eyebrow{margin-bottom:22px}
.portal-hero-lead{margin-top:24px;max-width:620px}
.portal-cta{background:rgba(8,9,8,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.portal-cta-primary{background:#e5ddcf;color:#10110f}
.portal-stage-rail{bottom:86px}

@media(max-width:1180px){
  .home{--seam-x:46%}
  .portal-scene-art{left:-10%;width:112%}
  .portal-copy{left:54.5%;width:43%}
}
@media(max-width:899px){
  .home{--seam-x:50%}
  .portal-scene-art{top:62px;left:-27%;width:154%;height:43%;object-fit:cover;object-position:center 56%;filter:saturate(.72) contrast(1.08) brightness(.74)}
  .portal-scene-mask{background:linear-gradient(180deg,rgba(9,10,9,.08) 0 30%,rgba(9,10,9,.48) 41%,#090a09 49% 100%)}
  .portal-evidence-field{height:35%;background:linear-gradient(180deg,rgba(5,6,5,.12),rgba(5,6,5,.28) 76%,transparent);opacity:.72}
  .evidence-signal,.evidence-log,.evidence-checks,.evidence-note,.evidence-system,.evidence-chart,.evidence-map{opacity:.58}
  .portal-copy{top:44%;left:20px;right:20px;width:auto}
  .portal-hero-title{font-size:clamp(43px,12.6vw,66px)}
}


/* v31 — approved image first. No reconstructed evidence wall or control-axis art. */
.portal-hero{
  background:#090a09;
}
.portal-scene-art{
  position:absolute;
  z-index:0;
  inset:0 auto 0 0;
  width:58%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  filter:none;
  transform:none;
  opacity:1;
  -webkit-mask-image:linear-gradient(90deg,#000 0 82%,rgba(0,0,0,.96) 87%,rgba(0,0,0,.48) 94%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0 82%,rgba(0,0,0,.96) 87%,rgba(0,0,0,.48) 94%,transparent 100%);
  pointer-events:none;
  user-select:none;
}
.portal-scene-mask{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.48) 0,rgba(0,0,0,.08) 15%,transparent 28% 72%,rgba(0,0,0,.34) 92%,rgba(0,0,0,.52) 100%),
    linear-gradient(90deg,transparent 0 46%,rgba(9,10,9,.16) 51%,rgba(9,10,9,.88) 61%,#090a09 72% 100%);
}
.portal-grid{z-index:2;opacity:.08}
.portal-vignette{z-index:2}
.portal-copy{
  z-index:5;
  left:57%;
  top:49%;
  width:min(39%,720px);
}
.portal-hero-title{font-size:clamp(62px,5.55vw,104px)}
.portal-stage-rail,.portal-principles,.portal-side-notes{z-index:6}

@media(max-width:1180px){
  .portal-scene-art{width:62%}
  .portal-copy{left:55%;width:42%}
}
@media(max-width:899px){
  html,body{max-width:100%;overflow-x:hidden}
  .home{--seam-x:50%}
  .portal-hero{height:100svh;min-height:100svh;overflow:hidden}
  .portal-scene-art{
    top:80px;
    left:0;
    width:100%;
    height:38%;
    object-fit:cover;
    object-position:center 52%;
    -webkit-mask-image:linear-gradient(180deg,#000 0 72%,rgba(0,0,0,.82) 84%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0 72%,rgba(0,0,0,.82) 84%,transparent 100%);
  }
  .portal-scene-mask{
    background:linear-gradient(180deg,rgba(9,10,9,.16) 0 28%,rgba(9,10,9,.62) 38%,#090a09 48% 100%);
  }
  .portal-copy{
    left:22px;
    right:22px;
    top:43%;
    width:auto;
    max-width:none;
    transform:none;
  }
  .portal-hero-title{
    font-size:clamp(38px,12vw,54px);
    line-height:.92;
  }
  .portal-hero-lead{font-size:15px;line-height:1.36}
  .portal-hero-lead br{display:none}
  .portal-hero-actions{
    width:100%;
    grid-template-columns:1fr;
    gap:9px;
  }
  .portal-cta{width:100%;min-height:49px}
  .portal-stage-rail{left:22px;right:22px;bottom:16px}
  .portal-principles,.portal-side-notes{display:none}
}
@media(max-width:899px) and (max-height:700px){
  .portal-scene-art{
    top:0;
    width:52%;
    height:100%;
    object-position:center;
    -webkit-mask-image:linear-gradient(90deg,#000 0 72%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0 72%,transparent 100%);
  }
  .portal-scene-mask{
    background:linear-gradient(90deg,transparent 0 38%,rgba(9,10,9,.62) 48%,#090a09 61% 100%);
  }
  .portal-copy{
    top:50%;
    left:57%;
    right:4%;
    transform:translateY(-50%);
  }
  .portal-hero-title{font-size:clamp(38px,5.8vw,64px)}
  .portal-hero-lead{font-size:13px;margin-top:12px}
  .portal-hero-actions{margin-top:14px;grid-template-columns:1fr 1fr}
  .portal-cta{min-height:44px;font-size:11px}
  .portal-stage-rail{left:4%;right:4%;bottom:10px}
}


/* v31.1 — the approved mockup IS the hero. No visual reconstruction. */
.portal-hero{
  position:relative;
  height:100svh;
  min-height:100svh;
  overflow:hidden;
  background:#050606;
}
.portal-scene-art{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  filter:none;
  opacity:1;
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
  pointer-events:none;
  user-select:none;
}
.portal-copy{
  position:absolute;
  z-index:4;
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  pointer-events:none;
}
.portal-copy>.portal-eyebrow,
.portal-copy>.portal-hero-title,
.portal-copy>.portal-hero-lead{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.portal-hero-actions{
  position:absolute;
  left:56.85%;
  top:57.75%;
  width:31.7%;
  height:6.1%;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2%;
  pointer-events:auto;
}
.portal-cta,
.portal-cta-primary,
.portal-cta-secondary{
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  margin:0;
  border:0!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-shadow:none!important;
}
.portal-cta:hover{transform:none!important;background:transparent!important;color:transparent!important}
.portal-cta:focus-visible{
  outline:2px solid #d7a13b;
  outline-offset:3px;
}
.portal-header{
  z-index:10;
  background:transparent!important;
  border:0!important;
}
.portal-header-inner{
  position:relative;
  width:100%;
  max-width:none;
  height:100%;
}
.portal-wordmark,
.portal-nav a,
.portal-header-meta>span,
.portal-menu-toggle>span{
  color:transparent!important;
  text-shadow:none!important;
}
.portal-wordmark{
  position:absolute;
  left:2.7%;
  top:0;
  width:22%;
  height:100%;
}
.portal-nav{
  position:absolute;
  inset:0;
  display:block;
}
.portal-nav a{
  position:absolute;
  top:0;
  height:100%;
  display:block;
}
.portal-nav a:nth-child(1){left:28.2%;width:7.2%}
.portal-nav a:nth-child(2){left:35.1%;width:7.2%}
.portal-nav a:nth-child(3){left:42.4%;width:8.8%}
.portal-nav a:nth-child(4){left:50.3%;width:5.8%}
.portal-header-meta{
  position:absolute;
  inset:0;
  display:block;
}
.portal-header-meta>span,
.portal-header-meta>i{display:none}
.portal-menu-toggle{
  position:absolute;
  right:2.7%;
  top:0;
  width:10%;
  height:100%;
  background:transparent!important;
  border:0!important;
}
.portal-menu-toggle>b{opacity:0}
.portal-wordmark:focus-visible,
.portal-nav a:focus-visible,
.portal-menu-toggle:focus-visible{
  outline:1px solid rgba(215,161,59,.9);
  outline-offset:-4px;
}
.portal-side-notes,
.portal-stage-rail,
.portal-principles,
.portal-grid,
.portal-vignette,
.portal-scene-mask,
.portal-evidence-field,
.portal-control-axis{display:none!important}

@media(max-width:899px){
  .portal-hero{height:100svh;min-height:100svh}
  .portal-scene-art{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:66% center;
  }
  .portal-header{
    height:74px;
  }
  .portal-wordmark{
    left:3%;
    width:28%;
  }
  .portal-nav{display:none}
  .portal-header-meta{display:block}
  .portal-menu-toggle{
    right:3%;
    width:16%;
  }
  .portal-copy{inset:0}
  .portal-hero-actions{
    left:58%;
    top:58%;
    width:36%;
    height:12%;
    grid-template-columns:1fr;
    gap:10%;
  }
}


/* v35 — preserve the approved v31 mockup exactly; improve interaction only. */
@media(min-width:900px){
  /* Use the same cover-sized coordinate plane for the scene and CTA hitboxes.
     This makes the clickable area track the baked buttons at any desktop aspect ratio. */
  .portal-scene-art,
  .portal-copy{
    inset:auto;
    left:50%;
    top:50%;
    width:max(100vw,calc(100svh * 1.7761989343));
    height:max(100svh,calc(100vw / 1.7761989343));
    transform:translate(-50%,-50%);
  }
  .portal-scene-art{
    object-fit:fill;
    object-position:center;
  }
  .portal-hero-actions{
    left:57.7%;
    top:58.44%;
    width:32.2%;
    height:6.05%;
    grid-template-columns:1fr 1fr;
    gap:3.4%;
  }
}

/* Exact invisible links over the baked CTA boxes; amber feedback is drawn on top. */
.portal-cta,
.portal-cta-primary,
.portal-cta-secondary{
  box-sizing:border-box;
  cursor:pointer;
  transition:box-shadow .16s ease,background-color .16s ease,transform .16s ease!important;
}
.portal-cta:hover,
.portal-cta:focus-visible{
  transform:none!important;
  background:rgba(201,145,46,.035)!important;
  box-shadow:
    inset 0 0 0 2px rgba(218,166,67,.96),
    0 0 18px rgba(201,145,46,.20)!important;
  outline:none;
}

/* Replace only the baked top-left wordmark; keep the rest of the approved header artwork untouched. */
.portal-wordmark{
  left:2.25%;
  top:0;
  width:auto;
  min-width:305px;
  height:72px;
  padding:0 22px 0 0;
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--portal-amber)!important;
  isolation:isolate;
  overflow:visible;
}
.portal-wordmark::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-42px;
  right:-22px;
  top:0;
  bottom:0;
  background:linear-gradient(90deg,#050606 0 88%,rgba(5,6,6,.96) 94%,transparent 100%);
  pointer-events:none;
}
.portal-wordmark-exit-logo{
  display:block;
  width:108px;
  height:auto;
  flex:0 0 auto;
  color:#d39a2d;
}
.portal-wordmark-framework{
  display:block;
  color:#eadfcd!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px!important;
  font-weight:400;
  line-height:1!important;
  letter-spacing:.22em;
  white-space:nowrap;
}

/* All other live header text remains invisible; the approved mockup supplies it visually. */
.portal-nav a,
.portal-header-meta>span,
.portal-menu-toggle>span{
  color:transparent!important;
  text-shadow:none!important;
}

@media(max-width:899px){
  .portal-wordmark{
    left:3%;
    min-width:218px;
    height:64px;
    gap:9px;
  }
  .portal-wordmark-exit-logo{width:78px}
  .portal-wordmark-framework{font-size:11px!important;letter-spacing:.17em}
}


/* v37 — full 1840×855 station frame; preserve full composition without center crop. */
.site-header.portal-header{
  display:none!important;
}

/* v39 — approved scene, darker calm field and restrained EXIT typography.
   Scoped to the final hero; the existing header and other pages are unchanged. */
.home{
  overflow-x:clip;
  overflow-y:auto;
}
.home main{height:auto;min-height:100svh}
.portal-hero[data-scene="final"]{
  --hero-serif:"Times New Roman",Times,"Liberation Serif",serif;
  --hero-sans:Arial,Helvetica,sans-serif;
  min-height:100svh;
  height:100svh;
  background:#050606;
}
.portal-hero[data-scene="final"] .portal-scene-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  object-fit:cover;
  object-position:50% 50%;
  filter:brightness(.97);
  mask-image:none;
  -webkit-mask-image:none;
}
.portal-hero[data-scene="final"]::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,transparent 50%,rgba(5,6,6,.12) 58%,rgba(5,6,6,.34) 72%,rgba(5,6,6,.38) 100%);
  pointer-events:none;
}
.portal-hero[data-scene="final"] .portal-copy{
  position:absolute;
  inset:auto 3% auto 59.8%;
  top:46.8%;
  width:auto;
  height:auto;
  transform:translateY(-50%);
  pointer-events:auto;
}
.portal-hero[data-scene="final"] .portal-copy>.portal-hero-title,
.portal-hero[data-scene="final"] .portal-copy>.portal-hero-lead{
  position:static!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:normal!important;
  border:0!important;
}
.portal-hero[data-scene="final"] .portal-hero-title{
  max-width:none;
  color:#f5f2eb;
  font-family:var(--hero-sans);
  font-size:clamp(3rem,5.05vw,6.5rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.055em;
  text-wrap:initial;
}
.portal-hero[data-scene="final"] .portal-hero-title span,
.portal-hero[data-scene="final"] .portal-hero-title em{
  display:block;
}
.portal-hero[data-scene="final"] .portal-hero-title em{
  margin-top:.04em;
  color:#efb522;
  font-family:var(--hero-serif);
  font-size:1.14em;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.04em;
}
.portal-hero[data-scene="final"] .portal-copy>.portal-hero-lead{
  margin-top:clamp(1.25rem,2vw,2.125rem)!important;
  max-width:none;
  color:#e7e3da;
  font-family:var(--hero-sans);
  font-size:clamp(1rem,1.18vw,1.375rem);
  line-height:1.5;
  letter-spacing:-.01em;
}
.portal-hero[data-scene="final"] .portal-hero-lead strong{
  color:inherit;
  font-weight:400;
}
.portal-hero[data-scene="final"] .portal-hero-lead br{display:block}
.portal-hero[data-scene="final"] .portal-hero-actions{
  position:static;
  inset:auto;
  width:auto;
  height:auto;
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:clamp(1.25rem,1.8vw,1.875rem) 0 0;
  transform:none;
}
.portal-hero[data-scene="final"] .portal-cta{
  width:auto;
  height:auto;
  min-height:3.125rem;
  padding:.875rem 1.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.875rem;
  border:1px solid rgba(245,242,235,.6)!important;
  border-radius:0;
  background:rgba(5,6,6,.14)!important;
  color:#f5f2eb!important;
  font-family:var(--hero-sans);
  font-size:clamp(.9375rem,1.07vw,1.125rem);
  line-height:1.15;
  text-decoration:none;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .18s ease,border-color .18s ease;
}
.portal-hero[data-scene="final"] .portal-cta-primary{
  background:#f5f2eb!important;
  border-color:#f5f2eb!important;
  color:#101211!important;
}
.portal-hero[data-scene="final"] .portal-cta-primary:hover{
  background:#e7dfd0!important;
  border-color:#e7dfd0!important;
  color:#101211!important;
}
.portal-hero[data-scene="final"] .portal-cta-secondary:hover{
  background:rgba(245,242,235,.09)!important;
  border-color:#f5f2eb!important;
  color:#f5f2eb!important;
}
.portal-hero[data-scene="final"] .portal-cta:focus-visible{
  outline:2px solid #efb522;
  outline-offset:5px;
  box-shadow:none!important;
}
@media(max-width:899px){
  .portal-hero[data-scene="final"]::after{display:none}
  .portal-hero[data-scene="final"]{
    display:grid;
    grid-template-rows:minmax(23.75rem,1fr) auto;
    height:auto;
    min-height:100svh;
    overflow:hidden;
  }
  .portal-hero[data-scene="final"] .portal-scene-art{
    position:relative;
    grid-row:1;
    inset:auto;
    width:100%;
    height:100%;
    min-height:23.75rem;
    object-position:40% center;
    mask-image:linear-gradient(#000 0 82%,transparent 100%);
    -webkit-mask-image:linear-gradient(#000 0 82%,transparent 100%);
  }
  .portal-hero[data-scene="final"] .portal-copy{
    position:relative;
    grid-row:2;
    inset:auto;
    width:100%;
    height:auto;
    margin-top:-1.5rem;
    padding:0 clamp(1.5rem,4.5vw,3rem) max(2rem,env(safe-area-inset-bottom));
    transform:none;
  }
  .portal-hero[data-scene="final"] .portal-hero-title{
    font-size:clamp(2.5rem,10.5vw,4.5rem);
    line-height:1.05;
    letter-spacing:-.055em;
  }
  .portal-hero[data-scene="final"] .portal-hero-title em{letter-spacing:-.025em}
  .portal-hero[data-scene="final"] .portal-copy>.portal-hero-lead{
    margin-top:1.125rem!important;
    font-size:1.125rem;
    line-height:1.35;
  }
  .portal-hero[data-scene="final"] .portal-hero-actions{margin-top:1.25rem}
  .portal-hero[data-scene="final"] .portal-cta{font-size:1.0625rem}
}
@media(max-width:479px){
  .portal-hero[data-scene="final"] .portal-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:.625rem;
  }
  .portal-hero[data-scene="final"] .portal-cta{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .portal-hero[data-scene="final"] .portal-cta{transition:none}
}

@media(min-width:900px){
  .portal-scene-art,
  .portal-copy{
    width:max(100vw,calc(100svh * 2.1520467836));
    height:max(100svh,calc(100vw / 2.1520467836));
  }

  .portal-hero-actions{
    left:58.45%;
    top:57.45%;
    width:31.9%;
    height:5.9%;
    gap:2.8%;
  }
}


/* v40 — LOCKED APPROVED MOCKUP
   The supplied rainy-city asset remains the full-bleed scene.
   This final patch only aligns live typography, darkness and CTA geometry to the approved 1672×941 mockup. */
.portal-hero[data-scene="final"]{
  --hero-display:Iowan Old Style,Baskerville,Georgia,"Times New Roman",serif;
  background:#050606;
}
.portal-hero[data-scene="final"] .portal-scene-art{
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  object-fit:cover;
  object-position:50% 50%;
  filter:none;
  opacity:1;
}
.portal-hero[data-scene="final"]::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(
    90deg,
    transparent 0 49.5%,
    rgba(4,6,7,.10) 56%,
    rgba(4,6,7,.27) 68%,
    rgba(4,6,7,.40) 100%
  );
  pointer-events:none;
}
.portal-hero[data-scene="final"] .portal-copy{
  position:absolute;
  z-index:4;
  left:59.1%;
  right:2.8%;
  top:46.2%;
  width:auto;
  height:auto;
  transform:translateY(-50%);
  pointer-events:auto;
}
.portal-hero[data-scene="final"] .portal-hero-title{
  margin:0;
  max-width:none;
  color:#f4f1e9;
  font-family:var(--hero-display);
  font-size:clamp(3.25rem,4.8vw,5.6rem);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.052em;
  text-wrap:initial;
  -webkit-font-smoothing:antialiased;
}
.portal-hero[data-scene="final"] .portal-hero-title span,
.portal-hero[data-scene="final"] .portal-hero-title em{
  display:block;
}
.portal-hero[data-scene="final"] .portal-hero-title em{
  margin-top:.055em;
  color:#efb21a;
  font-family:var(--hero-display);
  font-size:1.15em;
  font-weight:400;
  font-style:italic;
  line-height:.92;
  letter-spacing:-.045em;
}
.portal-hero[data-scene="final"] .portal-copy>.portal-hero-lead{
  margin-top:1.55rem!important;
  max-width:36rem;
  color:rgba(244,241,233,.90);
  font-family:var(--hero-display);
  font-size:clamp(1rem,1.2vw,1.32rem);
  font-weight:400;
  line-height:1.42;
  letter-spacing:-.012em;
}
.portal-hero[data-scene="final"] .portal-hero-lead strong{
  color:inherit;
  font-weight:400;
}
.portal-hero[data-scene="final"] .portal-hero-actions{
  position:static;
  width:min(29.9vw,31.25rem);
  height:auto;
  margin:1.55rem 0 0;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:.75rem;
  transform:none;
}
.portal-hero[data-scene="final"] .portal-cta{
  width:100%;
  min-width:0;
  height:3.125rem;
  min-height:3.125rem;
  padding:0 1.15rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  border:1px solid rgba(244,241,233,.58)!important;
  border-radius:0;
  background:rgba(4,6,7,.10)!important;
  color:#f4f1e9!important;
  font-family:var(--hero-display);
  font-size:clamp(.92rem,1.02vw,1.08rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.012em;
  white-space:nowrap;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.portal-hero[data-scene="final"] .portal-cta-primary{
  background:#f4f1e9!important;
  border-color:#f4f1e9!important;
  color:#111310!important;
}
.portal-hero[data-scene="final"] .portal-cta:hover{
  transform:none!important;
}
.portal-hero[data-scene="final"] .portal-cta-primary:hover{
  background:#e8e1d5!important;
  border-color:#e8e1d5!important;
  color:#111310!important;
}
.portal-hero[data-scene="final"] .portal-cta-secondary:hover{
  background:rgba(244,241,233,.08)!important;
  border-color:#f4f1e9!important;
  color:#f4f1e9!important;
}

@media(max-width:899px){
  .portal-hero[data-scene="final"]::after{display:none}
  .portal-hero[data-scene="final"] .portal-scene-art{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:40% center;
  }
  .portal-hero[data-scene="final"] .portal-copy{
    left:auto;
    right:auto;
    top:auto;
    width:100%;
    transform:none;
  }
  .portal-hero[data-scene="final"] .portal-hero-title{
    font-size:clamp(2.55rem,10.6vw,4.5rem);
    line-height:.96;
  }
  .portal-hero[data-scene="final"] .portal-copy>.portal-hero-lead{
    margin-top:1.05rem!important;
    font-size:1.08rem;
    line-height:1.38;
  }
  .portal-hero[data-scene="final"] .portal-hero-actions{
    width:100%;
    margin-top:1.15rem;
    grid-template-columns:1fr;
    gap:.625rem;
  }
  .portal-hero[data-scene="final"] .portal-cta{
    width:100%;
    height:3.125rem;
    font-size:1rem;
  }
}


/* v41 — match approved mockup exposure.
   The supplied raw asset is brighter than the approved mockup, especially behind the white copy.
   Reduce global exposure and locally suppress the right-side building/window luminance. */
.portal-hero[data-scene="final"] .portal-scene-art{
  filter:brightness(.90);
}
.portal-hero[data-scene="final"]::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(
      90deg,
      transparent 0 49%,
      rgba(3,5,6,.08) 55%,
      rgba(3,5,6,.30) 63%,
      rgba(3,5,6,.52) 74%,
      rgba(3,5,6,.58) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3,5,6,.04) 0,
      transparent 28%,
      rgba(3,5,6,.06) 66%,
      rgba(3,5,6,.14) 100%
    );
  pointer-events:none;
}


/* v42 — final readability pass from live screenshot.
   Slightly lower global exposure, darken the copy field further, and add a subtle local scrim
   behind the live text without changing the approved composition. */
.portal-hero[data-scene="final"] .portal-scene-art{
  filter:brightness(.88);
}
.portal-hero[data-scene="final"]::after{
  background:
    linear-gradient(
      90deg,
      transparent 0 48%,
      rgba(3,5,6,.10) 54%,
      rgba(3,5,6,.36) 62%,
      rgba(3,5,6,.60) 74%,
      rgba(3,5,6,.68) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3,5,6,.05) 0,
      transparent 26%,
      rgba(3,5,6,.08) 65%,
      rgba(3,5,6,.16) 100%
    );
}
.portal-hero[data-scene="final"] .portal-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1.8rem -2rem -1.8rem -2rem;
  pointer-events:none;
  background:radial-gradient(
    ellipse at 52% 48%,
    rgba(3,5,6,.30) 0%,
    rgba(3,5,6,.20) 42%,
    rgba(3,5,6,.08) 66%,
    rgba(3,5,6,0) 82%
  );
}
@media(max-width:899px){
  .portal-hero[data-scene="final"] .portal-copy::before{display:none}
}
