/* NOXE partner portal - minimal edition -------------------------------- */
:root{
  --paper:#F7F5F0;        /* page */
  --panel:#F0ECE4;        /* alternating section */
  --ink:#F0ECE4;          /* alias: alternating section */
  --obsidian:#F7F5F0;     /* alias: page */
  --pearl:#15130F;        /* text */
  --stone:#8B8478;        /* muted text */
  --glow:#15130F;         /* accent is ink - no gold */
  --sage:#6E7A6C;
  --rule:#E1DBD1;
  --rule-strong:#CFC7B9;
  --display:'Jost','Futura','Century Gothic','Helvetica Neue',sans-serif;
  --body:'Inter','Helvetica Neue',Arial,sans-serif;
  --mono:var(--body);
  --gut:clamp(22px,6vw,110px);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--pearl);font-family:var(--body);
  font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:1px solid var(--pearl);outline-offset:3px}

/* type ------------------------------------------------------------------ */
.eyebrow,.mono,.sec-head .num,.sec-head .label,.tag,.rail-meta,.pillar .k,
.step .ph,.out .k,.field label,.inp span,.coll th,.coll caption,.dl dt,.terr .st,
.terr .code,.board-top .t,.langs a,.btn,.rail-cta,.divider{
  font-family:var(--body);font-weight:400;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--stone)}
.eyebrow .n{color:var(--pearl)}
h1,h2,h3{font-family:var(--display);font-weight:200;margin:0;text-transform:none}
h2{font-size:clamp(26px,4.2vw,50px);line-height:1.12;letter-spacing:-.005em}
h3{font-size:clamp(15px,1.35vw,18px);letter-spacing:0;font-weight:300}
.lede{font-size:clamp(15px,1.4vw,18px);line-height:1.75;color:var(--pearl);max-width:58ch;font-weight:300}
p{margin:0 0 1.1em}
.small{font-size:13px;line-height:1.75;color:var(--stone)}
hr.hair{height:1px;background:var(--rule);border:0;margin:0}

/* rail ------------------------------------------------------------------ */
.rail{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;gap:14px;
  justify-content:space-between;padding:16px var(--gut);
  background:var(--paper);border-bottom:1px solid var(--rule)}
.rail-brand{font-family:var(--display);font-size:14px;letter-spacing:.4em;font-weight:300;
  text-decoration:none;white-space:nowrap;color:var(--pearl)}
.rail-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-right{display:flex;align-items:center;gap:16px}
.btn,.rail-cta{text-decoration:none;border:0;border-bottom:1px solid var(--pearl);
  padding:4px 0;background:none;color:var(--pearl);cursor:pointer;display:inline-block;
  transition:opacity .3s}
.btn:hover,.rail-cta:hover,.btn:focus-visible{opacity:.55}
.btn-solid{border:1px solid var(--pearl);padding:12px 22px}
.btn-solid:hover{background:var(--pearl);color:var(--paper);opacity:1}
.langs{display:flex;gap:13px}
.langs a{text-decoration:none;padding:0;border:0}
.langs a.on,.langs a:hover{color:var(--pearl)}
.progress{display:none}

/* layout ---------------------------------------------------------------- */
section{position:relative}
.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,13vh,170px) var(--gut)}
.sec-head{display:flex;align-items:baseline;gap:9px;margin-bottom:clamp(30px,5vw,64px);flex-wrap:wrap}
.sec-head .num{color:var(--pearl)}
.sec-head .num::after{content:" \2014"}
.sec-head::after{display:none}
.cols{display:grid;gap:clamp(30px,4.5vw,70px)}
.c2{grid-template-columns:repeat(2,1fr)}
.c3{grid-template-columns:repeat(3,1fr)}
.c4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,96px);align-items:start}
.plate{background:none;border:0;border-top:1px solid var(--rule-strong);padding:26px 0 0}

/* cover ----------------------------------------------------------------- */
.cover{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}
.cover-l{display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(96px,14vh,170px) clamp(22px,5vw,88px) clamp(34px,6vh,64px)}
.cover-r{position:relative;overflow:hidden}
.cover-r img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-r::after{display:none}
.wordmark{font-family:var(--display);font-weight:200;line-height:1;letter-spacing:.18em;
  font-size:clamp(40px,6.4vw,88px);margin:0 0 10px;color:var(--pearl)}
.cover-sub{font-family:var(--body);font-weight:400;letter-spacing:.34em;font-size:10.5px;
  color:var(--stone);text-transform:uppercase;margin-bottom:clamp(34px,7vh,72px)}
.cover-claim{font-family:var(--display);font-weight:200;text-transform:none;letter-spacing:-.005em;
  font-size:clamp(22px,2.8vw,38px);line-height:1.24;max-width:15ch;color:var(--pearl)}
