/* ================= #model — Partner with us ================= */
#model{--lane:30px}

/* ---------- Part 1: head ---------- */
#model .m-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:clamp(56px,8vw,104px)}
#model .m-head .eyebrow{grid-column:1/-1}
#model .m-head .lede{justify-self:end;margin-bottom:.4em}
@media (max-width:900px){#model .m-head{grid-template-columns:1fr}#model .m-head .lede{justify-self:start}}

/* ---------- Part 1: flow diagram ---------- */
#model .flow{position:relative;display:grid;
  grid-template-columns:minmax(0,1.15fr) repeat(3,minmax(0,1fr)) minmax(0,1.1fr);
  grid-template-rows:auto auto auto auto;
  column-gap:clamp(28px,3.4vw,56px);row-gap:16px;
  padding:0 var(--lane)}
#model .flow-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
#model .fgroup{grid-column:2/5;grid-row:1/4;margin:0 calc(clamp(28px,3.4vw,56px) * -.5);border:1px dashed rgba(227,91,50,.45);background:linear-gradient(180deg,rgba(227,91,50,.06),rgba(227,91,50,.015));border-radius:6px;z-index:0}
#model .fgroup-label{grid-column:2/5;grid-row:1;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);padding:16px 0 6px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#model .brandmark{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.03em;text-transform:none;color:var(--ink)}
#model .brandmark i,#model .th-who i,#model .cta-h i{font-style:normal;color:var(--orange)}

#model .fnode{position:relative;z-index:2;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;
  opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .4s,border-color .4s;transition-delay:var(--d,0s)}
#model .flow.on .fnode,#model .flow.on .fret{opacity:1;transform:none}
#model .fnode:hover{border-color:rgba(227,91,50,.6);box-shadow:0 18px 40px -24px rgba(18,24,41,.35)}
#model .fk{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
#model .fk span{color:var(--orange);font-weight:700}
#model .ft{font-family:var(--display);font-weight:800;font-size:clamp(20px,1.7vw,25px);letter-spacing:-.03em;line-height:1.02}
#model .fd{font-size:14.5px;line-height:1.5;color:#3e4558}
#model .fd b{color:var(--ink);font-weight:600}

#model .n-ent{grid-column:1;grid-row:2/4;align-self:center;background:var(--ink);color:var(--paper);border-color:var(--ink);padding:26px 24px}
#model .n-ent .fk{color:var(--mute-d)}
#model .n-ent .fd{color:#c9cfdc}
#model .n-ent .ft{font-size:clamp(24px,2.1vw,32px)}
#model .fbadge{white-space:nowrap;margin-top:8px;align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;max-width:100%;border:1px solid rgba(227,91,50,.6);color:#ffd9cb;border-radius:2px}
#model .fbadge b{font-family:var(--display);font-size:20px;letter-spacing:-.02em;color:var(--orange-hi);margin-right:6px;vertical-align:-2px}

#model .fstep{grid-row:2/4;align-self:center;min-height:228px}
#model .n-s1{grid-column:2}#model .n-s2{grid-column:3}#model .n-s3{grid-column:4}
#model .fmon{grid-column:5;border-left:3px solid var(--orange)}
#model .n-ma{grid-row:2;align-self:end}#model .n-mb{grid-row:3;align-self:start}
#model .fmon .fk span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--orange);border-radius:50%;margin-left:4px;letter-spacing:0;font-size:10px}

#model .fret{grid-column:1/-1;grid-row:4;justify-self:center;margin-top:clamp(56px,6vw,80px);z-index:2;position:relative;display:flex;align-items:center;gap:14px;
  background:var(--paper);border:1px solid var(--orange);border-radius:999px;padding:14px 26px 14px 16px;
  opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
#model .fret-ico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--orange);color:#fff;font-size:18px;line-height:1}
#model .fret p{font-size:15px;line-height:1.4;color:#3e4558}
#model .fret b{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);margin-right:6px}

