.sva-site-page{overflow:hidden}.sva-site-page .section{position:relative}.sva-site-page__hero-media,.sva-site-section__media,.sva-site-split__media{min-width:0}.sva-site-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);gap:clamp(34px,6vw,90px);align-items:center}.sva-site-split.is-media-left .sva-site-split__media{grid-column:1;grid-row:1}.sva-site-split.is-media-left .sva-site-split__copy{grid-column:2;grid-row:1}.sva-site-list{display:grid;gap:18px;list-style:none;margin:30px 0 0;padding:0}.sva-site-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}.sva-site-list b{display:block;margin-bottom:4px}.sva-site-media{margin:0}.sva-site-media img,.sva-site-media video{display:block;width:100%;height:auto;border-radius:18px}.sva-site-media figcaption{font-size:.86rem;opacity:.7;margin-top:8px}.sva-page-cube{width:min(100%,420px);height:auto;display:block;margin:auto}.sva-page-cube polygon{fill:none;stroke:#5fd089;stroke-width:1.2}.sva-site-chart{margin:36px 0 0}.sva-site-chart figcaption{margin-bottom:20px}.sva-site-chart svg{width:100%;height:auto;overflow:visible}.sva-chart-series{fill:none;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.sva-chart-series--1{stroke:#5fd089;background:#5fd089}.sva-chart-series--2{stroke:#d4a84f;background:#d4a84f}.sva-chart-series--3{stroke:#587c8c;background:#587c8c}.sva-chart-series--4{stroke:#956e9f;background:#956e9f}.sva-chart-series--5{stroke:#c7785b;background:#c7785b}.sva-chart-series--6{stroke:#8a9d5b;background:#8a9d5b}.sva-site-chart__bars{display:grid;gap:18px}.sva-site-chart__group{display:grid;gap:8px}.sva-site-chart__label{font-weight:700}.sva-site-chart__series{display:grid;gap:6px}.sva-site-chart__bar-row{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(120px,1fr) auto;gap:10px;align-items:center;font-size:.9rem}.sva-site-chart__track{height:12px;background:rgba(127,127,127,.14);border-radius:99px;overflow:hidden}.sva-site-chart__bar{height:100%;display:block;border-radius:99px}.sva-site-form{display:grid;gap:24px;background:rgba(255,255,255,.7);border:1px solid rgba(20,39,32,.12);border-radius:20px;padding:clamp(20px,4vw,40px)}.section--dark .sva-site-form,.section--ink .sva-site-form{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}.sva-site-form h3{margin:0}.sva-site-form__section{border:0;border-top:1px solid rgba(127,127,127,.22);display:grid;gap:18px;margin:0;padding:24px 0 0}.sva-site-form__section legend{font-size:1.15rem;font-weight:800;padding-right:15px}.sva-site-form__field{display:grid;gap:7px}.sva-site-form__field>label{display:grid;gap:7px;font-weight:700}.sva-site-form input[type=text],.sva-site-form input[type=date],.sva-site-form textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px 14px;border:1px solid rgba(20,39,32,.22);border-radius:10px;background:#fff;color:#17261f}.sva-site-form__choices{display:grid;gap:8px}.sva-site-form small{opacity:.72}.sva-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.sva-site-video iframe{max-width:100%;width:100%;aspect-ratio:16/9;height:auto}.sva-site-embed-note{padding:18px;border:1px dashed currentColor;border-radius:12px;opacity:.7}.sva-page-text-link{font-weight:800;text-decoration:underline;text-underline-offset:4px}.sva-site-layout--centered .section__head{max-width:760px;margin-inline:auto;text-align:center}.sva-site-layout--wide .wrap{max-width:1400px}
@media(max-width:860px){.sva-site-split{grid-template-columns:1fr}.sva-site-split.is-media-left .sva-site-split__media,.sva-site-split.is-media-left .sva-site-split__copy{grid-column:auto;grid-row:auto}.sva-site-split.is-media-left .sva-site-split__media{order:2}.sva-site-chart__bar-row{grid-template-columns:1fr auto}.sva-site-chart__track{grid-column:1/-1}.sva-site-page .hero__grid{grid-template-columns:1fr}.sva-site-page__hero-media{margin-top:24px}}
.sva-site-form__success{padding:14px 16px;border:1px solid rgba(44,139,85,.28);border-radius:12px;background:rgba(95,208,137,.12);font-weight:800}.sva-site-form fieldset[disabled]{opacity:.72}.sva-site-form fieldset[disabled] input{cursor:not-allowed}

/* Overlay 42: editorial path and composition */
.sva-site-layout--centered .section__head{max-width:760px;margin-inline:0 auto;text-align:left}
.sva-site-page__hero.is-no-media .hero__grid{grid-template-columns:minmax(0,860px);justify-content:start}
.sva-site-page__hero.is-no-media .hero__sub{max-width:62ch}
.sva-site-page__hero-media .sva-site-media{margin:0}
.sva-site-media--image img{border-radius:0}
#start-with-real-problem .sva-site-media--image img,
#from-insight-to-change .sva-site-media--image img,
#continuity .sva-site-media--image img{mix-blend-mode:multiply}
.sva-site-section--feature .section__head{max-width:72ch}
.sva-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:34px}
.sva-feature-card{border-top:1px solid rgba(20,39,32,.2);padding:24px 0 4px;min-width:0}
.section--mint .sva-feature-card{border-top-color:rgba(20,39,32,.16)}
.section--ink .sva-feature-card,.section--dark .sva-feature-card{border-top-color:rgba(255,255,255,.18)}
.sva-feature-card h3{font-size:1.15rem;line-height:1.25;margin:0 0 10px}
.sva-feature-card p{margin:0;color:var(--muted-dark);line-height:1.65}
.section--ink .sva-feature-card p,.section--dark .sva-feature-card p{color:var(--muted-light)}
.sva-feature-card__link{display:block;color:inherit;text-decoration:none}
.sva-feature-card__link:hover h3{color:var(--green-deep)}
.sva-site-section--cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,6vw,84px);align-items:end}
.sva-site-section--cta .section__head{max-width:760px;margin:0}
.sva-site-section--cta .btn-row{margin:0;justify-content:flex-end;align-items:center}
.sva-site-media--diagram{position:relative;overflow:hidden;aspect-ratio:16/8;border:1px solid rgba(20,39,32,.1);border-radius:18px;background:var(--cream);box-shadow:0 22px 48px -38px rgba(11,36,56,.45)}
.sva-site-media--diagram img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transform-origin:center center;border-radius:0}
.sva-site-split__media .sva-site-media--image{margin:0}
.sva-site-split__media .sva-site-media--image img{width:100%;height:auto}
@media(max-width:860px){
  .sva-site-section--cta .wrap{grid-template-columns:1fr}
  .sva-site-section--cta .btn-row{justify-content:flex-end}
  .sva-site-media--diagram{aspect-ratio:4/3}
  .sva-site-media--diagram img{transform:scale(1.12)}
}