.cover-claim em{font-style:normal;color:var(--stone)}
.cover-foot{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
.tags,.cover-tags{display:flex;flex-wrap:wrap;gap:8px 22px}
.tag{border:0;padding:0}

/* pillars --------------------------------------------------------------- */
.pillar{border-top:1px solid var(--rule);padding-top:20px}
.pillar .k{display:block;margin-bottom:14px}
.pillar h3{margin-bottom:10px}
.pillar p{margin:0;font-size:14px;color:var(--stone);line-height:1.72}

/* full-width imagery ---------------------------------------------------- */
.bleed{position:relative;display:block;overflow:hidden;padding-bottom:clamp(60px,9vh,120px)}
.bleed img{position:static;width:100%;height:auto}
.bleed .veil{display:none}
.bleed .cap{position:static;padding:clamp(26px,4vw,52px) var(--gut) 0;max-width:860px}
.bleed .cap h2{margin-bottom:16px}
.bleed .cap .eyebrow{display:block;margin-bottom:14px}

/* collection ------------------------------------------------------------ */
.coll{width:100%;border-collapse:collapse;font-size:13.5px}
.coll caption{text-align:start;padding-bottom:16px}
.coll th{font-weight:400;text-align:start;padding:0 14px 12px 0;border-bottom:1px solid var(--rule-strong)}
.coll td{padding:13px 14px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top;
  color:var(--stone);font-size:13px;line-height:1.6}
[dir=rtl] .coll th{padding:0 0 12px 14px}
[dir=rtl] .coll td{padding:13px 0 13px 14px}
.coll td.no{color:var(--stone);font-size:12px;white-space:nowrap;letter-spacing:.06em}
.coll td.nm{font-family:var(--display);letter-spacing:0;text-transform:none;font-size:15px;
  white-space:nowrap;color:var(--pearl)}
.coll .pr{font-size:12px;text-align:end;white-space:nowrap;color:var(--pearl)}
.coll tr:hover td{background:none}

/* territories ----------------------------------------------------------- */
.board{border:0;background:none}
.board-top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:0 0 16px;border-bottom:1px solid var(--rule-strong)}
.board-top .t{font-family:var(--body);color:var(--pearl)}
.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  column-gap:clamp(24px,4vw,60px)}
.terr{display:flex;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--rule)}
.terr .code{width:28px;flex:none}
.terr .name{flex:1;font-size:14px;font-family:var(--body);font-weight:300;
  letter-spacing:0;text-transform:none;color:var(--pearl)}
.terr .st{color:var(--pearl)}
.terr .st::before{display:none}
.terr.taken .st{color:var(--stone);text-decoration:line-through}
.board-note{padding:18px 0 0;border:0}

/* calculator ------------------------------------------------------------ */
.calc{border:0;border-top:1px solid var(--rule-strong);background:none}
.calc-in{padding:30px 0;display:grid;gap:26px;border-bottom:1px solid var(--rule);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:clamp(24px,4vw,60px)}
.field label{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.field label b{color:var(--pearl);font-weight:400}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:16px;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--rule-strong)}
input[type=range]::-moz-range-track{height:1px;background:var(--rule-strong)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:9px;height:9px;border-radius:50%;
  background:var(--pearl);margin-top:-4px}
input[type=range]::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:var(--pearl)}
.calc-out{display:grid;grid-template-columns:repeat(3,1fr);column-gap:clamp(24px,4vw,60px)}
.out{padding:28px 0 0;border:0}
.out .k{display:block;margin-bottom:12px}
.out .v{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.8vw,34px);
  letter-spacing:-.01em;line-height:1;color:var(--pearl)}
.out .v span{font-size:.42em;color:var(--stone);letter-spacing:.06em;margin-inline-start:6px}

/* steps ----------------------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  border-top:1px solid var(--rule-strong);column-gap:clamp(24px,3.5vw,52px)}
.step{padding:24px 0 0;border:0}
.step .ph{display:block;margin-bottom:12px;color:var(--pearl)}
.step h3{font-size:15px;margin-bottom:9px}
.step p{font-size:13px;color:var(--stone);margin:0;line-height:1.72}

/* lists ----------------------------------------------------------------- */
ul.tick{list-style:none;padding:0;margin:0}
ul.tick li{position:relative;padding:12px 0;border-bottom:1px solid var(--rule);
  font-size:14px;color:var(--pearl);font-weight:300;line-height:1.65}
ul.tick li::before{display:none}
ul.tick li b{font-weight:400}

/* contact --------------------------------------------------------------- */
.card{border:0;border-top:1px solid var(--rule-strong);padding:34px 0 0;display:grid;
  grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,80px);align-items:start}
.who{font-family:var(--display);font-weight:200;text-transform:none;letter-spacing:-.005em;
  font-size:clamp(24px,3.4vw,40px);line-height:1.1;margin-bottom:14px}