/* svg paths */
#model .fp{fill:none;stroke:var(--ink);stroke-opacity:.32;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
#model .fp.ret{stroke:var(--orange);stroke-opacity:.75;stroke-width:1.4}
#model .flow .fp{transition:stroke-dashoffset 1.3s var(--ease);transition-delay:var(--d,0s)}
#model .fpart circle.core{fill:var(--orange)}
#model .fpart circle.halo{fill:var(--orange);opacity:.18}
#model .fpart.r circle.core{fill:var(--orange-hi)}
#model .fpart{opacity:0;transition:opacity .8s}
#model .flow.flowing .fpart{opacity:1}
#model .fhead{fill:none;stroke:var(--ink);stroke-opacity:.45;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .5s;transition-delay:var(--d,0s)}
#model .fhead.ret{stroke:var(--orange);stroke-opacity:1}
#model .flow.on .fhead{opacity:1}

/* ---- vertical (mobile/tablet) layout ---- */
@media (max-width:900px){
  #model{--lane:26px}
  #model .flow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none;row-gap:44px;column-gap:14px;padding:0 0 0 var(--lane)}
  #model .n-ent{grid-column:1/3;grid-row:1}
  #model .fgroup{grid-column:1/3;grid-row:2/6;margin:-8px -10px}
  #model .fgroup-label{grid-column:1/3;grid-row:2;padding:6px 4px 0;margin-bottom:-26px}
  #model .fstep{grid-column:1/3!important;align-self:auto;min-height:0}
  #model .n-s1{grid-row:3}#model .n-s2{grid-row:4}#model .n-s3{grid-row:5}
  #model .n-ma{grid-column:1;grid-row:6;align-self:stretch;margin-top:18px}
  #model .n-mb{margin-top:18px}
  #model .n-mb{grid-column:2;grid-row:6;align-self:stretch}
  #model .fret{grid-column:1/3;grid-row:7;margin-top:0;justify-self:stretch;border-radius:14px;align-items:flex-start;padding:16px}
  #model .fret b{display:block;margin-bottom:2px}
  #model .fnode{padding:18px 16px 20px}
}
@media (max-width:520px){
  #model .fmon .ft{font-size:19px}
  #model .fmon .fd{font-size:13.5px}
  #model .fmon .fk{letter-spacing:.14em}
}

/* ---------- Part 2: dark band ---------- */
#model{background:var(--void)}
#model .m-band{background:linear-gradient(180deg,var(--void) 0,var(--ink) min(22vh,220px));color:var(--paper);position:relative;overflow:hidden}
#model .band-in{padding-top:clamp(110px,16vh,190px);padding-bottom:clamp(170px,22vh,260px)}
#model .m-sheet{position:relative;z-index:1;margin-top:-56px;background:var(--paper);color:var(--ink);
  clip-path:inset(0 var(--ins,0px) 0 var(--ins,0px) round var(--rt,0px) var(--rt,0px) var(--rb,0px) var(--rb,0px))}