/* Overlay 46: managed-page layout fixes */

.sva-site-list__copy{display:grid;gap:5px;min-width:0}
.sva-site-list__copy strong{margin:0}
.sva-site-list__text{display:block;color:var(--muted-dark);line-height:1.55}
.section--ink .sva-site-list__text,.section--dark .sva-site-list__text{color:var(--muted-light)}

/* Diagrams fit their cards. Never crop or scale labels past the safe area. */
.sva-site-media--diagram{aspect-ratio:14/9;overflow:hidden;padding:clamp(12px,2vw,22px)}
.sva-site-media--diagram img{width:100%;height:100%;object-fit:contain;transform:none!important;transform-origin:center;border-radius:0}
.sva-site-split{align-items:start}
.sva-site-split__media{min-width:0}

/* Contact controls use one width regardless of input type. */
.sva-site-form input[type=text],.sva-site-form input[type=email],.sva-site-form input[type=tel],.sva-site-form input[type=number],.sva-site-form input[type=date],.sva-site-form textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px 14px;border:1px solid rgba(20,39,32,.22);border-radius:10px;background:#fff;color:#17261f}

/* Signals use the same editorial axis in the hero and body. */
.blog .post-list{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.single-post .page-hero__inner{margin-left:0;max-width:760px}
.single-post .page-body .wrap{max-width:824px}
.single-post .prose{max-width:760px}

@media(max-width:860px){
  .signal-carousel__viewport{grid-template-columns:1fr;gap:22px}
  .signal-carousel__mark{width:min(180px,48vw);justify-self:end;grid-row:1}
  .signal-carousel__slides{grid-row:2}
  .signal-carousel__reading{grid-template-columns:1fr}
  .signal-carousel__reading>div{padding:16px 0}
  .signal-carousel__reading>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(20,39,32,.12)}
  .blog .post-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .signal-carousel__viewport{padding:24px 20px}
  .signal-carousel__mark{width:120px;justify-self:center}
  .signal-carousel__controls{gap:10px}
  .signal-carousel__arrow{width:40px;height:40px}
  .signal-carousel__dots{gap:5px}
  .signal-carousel__dots button{width:30px;height:30px}
  .sva-site-media--diagram{aspect-ratio:14/9;padding:8px}
  .cubesec .stage{height:320px;transform:scale(.82);transform-origin:center center;margin:-28px 0}
  .foot-col a{font-size:1rem;line-height:1.55}
  .site-footer__bottom{font-size:.9rem;line-height:1.6;gap:18px}
  .sva-feature-card p,.sva-site-list__text{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.signal-carousel__mark img{transition:none}.signal-carousel__arrow{transition:none}}
/* Overlay 48: web Platec display + mobile managed-page gutter */
.sva-site-section__media{margin-top:clamp(30px,5vw,54px)}
.sva-site-media--diagram{aspect-ratio:auto!important;padding:0!important;overflow:hidden!important}
.sva-site-media--diagram img{width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important}
.sva-site-diagram__viewport{width:100%;overflow:hidden}
.sva-site-diagram__canvas{width:100%}
.sva-site-diagram__canvas svg{display:block;width:100%;height:auto;max-width:none}
@media(max-width:620px){.sva-site-page .hero__grid{padding-left:32px!important;padding-right:32px!important}
/* The runtime camera frames one object at a time, so the plate fits the
   viewport instead of overflowing it. The old min-width forced a 720px canvas
   and horizontal scroll, which cropped the plate and the camera with it. */
.sva-site-diagram__viewport{overflow:hidden}.sva-site-diagram__canvas{width:100%;min-width:0}}

/* Overlay 48i: restore split composition without shrinking Platec into illegibility. */
#relationship .sva-site-split,
#implementation-path .sva-site-split,
#partnership-cycle .sva-site-split{
  align-items:center;
  gap:clamp(28px,4vw,62px);
}
#relationship .sva-site-split,
#implementation-path .sva-site-split{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
}
#partnership-cycle .sva-site-split{
  grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);
}
#relationship .sva-site-split__media,
#implementation-path .sva-site-split__media,
#partnership-cycle .sva-site-split__media{
  min-width:0;
}
#relationship .sva-site-media--diagram,
#implementation-path .sva-site-media--diagram,
#partnership-cycle .sva-site-media--diagram{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:18px;
}
#relationship .sva-site-diagram__viewport,
#implementation-path .sva-site-diagram__viewport,
#partnership-cycle .sva-site-diagram__viewport{
  overflow:hidden;
}
#relationship .sva-site-diagram__canvas,
#implementation-path .sva-site-diagram__canvas,
#partnership-cycle .sva-site-diagram__canvas{
  width:100%;
}
#relationship .sva-site-diagram__canvas svg,
#implementation-path .sva-site-diagram__canvas svg,
#partnership-cycle .sva-site-diagram__canvas svg{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
}
@media(max-width:980px){
  #relationship .sva-site-split,
  #implementation-path .sva-site-split,
  #partnership-cycle .sva-site-split{
    grid-template-columns:1fr;
    gap:28px;
  }
  #relationship .sva-site-split__media,
  #implementation-path .sva-site-split__media,
  #partnership-cycle .sva-site-split__media{
    grid-column:1;
    grid-row:1;
    order:0;
  }
  #relationship .sva-site-split__copy,
  #implementation-path .sva-site-split__copy,
  #partnership-cycle .sva-site-split__copy{
    grid-column:1;
    grid-row:2;
    order:0;
  }
  #relationship .sva-site-diagram__viewport,
  #implementation-path .sva-site-diagram__viewport,
  #partnership-cycle .sva-site-diagram__viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  #relationship .sva-site-diagram__canvas,
  #implementation-path .sva-site-diagram__canvas,
  #partnership-cycle .sva-site-diagram__canvas{
    width:max(100%,var(--sva-diagram-min-width,700px));
  }
}

