/* /sigma (SiGMA World Rome landing). Builds on v4.css tokens only. */
.sg-hero-g{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end;padding-top:22px}
.sg-event{color:var(--tx)}
.sg-pin{width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px rgba(118,108,246,.16)}
.sg-h1{font:600 clamp(36px,4.4vw + 8px,68px)/1.0 var(--f-dsp);letter-spacing:-.045em;margin-top:16px;text-wrap:balance}
.sg-hero .answer{margin-top:18px}
.sg-hero .ctas{margin-top:26px}
.sg-hero .price-line{margin-top:12px}
.sg-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.sg-facts li{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-1);min-width:0}
.sg-facts b{font:600 clamp(32px,2.6vw + 10px,48px)/1 var(--f-dsp);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sg-facts span{font-size:14px;line-height:1.35;color:var(--tx-2)}
.sg-facts .src{align-self:flex-start;margin-top:auto}

/* engine */
.sg-engine{margin-top:28px;padding:0;overflow:hidden}
.sg-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:18px clamp(18px,2vw,28px);border-bottom:1px solid var(--on-line)}
.sg-seg{margin-top:0;background:rgba(255,255,255,.07)}
.sg-seg button{color:var(--on-2)}
.sg-seg button[aria-checked=true]{background:#fff;color:#141417}
.sg-brand{color:var(--on-3);flex:1 1 220px;min-width:0}
.sg-run{gap:8px}
.sg-run svg{width:14px;height:14px}
.sg-run[aria-pressed=true]{background:var(--grad);color:#fff}
.sg-body{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr)}
.sg-steps{display:flex;flex-direction:column;gap:2px;padding:14px;border-right:1px solid var(--on-line)}
.sg-steps button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;border-radius:12px;text-align:left;color:var(--on-2);font:500 14.5px/1.2 var(--f-sans);transition:background-color var(--d-hover),color var(--d-hover)}
.sg-steps button b{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;font:500 12px/1 var(--f-mono);box-shadow:inset 0 0 0 1px var(--on-line);color:var(--on-3);transition:background var(--d-state),color var(--d-state)}
.sg-steps button:hover{background:var(--on-fill);color:#fff}
.sg-steps button[aria-selected=true]{background:rgba(255,255,255,.09);color:#fff}
.sg-steps button[aria-selected=true] b{background:var(--grad);color:#fff;box-shadow:none}
.sg-steps button.done b{background:rgba(61,214,140,.16);color:var(--ok);box-shadow:none}
.sg-steps button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sg-panels{padding:clamp(20px,2.2vw,34px);min-width:0;min-height:430px}
.sg-p{display:flex;flex-direction:column;gap:16px;animation:sg-in var(--d-state) var(--ease)}
.sg-p .h3{color:#fff}
.sg-txt{color:var(--on-2);max-width:62ch}
.sg-p[hidden],.sg-checks[hidden],.sg-done[hidden]{display:none}
.sg-do{margin-top:auto;background:var(--on-fill);box-shadow:inset 0 0 0 1px var(--on-line);color:#fff}
.sg-do span{color:var(--on-3)}
@keyframes sg-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.sg-trends{display:grid;gap:8px}
.sg-trends li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-card);background:var(--on-fill)}
.sg-score{--s:50;position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:conic-gradient(#8B82FF calc(var(--s) * 1%),rgba(255,255,255,.1) 0)}
.sg-score::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ink-2)}
.sg-score b{position:relative;font:500 14px/1 var(--f-mono);color:#fff}
.sg-tt{color:#fff;font-weight:500;line-height:1.35}

.sg-card{padding:18px;border-radius:var(--r-card);background:var(--on-fill);display:grid;gap:10px}
.sg-idea{font:600 clamp(20px,1.2vw + 12px,26px)/1.15 var(--f-dsp);letter-spacing:-.02em;color:#fff}
.sg-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.sg-why div{padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--on-line)}
.sg-why dt{font:500 11px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-3)}
.sg-why dd{margin:4px 0 0;color:#fff;font-size:14px;line-height:1.35}

.sg-gate{display:grid;gap:10px}
.sg-gate-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sg-sel,.sg-ta{width:100%;background:rgba(0,0,0,.25);color:#fff;border-radius:var(--r-ctl);box-shadow:inset 0 0 0 1px var(--on-line);font:400 15px/1.5 var(--f-sans);padding:10px 12px}
.sg-sel{width:auto;min-height:40px}
.sg-sel option{color:#141417}
.sg-ta{resize:vertical;min-height:84px}
.sg-sel:focus-visible,.sg-ta:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sg-sel:disabled{opacity:.5}
.sg-prev{padding:12px 14px;border-radius:var(--r-card);background:rgba(0,0,0,.25);color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;min-height:48px}
.sg-prev mark{background:rgba(229,72,77,.22);color:#FF8A8E;box-shadow:inset 0 -2px 0 var(--bad);border-radius:3px;padding:0 2px}
.sg-verdict{display:grid;gap:6px;padding:12px 14px;border-radius:var(--r-card)}
.sg-verdict:empty{display:none}
.sg-verdict.bad{background:rgba(229,72,77,.12);box-shadow:inset 0 0 0 1px rgba(229,72,77,.45)}
.sg-verdict.ok{background:rgba(61,214,140,.1);box-shadow:inset 0 0 0 1px rgba(61,214,140,.45)}
.sg-verdict b{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600}
.sg-verdict b::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;background:var(--ok)}
.sg-verdict.bad b::before{background:var(--bad)}
.sg-verdict p{color:var(--on-2);font-size:14px}
.sg-verdict code{font:400 13px/1.4 var(--f-mono);color:#fff;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.25);display:block}
.sg-checks{display:grid;gap:6px}
.sg-checks li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:14px;color:var(--on-2)}
.sg-checks li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);transform:translateY(-1px)}
.sg-checks b{color:#fff;font-weight:500}
.sg-checks small{font:400 12px/1.3 var(--f-mono);color:var(--on-3)}

.sg-post{padding:18px;border-radius:var(--r-card);background:var(--card);color:var(--tx);display:grid;gap:12px;max-width:560px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.sg-post header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sg-post header>span:nth-child(2){display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.sg-post small{color:var(--mut)}
.sg-av{width:36px;height:36px;border-radius:50%;background:var(--grad);flex:none}
.sg-disc{color:var(--mut);padding-top:10px;border-top:1px solid var(--line)}

.sg-approve{display:grid;justify-items:start;gap:14px;padding:22px;border-radius:var(--r-card);background:var(--on-fill)}
.sg-q{color:#fff;font:600 20px/1.2 var(--f-dsp)}
.sg-yes{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--r-ctl);background:var(--grad);color:#fff;font:600 16px/1 var(--f-sans);box-shadow:0 14px 36px -14px rgba(234,77,153,.7);transition:transform var(--d-press) var(--ease)}
.sg-yes:active{transform:scale(.97)}
.sg-yes svg{width:20px;height:20px;transition:transform 600ms var(--ease)}
.sg-yes.flown svg{transform:translate(220px,-90px) rotate(-12deg);opacity:0;transition:transform 900ms var(--ease),opacity 900ms}
.sg-yes:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sg-done{color:var(--ok)}

.sg-slots{display:grid;gap:8px}
.sg-slots li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-card);background:var(--on-fill);color:#fff}
.sg-measure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sg-measure li{display:grid;gap:6px;padding:12px 14px;border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--on-line)}
.sg-measure b{color:#fff;font-weight:500;font-size:14px;line-height:1.35}
.sg-engine .tile-foot{padding:14px clamp(18px,2vw,28px);border-top:1px solid var(--on-line);margin-top:0}

/* sections */
.sg-pts{display:grid;gap:8px;margin-top:14px}
.sg-pts li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.4}
.sg-pts li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:2px;background:var(--grad)}
.tile-grad .sg-pts li::before{background:#fff}
.sg-levels{display:grid;gap:6px;margin-top:16px}
.sg-levels li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--on-fill);color:var(--on-2);font-size:14px}
.sg-levels b{color:#fff;font:500 13px/1 var(--f-mono)}
.sg-levels li.on{background:rgba(118,108,246,.22);box-shadow:inset 0 0 0 1px rgba(164,157,255,.5);color:#fff}
.sg-disc-list{display:grid;gap:10px;margin-block:14px}
.sg-disc-list li{display:grid;gap:4px}
.sg-disc-list .mono{color:var(--tx);overflow-wrap:anywhere}
.sg-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:28px}
.sg-shots figure{display:grid;gap:8px;margin:0;min-width:0}
.sg-shots img{width:100%;height:auto;border-radius:var(--r-card);box-shadow:var(--sh-1)}
.sg-qr-tile{align-items:center;text-align:center}
.sg-qr{width:min(220px,100%);height:auto;border-radius:12px;background:#fff;padding:8px;margin-top:8px}
.sg-qr-u{margin-top:8px;color:var(--mut)}

@media (max-width:1023px){
  .sg-hero-g{grid-template-columns:1fr}
  .sg-body{grid-template-columns:1fr}
  .sg-steps{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--on-line);scrollbar-width:none}
  .sg-steps button{white-space:nowrap}
  .sg-shots{grid-template-columns:1fr}
}
@media (max-width:599px){
  .sg-why,.sg-measure{grid-template-columns:1fr}
  .sg-trends li{grid-template-columns:auto minmax(0,1fr)}
  .sg-trends .chip{grid-column:2;justify-self:start}
  .sg-steps button span{display:none}
  .sg-steps button[aria-selected=true] span{display:inline}
  .sg-panels{min-height:0}
}
@media (prefers-reduced-motion:reduce){
  .sg-p{animation:none}
  .sg-yes svg,.sg-yes.flown svg{transition:none}
}