.dl{display:grid;grid-template-columns:auto 1fr;gap:12px 26px;font-size:14px;align-items:baseline}
.dl dd{margin:0;color:var(--pearl)}
.dl a{text-decoration:none;border-bottom:1px solid var(--rule-strong)}
footer.pf{padding:26px var(--gut);border-top:1px solid var(--rule);display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap}

/* watermark ------------------------------------------------------------- */
.wm{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;opacity:.05}
.wm span{position:absolute;font-family:var(--body);font-size:12px;letter-spacing:.28em;
  white-space:nowrap;color:var(--pearl);transform:rotate(-30deg);text-transform:uppercase}

/* gate ------------------------------------------------------------------ */
.gate{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}
.gate-media{position:relative;overflow:hidden}
.gate-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gate-media .veil{display:none}
.gate-panel h2{font-size:clamp(24px,2.6vw,38px)}
.gate-panel .lede{max-width:44ch}
.gate-marks{border-top:1px solid var(--rule);padding-top:20px}
.gate-panel{padding:clamp(96px,13vh,150px) clamp(22px,5vw,80px) clamp(44px,6vh,74px);
  border-inline-start:1px solid var(--rule);display:flex;flex-direction:column;
  justify-content:center;background:var(--paper)}
.form{display:grid;gap:20px;max-width:520px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.inp{display:block}
.inp span{display:block;margin-bottom:9px}
.inp input,.inp select,.inp textarea{width:100%;background:none;border:0;
  border-bottom:1px solid var(--rule-strong);color:var(--pearl);font-family:var(--body);
  font-size:15px;font-weight:300;padding:9px 0;border-radius:0}
.inp textarea{min-height:90px;resize:vertical}
.inp input:focus,.inp select:focus,.inp textarea:focus{outline:none;border-color:var(--pearl)}
.inp select{appearance:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{border:0;border-inline-start:2px solid var(--rule-strong);padding:4px 0 4px 14px;font-size:13.5px}
[dir=rtl] .msg{padding:4px 14px 4px 0}
.msg.err{border-color:#A2493F;color:#A2493F}
.msg.ok{border-color:var(--sage);color:var(--sage)}
.gate-marks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:34px}
.divider{display:flex;align-items:center;gap:16px;margin:44px 0 26px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--rule)}

/* reveal ---------------------------------------------------------------- */
.js .rv{opacity:0;transform:translateY(14px);
  transition:opacity .9s cubic-bezier(.16,.84,.3,1),transform .9s cubic-bezier(.16,.84,.3,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* responsive ------------------------------------------------------------ */
@media (max-width:1000px){
  .cover,.gate{grid-template-columns:1fr}
  .cover-r{height:52vh}
  .gate-media{height:34vh;order:-1}
  .gate-panel{border-inline-start:0;border-top:1px solid var(--rule);padding-top:clamp(36px,6vh,64px)}
  .split{grid-template-columns:1fr}
  .c3,.c4{grid-template-columns:repeat(2,1fr)}
  .calc-in,.calc-out{grid-template-columns:1fr}
  .calc-out .out{border-top:1px solid var(--rule)}
  .card{grid-template-columns:1fr}
}
@media (max-width:620px){
  .c2,.c3,.c4,.row2{grid-template-columns:1fr}
  .rail-meta{display:none}
  .coll .pr{display:none}
  .steps{grid-template-columns:1fr}
}
@media print{
  body{background:#fff}
  .rail,.calc-in,.langs{display:none}
  .js .rv{opacity:1;transform:none}
  .wm{opacity:.1}
  section{break-inside:avoid}
}

/* poster plates & contained media --------------------------------------- */
.posters{display:flex;flex-wrap:wrap;align-items:flex-start;
  gap:clamp(18px,2.6vw,36px);max-width:100%}
.poster{margin:0;flex:0 0 auto;max-width:100%}
.poster img{height:clamp(280px,30vw,430px);width:auto;max-width:100%}
@media (max-width:640px){
  .posters{display:grid;grid-template-columns:1fr}
  .poster img{height:auto;width:100%}
}
.poster figcaption,.figure figcaption{margin-top:12px;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--stone)}
.figure{margin:0;max-width:640px}
.figure img{width:100%;height:auto}
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4.5vw,72px);align-items:start}
@media (max-width:800px){.media-row{grid-template-columns:1fr}}

/* typographic cover (no banner image) ------------------------------------ */
.cover-min{min-height:100svh;display:flex;align-items:center}
.cover-min .wrap{width:100%;padding-top:clamp(96px,13vh,150px);padding-bottom:clamp(50px,8vh,90px)}
.cover-min .eyebrow{display:block;margin-bottom:clamp(34px,6vh,70px)}
.cover-min .cover-claim{margin-top:clamp(30px,6vh,64px);max-width:18ch}
.cover-min .cover-foot{margin-top:clamp(46px,9vh,110px);display:flex;justify-content:space-between;
  gap:20px;flex-wrap:wrap;align-items:flex-end}
.cover-min .wordmark{font-size:clamp(44px,9vw,120px)}