/* BEGIN Overlay 48m: readable Platec web finish */
#relationship,
#implementation-path,
#partnership-cycle{padding-top:clamp(64px,5.5vw,84px);padding-bottom:clamp(64px,5.5vw,84px)}

#relationship .sva-site-split,
#implementation-path .sva-site-split,
#partnership-cycle .sva-site-split{align-items:start;gap:clamp(36px,4vw,68px)}

#relationship .sva-site-split{grid-template-columns:minmax(0,1.58fr) minmax(320px,.42fr)}
#implementation-path .sva-site-split{grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr)}
#partnership-cycle .sva-site-split{grid-template-columns:minmax(340px,.58fr) minmax(0,1.42fr)}

#relationship .sva-site-split__media,
#implementation-path .sva-site-split__media,
#partnership-cycle .sva-site-split__media{min-width:0;padding-top:6px}

#relationship .sva-site-media--diagram,
#implementation-path .sva-site-media--diagram,
#partnership-cycle .sva-site-media--diagram{
  box-sizing:border-box;width:100%;max-width:none;margin:0;padding:clamp(10px,1.15vw,16px)!important;
  overflow:hidden!important;border:0;border-radius:22px;background:rgba(255,255,255,.42);
  box-shadow:0 24px 64px rgba(12,36,56,.075)
}
#relationship .sva-site-media--diagram{background:rgba(255,255,255,.22);box-shadow:0 20px 52px rgba(12,36,56,.05)}

