:root{--doodle-soft:#7c5cff;--doodle-soft-muted:#b9a8ff;--doodle-on-dark:#eeeaff;--doodle-on-dark-muted:#d9d2f8;--doodle-line:2px}
.site-doodle,.letter-doodle,.empty-doodle{display:block;fill:none;stroke:currentColor;stroke-width:var(--doodle-line);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.doodle-echo{opacity:.42}
.site-doodle{position:absolute;z-index:0;height:auto;pointer-events:none;color:var(--doodle-soft);opacity:.16}
.hero{isolation:isolate}.hero-grid{position:relative;z-index:1}
.hero-doodle--flower{width:78px;right:clamp(22px,5vw,78px);top:clamp(120px,14vw,210px);transform:rotate(8deg)}
.hero-doodle--dots{width:62px;left:clamp(18px,4vw,64px);top:104px;opacity:.12;transform:rotate(-8deg)}
.seo-index-hero{position:relative;overflow:hidden}
.seo-index-head,.seo-feeling-head,.site-footer .container{position:relative;z-index:1}
.topics-hero-doodle{width:48px;right:clamp(20px,7vw,105px);top:clamp(96px,10vw,142px);transform:rotate(9deg)}
.seo-topics-hub-card{position:relative;overflow:hidden}
.topics-card-doodle{width:68px;right:22px;top:20px;opacity:.13;transform:rotate(-9deg)}
.blog-hero-doodle{width:72px;right:clamp(24px,8vw,130px);bottom:58px;transform:rotate(7deg)}
.site-footer{position:relative;overflow:hidden}.footer-doodle{width:76px;right:clamp(16px,5vw,70px);top:26px;opacity:.11;transform:rotate(8deg)}
.support-letter-doodle{width:66px;height:58px;margin:0 auto 8px;color:var(--doodle-on-dark);filter:drop-shadow(0 3px 10px rgba(185,168,255,.12))}
.letter-doodle{width:100%;height:100%;transition:transform .2s ease,filter .2s ease,color .2s ease}
.support-letter:hover .letter-doodle,.support-letter:focus-visible .letter-doodle,.support-letter.is-selected .letter-doodle{color:#fff;transform:translateY(-3px) rotate(-1deg) scale(1.035);filter:drop-shadow(0 5px 11px rgba(211,201,255,.28))}
.support-letter small{color:#f7f4ff!important;text-shadow:0 1px 8px rgba(12,8,28,.18)}
.support-letter em{color:var(--doodle-on-dark-muted)!important;opacity:1!important}
.blog-empty{display:grid;justify-items:center;gap:10px;margin-top:26px;padding:34px 20px;border:1px dashed rgba(124,92,255,.25);border-radius:24px;color:var(--text-muted);text-align:center}
.blog-empty[hidden]{display:none}.blog-empty .empty-doodle{width:70px;color:var(--doodle-soft-muted)}.blog-empty strong{color:var(--text-strong);font-size:18px}.blog-empty p{max-width:520px;margin:0;line-height:1.6}
.blog-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.blog-empty-actions .seo-primary-cta,.blog-empty-actions .seo-secondary-cta{min-height:44px;margin:0;padding:10px 18px;font:inherit;cursor:pointer}
.error-page{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:clamp(100px,13vw,160px) 20px 70px;background:var(--bg-page)}
.error-shell{position:relative;width:min(100%,760px);padding:clamp(32px,6vw,64px);border:1px solid rgba(124,92,255,.17);border-radius:30px;background:rgba(255,255,255,.72);box-shadow:0 24px 64px rgba(50,43,110,.09);text-align:center}
.error-doodles{display:flex;justify-content:center;gap:12px;margin-bottom:18px;color:var(--doodle-soft)}.error-doodles .empty-doodle{width:72px;height:72px}.error-doodles .heart-face{width:44px;opacity:.72;transform:rotate(7deg)}
.error-shell h1{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(38px,7vw,68px);line-height:1.02}.error-shell p{max-width:560px;margin:18px auto 0;color:var(--text-main);font-size:17px;line-height:1.65}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.error-note{display:block;margin-top:10px;color:var(--text-muted);font-size:13px}.footer-easter-egg{margin:8px 0 0;color:var(--text-muted);font-size:11px;opacity:.58}
html[data-theme="dark"]{--doodle-soft:#b9a8ff;--doodle-soft-muted:#d9d2f8}html[data-theme="dark"] .site-doodle{opacity:.18}html[data-theme="dark"] .error-shell{background:rgba(23,29,43,.84);border-color:rgba(185,168,255,.17)}html[data-theme="dark"] .blog-empty{border-color:rgba(185,168,255,.2)}
@media(max-width:900px){.hero-doodle--flower{width:60px;right:12px;top:122px;opacity:.1}.hero-doodle--dots,.footer-doodle,.blog-hero-doodle{display:none}.topics-hero-doodle{width:40px;right:12px;top:102px;opacity:.1}.topics-card-doodle{width:58px;right:8px;top:12px;opacity:.09}}
@media(max-width:620px){body .support-letters-shell{box-sizing:border-box;grid-template-columns:minmax(0,1fr)!important;width:100%!important}body .support-letters-copy,body .support-letters-stage,body .support-letters-actions,body .support-letters-safety{box-sizing:border-box;min-width:0;width:100%!important}body .support-letters-copy{grid-column:1!important}body .support-letters-stage{grid-column:1!important}}
@media(max-width:560px){.hero-doodle--flower,.topics-hero-doodle{display:none}.support-letter-doodle{width:58px;height:52px}.error-shell{border-radius:24px}.error-actions,.blog-empty-actions{display:grid;width:100%}.error-actions .btn,.blog-empty-actions .seo-primary-cta,.blog-empty-actions .seo-secondary-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.letter-doodle{transition:none!important}.support-letter:hover .letter-doodle,.support-letter:focus-visible .letter-doodle,.support-letter.is-selected .letter-doodle{transform:none}.site-doodle{animation:none!important}}

/* Final placement pass: short, contained accents instead of edge trails. */
.cursor-trail{display:none!important}
.hero{overflow:visible}.hero-doodle--flower{right:clamp(58px,6vw,126px)!important;top:clamp(170px,17vw,260px);width:58px}.hero-doodle--dots{left:clamp(40px,5vw,100px)!important;top:150px;width:54px}.hero-doodle--heart{display:none}
.topics-hero-doodle{right:clamp(64px,8vw,150px)!important;top:150px;width:46px}.topics-hero-loop{display:none}
.topics-card-doodle{display:none}.topics-card-spark{right:42px;top:34px;width:32px;opacity:.1}
.blog-hero-doodle{right:clamp(72px,8vw,160px)!important;bottom:92px!important;width:54px}.blog-hero-loop{display:none}
.blog-article-hero{position:relative;overflow:hidden}.article-doodle--left{display:none}.article-doodle--right{right:clamp(56px,6vw,116px);top:50%;width:46px;transform:rotate(9deg);opacity:.11}
.footer-doodle{right:clamp(34px,6vw,100px)!important;top:30px!important;width:62px}.footer-doodle-secondary{left:clamp(36px,7vw,120px);top:48px;width:34px;opacity:.09;transform:rotate(-8deg)}
.site-footer{margin-top:48px!important;padding-top:24px!important}.footer-main{gap:12px!important;margin-top:0!important;padding-bottom:0!important}.footer-avatar-small{width:38px!important;height:38px!important}.footer-avatar-top{margin-top:-6px!important;margin-bottom:0!important}.footer-contact-links,.footer-legal-links{gap:6px!important}.footer-col-title{margin-bottom:9px!important}.footer-bottom{gap:3px!important;margin-top:8px!important;padding-bottom:10px!important}.footer-easter-egg{margin-top:4px!important}
.error-page{min-height:calc(100vh - 72px);background:linear-gradient(180deg,var(--bg-page),#f4f2ff)}.error-shell{overflow:hidden;isolation:isolate}.error-shell>*:not(.error-corner){position:relative;z-index:1}.error-corner{position:absolute;color:var(--doodle-soft);opacity:.13;pointer-events:none;animation:errorDoodleDrift 7s ease-in-out infinite alternate}.error-corner--left{left:24px;top:28px;width:58px;transform:rotate(-12deg)}.error-corner--right{right:28px;top:26px;width:44px;animation-delay:-2s}.error-corner--bottom{right:30px;bottom:24px;width:54px;transform:rotate(10deg);animation-delay:-4s}.error-doodles{animation:errorDoodleDrift 6s ease-in-out infinite alternate}.page-main:has(.error-page){background:linear-gradient(180deg,var(--bg-page),#f4f2ff)}body:has(.error-page) .site-footer{margin-top:0!important;border-top:0;background:linear-gradient(180deg,#f4f2ff,#f2f4fa)}
@keyframes errorDoodleDrift{from{translate:0 -2px}to{translate:3px 4px}}
html[data-theme="dark"] .error-page,html[data-theme="dark"] .page-main:has(.error-page){background:linear-gradient(180deg,#111722,#15182a)}html[data-theme="dark"] body:has(.error-page) .site-footer{background:linear-gradient(180deg,#15182a,#111722)}
@media(max-width:1100px){.article-doodle{display:none}.hero-doodle--heart,.topics-hero-loop,.blog-hero-loop,.topics-card-spark,.footer-doodle-secondary{display:none}}
@media(max-width:900px){.hero-doodle--flower,.hero-doodle--dots,.topics-hero-doodle,.blog-hero-doodle,.footer-doodle{display:none}.site-footer{padding-top:28px!important}.error-corner{opacity:.09}}
@media(max-width:560px){.error-corner--left{left:10px;top:12px;width:38px}.error-corner--right{right:12px;top:14px;width:32px}.error-corner--bottom{display:none}}
@media(prefers-reduced-motion:reduce){.error-corner,.error-doodles{animation:none!important}}

/* Doodle polish: restored cursor trail and fully-contained hand drawn accents. */
@media (hover:hover) and (pointer:fine) {
  body .cursor-trail {
    display:block!important;
    position:fixed;
    width:12px;
    height:12px;
    border-radius:999px;
    background:rgba(124,92,255,.36);
    box-shadow:0 0 18px rgba(124,92,255,.26);
    pointer-events:none;
    transform:translate(-50%,-50%) scale(1);
    opacity:.82;
    z-index:999999!important;
    mix-blend-mode:multiply;
    transition:opacity .68s ease,transform .68s ease,filter .68s ease;
  }

  body .cursor-trail.is-fading {
    opacity:0;
    filter:blur(1.5px);
    transform:translate(-50%,-50%) scale(.28);
  }
}

.hero-doodle--dots {
  display:none!important;
}

.hero-doodle--flower,
.topics-hero-doodle,
.blog-hero-doodle,
.error-corner {
  overflow:visible;
}

.hero-doodle--flower {
  right:clamp(74px,7vw,150px)!important;
  width:64px!important;
  opacity:.13;
}

.support-letter-heart {
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2px;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.support-letter--2 .letter-doodle {
  transform:rotate(-2deg);
}

.support-letter--5 .letter-doodle {
  transform:rotate(1.5deg);
}

.support-letter--3 .letter-doodle {
  transform:rotate(-1deg);
}

.support-letter--2:hover .letter-doodle,
.support-letter--2:focus-visible .letter-doodle,
.support-letter--2.is-selected .letter-doodle,
.support-letter--5:hover .letter-doodle,
.support-letter--5:focus-visible .letter-doodle,
.support-letter--5.is-selected .letter-doodle,
.support-letter--3:hover .letter-doodle,
.support-letter--3:focus-visible .letter-doodle,
.support-letter--3.is-selected .letter-doodle {
  transform:translateY(-3px) rotate(0deg) scale(1.035);
}

body:has(.seo-index-hero) .site-footer {
  margin-top:0!important;
  border-top:0!important;
  background:
    radial-gradient(760px 240px at 88% 0%, rgba(124,92,255,.10), transparent 62%),
    linear-gradient(180deg, rgba(246,243,255,.46) 0%, rgba(246,243,255,.56) 32%, rgba(242,244,250,.94) 100%)!important;
}

body:has(.seo-index-hero) .seo-full-catalog,
body:has(.seo-index-hero) .seo-final-cta {
  background:linear-gradient(180deg, rgba(250,249,255,0) 0%, rgba(246,243,255,.46) 100%)!important;
}

.error-shell {
  overflow:visible!important;
}

.error-corner--bottom {
  right:30px!important;
  bottom:28px!important;
  width:44px!important;
  opacity:.14;
}

html[data-theme="dark"] body:has(.seo-index-hero) .site-footer {
  background:
    radial-gradient(760px 240px at 88% 0%, rgba(185,168,255,.10), transparent 62%),
    linear-gradient(180deg, rgba(19,24,37,.72) 0%, rgba(17,23,34,.82) 38%, rgba(13,18,28,.96) 100%)!important;
}

@media (prefers-reduced-motion:reduce) {
  body .cursor-trail {
    display:none!important;
  }
}

/* Intentional doodle clusters and a calm, level reading surface. */
.support-letter-paper,
.support-letter-modal.is-open .support-letter-paper {
  transform:translateY(0) rotate(0deg) scale(1)!important;
}

.blog-hero-doodle-echo,
.topics-hero-doodle-echo {
  width:42px;
  opacity:.12;
}

.blog-hero-doodle,
.topics-hero-doodle {
  opacity:.22;
}

.blog-hero-doodle-echo {
  right:clamp(108px,11vw,218px);
  bottom:58px;
  transform:rotate(-18deg);
}

.topics-hero-doodle-echo {
  right:clamp(104px,11vw,210px);
  top:196px;
  transform:rotate(12deg);
}

html[data-theme="dark"] .blog-hero-doodle,
html[data-theme="dark"] .topics-hero-doodle {
  color:#c8bbff;
  opacity:.32;
}

html[data-theme="dark"] .blog-hero-doodle-echo,
html[data-theme="dark"] .topics-hero-doodle-echo {
  color:#a996ff;
  opacity:.17;
}

/* Articles use one restrained document mark instead of a decorative cluster. */
.blog-page .blog-hero-doodle {
  right:clamp(72px,8vw,154px)!important;
  bottom:clamp(76px,8vw,118px)!important;
  width:58px;
  color:#7e6dd2;
  opacity:.16;
  transform:rotate(-3deg);
}
html[data-theme="dark"] .blog-page .blog-hero-doodle {
  color:#b7aaff;
  opacity:.2;
}

@media(max-width:1100px){
  .blog-hero-doodle-echo,
  .topics-hero-doodle-echo{display:none}
}

/* SAFEspace page footer joins the final CTA without an extra band. */
body:has(.ss-page) .site-footer {
  margin-top:0!important;
  padding-top:40px!important;
}

html[data-theme="dark"] body:has(.ss-page) .site-footer {
  border-top-color:rgba(183,194,223,.12)!important;
  background:
    radial-gradient(900px 260px at 88% 0%, rgba(145,128,255,.14), transparent 62%),
    linear-gradient(180deg,#0f1420 0%,#0b111c 100%)!important;
}

@media(max-width:900px){
  body:has(.ss-page) .site-footer {
    padding-top:34px!important;
  }
}

/* Compact footer and consistent custom cursor targets. */
.site-footer{margin-top:36px!important;padding-top:18px!important}
.footer-main{gap:8px!important}.footer-avatar-small{width:34px!important;height:34px!important}.footer-avatar-top{margin-top:2px!important;margin-bottom:2px!important}
.footer-contact-links{display:grid!important;grid-template-columns:repeat(2,max-content);gap:3px 20px!important}.footer-legal-links{gap:3px!important}.footer-contact-item{padding-block:2px!important}.footer-bottom{margin-top:5px!important;padding-bottom:8px!important}.footer-booking-bot svg{color:var(--text-muted)}
@media(hover:hover) and (pointer:fine){.faq-item summary,.geo-more-toggle,.blog-search input{cursor:none!important}}
@media(max-width:620px){.footer-contact-links{grid-template-columns:1fr}}

/* Topics use one continuous canvas; section gradients created visible bands. */
body:has(.seo-index-hero) .seo-index-hero,
body:has(.seo-index-hero) .seo-topics-hub,
body:has(.seo-index-hero) .seo-full-catalog,
body:has(.seo-index-hero) .seo-final-cta{background:transparent!important}
body:has(.seo-index-hero) .site-footer{background:#f8f9fc!important}
html[data-theme="dark"] body:has(.seo-index-hero) .site-footer{background:#0f151f!important}

/* Handwritten edge compositions: deliberately uneven, but kept outside reading columns. */
.doodle-section{position:relative;isolation:isolate;overflow:clip}
.doodle-section>.container,.doodle-section>.hero-grid{position:relative;z-index:1}
.doodle-cluster{position:absolute;z-index:0;width:clamp(190px,18vw,292px);height:clamp(130px,15vw,220px);pointer-events:none;color:var(--doodle-soft);opacity:.12}
.doodle-piece{position:absolute;display:block;width:auto;height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.doodle-piece--scribble{width:88px;right:12px;top:8px;transform:rotate(8deg)}
.doodle-piece--arrow{width:118px;left:10px;top:40px;transform:rotate(-7deg)}
.doodle-piece--wave{width:154px;right:6px;bottom:8px;transform:rotate(3deg)}
.doodle-piece--mark{width:32px;left:42px;top:8px;transform:rotate(13deg)}
.doodle-piece--dashes{width:54px;left:4px;bottom:0;transform:rotate(-10deg);opacity:.7}
.doodle-cluster--hero-right{right:clamp(-38px,1vw,16px);top:clamp(88px,10vw,142px);transform:rotate(2deg)}
.doodle-cluster--top-right{right:clamp(-54px,-1vw,-12px);top:32px;transform:rotate(5deg)}
.doodle-cluster--left-mid{left:clamp(-76px,-4vw,-28px);top:40%;transform:translateY(-50%) rotate(186deg)}
.doodle-cluster--right-mid{right:clamp(-74px,-4vw,-24px);top:48%;transform:translateY(-50%) rotate(3deg)}
.doodle-cluster--bottom-left{left:clamp(-58px,-2vw,-18px);bottom:20px;transform:rotate(170deg)}
.doodle-cluster--bottom-right{right:clamp(-52px,-2vw,-16px);bottom:14px;transform:rotate(-4deg)}
.hero .doodle-cluster--hero-right{right:max(8px,calc((100vw - 1480px)/2));top:110px;opacity:.14}
.blog-article-hero .doodle-cluster--hero-right,.blog-page .seo-index-hero .doodle-cluster--hero-right{top:104px;opacity:.1}
.ss-hero .doodle-cluster--hero-right{top:90px;opacity:.1}
html[data-theme="dark"] .doodle-cluster{color:#b9a8ff;opacity:.15}
html[data-theme="dark"] .blog-article-hero .doodle-cluster,
html[data-theme="dark"] .ss-page .doodle-cluster{opacity:.13}
@media(max-width:1180px){
  .doodle-cluster{width:180px;height:138px;opacity:.09}
  .doodle-piece--scribble{width:68px}.doodle-piece--arrow{width:92px}.doodle-piece--wave{width:118px}.doodle-piece--dashes{display:none}
}
@media(max-width:900px){
  .doodle-cluster{width:112px;height:88px;opacity:.08}
  .doodle-piece--scribble,.doodle-piece--arrow,.doodle-piece--dashes{display:none}
  .doodle-piece--wave{width:92px;right:-6px;bottom:5px}
  .doodle-piece--mark{display:block;width:24px;left:8px;top:4px}
  .doodle-cluster--left-mid,.doodle-cluster--bottom-left{left:-42px}
  .doodle-cluster--right-mid,.doodle-cluster--bottom-right,.doodle-cluster--top-right{right:-38px}
  .doodle-cluster--hero-right{right:-28px;top:78px}
}
@media(max-width:560px){
  .doodle-cluster{opacity:.065}
  .doodle-section:nth-of-type(even)>.doodle-cluster{display:none}
}

/* Cute notebook marks on left edges, loose linework on right edges. */
.doodle-piece--flower,.doodle-piece--heart,.doodle-piece--star{display:none}
.doodle-cluster--left-mid .doodle-piece--scribble,
.doodle-cluster--left-mid .doodle-piece--arrow,
.doodle-cluster--left-mid .doodle-piece--wave,
.doodle-cluster--left-mid .doodle-piece--dashes,
.doodle-cluster--bottom-left .doodle-piece--scribble,
.doodle-cluster--bottom-left .doodle-piece--arrow,
.doodle-cluster--bottom-left .doodle-piece--wave,
.doodle-cluster--bottom-left .doodle-piece--dashes{display:none}
.doodle-cluster--left-mid .doodle-piece--flower,
.doodle-cluster--bottom-left .doodle-piece--flower{display:block;width:62px;left:28px;top:18px;transform:rotate(-12deg)}
.doodle-cluster--left-mid .doodle-piece--heart,
.doodle-cluster--bottom-left .doodle-piece--heart{display:block;width:42px;right:34px;top:72px;transform:rotate(9deg)}
.doodle-cluster--left-mid .doodle-piece--star,
.doodle-cluster--bottom-left .doodle-piece--star{display:block;width:31px;left:96px;bottom:12px;transform:rotate(17deg)}
.doodle-cluster--left-mid,.doodle-cluster--bottom-left{transform:none}

/* Distributed notes-style decoration for hero and bridge. */
.doodle-scatter{position:absolute;inset:0;z-index:0;pointer-events:none;color:var(--doodle-soft);opacity:.19}
.doodle-scatter-piece{position:absolute;display:block;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.doodle-scatter-piece--flower{width:42px;left:14px;top:42%;transform:rotate(-11deg)}
.doodle-scatter-piece--heart{width:36px;right:18px;top:17%;transform:rotate(8deg)}
.doodle-scatter-piece--spark{width:28px;left:clamp(22px,4vw,70px);bottom:18%;transform:rotate(-8deg)}
.doodle-scatter-piece--star{width:34px;right:clamp(24px,4vw,72px);bottom:15%;transform:rotate(15deg)}
.doodle-scatter-piece--note{width:42px;right:12px;top:53%;transform:rotate(7deg);opacity:.8}
.doodle-scatter--bridge{opacity:.13}
.doodle-scatter--bridge .doodle-scatter-piece--flower{left:2%;top:15%}
.doodle-scatter--bridge .doodle-scatter-piece--heart{right:2%;top:10%}
.doodle-scatter--bridge .doodle-scatter-piece--spark{left:5%;bottom:10%}
.doodle-scatter--bridge .doodle-scatter-piece--star{right:7%;bottom:8%}
.doodle-scatter--bridge .doodle-scatter-piece--note{display:none}
html[data-theme="dark"] .doodle-scatter{color:#c2b5ff;opacity:.21}

/* One continuous surface between the opening statement and the first decision block. */
#hero{margin-bottom:0!important;padding-bottom:clamp(96px,10vw,150px)!important;background:
  radial-gradient(760px 420px at 4% 16%,rgba(124,92,255,.12),transparent 68%),
  radial-gradient(680px 380px at 98% 82%,rgba(124,92,255,.10),transparent 70%),
  linear-gradient(180deg,#f8f7ff 0%,#f3f0ff 72%,#f5f3ff 100%)!important}
.competencies-wrap{position:relative;margin-top:0!important;background:
  radial-gradient(760px 360px at 98% 0%,rgba(124,92,255,.10),transparent 72%),
  radial-gradient(560px 300px at 3% 4%,rgba(124,92,255,.055),transparent 74%),
  linear-gradient(180deg,#f5f3ff 0%,#f8f7ff 18%,rgba(248,247,255,0) 42%)!important}
#process-bridge{margin-top:0!important;padding-top:clamp(28px,4vw,58px)!important;background:transparent!important}
html[data-theme="dark"] #hero{background:
  radial-gradient(760px 420px at 4% 16%,rgba(145,128,255,.15),transparent 68%),
  radial-gradient(680px 380px at 98% 82%,rgba(145,128,255,.12),transparent 70%),
  linear-gradient(180deg,#141728 0%,#17182c 72%,#18192d 100%)!important}
html[data-theme="dark"] .competencies-wrap{background:
  radial-gradient(760px 360px at 98% 0%,rgba(145,128,255,.12),transparent 72%),
  radial-gradient(560px 300px at 3% 4%,rgba(145,128,255,.07),transparent 74%),
  linear-gradient(180deg,#18192d 0%,#141827 22%,rgba(20,24,39,0) 46%)!important}
@media(max-width:900px){
  .doodle-scatter-piece--note,.doodle-scatter-piece--star{display:none}
  .doodle-scatter-piece--flower{width:34px;left:8px;top:20%}
  .doodle-scatter-piece--heart{width:28px;right:8px;top:15%}
  .doodle-scatter-piece--spark{width:22px;left:18px;bottom:12%}
  .doodle-cluster--left-mid .doodle-piece--flower,.doodle-cluster--bottom-left .doodle-piece--flower{width:42px;left:6px}
  .doodle-cluster--left-mid .doodle-piece--heart,.doodle-cluster--bottom-left .doodle-piece--heart{width:30px;right:8px}
  .doodle-cluster--left-mid .doodle-piece--star,.doodle-cluster--bottom-left .doodle-piece--star{display:none}
}
@media(max-width:560px){
  .doodle-scatter{opacity:.075}
  .doodle-scatter--bridge .doodle-scatter-piece--spark{display:none}
  #hero{padding-bottom:78px!important}
}

/* Final continuous canvas: no section edge between hero and the first explorer. */
body:has(#hero) .page-main{background:
  radial-gradient(760px 520px at 2% 220px,rgba(124,92,255,.12),transparent 72%),
  radial-gradient(760px 600px at 98% 650px,rgba(124,92,255,.11),transparent 74%),
  linear-gradient(180deg,#f8f7ff 0,#f3f0ff 760px,#f7f5ff 1320px,#fbfaff 1900px,#fff 2300px)!important}
body:has(#hero) #hero,
body:has(#hero) .competencies-wrap{background:transparent!important}
html[data-theme="dark"] body:has(#hero) .page-main{background:
  radial-gradient(760px 520px at 2% 220px,rgba(145,128,255,.15),transparent 72%),
  radial-gradient(760px 600px at 98% 650px,rgba(145,128,255,.13),transparent 74%),
  linear-gradient(180deg,#141728 0,#17182c 760px,#151829 1320px,#121724 1900px,#10151f 2300px)!important}

/* Blend the hero's lower edge into the explorer instead of ending on a straight line. */
body:has(#hero) #hero{overflow:visible!important}
body:has(#hero) #hero::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:-190px;height:300px;pointer-events:none;background:
  radial-gradient(640px 260px at 90% 0%,rgba(124,92,255,.11),transparent 76%),
  linear-gradient(180deg,rgba(245,243,255,.98) 0%,rgba(246,244,255,.72) 42%,rgba(248,247,255,0) 100%)}
body:has(#hero) .competencies-wrap{position:relative;z-index:1}
body:has(#hero) #process-bridge{position:relative;z-index:2}
html[data-theme="dark"] body:has(#hero) #hero::after{background:
  radial-gradient(640px 260px at 90% 0%,rgba(145,128,255,.14),transparent 76%),
  linear-gradient(180deg,rgba(24,25,45,.98) 0%,rgba(22,24,42,.74) 42%,rgba(20,24,39,0) 100%)}
@media(max-width:900px){body:has(#hero) #hero::after{bottom:-130px;height:220px}}

/* Let page endings dissolve into the shared footer instead of meeting on a hard rule. */
body:has(#hero) .site-footer,
body:has(.blog-page) .site-footer,
body:has(.seo-index-hero) .site-footer,
body:has(.seo-page) .site-footer,
body:has(.ss-page) .site-footer {
  position:relative;
  isolation:isolate;
  overflow:visible!important;
  margin-top:0!important;
  border-top:0!important;
}

body:has(#hero) .site-footer::before,
body:has(.blog-page) .site-footer::before,
body:has(.seo-index-hero) .site-footer::before,
body:has(.seo-page) .site-footer::before,
body:has(.ss-page) .site-footer::before {
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-180px;
  height:181px;
  pointer-events:none;
}

body:has(#hero) .site-footer::before {
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(248,249,252,.58) 54%,#f7f8fb 100%);
}

body:has(.blog-page) .site-footer::before {
  background:linear-gradient(180deg,rgba(248,249,252,0) 0%,rgba(248,249,252,.72) 58%,#f8f9fc 100%);
}

body:has(.seo-index-hero) .site-footer::before,
body:has(.seo-page) .site-footer::before {
  background:linear-gradient(180deg,rgba(248,249,252,0) 0%,rgba(248,249,252,.68) 58%,#f7f8fb 100%);
}

body:has(.ss-page) .site-footer::before {
  background:linear-gradient(180deg,rgba(241,237,255,0) 0%,rgba(244,243,252,.76) 56%,#f7f8fb 100%);
}

body:has(#hero) .site-footer {
  background:linear-gradient(180deg,#f6f7fb 0%,#edf0f7 100%)!important;
  box-shadow:inset 0 1px 0 rgba(124,108,255,.10);
}

body:has(.blog-page) .site-footer {
  background:linear-gradient(180deg,#f7f8fb 0%,#eef1f7 100%)!important;
  box-shadow:inset 0 1px 0 rgba(124,108,255,.09);
}

body:has(.seo-index-hero) .site-footer,
body:has(.seo-page) .site-footer {
  background:linear-gradient(180deg,#f6f7fb 0%,#eef1f7 100%)!important;
  box-shadow:inset 0 1px 0 rgba(124,108,255,.10);
}

body:has(.ss-page) .site-footer {
  background:linear-gradient(180deg,#f6f7fb 0%,#eef1f7 100%)!important;
  box-shadow:inset 0 1px 0 rgba(124,108,255,.10);
}

body:has(#hero) .site-footer::after,
body:has(.blog-page) .site-footer::after,
body:has(.seo-index-hero) .site-footer::after,
body:has(.seo-page) .site-footer::after,
body:has(.ss-page) .site-footer::after {
  bottom:0;
}

html[data-theme="dark"] body:has(#hero) .site-footer::before {
  background:linear-gradient(180deg,rgba(16,21,31,0) 0%,rgba(16,21,34,.72) 58%,#101522 100%);
}

html[data-theme="dark"] body:has(.blog-page) .site-footer::before {
  background:linear-gradient(180deg,rgba(15,21,31,0) 0%,rgba(15,21,31,.74) 58%,#0f151f 100%);
}

html[data-theme="dark"] body:has(.seo-index-hero) .site-footer::before,
html[data-theme="dark"] body:has(.seo-page) .site-footer::before {
  background:linear-gradient(180deg,rgba(15,21,31,0) 0%,rgba(15,21,31,.72) 58%,#0f151f 100%);
}

html[data-theme="dark"] body:has(.ss-page) .site-footer::before {
  top:-128px;
  height:129px;
  background:linear-gradient(180deg,rgba(23,20,38,0) 0%,rgba(17,19,31,.82) 62%,#101522 100%);
}

html[data-theme="dark"] body:has(#hero) .site-footer {
  background:linear-gradient(180deg,#101522 0%,#0d121c 100%)!important;
  box-shadow:inset 0 1px 0 rgba(183,194,223,.12);
}

html[data-theme="dark"] body:has(.blog-page) .site-footer {
  background:linear-gradient(180deg,#101622 0%,#0d121c 100%)!important;
  box-shadow:inset 0 1px 0 rgba(183,194,223,.12);
}

html[data-theme="dark"] body:has(.seo-index-hero) .site-footer,
html[data-theme="dark"] body:has(.seo-page) .site-footer {
  background:linear-gradient(180deg,#101622 0%,#0d121c 100%)!important;
  box-shadow:inset 0 1px 0 rgba(183,194,223,.12);
}

html[data-theme="dark"] body:has(.ss-page) .site-footer {
  background:linear-gradient(180deg,#101522 0%,#0d121c 100%)!important;
  box-shadow:inset 0 1px 0 rgba(183,194,223,.13);
}

/* The dark SAFEspace sections already share one canvas; remove the obsolete overlay seam. */
html[data-theme="dark"] body:has(.ss-page) .ss-hero::after {
  content:none!important;
}

/* SAFEspace needs one calm canvas between the top mockup and the first section. */
html:not([data-theme="dark"]) body:has(.ss-page) .ss-page {
  background:
    radial-gradient(760px 420px at 7% 12%,rgba(124,92,255,.10),transparent 68%),
    radial-gradient(720px 430px at 96% 20%,rgba(124,92,255,.09),transparent 70%),
    linear-gradient(180deg,#faf9ff 0%,#f5f2ff 44%,#f8f7ff 72%,#f4f1ff 100%)!important;
}

html:not([data-theme="dark"]) body:has(.ss-page) .ss-hero,
html:not([data-theme="dark"]) body:has(.ss-page) .ss-situations {
  background:transparent!important;
}

html:not([data-theme="dark"]) body:has(.ss-page) .ss-hero::after {
  content:none!important;
}

body:has(.ss-page) .ss-situations {
  position:relative;
  margin-top:-1px;
}

body:has(.ss-page) .ss-situations::before {
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-150px;
  height:210px;
  pointer-events:none;
  background:
    radial-gradient(760px 230px at 86% 0%,rgba(124,92,255,.08),transparent 76%),
    linear-gradient(180deg,rgba(245,242,255,0) 0%,rgba(247,245,255,.86) 54%,rgba(248,247,255,0) 100%);
}

body:has(.ss-page) .ss-situations > .container {
  position:relative;
  z-index:1;
}

html[data-theme="dark"] body:has(.ss-page) .ss-situations::before {
  background:
    radial-gradient(760px 230px at 86% 0%,rgba(145,128,255,.10),transparent 76%),
    linear-gradient(180deg,rgba(23,20,38,0) 0%,rgba(23,20,38,.9) 54%,rgba(23,20,38,0) 100%);
}

body:has(.ss-page) .ss-final {
  overflow:visible!important;
  padding-bottom:clamp(92px,9vw,128px)!important;
}

body:has(.ss-page) .ss-final-card {
  position:relative;
  z-index:2;
}

@media(max-width:900px) {
  body:has(#hero) .site-footer::before,
  body:has(.blog-page) .site-footer::before,
  body:has(.seo-index-hero) .site-footer::before,
  body:has(.seo-page) .site-footer::before,
  body:has(.ss-page) .site-footer::before {
    top:-120px;
    height:121px;
  }
}

/* Late polish: make footers read as a distinct ending in both themes. */
body:has(#hero) .site-footer,
body:has(.seo-index-hero) .site-footer,
body:has(.seo-page) .site-footer,
body:has(.ss-page) .site-footer {
  margin-top: 0!important;
  border-top: 1px solid rgba(124,108,255,.16)!important;
  background:
    radial-gradient(780px 220px at 18% 0%,rgba(124,108,255,.12),transparent 68%),
    linear-gradient(180deg,#eef1f8 0%,#e7ebf4 100%)!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
}

html[data-theme="dark"] body:has(#hero) .site-footer,
html[data-theme="dark"] body:has(.seo-index-hero) .site-footer,
html[data-theme="dark"] body:has(.seo-page) .site-footer,
html[data-theme="dark"] body:has(.ss-page) .site-footer {
  border-top-color: rgba(185,168,255,.18)!important;
  background:
    radial-gradient(840px 240px at 18% 0%,rgba(145,128,255,.12),transparent 70%),
    linear-gradient(180deg,#111827 0%,#0d131d 100%)!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body:has(.seo-index-hero) .footer-copy,
body:has(.seo-index-hero) .footer-note,
body:has(.seo-page) .footer-copy,
body:has(.seo-page) .footer-note,
body:has(.ss-page) .footer-copy,
body:has(.ss-page) .footer-note {
  color: rgba(55,61,78,.72)!important;
}

html[data-theme="dark"] body:has(.seo-index-hero) .footer-copy,
html[data-theme="dark"] body:has(.seo-index-hero) .footer-note,
html[data-theme="dark"] body:has(.seo-page) .footer-copy,
html[data-theme="dark"] body:has(.seo-page) .footer-note,
html[data-theme="dark"] body:has(.ss-page) .footer-copy,
html[data-theme="dark"] body:has(.ss-page) .footer-note {
  color: rgba(213,220,237,.66)!important;
}

/* Spread doodles across both sides instead of stacking every mark on the right. */
body:has(.seo-index-hero) .seo-index-hero .doodle-cluster--hero-right {
  right: max(22px,calc((100vw - 1480px)/2 + 18px));
  top: 116px;
  opacity: .105;
}

body:has(.seo-index-hero) .seo-topics-hub .doodle-cluster--left-mid {
  left: max(16px,calc((100vw - 1480px)/2 + 8px));
  top: 36%;
  opacity: .11;
}

body:has(.seo-index-hero) .seo-full-catalog .doodle-cluster--right-mid {
  right: max(18px,calc((100vw - 1480px)/2 + 10px));
  top: 42%;
  opacity: .105;
}

body:has(.seo-index-hero) .seo-final-cta .doodle-cluster--bottom-left {
  left: max(20px,calc((100vw - 1480px)/2 + 14px));
  bottom: 34px;
  opacity: .10;
}

body:has(.ss-page) .ss-hero .doodle-cluster--hero-right {
  right: max(18px,calc((100vw - 1480px)/2 + 16px));
  top: 88px;
  opacity: .085;
}

body:has(.ss-page) .ss-interface .doodle-cluster--left-mid,
body:has(.ss-page) .ss-final .doodle-cluster--bottom-left {
  left: max(18px,calc((100vw - 1480px)/2 + 12px));
  opacity: .075;
}

body:has(.ss-page) .ss-free .doodle-cluster--right-mid {
  right: max(18px,calc((100vw - 1480px)/2 + 12px));
  top: 36%;
  opacity: .075;
}

@media(max-width:900px) {
  body:has(.seo-index-hero) .doodle-cluster,
  body:has(.ss-page) .doodle-cluster {
    opacity: .06;
  }

  body:has(.seo-index-hero) .seo-index-hero .doodle-cluster--hero-right,
  body:has(.ss-page) .ss-hero .doodle-cluster--hero-right {
    right: -42px;
  }
}