#model .m-sheet .lede{opacity:1;color:#3e4558}
#model .m-band:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(55% 40% at 85% 38%,rgba(227,91,50,.13),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(63,184,166,.06),transparent 70%)}
#model .m-band .wrap{position:relative}
#model .band-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px 64px;align-items:end;margin-bottom:clamp(48px,6vw,80px)}
#model .band-head .eyebrow{grid-column:1/-1}
#model .band-head .lede{justify-self:end;max-width:34ch;margin-bottom:.4em}
@media (max-width:900px){#model .band-head{grid-template-columns:1fr}#model .band-head .lede{justify-self:start}}

#model .stats{display:grid;border-top:1px solid var(--line-d)}
#model .stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#model .stats-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(40px,5vw,64px)}
#model .st{padding:28px 28px 32px 0;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line-d);margin-right:28px}
#model .st:last-child{border-right:0;margin-right:0}
#model .st .label{color:var(--mute-d);opacity:1}
#model .st-n{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:.9;font-size:clamp(46px,5vw,84px);color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
#model .st-big .st-n{font-size:clamp(56px,7.2vw,124px);line-height:1}
#model .st-q4 .st-n span{color:var(--orange)}
#model .st-n i{font-style:normal;color:var(--orange)}
#model .st-n small{font-family:var(--mono);font-size:clamp(11px,1vw,14px);letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--mute-d);margin-left:14px;vertical-align:.4em}
#model .st-l{font-size:16px;font-weight:500;line-height:1.35;color:var(--paper)}
#model .st-big .st-l{font-size:clamp(16px,1.3vw,19px)}
#model .st-f{font-size:13px;line-height:1.45;color:var(--mute-d)}
@media (max-width:900px){#model .stats-3{grid-template-columns:1fr}#model .stats-3 .st{border-right:0;margin-right:0;border-bottom:1px solid var(--line-d);padding:24px 0}#model .stats-3 .st:last-child{border-bottom:0}}
@media (max-width:640px){#model .stats-2{grid-template-columns:1fr}#model .stats-2 .st{border-right:0;margin-right:0;padding:24px 0}#model .stats-2 .st:first-child{border-bottom:1px solid var(--line-d)}#model .st-big .st-n{font-size:clamp(52px,15vw,72px)}#model .st-n small{display:block;margin:10px 0 0;vertical-align:0}}

#model .ramp{position:relative;margin-top:clamp(40px,5vw,64px);border:1px solid var(--line-d);border-radius:4px;padding:clamp(18px,2.4vw,28px);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))}
#model .ramp-svg{width:100%;height:clamp(150px,18vw,240px);overflow:visible}
#model .ramp-grid line{stroke:#fff;stroke-opacity:.06;stroke-width:1;vector-effect:non-scaling-stroke}
#model .ramp-target{stroke:var(--orange);stroke-opacity:.55;stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}
#model .ramp-area{fill:url(#mRampFill)}
#model .ramp-line{fill:none;stroke:url(#mRampLine);stroke-width:2.5;vector-effect:non-scaling-stroke}
#model .ramp-proj{fill:none;stroke:var(--orange-hi);stroke-width:2;stroke-dasharray:3 7;vector-effect:non-scaling-stroke;stroke-linecap:round}
#model .ramp-tags{position:absolute;top:clamp(18px,2.4vw,28px);left:clamp(18px,2.4vw,28px);right:clamp(18px,2.4vw,28px);height:clamp(150px,18vw,240px);pointer-events:none}
#model .rt{position:absolute;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
#model .rt-target{right:0;top:calc(40 / 260 * 100%);transform:translateY(calc(-100% - 10px));color:var(--orange-hi)}
#model .rt-now{left:var(--nx,66%);top:var(--ny,70%);transform:translate(calc(-100% - 12px),calc(-100% - 4px));color:#fff}
#model .rt-dot{position:absolute;left:var(--nx,66%);top:var(--ny,70%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--orange),0 0 24px 4px rgba(227,91,50,.7);opacity:0;transition:opacity .5s}
#model .rt-dot:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--orange);animation:mPing 2s var(--ease) infinite}
#model .rt-dot-q4{left:100%;top:calc(40 / 260 * 100%);background:var(--ink);box-shadow:0 0 0 2px var(--orange-hi)}
#model .rt-dot-q4:after{display:none}
#model .ramp.drawn .rt-dot{opacity:1}
@keyframes mPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){#model .rt-dot:after{animation:none}}
@media (max-width:560px){#model .rt{font-size:9.5px;letter-spacing:.12em}}
#model .ramp-cap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-d);font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-d)}
#model .ramp-cap span:last-child{opacity:.6}

#model .thesis{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;margin-top:clamp(64px,7vw,104px)}
#model .th{position:relative;overflow:hidden;padding:clamp(26px,3vw,44px);border:1px solid var(--line-d);border-radius:4px;display:flex;flex-direction:column;gap:14px;min-height:clamp(240px,24vw,330px)}
#model .th .label{opacity:1;color:var(--mute-d)}
#model .th-who{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.95;font-size:clamp(34px,4vw,64px);margin-top:auto}
#model .th-what{font-size:clamp(16px,1.4vw,20px);line-height:1.4;max-width:26ch;color:#c9cfdc;position:relative}
#model .th-last .th-who{color:#8a93a8}
#model .th-this{border-color:rgba(227,91,50,.55);background:linear-gradient(140deg,rgba(227,91,50,.2),rgba(227,91,50,.03) 60%)}
#model .th-this .label{color:var(--orange-hi)}
#model .th-this .th-what{color:#fff}
#model .th-arrow{display:grid;place-items:center;padding:0 clamp(14px,2vw,28px)}
#model .th-arrow span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--orange);color:var(--orange);font-size:22px}
/* glyphs: grid of flat "web" cells vs. moving "world" dots */
#model .th-glyph{position:absolute;right:clamp(20px,2.6vw,36px);top:clamp(20px,2.6vw,36px);display:grid;grid-template-columns:repeat(4,12px);gap:6px}
#model .th-glyph i{width:12px;height:12px;display:block}
#model .th-last .th-glyph i{border:1px solid #8a93a866}
#model .th-last .th-glyph i:nth-child(3n){background:#8a93a833}
#model .th-this .th-glyph i{border-radius:50%;background:var(--orange);transform:scale(.35);animation:mThPulse 2.4s var(--ease) infinite;animation-delay:calc(var(--i,0) * .12s)}
#model .th-this .th-glyph i:nth-child(1){--i:0}#model .th-this .th-glyph i:nth-child(2){--i:1}#model .th-this .th-glyph i:nth-child(3){--i:2}#model .th-this .th-glyph i:nth-child(4){--i:3}
#model .th-this .th-glyph i:nth-child(5){--i:1}#model .th-this .th-glyph i:nth-child(6){--i:2}#model .th-this .th-glyph i:nth-child(7){--i:3}#model .th-this .th-glyph i:nth-child(8){--i:4}
#model .th-this .th-glyph i:nth-child(9){--i:2}#model .th-this .th-glyph i:nth-child(10){--i:3}#model .th-this .th-glyph i:nth-child(11){--i:4}#model .th-this .th-glyph i:nth-child(12){--i:5}
@keyframes mThPulse{0%,100%{transform:scale(.35);opacity:.5}40%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){#model .th-this .th-glyph i{animation:none;transform:scale(.7)}}
@media (max-width:760px){
  #model .thesis{grid-template-columns:1fr}
  #model .th-arrow{padding:14px 0}
  #model .th-arrow span{transform:rotate(90deg);width:44px;height:44px}
  #model .th{min-height:220px}
}

/* ---------- Part 3: CTA ---------- */
#model .m-cta{position:relative;min-height:min(100svh,980px);display:flex;align-items:center;overflow:hidden;background:var(--paper)}
#model .cta-gl{position:absolute;inset:0;width:100%;height:100%;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 50%,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%);
          mask-image:radial-gradient(120% 90% at 50% 50%,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%)}
#model .cta-in{position:relative;z-index:1;padding-top:clamp(120px,16vh,200px);padding-bottom:clamp(120px,16vh,200px)}
#model .cta-h{font-family:var(--display);font-weight:800;letter-spacing:-.055em;line-height:.88;font-size:clamp(58px,11.2vw,200px);margin:28px 0 clamp(36px,5vw,64px);max-width:11ch}
#model .cta-h .accent{white-space:nowrap}
#model .cta-h i{color:var(--ink)!important}
#model .btn-main{display:inline-flex;align-items:center;gap:18px;background:var(--orange);color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(19px,1.9vw,28px);padding:clamp(18px,1.6vw,24px) clamp(24px,2.4vw,36px);border-radius:2px;
  box-shadow:0 22px 50px -22px rgba(227,91,50,.8);transition:background .3s,transform .3s var(--ease),box-shadow .3s}
#model .btn-main span{transition:transform .3s var(--ease)}
#model .btn-main:hover{background:var(--orange-lo);transform:translateY(-2px);box-shadow:0 28px 60px -22px rgba(227,91,50,.9)}
#model .btn-main:hover span{transform:translateX(6px)}
#model .cta-alt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line)}
#model .cta-alt a{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 48px 22px 0;text-decoration:none;border-bottom:1px solid var(--line);transition:color .3s}
#model .cta-alt a+a{padding-left:28px;border-left:1px solid var(--line)}
#model .cta-alt .label{opacity:1;color:var(--mute)}
#model .cta-alt b{font-family:var(--display);font-weight:700;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em}
#model .cta-alt .arr{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--orange);font-size:20px;transition:transform .3s var(--ease)}
#model .cta-alt a:hover{color:var(--orange)}
#model .cta-alt a:hover .arr{transform:translate(4px,calc(-50% - 4px))}
@media (max-width:640px){
  #model .cta-alt{grid-template-columns:1fr}
  #model .cta-alt a+a{padding-left:0;border-left:0}
  #model .btn-main{width:100%;justify-content:space-between;font-size:19px}
  #model .cta-h{font-size:clamp(44px,13.4vw,80px)}
}