#relationship .sva-site-diagram__viewport,
#implementation-path .sva-site-diagram__viewport,
#partnership-cycle .sva-site-diagram__viewport{width:100%;overflow:hidden}
#relationship .sva-site-diagram__canvas,
#implementation-path .sva-site-diagram__canvas,
#partnership-cycle .sva-site-diagram__canvas{width:100%}
#relationship .sva-site-diagram__canvas svg,
#implementation-path .sva-site-diagram__canvas svg,
#partnership-cycle .sva-site-diagram__canvas svg{display:block;width:100%;height:auto;max-width:none}

/* Growth Plan Platec trajectory: a full-width analytical visual, not another thumbnail. */
#reality-answers .sva-site-section__media{width:min(100%,1180px);margin:clamp(34px,3.5vw,50px) auto 0}
#reality-answers .sva-site-media--diagram{
  box-sizing:border-box;margin:0;padding:clamp(12px,1.35vw,18px)!important;overflow:hidden!important;
  border:0;border-radius:22px;background:#f7f4ec;box-shadow:0 28px 72px rgba(12,36,56,.095)
}
#reality-answers .sva-site-diagram__viewport{width:100%;overflow:hidden}
#reality-answers .sva-site-diagram__canvas{width:100%}
#reality-answers .sva-site-diagram__canvas svg{display:block;width:100%;height:auto;max-width:none}
#reality-answers .sva-site-media--diagram figcaption{max-width:72ch;margin:12px auto 0;text-align:center;color:rgba(12,36,56,.68);font-size:.84rem}

@media(max-width:1100px){
  #relationship .sva-site-split,#implementation-path .sva-site-split,#partnership-cycle .sva-site-split{gap:32px}
  #relationship .sva-site-split{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)}
  #implementation-path .sva-site-split{grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr)}
  #partnership-cycle .sva-site-split{grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr)}
}

