/* Space Vanta Theme 1.0 — On-Demand Spatial Field
   ON-DEMAND-FIELD-006 | Responsive grid architecture
   Replace the existing Spatial Field CSS file completely.
*/
.sv-on-demand-field{--sv-line:rgba(79,96,112,.16);--sv-line-strong:rgba(66,89,108,.26);--sv-text:rgba(38,44,52,.92);--sv-muted:rgba(68,78,90,.56);position:relative;isolation:isolate;width:100%;box-sizing:border-box;padding:clamp(48px,7vw,104px) clamp(22px,6vw,96px) clamp(72px,9vw,136px);color:var(--sv-text)}
.sv-on-demand-field *,.sv-on-demand-field *:before,.sv-on-demand-field *:after{box-sizing:border-box}
.sv-on-demand-field [hidden],.sv-on-demand-product-object[hidden],.sv-on-demand-field__pagination[hidden]{display:none!important}
.sv-on-demand-field__header{position:relative;z-index:1;max-width:760px;margin:0 auto clamp(56px,8vw,104px);text-align:center}
.sv-on-demand-field__eyebrow,.sv-on-demand-field__major-kicker,.sv-on-demand-field__direction-index,.sv-on-demand-product-object__direction{margin:0;font-size:10px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--sv-muted)}
.sv-on-demand-field__title{margin:12px 0 14px;font-size:clamp(32px,5vw,64px);line-height:.98;letter-spacing:-.035em;font-weight:500;overflow-wrap:anywhere}
.sv-on-demand-field__description{max-width:620px;margin:0 auto;font-size:14px;line-height:1.75;color:rgba(62,70,80,.68)}
.sv-on-demand-field__major{position:relative;min-width:0;margin:0 0 clamp(88px,12vw,168px);padding:clamp(36px,5vw,72px) 0 clamp(56px,7vw,96px)}
.sv-on-demand-field__major:before{content:"";position:absolute;z-index:0;inset:0;border-top:1px solid var(--sv-line-strong);border-bottom:1px solid rgba(92,105,120,.10);pointer-events:none}
.sv-on-demand-field__major:after{content:"";position:absolute;z-index:0;top:0;bottom:0;left:17%;width:1px;background:linear-gradient(to bottom,transparent,rgba(88,103,118,.18),transparent);pointer-events:none}
.sv-on-demand-field__major-identity{position:relative;z-index:1;display:grid;grid-template-columns:minmax(60px,120px) minmax(0,620px);gap:clamp(20px,4vw,56px);align-items:start;margin-bottom:clamp(48px,7vw,88px)}
.sv-on-demand-field__major-index{font-size:clamp(36px,6vw,76px);line-height:.85;letter-spacing:-.06em;color:rgba(55,65,76,.28)}
.sv-on-demand-field__major-title{margin:8px 0 14px;font-size:clamp(34px,5.6vw,72px);line-height:.96;letter-spacing:-.045em;font-weight:500;overflow-wrap:anywhere}
.sv-on-demand-field__major-description{max-width:520px;margin:0;font-size:14px;line-height:1.7;color:rgba(64,72,82,.68)}
.sv-on-demand-field__direction{position:relative;z-index:1;min-width:0;margin:0 0 clamp(64px,8vw,112px)}
.sv-on-demand-field__direction:last-child{margin-bottom:0}
.sv-on-demand-field__direction-header{display:grid;grid-template-columns:auto auto minmax(24px,1fr);gap:14px;align-items:center;margin-bottom:18px}
.sv-on-demand-field__direction-title{min-width:0;margin:0;font-size:clamp(18px,2.2vw,28px);line-height:1.1;letter-spacing:-.025em;font-weight:500;overflow-wrap:anywhere}
.sv-on-demand-field__direction-line{height:1px;background:linear-gradient(to right,rgba(85,100,116,.25),transparent)}
/* Product cards are in normal grid flow, never absolutely positioned. */
.sv-on-demand-field__spatial-field{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:clamp(24px,5vw,64px) clamp(20px,5vw,72px);min-width:0;min-height:0;padding:clamp(28px,5vw,64px) clamp(18px,4vw,52px);isolation:isolate;overflow:hidden;border:1px solid rgba(92,105,120,.13);background:linear-gradient(90deg,rgba(255,255,255,.54),rgba(232,236,240,.20)),radial-gradient(circle at 72% 30%,rgba(150,175,198,.13),transparent 36%)}
.sv-on-demand-field__spatial-field:before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(84,100,116,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(84,100,116,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 92%);pointer-events:none}
.sv-on-demand-field__spatial-field:after{content:"";position:absolute;z-index:-1;inset:10px;border:1px solid rgba(255,255,255,.54);pointer-events:none}
.sv-on-demand-field__field-axis{position:absolute;z-index:0;display:block;pointer-events:none}
.sv-on-demand-field__field-axis--x{top:50%;left:6%;width:88%;height:1px;background:linear-gradient(90deg,transparent,rgba(72,90,108,.17),transparent)}
.sv-on-demand-field__field-axis--y{top:7%;left:50%;width:1px;height:86%;background:linear-gradient(to bottom,transparent,rgba(72,90,108,.17),transparent)}
.sv-on-demand-field__direction--grid .sv-on-demand-field__field-axis--x{left:8%;width:84%}.sv-on-demand-field__direction--grid .sv-on-demand-field__field-axis--y{left:42%;height:82%;top:9%}
.sv-on-demand-field__direction--node .sv-on-demand-field__field-axis--x{top:58%;left:10%;width:80%}.sv-on-demand-field__direction--node .sv-on-demand-field__field-axis--y{left:63%;height:76%;top:12%}
.sv-on-demand-field__direction--axis .sv-on-demand-field__field-axis--x{top:44%;left:4%;width:92%}.sv-on-demand-field__direction--axis .sv-on-demand-field__field-axis--y{left:54%;height:90%;top:5%}
.sv-on-demand-field__direction--layer .sv-on-demand-field__field-axis--x{top:63%;left:12%;width:72%}.sv-on-demand-field__direction--layer .sv-on-demand-field__field-axis--y{left:38%;height:78%;top:11%}
.sv-on-demand-field__direction--flow .sv-on-demand-field__field-axis--x{top:52%;left:7%;width:86%}.sv-on-demand-field__direction--flow .sv-on-demand-field__field-axis--y{left:57%;height:82%;top:9%}
.sv-on-demand-field__direction--surface .sv-on-demand-field__field-axis--x{top:39%;left:10%;width:78%}.sv-on-demand-field__direction--surface .sv-on-demand-field__field-axis--y{left:46%;height:88%;top:6%}
.sv-on-demand-field__direction--precision .sv-on-demand-field__field-axis--x{top:55%;left:14%;width:72%}.sv-on-demand-field__direction--precision .sv-on-demand-field__field-axis--y{left:68%;height:70%;top:15%}
.sv-on-demand-field__direction--orbit .sv-on-demand-field__field-axis--x{top:48%;left:16%;width:68%}.sv-on-demand-field__direction--orbit .sv-on-demand-field__field-axis--y{left:50%;height:68%;top:16%}
.sv-on-demand-field__direction--cluster .sv-on-demand-field__field-axis--x{top:61%;left:9%;width:82%}.sv-on-demand-field__direction--cluster .sv-on-demand-field__field-axis--y{left:59%;height:74%;top:13%}
.sv-on-demand-field__direction--matrix .sv-on-demand-field__field-axis--x{top:50%;left:6%;width:88%}.sv-on-demand-field__direction--matrix .sv-on-demand-field__field-axis--y{left:47%;height:84%;top:8%}
.sv-on-demand-product-object{position:relative;z-index:1;align-self:start;justify-self:stretch;width:100%;min-width:0;max-width:360px;margin:0;transform:none;transition:filter 260ms ease,opacity 260ms ease}
.sv-on-demand-product-object[data-field-slot="1"],.sv-on-demand-product-object[data-field-slot="2"],.sv-on-demand-product-object[data-field-slot="3"],.sv-on-demand-product-object[data-field-slot="4"]{position:relative;inset:auto;width:100%}
.sv-on-demand-product-object.is-focused,.sv-on-demand-product-object:hover{z-index:2;transform:none;filter:drop-shadow(0 12px 22px rgba(34,43,54,.10))}
.sv-on-demand-product-object:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:22px;background:linear-gradient(to bottom,rgba(71,96,117,.22),transparent);pointer-events:none}
.sv-on-demand-product-object__signal{position:absolute;top:-10px;left:-8px;z-index:5;display:flex;align-items:center;gap:6px;pointer-events:none}
.sv-on-demand-product-object__signal-index{font-size:9px;letter-spacing:.12em;color:rgba(70,82,96,.60)}
.sv-on-demand-product-object__signal-node{width:6px;height:6px;flex:0 0 6px;border:1px solid rgba(74,105,132,.52);border-radius:50%;background:rgba(116,154,184,.10);box-shadow:0 0 0 5px rgba(116,154,184,.05)}
.sv-on-demand-product-object__media{position:relative;width:100%;min-width:0;overflow:hidden;background:rgba(244,246,248,.72);border:1px solid rgba(90,104,118,.16);box-shadow:0 10px 24px rgba(30,38,48,.055),inset 0 1px 0 rgba(255,255,255,.70)}
.sv-on-demand-product-object__media:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 35%,rgba(82,116,139,.05));pointer-events:none}
.sv-on-demand-product-object__media .sv-product-card__media,.sv-on-demand-product-object__media .sv-product-card__media-link,.sv-on-demand-product-object__media .sv-product-card__image-frame{display:block;width:100%;min-width:0}
.sv-on-demand-product-object__media .sv-product-card__media-link{overflow:hidden}
.sv-on-demand-product-object__media img{display:block;width:100%;max-width:100%;height:auto;transition:transform 360ms cubic-bezier(.2,.72,.2,1),filter 360ms ease}
.sv-on-demand-product-object.is-focused .sv-on-demand-product-object__media img,.sv-on-demand-product-object:hover .sv-on-demand-product-object__media img{transform:scale(1.018)}
.sv-on-demand-product-object__info{position:relative;min-width:0;padding:12px 2px 8px}
.sv-on-demand-product-object__direction{display:block;margin-bottom:7px;font-size:8px;line-height:1.45;overflow-wrap:anywhere}
.sv-on-demand-product-object__title,.sv-on-demand-product-object__title h3{min-width:0;max-width:100%}
.sv-on-demand-product-object__title h3{margin:0;font-size:clamp(13px,1.15vw,16px);line-height:1.35;letter-spacing:-.015em;font-weight:500;overflow-wrap:anywhere}
.sv-on-demand-product-object__price{min-width:0;margin-top:7px}
.sv-on-demand-product-object__price .sv-product-card-price__content{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:baseline;min-width:0}
.sv-on-demand-product-object__price .sv-product-card-price__value{font-size:12px;line-height:1.5;color:rgba(44,52,62,.82);overflow-wrap:anywhere}
.sv-on-demand-product-object__price .sv-product-card-price__compare-at{font-size:10px;line-height:1.5;color:rgba(72,80,90,.42);overflow-wrap:anywhere}
.sv-on-demand-product-object__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;margin-top:5px}
.sv-on-demand-product-object__actions>button{display:inline-flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;max-width:100%;width:100%;min-height:36px;margin:0;padding:6px 8px;border:1px solid rgba(67,87,104,.20);border-radius:0;background:rgba(255,255,255,.52);color:rgba(45,57,68,.82);font-family:inherit;font-size:8px;line-height:1.3;letter-spacing:.08em;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background 180ms ease,border-color 180ms ease,transform 180ms ease}
.sv-on-demand-product-object__customize{border-color:rgba(68,100,124,.28)!important;background:rgba(224,233,240,.36)!important}
.sv-on-demand-product-object__details:hover,.sv-on-demand-product-object__customize:hover{background:rgba(224,233,240,.68)!important;border-color:rgba(67,99,123,.44)!important;transform:translateY(-1px)}
.sv-on-demand-product-object__action-mark{flex:0 0 auto;color:rgba(65,101,128,.72);font-size:11px;line-height:1}
.sv-on-demand-field__pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:14px}
.sv-on-demand-field__pagination-state{min-width:52px;text-align:center;font-size:9px;letter-spacing:.12em;color:rgba(67,79,91,.60)}
.sv-on-demand-field__pagination-button{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;border:0;border-bottom:1px solid rgba(70,88,104,.18);background:transparent;color:rgba(47,62,75,.78);font:inherit;font-size:8px;letter-spacing:.1em;cursor:pointer}
.sv-on-demand-field__pagination-button:hover:not(:disabled){color:rgba(46,78,102,.94);border-bottom-color:rgba(62,100,126,.42)}.sv-on-demand-field__pagination-button:disabled{opacity:.28;cursor:default}
@media(max-width:900px){.sv-on-demand-field{padding-right:28px;padding-left:72px}.sv-on-demand-field__major-identity{grid-template-columns:56px minmax(0,1fr)}.sv-on-demand-field__spatial-field{gap:32px 24px;padding:34px 24px}}
@media(max-width:700px){.sv-on-demand-field{padding:42px 16px 80px 58px}.sv-on-demand-field__header{margin-bottom:58px;text-align:left}.sv-on-demand-field__title{font-size:clamp(30px,8vw,42px);line-height:1.02}.sv-on-demand-field__description{margin-left:0;font-size:13px;line-height:1.7}.sv-on-demand-field__major{margin-bottom:84px;padding:30px 0 58px}.sv-on-demand-field__major:after{left:12%}.sv-on-demand-field__major-identity{grid-template-columns:36px minmax(0,1fr);gap:12px;margin-bottom:44px}.sv-on-demand-field__major-index{font-size:30px}.sv-on-demand-field__major-title{margin-top:5px;font-size:clamp(29px,7.5vw,38px);line-height:1}.sv-on-demand-field__major-description{font-size:13px}.sv-on-demand-field__direction{margin-bottom:60px}.sv-on-demand-field__direction-header{grid-template-columns:auto minmax(0,1fr);gap:10px;margin-bottom:14px}.sv-on-demand-field__direction-line{display:none}.sv-on-demand-field__direction-title{font-size:19px}.sv-on-demand-field__spatial-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px;padding:26px 12px 30px;overflow:hidden}.sv-on-demand-product-object{max-width:none}.sv-on-demand-product-object:after{height:14px}.sv-on-demand-product-object__signal{top:-9px;left:-4px;gap:4px}.sv-on-demand-product-object__signal-index{font-size:8px}.sv-on-demand-product-object__signal-node{width:5px;height:5px;flex-basis:5px;box-shadow:0 0 0 3px rgba(116,154,184,.05)}.sv-on-demand-product-object__info{padding:9px 1px 4px}.sv-on-demand-product-object__direction{margin-bottom:5px;font-size:7px;letter-spacing:.12em}.sv-on-demand-product-object__title h3{font-size:12px;line-height:1.35}.sv-on-demand-product-object__price{margin-top:5px}.sv-on-demand-product-object__price .sv-product-card-price__value{font-size:11px}.sv-on-demand-product-object__price .sv-product-card-price__compare-at{font-size:9px}.sv-on-demand-product-object__actions{grid-template-columns:minmax(0,1fr);gap:5px;margin-top:7px}.sv-on-demand-product-object__actions>button{min-height:31px;padding:6px 7px;font-size:7px;letter-spacing:.06em}.sv-on-demand-field__pagination{justify-content:space-between;gap:8px}.sv-on-demand-field__pagination-button{gap:5px;padding:0 5px;font-size:7px}.sv-on-demand-field__pagination-state{min-width:42px;font-size:8px}}
@media(max-width:380px){.sv-on-demand-field{padding-right:12px;padding-left:50px}.sv-on-demand-field__spatial-field{grid-template-columns:minmax(0,1fr);gap:30px;padding:24px 18px 28px}.sv-on-demand-product-object{width:100%;max-width:280px;justify-self:center}.sv-on-demand-product-object__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-on-demand-product-object__actions>button{font-size:8px;letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){.sv-on-demand-product-object,.sv-on-demand-product-object__media img,.sv-on-demand-product-object__actions>button{transition:none!important}}
/* =========================================================
   SPACE VANTA — VIEW DETAILS GEOMETRIC SIGNAL
   VISUAL PATCH 011
   Replace the legacy ↗ glyph with a CSS-drawn directional mark.
   Scope: View Details action mark only. No HTML/JS changes.
   ========================================================= */
.sv-on-demand-field .sv-on-demand-product-object__details .sv-on-demand-product-object__action-mark{
  position:relative;
  display:inline-block;
  flex:0 0 19px;
  width:19px;
  height:19px;
  overflow:hidden;
  font-size:0!important;
  line-height:0;
  color:transparent!important;
  border:1px solid rgba(76,111,137,.34);
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(219,230,238,.60));
}
.sv-on-demand-field .sv-on-demand-product-object__details .sv-on-demand-product-object__action-mark::before{
  content:"";
  position:absolute;
  top:5px;
  right:5px;
  width:6px;
  height:6px;
  border-top:1.5px solid rgba(55,88,113,.92);
  border-right:1.5px solid rgba(55,88,113,.92);
}
.sv-on-demand-field .sv-on-demand-product-object__details .sv-on-demand-product-object__action-mark::after{
  content:"";
  position:absolute;
  top:6px;
  right:6px;
  width:8px;
  height:1.5px;
  background:rgba(55,88,113,.92);
  transform:rotate(-45deg);
  transform-origin:right center;
}
@media(max-width:700px){
  .sv-on-demand-field .sv-on-demand-product-object__details .sv-on-demand-product-object__action-mark{
    flex-basis:18px;
    width:18px;
    height:18px;
  }
}