@media(max-width:980px){
  #relationship,#implementation-path,#partnership-cycle{padding-top:60px;padding-bottom:60px}
  #relationship .sva-site-split,#implementation-path .sva-site-split,#partnership-cycle .sva-site-split{grid-template-columns:1fr;gap:28px}
  #relationship .sva-site-split__media,#implementation-path .sva-site-split__media,#partnership-cycle .sva-site-split__media{grid-column:1;grid-row:1;order:0;padding-top:0}
  #relationship .sva-site-split__copy,#implementation-path .sva-site-split__copy,#partnership-cycle .sva-site-split__copy{grid-column:1;grid-row:2;order:0}
  #relationship .sva-site-media--diagram,#implementation-path .sva-site-media--diagram,#partnership-cycle .sva-site-media--diagram{padding:10px!important;border-radius:18px}
  #relationship .sva-site-diagram__viewport,#implementation-path .sva-site-diagram__viewport,#partnership-cycle .sva-site-diagram__viewport,
  #reality-answers .sva-site-diagram__viewport{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  #relationship .sva-site-diagram__canvas,#implementation-path .sva-site-diagram__canvas,#partnership-cycle .sva-site-diagram__canvas{width:max(100%,var(--sva-diagram-min-width,760px))}
  #reality-answers .sva-site-diagram__canvas{width:max(100%,var(--sva-diagram-min-width,1080px))}
  #reality-answers .sva-site-section__media{margin-top:32px}
}

@media(max-width:620px){
  #relationship,#implementation-path,#partnership-cycle{padding-top:52px;padding-bottom:52px}
  #reality-answers .sva-site-media--diagram{padding:9px!important;border-radius:16px}
  #reality-answers .sva-site-media--diagram figcaption{text-align:left}
}
/* END Overlay 48m: readable Platec web finish */

/* Growth Plan Platec chart — direct Platec render, website image surface. */
#reality-answers .sva-site-section__media{
  width:min(100%,1180px);
  margin:clamp(34px,3.5vw,50px) auto 0;
}
#reality-answers .sva-site-media--image{
  display:block;
  margin:0;
  padding:clamp(10px,1vw,16px);
  overflow:hidden;
  border:0;
  border-radius:22px;
  background:rgba(255,255,255,.5);
  box-shadow:0 24px 64px rgba(12,36,56,.08);
}
#reality-answers .sva-site-media--image img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  border-radius:14px;
  background:#f7f4ec;
}
#reality-answers .sva-site-media--image figcaption{
  max-width:72ch;
  margin:12px auto 0;
  text-align:center;
  color:rgba(12,36,56,.68);
  font-size:.84rem;
}
@media(max-width:720px){
  #reality-answers .sva-site-section__media{margin-top:30px}
  #reality-answers .sva-site-media--image{
    overflow-x:auto;
    overflow-y:hidden;
    padding:8px;
    border-radius:16px;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  #reality-answers .sva-site-media--image img{
    width:900px;
    max-width:none;
    border-radius:10px;
  }
  #reality-answers .sva-site-media--image figcaption{
    width:min(900px,calc(100vw - 44px));
    margin:10px 0 0;
    text-align:left;
  }
}

/* BEGIN Overlay 50: mobile visual legibility + scroll affordance */
@media(max-width:620px){
  #relationship .sva-site-media--diagram,
  #implementation-path .sva-site-media--diagram,
  #partnership-cycle .sva-site-media--diagram,
  #reality-answers .sva-site-media--image{position:relative}

  #relationship .sva-site-diagram__viewport,
  #implementation-path .sva-site-diagram__viewport,
  #partnership-cycle .sva-site-diagram__viewport,
  #reality-answers .sva-site-diagram__viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  #relationship .sva-site-diagram__canvas{width:640px!important}
  #implementation-path .sva-site-diagram__canvas,
  #partnership-cycle .sva-site-diagram__canvas{width:760px!important}
  #reality-answers .sva-site-diagram__canvas{width:760px!important}

  /* The chart used to make the whole figure the scroll container. Once its
     SVG is inline, keep the caption fixed and scroll only the chart surface. */
  #reality-answers .sva-site-media--image{
    overflow:hidden!important;
  }
  #reality-answers .sva-site-media--image figcaption{
    width:auto!important;
    margin:10px 0 0!important;
    text-align:left!important;
  }

  /* A restrained edge cue makes wide analytical visuals read as pannable
     instead of accidentally cropped. */
  #relationship .sva-site-media--diagram::after,
  #implementation-path .sva-site-media--diagram::after,
  #partnership-cycle .sva-site-media--diagram::after,
  #reality-answers .sva-site-media--image::after{
    content:"›";
    pointer-events:none;
    position:absolute;
    z-index:3;
    right:6px;
    top:50%;
    width:30px;
    height:52px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border-radius:999px;
    background:rgba(247,244,236,.9);
    box-shadow:0 8px 24px rgba(12,36,56,.12);
    color:#0c2438;
    font:700 28px/1 Raleway,system-ui,sans-serif;
  }
}
/* END Overlay 50: mobile visual legibility + scroll affordance */

/* BEGIN Overlay 51: purpose-built mobile analytical visuals */



@media(max-width:900px){
  
  
  

  #relationship .sva-site-media--diagram,
  #implementation-path .sva-site-media--diagram,
  #partnership-cycle .sva-site-media--diagram,
  #reality-answers .sva-site-media--image{
    overflow:hidden!important;
    padding:8px!important;
  }

  #relationship .sva-site-media--diagram::after,
  #implementation-path .sva-site-media--diagram::after,
  #partnership-cycle .sva-site-media--diagram::after,
  #reality-answers .sva-site-media--image::after{
    content:none!important;
    display:none!important;
  }

  #reality-answers .sva-site-media--image figcaption{
    width:auto!important;
    margin:10px 0 0!important;
    text-align:left!important;
  }
}
/* END Overlay 51: purpose-built mobile analytical visuals */

/* Overlay 135: Platec responsive variant is chosen by actual container width. */
.sva-site-media--diagram{container-type:inline-size}

/* End Overlay 135 responsive Platec handoff. */

/* About origin illustration scale — Overlay 114 */
#origin-pattern .sva-site-split{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(30px,4vw,60px);
  align-items:center;
}
#origin-pattern .sva-site-split__media{min-width:0}
#origin-pattern .sva-site-split__media .shanvic-illustration-slot{width:100%;max-width:none;margin:0}
#origin-pattern .sva-site-split__media .shanvic-illustration-slot>img{display:block;width:100%;height:auto;border-radius:18px}
@media(max-width:860px){
  #origin-pattern .sva-site-split{grid-template-columns:1fr;gap:30px}
  #origin-pattern .sva-site-split__copy{grid-column:1;grid-row:1}
  #origin-pattern .sva-site-split__media{grid-column:1;grid-row:2}
}
/* End About origin illustration scale — Overlay 114 */

/* Mobile Platec fit — Overlay 115 */
@media(max-width:620px){
  .sva-site-page .sva-site-media--diagram{overflow:hidden!important}
  .sva-site-page .sva-site-diagram__viewport{overflow:hidden!important}
  .sva-site-page .sva-site-diagram__canvas{width:100%!important;min-width:0!important;max-width:100%!important}
  .sva-site-page .sva-site-diagram__canvas svg{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}
}
/* End mobile Platec fit — Overlay 115 */

/* Overlay 133: standardized Platec web interaction contract. */
.sva-site-media--diagram [data-sva-platec-key]{position:relative}
.sva-site-media--diagram .sva-platec-inline{display:block;width:100%;height:auto;max-width:none;overflow:visible;text-rendering:geometricPrecision}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target],.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target]{transition:opacity .24s ease,filter .24s ease;cursor:pointer}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-role="relationship"],.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-role="relationship"]{cursor:default;pointer-events:none}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-muted="1"],.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-muted="1"]{opacity:.34}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-revealed="1"],.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-revealed="1"]{opacity:.72}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"],.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"]{opacity:1;filter:drop-shadow(0 0 8px rgba(0,0,0,.16))}
/* Keyboard focus ring. Suppressed while the camera is framing that object:
   the step already isolates it, and a box outline around a circle or a
   diamond reads as a stray rectangle drawn over the plate. */
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target]:focus-visible,.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target]:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"]:focus,.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"]:focus-visible,.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"]:focus,.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target][data-sva-platec-tour-active="1"]:focus-visible{outline:none}
.sva-platec-tour{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;padding:0}
.sva-platec-tour__controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.sva-platec-tour button{min-height:44px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;padding:9px 14px;font:inherit;font-weight:700;line-height:1.15;cursor:pointer}
.sva-platec-tour button:hover{background:rgba(13,43,55,.06)}
.sva-platec-tour button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.sva-platec-tour button:disabled{opacity:.38;cursor:default}
.sva-platec-tour__start{background:#0d2b37!important;color:#fff!important;border-color:#0d2b37!important}
.sva-platec-tour__count{min-width:3.6em;text-align:center;font-variant-numeric:tabular-nums;font-size:.9rem}
.sva-platec-tour [hidden]{display:none!important}
.sva-platec-viewer-figure{width:100%;margin:0}
@media(max-width:960px){.sva-platec-tour{justify-content:flex-start}.sva-platec-tour__controls{justify-content:flex-start}}
@media(max-width:420px){.sva-platec-tour__controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.sva-platec-tour__start,.sva-platec-tour__overview{grid-column:1/-1}.sva-platec-tour__count{order:4;grid-column:1/-1;text-align:left}.sva-platec-tour button{width:100%;white-space:normal}}
@media (prefers-reduced-motion: reduce){.sva-site-media--diagram [data-sva-platec-key] *,.sva-diagram-viewer__content [data-sva-platec-key] *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* Platec 0.11.1 typed semantic links. Generated SVG remains inert; anchors use
   the browser's native keyboard/navigation model and a governed visual cue. */
.sva-site-diagram a[data-platec-link-kind] { cursor: pointer; }
.sva-site-diagram a[data-platec-link-kind]:focus-visible [data-platec-link-cue] circle { stroke-width: 3; }
.sva-site-diagram a[data-platec-link-kind]:hover [data-platec-link-cue] circle { stroke-width: 2.5; }

/* The diagram container clips with overflow:hidden and a 22px radius, and a
   competing padding:0!important leaves the caption flush against that clip
   edge, shaving the first glyph of every line. Inset the caption itself so
   it does not depend on which container padding wins the cascade. */
.sva-site-media--diagram>figcaption{padding-inline:clamp(10px,3vw,18px);padding-bottom:4px}

/* While a tour is active the plate is pannable, so it owns touch drags.
   In overview the page scrolls normally. */
.sva-site-media--diagram [data-sva-platec-tour-state="active"]{touch-action:none}
.sva-site-media--diagram [data-sva-platec-panning="1"]{cursor:grabbing}
.sva-site-media--diagram [data-sva-platec-tour-state="active"] svg{cursor:grab}

/* Tour navigation sits on the plate, where the reader is looking, instead of
   as orphaned pills below the figure. Translucent so it never competes with the
   diagram, opaque on hover and focus so it is unmistakably a control. */
.sva-site-diagram__viewport{position:relative;isolation:isolate}
.sva-platec-nav{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(6px,1.4vw,16px)}
.sva-platec-nav[hidden]{display:none}
.sva-platec-nav__arrow{pointer-events:auto;display:grid;place-items:center;width:clamp(48px,5.4vw,60px);height:clamp(48px,5.4vw,60px);min-height:0;padding:0;border:2px solid #0C2438;border-radius:999px;background:rgba(247,244,236,.94);color:#0C2438;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 12px rgba(12,36,56,.22);transition:background .16s ease,transform .16s ease}
.sva-platec-nav__arrow svg{width:52%;height:52%;display:block}
.sva-platec-nav__arrow:hover{background:#0C2438;color:#F7F4EC;transform:scale(1.06)}
.sva-platec-nav__arrow:focus-visible{outline:3px solid currentColor;outline-offset:2px;background:rgba(247,244,236,.96)}
.sva-platec-nav__arrow:disabled{opacity:.28;cursor:default}
@media (prefers-reduced-motion:reduce){.sva-platec-nav__arrow{transition:none}}
.sva-platec-nav__bar{position:absolute;top:clamp(6px,1.2vw,14px);right:clamp(6px,1.4vw,16px);display:flex;align-items:center;gap:10px;pointer-events:none}
.sva-platec-nav__count{pointer-events:none;font:inherit;font-size:.86rem;font-weight:700;color:#0C2438;background:rgba(247,244,236,.94);border:1px solid rgba(12,36,56,.22);border-radius:999px;padding:4px 10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sva-platec-nav__count:empty{display:none}
.sva-platec-nav__exit{pointer-events:auto;min-height:40px;border:2px solid #0C2438;border-radius:999px;background:rgba(247,244,236,.94);color:#0C2438;padding:6px 14px;font:inherit;font-weight:700;line-height:1.15;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sva-platec-nav__exit:hover{background:#0C2438;color:#F7F4EC}
.sva-platec-nav__exit:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.sva-platec-nav__arrow[hidden]{display:none}


/* While a tour is active the viewport owns a real height, so the camera can
   frame in the reader's aspect rather than the plate's. Without this an SVG at
   height:auto reports the plate aspect and a phone never gets a portrait frame. */
.sva-site-diagram__viewport:has([data-sva-platec-tour-state="active"]){height:min(72vh,560px)}
.sva-site-diagram__viewport:has([data-sva-platec-tour-state="active"]) .sva-site-diagram__canvas{height:100%}
.sva-site-diagram__viewport:has([data-sva-platec-tour-state="active"]) .sva-site-diagram__canvas svg{height:100%;width:100%}


/* Overlay 154: Platec no-shift controls */
.sva-site-diagram__viewport>.sva-platec-tour{position:absolute;top:clamp(6px,1.2vw,14px);right:clamp(6px,1.4vw,16px);z-index:4;margin:0;padding:0;justify-content:flex-end;pointer-events:none}
.sva-site-diagram__viewport>.sva-platec-tour .sva-platec-tour__start{pointer-events:auto;box-shadow:0 4px 18px rgba(6,21,31,.12)}
@media(max-width:420px){.sva-site-diagram__viewport>.sva-platec-tour{left:8px;right:8px;justify-content:flex-end}.sva-site-diagram__viewport>.sva-platec-tour .sva-platec-tour__start{width:auto}}

/* Overlay 177: never suppress the keyboard focus indicator on an active Platec target. */
.sva-site-media--diagram [data-sva-platec-interactive="1"] [data-sva-platec-target]:focus-visible,
.sva-diagram-viewer__content [data-sva-platec-interactive="1"] [data-sva-platec-target]:focus-visible{outline:3px solid currentColor!important;outline-offset:5px!important}
/* End Overlay 177 Platec focus hardening. */

/* Overlay 182: branded public-form validation and stable submit alignment. */
.sva-site-form__actions{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.sva-site-form__actions .btn{width:auto;max-width:100%;justify-self:start}
.sva-site-form__error-summary{padding:12px 14px;border:1px solid rgba(122,31,31,.34);border-radius:10px;background:rgba(122,31,31,.08);color:#641919;font-weight:700;line-height:1.45}
.sva-site-form__error{display:block;color:#641919;font-size:.9rem;font-weight:700;line-height:1.4}
.sva-site-form__error[hidden],.sva-site-form__error-summary[hidden]{display:none!important}
.sva-site-form__field.is-invalid input:not([type=radio]):not([type=checkbox]),.sva-site-form__field.is-invalid textarea{border-color:#8a2424;box-shadow:0 0 0 2px rgba(138,36,36,.12)}
.sva-site-form__field.is-invalid input[type=radio],.sva-site-form__field.is-invalid input[type=checkbox]{outline:2px solid #8a2424;outline-offset:3px}
.sva-site-form__field input[aria-invalid=true]:focus-visible,.sva-site-form__field textarea[aria-invalid=true]:focus-visible{outline:3px solid rgba(138,36,36,.38);outline-offset:2px}
.sva-site-form.is-submitting{opacity:.92}
.sva-site-form.is-submitting .sva-site-form__actions .btn{cursor:wait}
.section--dark .sva-site-form__error-summary,.section--ink .sva-site-form__error-summary{background:rgba(255,190,180,.1);border-color:rgba(255,190,180,.46);color:#ffd2ca}
.section--dark .sva-site-form__error,.section--ink .sva-site-form__error{color:#ffd2ca}
