/*
Theme Name: Creatumi
Theme URI: https://creatumi.com/
Author: Creatumi
Description: Lightweight custom theme for the Creatumi apps, games, utilities, and education studio.
Version: 0.1.118
Text Domain: creatumi
*/
:root{
  --ink:#151a3a;--muted:#626881;--purple:#7657f6;--blue:#4789ff;--cyan:#64d9e8;
  --peach:#ffb78f;--paper:#fbfcff;--line:#e7e8f2;--card:#fff;--shadow:0 16px 40px rgba(47,42,92,.10);
  --radius:24px;--max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f9fbff 0,#fff 45%,#faf9ff 100%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.wrap{width:min(calc(100% - 36px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,232,242,.8)}
.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{font-size:30px;font-weight:900;letter-spacing:-1.4px;background:linear-gradient(90deg,var(--purple),var(--blue),#ed8f77);-webkit-background-clip:text;color:transparent}
.nav-links{margin-left:auto;display:flex;gap:25px;align-items:center;font-weight:700;font-size:14px}.nav-links a:hover{color:var(--purple)}
.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:white;border-radius:12px;padding:9px 12px;font-size:20px}
.hero{padding:34px 0 28px}.hero-shell{min-height:500px;border-radius:32px;overflow:hidden;position:relative;background:linear-gradient(110deg,#eef7ff 0%,#f6f0ff 45%,#fff4ec 100%);box-shadow:var(--shadow);display:grid;grid-template-columns:47% 53%}
.hero-copy{padding:64px 18px 58px 58px;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:var(--purple)}
h1{font-size:clamp(46px,6vw,78px);line-height:.96;letter-spacing:-4px;margin:16px 0 20px}.gradient{background:linear-gradient(90deg,var(--blue),var(--purple));-webkit-background-clip:text;color:transparent}
.hero-copy p{font-size:18px;max-width:530px;color:#4d536c}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 21px;font-weight:850;border:1px solid transparent}.btn-primary{color:white;background:linear-gradient(90deg,var(--blue),var(--purple));box-shadow:0 10px 24px rgba(90,94,245,.25)}.btn-ghost{background:rgba(255,255,255,.75);border-color:#dcddeb}
.hero-art{position:relative;min-height:500px;background-image:linear-gradient(90deg,rgba(246,240,255,.98) 0%,rgba(246,240,255,.28) 22%,rgba(255,255,255,0) 42%),url('assets/images/creatumi-hero-temp.webp');background-size:cover;background-position:center}
.hero-art:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(0deg,rgba(255,255,255,.78),transparent)}
.section{padding:54px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section h2{font-size:38px;letter-spacing:-1.7px;margin:0}.section-head p{margin:0;color:var(--muted);max-width:520px}
.project-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.project{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(35,37,70,.06)}
.project-visual{height:190px;display:flex;align-items:center;justify-content:center;font-size:58px;background:linear-gradient(135deg,#e8f6ff,#f2eaff 58%,#fff0e6)}
.project-body{padding:22px}.project h3{margin:0 0 5px;font-size:22px}.project p{margin:0 0 18px;color:var(--muted)}.tag{display:inline-block;padding:6px 10px;border-radius:999px;background:#f0ecff;color:#6347d8;font-size:12px;font-weight:850}
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.focus{padding:24px;background:white;border:1px solid var(--line);border-radius:20px}.focus .icon{font-size:30px}.focus h3{margin:10px 0 4px}.focus p{margin:0;color:var(--muted);font-size:14px}
.page-hero{padding:70px 0 32px}.page-hero h1{font-size:58px;margin-bottom:14px}.content-card{background:white;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 10px 28px rgba(35,37,70,.05);margin-bottom:50px}
.site-footer{margin-top:60px;background:#171b39;color:#eef0ff}.footer-inner{padding:42px 0;display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footer-brand{font-size:24px;font-weight:900}.footer-links{display:flex;gap:18px;flex-wrap:wrap;color:#cdd1e7;font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;color:#aeb3ce;font-size:13px}
@media(max-width:850px){
 .nav{height:68px}.brand{font-size:27px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:18px;right:18px;top:68px;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}
 .hero{padding-top:20px}.hero-shell{grid-template-columns:1fr}.hero-copy{padding:42px 28px 20px}.hero-art{min-height:300px}.project-grid{grid-template-columns:1fr}.focus-grid{grid-template-columns:1fr 1fr}.section-head{align-items:flex-start;flex-direction:column}
 h1{letter-spacing:-2.5px}.page-hero h1{font-size:46px}.footer-inner{flex-direction:column}
}
@media(max-width:520px){.wrap{width:min(calc(100% - 24px),var(--max))}.hero-copy{padding:34px 22px 14px}.hero-art{min-height:245px}.focus-grid{grid-template-columns:1fr}.section{padding:38px 0}.section h2{font-size:32px}}


/* v0.1.1 — single-screen homepage, no mockup-sheet crop */
body.home{overflow-x:hidden}
body.home .site-header{position:relative}
body.home .nav{height:64px}
body.home .hero{padding:16px 0 10px}
body.home .hero-shell{
  min-height:0;height:clamp(310px,46vh,430px);
  grid-template-columns:46% 54%;
  border-radius:28px;
}
body.home .hero-copy{padding:36px 18px 32px 46px;display:flex;flex-direction:column;justify-content:center}
body.home .hero-copy h1{font-size:clamp(42px,4.7vw,68px);margin:11px 0 13px}
body.home .hero-copy p{font-size:16px;line-height:1.45;margin:0;max-width:500px}
body.home .hero-copy .actions{margin-top:20px}
body.home .hero-art{
  min-height:0;height:100%;
  background:
    radial-gradient(circle at 70% 38%,rgba(255,255,255,.9) 0 7%,transparent 8%),
    radial-gradient(circle at 74% 43%,#ffd4bc 0 11%,transparent 12%),
    radial-gradient(circle at 73% 48%,#4a2e34 0 17%,transparent 18%),
    linear-gradient(145deg,#bde7ff 0%,#c9dcff 31%,#e6d8ff 62%,#ffe0c7 100%);
  position:relative;overflow:hidden;
}
body.home .hero-art:before{
  content:"CREATUMI";
  position:absolute;right:7%;bottom:12%;
  font-size:clamp(48px,6vw,92px);font-weight:950;letter-spacing:-5px;
  color:rgba(255,255,255,.35);
}
body.home .hero-art:after{
  content:"";
  position:absolute;left:12%;right:8%;bottom:-22%;height:65%;
  border-radius:50% 50% 0 0;
  background:linear-gradient(145deg,#9dd6c3,#c5df9a);
  opacity:.75;
}
body.home .section{padding:12px 0}
body.home .section-head{margin-bottom:10px;align-items:center}
body.home .section-head .eyebrow{display:none}
body.home .section h2{font-size:23px;letter-spacing:-.8px}
body.home .section-head p{font-size:13px}
body.home .project-grid{grid-template-columns:repeat(3,1fr);gap:12px}
body.home .project{display:grid;grid-template-columns:92px 1fr;min-height:116px}
body.home .project-visual{height:auto;min-height:116px;font-size:36px}
body.home .project-body{padding:14px}
body.home .project h3{font-size:18px;margin:4px 0 2px}
body.home .project p{font-size:12px;line-height:1.35;margin:0}
body.home .project .tag{font-size:10px;padding:4px 7px}
body.home .project .btn{display:none}
body.home .focus-section{display:none}
body.home .site-footer{margin-top:10px}
body.home .footer-inner{padding:16px 0;align-items:center}
body.home .footer-brand{font-size:19px}
body.home .footer-inner>div:first-child>div:last-child{font-size:12px}
body.home .copyright{padding:9px 0;font-size:11px}

@media(min-width:851px) and (min-height:700px){
 body.home{min-height:100vh}
}
@media(max-width:850px){
 body.home{overflow-y:auto}
 body.home .hero-shell{height:auto;grid-template-columns:1fr}
 body.home .hero-copy{padding:32px 24px 22px}
 body.home .hero-art{height:250px}
 body.home .project-grid{grid-template-columns:1fr}
 body.home .project{grid-template-columns:90px 1fr}
 body.home .site-footer{margin-top:24px}
}


/* v0.1.2 — reduce repetition, refine navigation, minimal footer */
body.home .nav{height:66px}
body.home .brand{font-size:28px}
body.home .nav-links{gap:34px;font-size:13px;font-weight:500;letter-spacing:.01em}
body.home .nav-links li{list-style:none}
body.home .nav-links a{padding:24px 0 21px;position:relative}
body.home .nav-links a:hover{color:var(--purple)}
body.home .nav-links .current-menu-item>a:after,
body.home .nav-links .current_page_item>a:after{
  content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;
  border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--purple));
}
body.home .hero{padding-top:16px}
body.home .hero-copy .eyebrow{display:none}
body.home .projects-strip{padding:12px 0 8px}
body.home .site-footer{margin-top:8px;background:transparent;color:var(--muted);border-top:1px solid var(--line)}
body.home .footer-inner{padding:13px 0 6px;display:flex;align-items:center}
body.home .footer-brand{font-size:15px;color:var(--ink)}
body.home .footer-inner>div:first-child>div:last-child{display:none}
body.home .footer-links{margin-left:auto;color:var(--muted);font-size:12px;gap:20px}
body.home .copyright{border:0;padding:3px 0 11px;color:#8a8fa3;font-size:10px}
@media(max-width:850px){
 body.home .nav-links{gap:18px;font-weight:600}
 body.home .nav-links a{padding:7px 0}
 body.home .footer-inner{align-items:flex-start}
 body.home .footer-links{margin-left:0}
}


/* v0.1.3 — temporary logo, lighter header, integrated projects, one-row footer */
.brand{display:inline-flex;align-items:center;gap:10px;background:none!important;-webkit-background-clip:initial!important;color:#111426!important;letter-spacing:-1px}
.brand-name{color:#111426}
.brand-mark{
  width:31px;height:31px;border-radius:9px;display:inline-block;position:relative;flex:0 0 auto;
  background:linear-gradient(145deg,#6f63f6,#4d92ff 55%,#70d9dc);
  box-shadow:0 5px 12px rgba(87,91,230,.18);
  transform:rotate(-5deg);
}
.brand-mark:before{
  content:"";position:absolute;width:13px;height:13px;border:3px solid white;border-right-color:transparent;
  border-radius:50%;left:7px;top:6px;transform:rotate(22deg);
}
.brand-mark span{
  position:absolute;width:5px;height:5px;border-radius:50%;background:#ffd3a7;right:4px;bottom:4px;
}
body.home .brand{font-size:25px;font-weight:850}
body.home .nav-links{font-size:12px;font-weight:450;gap:36px}

/* Integrated project strip: no outer cards/shadows, only subtle column dividers */
body.home .projects-strip{padding:8px 0 6px}
body.home .project-table{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  background:transparent;border:0;box-shadow:none;
}
body.home .project-table .project{
  border:0;border-radius:0;box-shadow:none;background:transparent;
  display:grid;grid-template-columns:82px 1fr;min-height:106px;overflow:visible;
  padding:0 18px;
}
body.home .project-table .project:first-child{padding-left:0}
body.home .project-table .project:last-child{padding-right:0}
body.home .project-table .project + .project{border-left:1px solid #e4e5ee}
body.home .project-table .project-visual{
  min-height:106px;height:106px;border-radius:17px;font-size:33px;
  background:linear-gradient(135deg,#e8f6ff,#f2eaff 58%,#fff0e6);
}
body.home .project-table .project-body{padding:10px 12px}
body.home .project-table .project h3{font-size:17px;margin:4px 0 2px}
body.home .project-table .project p{font-size:11.5px;line-height:1.35;margin:0}
body.home .project-table .tag{font-size:9.5px;padding:3px 6px}

/* One-row footer, subtle palette tint */
body.home .site-footer{
  margin-top:7px;background:#f1f0ff;color:#555b73;border-top:1px solid #e3e0fa;
}
.footer-one-row{
  min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  font-size:14px;font-weight:500;
}
.footer-one-row .footer-links{margin-left:auto;font-size:14px;font-weight:500;gap:26px;color:#555b73}
.footer-one-row a:hover{color:var(--purple)}

@media(max-width:850px){
 body.home .nav-links{font-size:12px;gap:18px}
 body.home .project-table{grid-template-columns:1fr}
 body.home .project-table .project{padding:10px 0}
 body.home .project-table .project + .project{border-left:0;border-top:1px solid #e4e5ee}
 .footer-one-row{min-height:54px}
}

/* v0.1.4 approved hero */
body.home .hero-art{background-image:linear-gradient(90deg,rgba(246,240,255,.72),rgba(255,255,255,0) 28%),url('assets/images/creatumi-hero.webp')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body.home .hero-art:before,body.home .hero-art:after{content:none!important;display:none!important}
@media(max-width:850px){body.home .hero-art{background-image:url('assets/images/creatumi-hero.webp')!important}}


/* v0.1.5 — full hero artwork placement */
body.home .hero-shell{
  display:block !important;
  position:relative;
  overflow:hidden;
  background-image:url('assets/images/creatumi-hero.webp') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.home .hero-shell:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,
    rgba(247,248,255,.98) 0%,
    rgba(247,248,255,.94) 28%,
    rgba(247,248,255,.62) 43%,
    rgba(247,248,255,.12) 58%,
    rgba(247,248,255,0) 72%);
  pointer-events:none;
}
body.home .hero-copy{
  position:relative;
  z-index:2;
  width:50%;
  height:100%;
  padding:36px 18px 32px 46px;
}
body.home .hero-art{
  display:none !important;
}
@media(max-width:850px){
  body.home .hero-shell{
    min-height:520px;
    background-position:62% center !important;
  }
  body.home .hero-shell:before{
    background:linear-gradient(180deg,
      rgba(247,248,255,.97) 0%,
      rgba(247,248,255,.90) 36%,
      rgba(247,248,255,.28) 62%,
      rgba(247,248,255,0) 82%);
  }
  body.home .hero-copy{
    width:100%;
    height:auto;
    padding:30px 24px 24px;
  }
}


/* v0.1.6 — one artwork stage spanning hero AND project strip */
body.home .home-stage{
  position:relative;
  width:min(calc(100% - 36px),var(--max));
  margin:16px auto 0;
  border-radius:28px;
  overflow:hidden;
  min-height:520px;
  box-shadow:var(--shadow);
}
body.home .stage-art{
  position:absolute;inset:0;z-index:0;
  background:url('assets/images/creatumi-stage.webp') center center/cover no-repeat;
}
body.home .stage-fade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(248,249,255,.97) 0%,rgba(248,249,255,.88) 28%,rgba(248,249,255,.42) 43%,rgba(248,249,255,0) 61%),
    linear-gradient(0deg,rgba(249,249,255,.78) 0%,rgba(249,249,255,.42) 19%,rgba(249,249,255,0) 38%);
}
body.home .home-stage .hero,
body.home .home-stage .projects-strip{position:relative;z-index:2}
body.home .home-stage .hero{padding:0}
body.home .home-stage .hero .wrap,
body.home .home-stage .projects-strip .wrap{width:100%;max-width:none}
body.home .home-stage .hero-shell{
  width:100%;height:395px;min-height:395px;margin:0;
  display:block!important;background:none!important;box-shadow:none!important;border-radius:0!important;
}
body.home .home-stage .hero-shell:before{display:none!important}
body.home .home-stage .hero-copy{
  width:48%;height:100%;padding:54px 18px 34px 46px;
  display:flex;flex-direction:column;justify-content:center;
}
body.home .home-stage .projects-strip{padding:0 22px 16px}
body.home .home-stage .project-table{
  background:rgba(255,255,255,.50);
  backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.58);
  border-radius:20px;
  overflow:hidden;
}
body.home .home-stage .project-table .project{
  padding:8px 16px;
}
body.home .home-stage .project-table .project:first-child{padding-left:12px}
body.home .home-stage .project-table .project:last-child{padding-right:12px}
body.home .home-stage .project-table .project + .project{
  border-left:1px solid rgba(88,88,125,.16);
}
body.home .home-stage .project-table .project-visual{
  background:rgba(255,255,255,.46);
}
body.home .site-footer{margin-top:10px}

@media(max-width:850px){
 body.home .home-stage{width:min(calc(100% - 24px),var(--max));min-height:0}
 body.home .stage-art{background-position:62% center}
 body.home .stage-fade{
   background:linear-gradient(180deg,rgba(248,249,255,.96) 0%,rgba(248,249,255,.82) 34%,rgba(248,249,255,.18) 64%,rgba(248,249,255,.38) 100%);
 }
 body.home .home-stage .hero-shell{height:430px;min-height:430px}
 body.home .home-stage .hero-copy{width:100%;height:auto;padding:34px 24px}
 body.home .home-stage .projects-strip{padding:0 12px 12px}
 body.home .home-stage .project-table .project + .project{border-left:0;border-top:1px solid rgba(88,88,125,.16)}
}


/* v0.1.7 — mobile presentation */
@media(max-width:850px){
  body.home .site-header{position:relative}
  body.home .nav{height:58px}
  body.home .brand{font-size:22px}
  body.home .brand-mark{width:27px;height:27px;border-radius:8px}
  body.home .menu-toggle{font-size:17px;padding:6px 9px}

  body.home .home-stage{
    margin-top:10px;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(47,42,92,.09);
  }
  body.home .stage-art{
    /* Show the artwork as a broad scene instead of zooming tightly into the character. */
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#f5f1ff;
  }
  body.home .stage-fade{
    background:
      linear-gradient(180deg,
        rgba(248,249,255,.94) 0%,
        rgba(248,249,255,.78) 29%,
        rgba(248,249,255,.10) 52%,
        rgba(248,249,255,.08) 68%,
        rgba(248,249,255,.60) 100%);
  }
  body.home .home-stage .hero-shell{
    height:390px;
    min-height:390px;
  }
  body.home .home-stage .hero-copy{
    width:100%;
    height:auto;
    padding:25px 20px 18px;
    justify-content:flex-start;
  }
  body.home .hero-copy h1{
    max-width:330px;
    font-size:clamp(35px,10vw,48px);
    line-height:.98;
    letter-spacing:-2.2px;
    margin:6px 0 12px;
  }
  body.home .hero-copy p{
    max-width:315px;
    font-size:14px;
    line-height:1.4;
  }
  body.home .hero-copy .actions{margin-top:16px}
  body.home .btn{padding:11px 17px;font-size:13px}

  body.home .home-stage .projects-strip{padding:0 10px 10px}
  body.home .home-stage .project-table{
    display:grid;
    grid-template-columns:1fr;
    background:rgba(255,255,255,.76);
    backdrop-filter:blur(10px);
    border-radius:17px;
  }
  body.home .home-stage .project-table .project{
    grid-template-columns:60px 1fr;
    min-height:76px;
    padding:8px 10px;
    align-items:center;
  }
  body.home .home-stage .project-table .project + .project{
    border-top:1px solid rgba(88,88,125,.13);
  }
  body.home .home-stage .project-table .project-visual{
    width:52px;height:52px;min-height:52px;border-radius:14px;font-size:24px;
  }
  body.home .home-stage .project-table .project-body{padding:4px 7px}
  body.home .home-stage .project-table .project h3{font-size:16px;margin:2px 0}
  body.home .home-stage .project-table .project p{font-size:11px;line-height:1.28}
  body.home .home-stage .project-table .tag{font-size:9px}

  body.home .site-footer{margin-top:8px}
  body.home .footer-one-row{
    min-height:48px;
    padding:0 2px;
    font-size:12px;
  }
  body.home .footer-one-row .footer-links{
    font-size:12px;
    gap:16px;
  }
}

@media(max-width:520px){
  body.home .hero-copy h1{font-size:38px;max-width:290px}
  body.home .hero-copy p{max-width:285px;font-size:13px}
  body.home .home-stage .hero-shell{height:365px;min-height:365px}
}


/* v0.1.8 — dedicated mobile artwork; desktop unchanged */
@media(max-width:850px){
  body.home .stage-art{
    background-image:url('assets/images/creatumi-mobile-hero.webp') !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  /* Let the portrait/square artwork continue through the mobile project area. */
  body.home .home-stage{
    min-height:0;
  }
  body.home .home-stage .hero-shell{
    height:430px;
    min-height:430px;
  }
  body.home .stage-fade{
    background:
      linear-gradient(180deg,
        rgba(248,249,255,.94) 0%,
        rgba(248,249,255,.74) 27%,
        rgba(248,249,255,.12) 51%,
        rgba(248,249,255,.08) 66%,
        rgba(248,249,255,.58) 100%);
  }
  body.home .home-stage .projects-strip{
    padding-top:0;
  }
}
@media(max-width:520px){
  body.home .home-stage .hero-shell{
    height:420px;
    min-height:420px;
  }
}


/* v0.1.9 — native project card artwork */
body.home .home-stage .project-table .project-visual{
  overflow:hidden;
  padding:0;
}
body.home .home-stage .project-table .project-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* v0.1.10 — preserve square project artwork without distortion */
@media(min-width:851px){
  body.home .home-stage .project-table .project{
    grid-template-columns:86px 1fr;
    align-items:center;
  }
  body.home .home-stage .project-table .project-visual{
    width:86px;
    height:86px;
    min-height:86px;
    aspect-ratio:1 / 1;
    border-radius:15px;
    align-self:center;
  }
  body.home .home-stage .project-table .project-visual img{
    width:86px;
    height:86px;
    object-fit:cover;
    object-position:center;
  }
}


/* v0.1.11 — open desktop hero composition */
@media(min-width:851px){
  /* Keep the artwork positioned as a scene, not a zoomed card. */
  body.home .home-stage{
    min-height:620px;
    border-radius:20px;
    box-shadow:none;
    background:#f5f2fb;
  }
  body.home .stage-art{
    background-image:url('assets/images/creatumi-stage.webp');
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#f5f2fb;
  }
  /* Preserve readability while allowing substantially more of the artwork to show. */
  body.home .stage-fade{
    background:
      linear-gradient(90deg,
        rgba(248,249,255,.88) 0%,
        rgba(248,249,255,.72) 24%,
        rgba(248,249,255,.28) 42%,
        rgba(248,249,255,0) 57%),
      linear-gradient(0deg,
        rgba(249,249,255,.42) 0%,
        rgba(249,249,255,.16) 17%,
        rgba(249,249,255,0) 34%);
  }
  /* Give the scene more uninterrupted room before the project strip. */
  body.home .home-stage .hero-shell{
    height:500px;
    min-height:500px;
  }
  body.home .home-stage .hero-copy{
    width:46%;
    padding:58px 18px 38px 46px;
  }
  body.home .hero-copy h1{
    font-size:clamp(38px,3.9vw,56px);
    line-height:.98;
    letter-spacing:-2.7px;
    margin:10px 0 16px;
  }
  body.home .home-stage .projects-strip{
    padding:0 22px 18px;
  }
  body.home .home-stage .project-table{
    background:rgba(255,255,255,.58);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
}


/* v0.1.12 — hero reaches the top; inset glass navigation */
@media(min-width:851px){
  /* Let the stage artwork begin at the very top of the homepage and place the header over it. */
  body.home .site-header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:50;
    background:transparent;
    border-bottom:0;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  body.home .nav{
    height:66px;
    position:relative;
    z-index:3;
  }

  /* Keep the menu together in a translucent panel and pull it away from the far-right edge. */
  body.home .nav-links{
    margin-left:auto;
    margin-right:64px;
    gap:30px;
    padding:0 18px;
    min-height:42px;
    background:rgba(255,255,255,.56);
    border:1px solid rgba(255,255,255,.66);
    border-radius:16px;
    box-shadow:0 8px 22px rgba(49,45,91,.07);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }
  body.home .nav-links a{
    padding:12px 0 11px;
  }
  body.home .nav-links .current-menu-item>a:after,
  body.home .nav-links .current_page_item>a:after{
    bottom:6px;
  }

  /* The artwork itself now reaches the top line; content begins below the overlaid header. */
  body.home .home-stage{
    margin-top:0;
    padding-top:66px;
    border-radius:0 0 20px 20px;
  }

  /* Keep the official Creatumi tagline restrained so the artwork remains the visual focus. */
  body.home .hero-copy h1{
    font-size:clamp(36px,3.55vw,50px);
    line-height:1;
    letter-spacing:-2.4px;
    margin:8px 0 15px;
  }
}


/* v0.1.13 — WordPress admin-bar offset for overlaid homepage header */
@media(min-width:851px){
  /* The public homepage header intentionally overlays the hero at top:0.
     When logged in, WordPress adds a fixed 32px admin bar, so move only
     the overlaid header below it. The hero artwork still begins directly
     beneath the admin bar and the public layout is unchanged. */
  body.admin-bar.home .site-header{
    top:32px;
  }
}

/* v0.1.14 — four-project homepage strip */
@media(min-width:851px){body.home .home-stage .project-table{grid-template-columns:repeat(4,minmax(0,1fr));}}

/* v0.1.15 — approved Creatumi logo in header and hero */
body.home .brand.brand-logo{
  margin-left:22px;
  display:flex;
  align-items:center;
  width:122px;
  height:58px;
  overflow:visible;
}
body.home .brand.brand-logo img{
  display:block;
  width:auto;
  height:52px;
  max-width:122px;
  object-fit:contain;
}
body.home .hero-brand{
  width:min(430px,92%);
  margin:0 0 16px;
}
body.home .hero-brand img{
  display:block;
  width:100%;
  height:auto;
}
@media(min-width:851px){
  body.home .home-stage .hero-copy{
    padding-top:44px;
  }
}
@media(max-width:850px){
  body.home .brand.brand-logo{
    margin-left:10px;
    width:102px;
    height:54px;
  }
  body.home .brand.brand-logo img{
    height:46px;
    max-width:102px;
  }
  body.home .hero-brand{
    width:min(330px,88%);
    margin-bottom:12px;
  }
}

/* v0.1.16 — differentiated header mark + restrained hero logo */
body.home .brand.brand-logo{
  margin-left:30px;
  width:54px;
  height:54px;
}
body.home .brand.brand-logo img{
  width:54px;
  height:54px;
  max-width:none;
  object-fit:contain;
}
body.home .hero-brand{
  width:min(350px,76%);
  margin:0 0 12px;
}
body.home .hero-brand img{
  width:100%;
  height:auto;
}
@media(min-width:851px){
  body.home .home-stage .hero-copy{padding-top:58px;}
}
@media(max-width:850px){
  body.home .brand.brand-logo{
    margin-left:18px;
    width:48px;
    height:48px;
  }
  body.home .brand.brand-logo img{
    width:48px;
    height:48px;
  }
  body.home .hero-brand{
    width:min(290px,72%);
  }
}

/* v0.1.17 — horizontal hero brand; redundant header logo removed */
body.home .hero-brand.hero-brand-horizontal{
  width:auto;
  max-width:none;
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:14px;
}
body.home .hero-brand-horizontal .hero-brand-mark{
  flex:0 0 auto;
  width:82px;
  height:82px;
  object-fit:contain;
}
body.home .hero-brand-horizontal .hero-brand-words{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
body.home .hero-brand-horizontal .hero-brand-name{
  color:#07163c;
  font-size:52px;
  line-height:.88;
  font-weight:850;
  letter-spacing:-2.8px;
}
body.home .hero-brand-horizontal .hero-brand-tagline{
  margin-top:9px;
  color:#44506d;
  font-size:11px;
  line-height:1;
  font-weight:650;
  letter-spacing:4.3px;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(min-width:851px){
  body.home .home-stage .hero-copy{padding-top:86px;}
}
@media(max-width:850px){
  body.home .hero-brand.hero-brand-horizontal{gap:10px;margin-bottom:12px;}
  body.home .hero-brand-horizontal .hero-brand-mark{width:62px;height:62px;}
  body.home .hero-brand-horizontal .hero-brand-name{font-size:39px;letter-spacing:-2px;}
  body.home .hero-brand-horizontal .hero-brand-tagline{font-size:8px;letter-spacing:3px;margin-top:7px;}
}

/* v0.1.18 — approved logo proportion refinements */
body.home .hero-brand.hero-brand-horizontal{
  align-items:flex-start;
  gap:15px;
}
body.home .hero-brand-horizontal .hero-brand-mark{
  width:92px;
  height:92px;
  transform:translateY(-11px);
}
body.home .hero-brand-horizontal .hero-brand-words{
  width:252px;
}
body.home .hero-brand-horizontal .hero-brand-name{
  position:relative;
  display:inline-block;
  width:max-content;
  color:#07163c;
  font-size:52px;
  line-height:.88;
  font-weight:850;
  letter-spacing:-2.8px;
}
body.home .hero-brand-horizontal .brand-i{
  position:relative;
  display:inline-block;
}
body.home .hero-brand-horizontal .brand-i-dot{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(180deg,#18c9f3 0%,#1f56ff 100%);
  left:50%;
  top:-5px;
  transform:translateX(-50%);
}
body.home .hero-brand-horizontal .hero-brand-tagline{
  box-sizing:border-box;
  width:100%;
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  color:#44506d;
  font-size:10px;
  line-height:1;
  font-weight:650;
  letter-spacing:3.15px;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(max-width:850px){
  body.home .hero-brand-horizontal .hero-brand-mark{
    width:70px;height:70px;transform:translateY(-8px);
  }
  body.home .hero-brand-horizontal .hero-brand-words{width:190px;}
  body.home .hero-brand-horizontal .hero-brand-name{font-size:39px;}
  body.home .hero-brand-horizontal .brand-i-dot{width:8px;height:8px;top:-4px;}
  body.home .hero-brand-horizontal .hero-brand-tagline{
    font-size:7.5px;letter-spacing:2.35px;margin-top:8px;
  }
}

/* v0.1.19 — raster wordmark asset; corrected C alignment */
body.home .hero-brand.hero-brand-horizontal{
  overflow:visible;
  align-items:flex-start;
  gap:14px;
  padding-top:12px;
}
body.home .hero-brand-horizontal .hero-brand-mark{
  width:98px;
  height:98px;
  transform:translateY(-18px);
  object-fit:contain;
  overflow:visible;
}
body.home .hero-brand-horizontal .hero-brand-words{
  width:252px;
  overflow:visible;
}
body.home .hero-brand-horizontal .hero-brand-wordmark{
  display:block;
  width:252px;
  height:auto;
  max-width:none;
}
@media(max-width:850px){
  body.home .hero-brand-horizontal .hero-brand-mark{
    width:74px;height:74px;transform:translateY(-13px);
  }
  body.home .hero-brand-horizontal .hero-brand-words{width:190px;}
  body.home .hero-brand-horizontal .hero-brand-wordmark{width:190px;}
}

/* v0.1.21 — slightly larger corrected C mark only */
body.home .hero-brand-horizontal .hero-brand-mark{
  width:114px;
  height:114px;
  transform:translate(-5px,-25px);
  margin-right:-11px;
}
@media(max-width:850px){
  body.home .hero-brand-horizontal .hero-brand-mark{
    width:86px;
    height:86px;
    transform:translate(-4px,-19px);
    margin-right:-8px;
  }
}

/* v0.1.22 — desktop project pill alignment + project-page links */
body.home .project-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:7px;
  color:#4157d8;
  font-size:11px;
  line-height:1.1;
  font-weight:750;
  text-decoration:none;
}
body.home .project-link:hover,
body.home .project-link:focus-visible{
  text-decoration:underline;
}
@media(min-width:851px){
  body.home .project .tag-driving{
    white-space:nowrap;
    font-size:9px;
    padding-left:7px;
    padding-right:7px;
    letter-spacing:-.05px;
  }
}

/* v0.1.24 — consistent desktop project-card text rows */
@media(min-width:851px){
  body.home .project{
    align-items:flex-start;
  }
  body.home .project-body{
    align-self:stretch;
    display:grid;
    grid-template-rows:26px 28px 54px 18px;
    align-content:start;
    min-width:0;
  }
  body.home .project-body .tag{
    align-self:start;
    justify-self:start;
    margin:0;
    white-space:nowrap;
  }
  body.home .project-body h3{
    align-self:start;
    margin:0;
    line-height:1.15;
  }
  body.home .project-body p{
    align-self:start;
    margin:0;
    line-height:1.28;
  }
  body.home .project-body .project-link{
    align-self:end;
    margin:0;
  }
}

/* v0.1.25 — unified project status pills */
body.home .project .tag,
body.home .project .tag-driving{
  background:rgba(242,239,255,.92);
  color:#5b43e8;
}

/* v0.1.26 — exact Lumenshell pill color on every project */
body.home .project-table .project .tag,
body.home .project-table .project .tag-driving{
  background:#f0ecff !important;
  color:#6347d8 !important;
  opacity:1 !important;
}

/* v0.1.28 — rebuilt homepage project-card presentation */
body.home .project-table .project{
  box-sizing:border-box;
}

body.home .project-table .project-body .tag,
body.home .project-table .project-body .tag-driving{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:max-content;
  max-width:100%;
  min-height:0;
  margin:0;
  padding:3px 7px;
  border:0;
  border-radius:999px;
  background:rgba(99,71,216,.07) !important;
  color:rgba(72,65,105,.78) !important;
  box-shadow:none;
  opacity:1 !important;
  font-size:9px;
  font-weight:650;
  line-height:1.15;
  letter-spacing:.01em;
  text-transform:none;
}

@media(min-width:851px){
  body.home .project-table .project-body{
    align-self:stretch;
    display:grid;
    grid-template-rows:22px 28px 54px 18px;
    align-content:start;
    min-width:0;
  }

  body.home .project-table .project-body .tag,
  body.home .project-table .project-body .tag-driving{
    white-space:nowrap;
    align-self:start;
    justify-self:start;
  }
}

/* v0.1.29 — restore purple project-label text only */
body.home .project-table .project-body .tag,
body.home .project-table .project-body .tag-driving{
  color:#6347d8 !important;
}

/* v0.1.30 — refined desktop top-right navigation only */
@media(min-width:851px){
  body.home .site-header .nav-links{
    display:flex;
    align-items:center;
    gap:4px;
    padding:6px 9px;
    background:rgba(255,255,255,.58);
    border:1px solid rgba(255,255,255,.72);
    border-radius:16px;
    box-shadow:0 6px 20px rgba(25,31,67,.10);
    backdrop-filter:blur(12px) saturate(120%);
    -webkit-backdrop-filter:blur(12px) saturate(120%);
  }

  body.home .site-header .nav-links > li{
    position:relative;
  }

  body.home .site-header .nav-links > li > a{
    position:relative;
    display:block;
    padding:7px 11px 8px;
    border-radius:9px;
    color:#121936;
    font-size:13px;
    font-weight:500;
    line-height:1;
    text-decoration:none;
    transition:color .18s ease, background-color .18s ease;
  }

  body.home .site-header .nav-links > li > a:hover,
  body.home .site-header .nav-links > li > a:focus-visible{
    color:#5748e8;
    background:rgba(255,255,255,.30);
  }

  body.home .site-header .nav-links > li.current-menu-item > a,
  body.home .site-header .nav-links > li.current_page_item > a{
    color:#121936;
    background:transparent;
  }

  body.home .site-header .nav-links > li.current-menu-item > a::after,
  body.home .site-header .nav-links > li.current_page_item > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:18px;
    height:2px;
    border-radius:999px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,#3f8cff,#7656f5);
  }
}

/* v0.1.33 — clean creative-studio navigation based on supplied reference */
@media(min-width:851px){
  body.home .site-header .nav-links{
    display:flex;
    align-items:center;
    gap:0;
    padding:0 12px;
    min-height:50px;
    background:rgba(255,255,255,.94);
    border:0;
    border-radius:8px;
    box-shadow:0 4px 14px rgba(24,34,70,.06);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  body.home .site-header .nav-links > li{
    position:relative;
    margin:0;
  }

  body.home .site-header .nav-links > li > a{
    display:flex;
    align-items:center;
    min-height:50px;
    padding:0 15px;
    border-radius:0;
    background:transparent !important;
    color:#111936;
    font-size:12px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:color .16s ease;
  }

  body.home .site-header .nav-links > li > a:hover,
  body.home .site-header .nav-links > li > a:focus-visible{
    color:#5f4de7;
    background:transparent !important;
  }

  body.home .site-header .nav-links > li.current-menu-item > a,
  body.home .site-header .nav-links > li.current_page_item > a{
    color:#5f4de7;
  }

  body.home .site-header .nav-links > li.current-menu-item > a::after,
  body.home .site-header .nav-links > li.current_page_item > a::after{
    display:none;
    content:none;
  }
}

/* v0.1.34 — top-edge navigation with subtle side fades */
@media(min-width:851px){
  body.home .site-header .nav-links{
    position:relative;
    margin-top:0;
    border-radius:0 0 8px 8px;
    overflow:visible;
  }

  body.home .site-header .nav-links::before,
  body.home .site-header .nav-links::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:28px;
    pointer-events:none;
  }

  body.home .site-header .nav-links::before{
    right:100%;
    background:linear-gradient(to left,rgba(255,255,255,.94),rgba(255,255,255,0));
  }

  body.home .site-header .nav-links::after{
    left:100%;
    background:linear-gradient(to right,rgba(255,255,255,.94),rgba(255,255,255,0));
  }
}

/* v0.1.35 — flush-to-top nav and inward edge fades */
@media(min-width:851px){
  body.home .site-header{
    top:0;
  }

  body.home .site-header .nav{
    align-items:flex-start;
  }

  body.home .site-header .nav-links{
    margin-top:0 !important;
    border-radius:0 0 8px 8px;
    background:linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.94) 9%,
      rgba(255,255,255,.94) 91%,
      rgba(255,255,255,0) 100%
    );
    box-shadow:none;
    padding-left:30px;
    padding-right:30px;
  }

  /* Remove the previous outward fade extensions completely. */
  body.home .site-header .nav-links::before,
  body.home .site-header .nav-links::after{
    content:none !important;
    display:none !important;
  }
}

/* v0.1.36 — compact top-left header brand */
@media(min-width:851px){
  body.home .site-header .nav::before{
    content:"";
    position:absolute;
    top:8px;
    left:18px;
    width:34px;
    height:34px;
    background:url("assets/images/creatumi-mark.webp") center/contain no-repeat;
    pointer-events:none;
  }

  body.home .site-header .nav::after{
    content:"Creatumi";
    position:absolute;
    top:14px;
    left:60px;
    color:#101936;
    font-size:20px;
    font-weight:750;
    line-height:1;
    letter-spacing:-.5px;
    pointer-events:none;
  }
}

/* v0.1.38 — rebuilt homepage body using the approved #4-inspired sky-to-scenery concept */
body.home .home-body-scene{
  position:relative;
  width:min(calc(100% - 36px),var(--max));
  min-height:1900px;
  margin:18px auto 0;
  overflow:hidden;
  border-radius:20px;
  background-image:url('assets/images/creatumi-home-body.webp');
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:0 12px 30px rgba(47,42,92,.07);
}
body.home .home-body-scene::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(26,39,46,0) 0%,rgba(22,37,43,.10) 34%,rgba(20,33,38,.38) 100%);
}
body.home .home-body-content{
  position:absolute;
  left:clamp(34px,6.4%,76px);
  right:clamp(34px,6.4%,76px);
  bottom:clamp(132px,10.5%,200px);
  z-index:2;
  max-width:690px;
  color:#fff;
  text-shadow:0 2px 18px rgba(18,31,38,.32);
}
body.home .home-body-content h2{
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(38px,4.2vw,58px);
  line-height:1.02;
  letter-spacing:-2.2px;
}
body.home .home-body-content p{
  margin:0 0 24px;
  max-width:620px;
  color:rgba(255,255,255,.94);
  font-size:clamp(17px,1.55vw,21px);
  line-height:1.5;
}
body.home .home-body-link{
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.76);
  padding-bottom:3px;
}
body.home .home-body-link:hover,
body.home .home-body-link:focus-visible{
  border-bottom-color:#fff;
}
body.home .site-footer{
  margin-top:18px;
}

@media(max-width:850px){
  body.home .home-body-scene{
    width:min(calc(100% - 24px),var(--max));
    min-height:1380px;
    margin-top:14px;
    border-radius:18px;
    background-position:center top;
  }
  body.home .home-body-content{
    left:24px;
    right:24px;
    bottom:88px;
    max-width:520px;
  }
  body.home .home-body-content h2{
    font-size:clamp(34px,9vw,46px);
    letter-spacing:-1.7px;
  }
  body.home .home-body-content p{
    font-size:16px;
    line-height:1.45;
  }
}

@media(max-width:520px){
  body.home .home-body-scene{
    min-height:1240px;
  }
  body.home .home-body-content{
    left:20px;
    right:20px;
    bottom:70px;
  }
  body.home .home-body-content h2{
    font-size:36px;
  }
  body.home .home-body-content p{
    font-size:15px;
  }
}



/* v0.1.41 — seamless hero-to-body blend, rebuilt from the stable v0.1.39 layout */
/* Keep the approved hero and four-project strip geometry untouched. The body scene
   slides underneath the lower portion of the existing stage, while the stage art
   and readability overlay fade away into the body sky. */
body.home .home-stage{
  position:relative;
  z-index:2;
  background:transparent;
  border-radius:0;
}
body.home .stage-art,
body.home .stage-fade{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 61%,rgba(0,0,0,.96) 67%,rgba(0,0,0,.72) 75%,rgba(0,0,0,.34) 84%,rgba(0,0,0,0) 94%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 61%,rgba(0,0,0,.96) 67%,rgba(0,0,0,.72) 75%,rgba(0,0,0,.34) 84%,rgba(0,0,0,0) 94%,rgba(0,0,0,0) 100%);
}
body.home .home-body-scene{
  position:relative;
  z-index:1;
  margin:-220px auto 0;
  border-radius:0 0 20px 20px;
  box-shadow:0 16px 34px rgba(47,42,92,.08);
}
/* The overlap already provides the transition; avoid an independent upper edge. */
body.home .home-body-scene::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:250px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(224,232,249,.12) 0%,rgba(224,232,249,.045) 38%,rgba(224,232,249,0) 100%);
}
body.home .home-body-content{z-index:2}

@media(max-width:850px){
  body.home .home-stage{
    background:transparent;
    border-radius:22px 22px 0 0;
  }
  body.home .stage-art,
  body.home .stage-fade{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.92) 58%,rgba(0,0,0,.60) 70%,rgba(0,0,0,.24) 82%,rgba(0,0,0,0) 94%,rgba(0,0,0,0) 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,.92) 58%,rgba(0,0,0,.60) 70%,rgba(0,0,0,.24) 82%,rgba(0,0,0,0) 94%,rgba(0,0,0,0) 100%);
  }
  body.home .home-body-scene{
    margin:-320px auto 0;
    border-radius:0 0 18px 18px;
  }
}

@media(max-width:520px){
  body.home .home-body-scene{
    margin-top:-305px;
  }
}


/* v0.1.44 — rebuilt D-style homepage body overlay from the stable v0.1.41 base */
body.home .body-d-scene{
  min-height:1940px;
}
body.home .body-d-scene::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:270px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(223,231,248,.08) 0%,rgba(223,231,248,.02) 36%,rgba(223,231,248,0) 100%);
}
body.home .body-d-scene::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  pointer-events:none;
  z-index:1;
  background:linear-gradient(180deg,rgba(18,26,53,0) 0%,rgba(18,26,53,.10) 26%,rgba(15,21,47,.34) 66%,rgba(11,16,38,.62) 100%);
}
body.home .body-d-backdrop,
body.home .body-d-node,
body.home .body-d-cta-wave{position:absolute;z-index:2;}
body.home .body-d-backdrop{inset:0;pointer-events:none;overflow:hidden;z-index:1;}
body.home .body-d-arc,
body.home .body-d-trace{position:absolute;display:block;border-radius:999px;}
body.home .body-d-arc{
  border:2px solid rgba(218,232,255,.36);
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset, 0 0 48px rgba(122,151,255,.10);
  opacity:.92;
}
body.home .body-d-arc.arc-1{width:760px;height:240px;top:235px;right:-120px;transform:rotate(-12deg);}
body.home .body-d-arc.arc-2{width:840px;height:280px;top:635px;right:-145px;transform:rotate(8deg);}
body.home .body-d-arc.arc-3{width:900px;height:310px;top:1040px;right:-135px;transform:rotate(-8deg);}
body.home .body-d-arc.arc-4{width:1040px;height:360px;bottom:72px;left:-120px;transform:rotate(6deg);opacity:.72;}
body.home .body-d-trace{
  background:linear-gradient(90deg,rgba(174,210,255,0) 0%, rgba(174,210,255,.55) 48%, rgba(174,210,255,0) 100%);
  filter:blur(.2px);
}
body.home .body-d-trace.trace-1{width:310px;height:2px;top:350px;right:170px;transform:rotate(-20deg);}
body.home .body-d-trace.trace-2{width:380px;height:2px;top:780px;left:318px;transform:rotate(13deg);}
body.home .body-d-trace.trace-3{width:430px;height:2px;top:1240px;left:300px;transform:rotate(-10deg);}

body.home .body-d-node{
  display:flex;
  align-items:center;
  gap:30px;
  max-width:520px;
}
body.home .node-apps{top:220px;right:54px;}
body.home .node-games{top:660px;left:170px;}
body.home .node-learning{top:1110px;left:132px;}
body.home .body-d-orb{
  position:relative;
  width:238px;
  height:238px;
  flex:0 0 238px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, rgba(255,255,255,.34) 0%, rgba(233,241,255,.17) 22%, rgba(178,198,255,.11) 48%, rgba(117,138,255,.08) 68%, rgba(255,255,255,0) 100%);
  border:1.6px solid rgba(226,236,255,.58);
  box-shadow:inset 0 0 28px rgba(255,255,255,.10), 0 20px 56px rgba(51,75,140,.18), 0 0 50px rgba(90,123,255,.12);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
body.home .body-d-orb::before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  border:1px solid rgba(236,242,255,.24);
}
body.home .body-d-orb .orb-sheen{
  position:absolute;
  inset:18px 26px auto 28px;
  height:62px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.10) 100%);
  filter:blur(.2px);
  opacity:.85;
}
body.home .body-d-orb .orb-inner{
  position:absolute;
  inset:62px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 30%, rgba(126,209,255,.95) 0%, rgba(109,176,255,.65) 24%, rgba(109,117,255,.92) 58%, rgba(92,70,227,.94) 100%);
  box-shadow:0 18px 34px rgba(50,77,218,.34);
}
body.home .body-d-orb .orb-chip{
  position:absolute;
  display:block;
  border-radius:18px;
  background:rgba(240,245,255,.88);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(53,83,173,.13);
}
body.home .orb-apps .chip-a{width:42px;height:58px;top:28px;right:30px;transform:rotate(11deg);}
body.home .orb-apps .chip-b{width:34px;height:34px;top:84px;left:24px;transform:rotate(-12deg);}
body.home .orb-apps .chip-c{width:34px;height:26px;bottom:38px;left:34px;transform:rotate(14deg);}
body.home .orb-apps .chip-d{width:24px;height:24px;bottom:34px;right:42px;transform:rotate(-6deg);}
body.home .orb-games .chip-a{width:56px;height:24px;top:32px;right:26px;border-radius:999px;transform:rotate(10deg);}
body.home .orb-games .chip-b{width:22px;height:22px;top:82px;left:28px;transform:rotate(-18deg);}
body.home .orb-games .chip-c{width:34px;height:34px;bottom:34px;left:34px;transform:rotate(8deg);}
body.home .orb-games .chip-d{width:18px;height:18px;bottom:48px;right:32px;transform:rotate(-16deg);}
body.home .orb-learning .chip-a{width:56px;height:44px;top:26px;right:26px;transform:rotate(9deg);}
body.home .orb-learning .chip-b{width:30px;height:42px;bottom:34px;left:26px;transform:rotate(-14deg);}
body.home .orb-learning .chip-c{width:18px;height:18px;top:88px;left:26px;transform:rotate(12deg);}
body.home .orb-learning .chip-d{width:28px;height:22px;bottom:40px;right:36px;transform:rotate(-10deg);}

body.home .body-d-info{
  position:relative;
  max-width:250px;
  padding-top:6px;
}
body.home .body-d-info .node-line{
  display:block;
  width:92px;
  height:2px;
  margin:0 0 14px;
  background:linear-gradient(90deg,rgba(223,235,255,.96) 0%,rgba(223,235,255,.12) 100%);
}
body.home .body-d-info .node-num{
  position:absolute;
  top:0;
  right:-24px;
  color:rgba(208,223,255,.86);
  font-size:32px;
  font-weight:650;
  letter-spacing:.04em;
}
body.home .body-d-info h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,3.7vw,50px);
  line-height:1.02;
  letter-spacing:-1.8px;
  text-shadow:0 4px 20px rgba(16,26,59,.20);
}
body.home .body-d-info p{
  margin:0;
  color:rgba(242,246,255,.94);
  font-size:16px;
  line-height:1.55;
  text-shadow:0 2px 14px rgba(18,31,38,.14);
}

body.home .body-d-cta-wave{
  left:32px;
  right:32px;
  bottom:62px;
  min-height:252px;
  padding:44px 40px 36px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:26px;
  overflow:hidden;
}
body.home .body-d-cta-wave::before{
  content:"";
  position:absolute;
  left:-12px;
  right:190px;
  top:18px;
  bottom:0;
  border-radius:58% 42% 0 0 / 48% 52% 0 0;
  background:linear-gradient(180deg, rgba(74,66,189,.92) 0%, rgba(76,87,226,.84) 58%, rgba(52,128,239,.78) 100%);
  box-shadow:0 22px 50px rgba(33,42,115,.30);
  z-index:-1;
}
body.home .body-d-cta-wave::after{
  content:"";
  position:absolute;
  left:32px;
  right:280px;
  top:34px;
  height:84px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 100%);
  opacity:.7;
  z-index:-1;
}
body.home .body-d-cta-copy{max-width:520px;color:#fff;}
body.home .body-d-cta-copy h2{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(44px,4.8vw,66px);
  line-height:.98;
  letter-spacing:-2.4px;
  text-shadow:0 6px 24px rgba(14,20,54,.24);
}
body.home .body-d-cta-copy p{
  margin:0;
  color:rgba(243,247,255,.96);
  font-size:18px;
  line-height:1.5;
}
body.home .body-d-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:250px;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  background:linear-gradient(180deg,#55a6ff 0%, #5b6fff 100%);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(43,92,255,.28), inset 0 1px 0 rgba(255,255,255,.30);
}
body.home .body-d-cta-button:hover,
body.home .body-d-cta-button:focus-visible{filter:brightness(1.05);color:#fff;}
body.home .home-body-content{display:none;}

@media(max-width:1100px){
  body.home .node-apps{right:28px;}
  body.home .node-games{left:102px;}
  body.home .node-learning{left:86px;}
}

@media(max-width:850px){
  body.home .body-d-scene{min-height:1450px;}
  body.home .body-d-arc.arc-1{width:620px;height:200px;top:260px;right:-180px;}
  body.home .body-d-arc.arc-2{width:680px;height:220px;top:580px;right:-210px;}
  body.home .body-d-arc.arc-3{width:720px;height:240px;top:860px;right:-190px;}
  body.home .body-d-arc.arc-4{width:820px;height:280px;bottom:46px;left:-170px;}
  body.home .body-d-trace.trace-1,
  body.home .body-d-trace.trace-2,
  body.home .body-d-trace.trace-3{display:none;}
  body.home .body-d-node{
    gap:16px;
    max-width:none;
    left:24px !important;
    right:24px !important;
  }
  body.home .node-apps{top:254px;}
  body.home .node-games{top:598px;}
  body.home .node-learning{top:930px;}
  body.home .body-d-orb{width:160px;height:160px;flex-basis:160px;}
  body.home .body-d-orb::before{inset:10px;}
  body.home .body-d-orb .orb-inner{inset:42px;}
  body.home .body-d-orb .orb-sheen{inset:14px 18px auto 18px;height:46px;}
  body.home .body-d-info{max-width:none;}
  body.home .body-d-info .node-num{right:0;top:-4px;font-size:26px;}
  body.home .body-d-info h2{font-size:clamp(28px,6.3vw,38px);margin-bottom:10px;}
  body.home .body-d-info p{font-size:15px;line-height:1.45;}
  body.home .body-d-cta-wave{
    left:18px;right:18px;bottom:40px;min-height:220px;
    padding:30px 24px 22px;
    flex-direction:column;align-items:flex-start;justify-content:flex-end;
  }
  body.home .body-d-cta-wave::before{left:-10px;right:24px;top:18px;}
  body.home .body-d-cta-wave::after{left:18px;right:120px;top:26px;height:58px;}
  body.home .body-d-cta-copy{max-width:none;}
  body.home .body-d-cta-copy h2{font-size:clamp(34px,8vw,46px);letter-spacing:-1.6px;}
  body.home .body-d-cta-copy p{font-size:16px;line-height:1.45;}
  body.home .body-d-cta-button{width:100%;min-width:0;}
}

@media(max-width:520px){
  body.home .body-d-scene{min-height:1310px;}
  body.home .node-apps{top:248px;}
  body.home .node-games{top:535px;}
  body.home .node-learning{top:808px;}
  body.home .body-d-orb{width:124px;height:124px;flex-basis:124px;}
  body.home .body-d-orb .orb-inner{inset:34px;}
  body.home .body-d-info .node-line{width:64px;margin-bottom:10px;}
  body.home .body-d-info h2{font-size:28px;}
  body.home .body-d-info p{font-size:14px;}
  body.home .body-d-cta-wave{min-height:194px;bottom:34px;padding:24px 18px 18px;}
  body.home .body-d-cta-copy h2{font-size:31px;}
  body.home .body-d-cta-copy p{font-size:15px;}
}


/* v0.1.45 — refine D-style overlay: stronger orb design, tighter composition, stacked CTA */
body.home .body-d-scene{
  min-height:1860px;
}
body.home .body-d-backdrop{z-index:1;}
body.home .body-d-arc.arc-1{width:700px;height:220px;top:235px;right:-95px;transform:rotate(-11deg);}
body.home .body-d-arc.arc-2{width:760px;height:250px;top:500px;right:-120px;transform:rotate(7deg);}
body.home .body-d-arc.arc-3{width:790px;height:270px;top:760px;right:-110px;transform:rotate(-7deg);}
body.home .body-d-arc.arc-4{width:960px;height:310px;bottom:150px;left:-70px;transform:rotate(5deg);opacity:.58;}
body.home .body-d-trace.trace-1{width:250px;top:328px;right:220px;transform:rotate(-18deg);}
body.home .body-d-trace.trace-2{width:290px;top:600px;left:360px;transform:rotate(11deg);}
body.home .body-d-trace.trace-3{width:310px;top:854px;left:350px;transform:rotate(-10deg);}

body.home .body-d-node{
  gap:26px;
  max-width:500px;
}
body.home .node-apps{top:285px;left:118px;right:auto;}
body.home .node-games{top:540px;left:360px;right:auto;}
body.home .node-learning{top:815px;left:160px;right:auto;}

body.home .body-d-orb{
  width:218px;
  height:218px;
  flex:0 0 218px;
  border:none;
  background:radial-gradient(circle at 34% 28%, rgba(255,255,255,.30) 0%, rgba(232,240,255,.18) 18%, rgba(162,191,255,.10) 46%, rgba(101,124,235,.08) 66%, rgba(255,255,255,0) 100%);
  box-shadow:0 22px 60px rgba(45,69,138,.18), 0 0 46px rgba(113,140,255,.11);
  overflow:visible;
}
body.home .body-d-orb::before{
  inset:12px;
  border:1px solid rgba(237,243,255,.36);
}
body.home .body-d-orb::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(242,246,255,.14);
}
body.home .body-d-orb .orb-sheen{
  inset:16px 22px auto 22px;
  height:42px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,.02) 100%);
}
body.home .body-d-orb .orb-inner{
  inset:56px;
  background:radial-gradient(circle at 30% 28%, rgba(144,225,255,.96) 0%, rgba(117,174,255,.82) 22%, rgba(101,120,255,.95) 58%, rgba(84,68,219,.96) 100%);
}
body.home .body-d-orb .orb-chip{
  background:linear-gradient(180deg,rgba(246,249,255,.96) 0%, rgba(219,232,255,.80) 100%);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 10px 22px rgba(57,86,174,.14);
}
/* unique orb treatments */
body.home .orb-apps .chip-a{width:40px;height:52px;top:30px;right:28px;transform:rotate(10deg);}
body.home .orb-apps .chip-b{width:30px;height:30px;top:86px;left:22px;transform:rotate(-10deg);}
body.home .orb-apps .chip-c{width:30px;height:24px;bottom:32px;left:30px;transform:rotate(14deg);}
body.home .orb-apps .chip-d{width:20px;height:20px;bottom:36px;right:34px;transform:rotate(-8deg);}
body.home .orb-apps .orb-inner::before,
body.home .orb-apps .orb-inner::after,
body.home .orb-games .orb-inner::before,
body.home .orb-games .orb-inner::after,
body.home .orb-learning .orb-inner::before,
body.home .orb-learning .orb-inner::after{
  content:"";
  position:absolute;
}
body.home .orb-apps .orb-inner::before{
  width:40px;height:40px;left:50%;top:50%;transform:translate(-50%,-50%);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(253,255,255,.86) 0%,rgba(202,216,255,.76) 100%);
  box-shadow:
    -24px -24px 0 0 rgba(237,244,255,.90),
    24px -24px 0 0 rgba(237,244,255,.90),
    -24px 24px 0 0 rgba(237,244,255,.90),
    24px 24px 0 0 rgba(237,244,255,.90);
}
body.home .orb-apps .orb-inner::after{
  inset:18px;
  border-radius:50%;
  border:1px dashed rgba(255,255,255,.28);
}
body.home .orb-games .chip-a{width:52px;height:22px;top:30px;right:24px;border-radius:999px;transform:rotate(10deg);}
body.home .orb-games .chip-b{width:20px;height:20px;top:84px;left:24px;transform:rotate(-16deg);}
body.home .orb-games .chip-c{width:30px;height:30px;bottom:32px;left:32px;transform:rotate(8deg);}
body.home .orb-games .chip-d{width:18px;height:18px;bottom:44px;right:30px;transform:rotate(-14deg);}
body.home .orb-games .orb-inner::before{
  left:50%;top:52%;transform:translate(-50%,-50%);
  width:74px;height:46px;border-radius:24px;
  background:linear-gradient(180deg,rgba(248,251,255,.96) 0%,rgba(211,225,255,.86) 100%);
  box-shadow:0 3px 0 rgba(109,126,255,.14) inset;
}
body.home .orb-games .orb-inner::after{
  left:50%;top:52%;transform:translate(-50%,-50%);
  width:12px;height:12px;border-radius:50%;background:#7b8eff;
  box-shadow:-18px 0 0 0 rgba(123,142,255,.96),18px 0 0 0 rgba(123,142,255,.96),0 -10px 0 0 rgba(255,255,255,.86),0 10px 0 0 rgba(255,255,255,.86);
}
body.home .orb-learning .chip-a{width:52px;height:40px;top:28px;right:24px;transform:rotate(9deg);}
body.home .orb-learning .chip-b{width:28px;height:40px;bottom:34px;left:24px;transform:rotate(-13deg);}
body.home .orb-learning .chip-c{width:18px;height:18px;top:86px;left:24px;transform:rotate(12deg);}
body.home .orb-learning .chip-d{width:28px;height:22px;bottom:36px;right:32px;transform:rotate(-10deg);}
body.home .orb-learning .orb-inner::before{
  left:50%;top:54%;transform:translate(-50%,-50%);
  width:78px;height:50px;border-radius:8px 8px 18px 18px / 8px 8px 14px 14px;
  background:linear-gradient(180deg,rgba(248,251,255,.96) 0%,rgba(214,228,255,.84) 100%);
  clip-path:polygon(0 16%,48% 0,50% 6%,52% 0,100% 16%,100% 100%,0 100%);
}
body.home .orb-learning .orb-inner::after{
  left:50%;top:44%;transform:translate(-50%,-50%);
  width:40px;height:3px;border-radius:999px;background:rgba(122,143,255,.78);
  box-shadow:0 10px 0 0 rgba(122,143,255,.66),0 20px 0 0 rgba(122,143,255,.54);
}

body.home .body-d-info{max-width:256px;}
body.home .body-d-info .node-line{width:72px;margin-bottom:12px;}
body.home .body-d-info .node-num{right:-18px;top:12px;font-size:30px;}
body.home .body-d-info h2{
  font-size:clamp(30px,3.2vw,44px);
  margin-bottom:10px;
}
body.home .body-d-info p{font-size:15px;line-height:1.48;}

body.home .body-d-cta-wave{
  left:34px;
  right:34px;
  bottom:60px;
  min-height:274px;
  padding:40px 34px 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:18px;
}
body.home .body-d-cta-wave::before{
  left:-18px;
  right:140px;
  top:22px;
  bottom:0;
  border-radius:60% 40% 0 0 / 55% 45% 0 0;
  background:linear-gradient(180deg, rgba(73,63,188,.92) 0%, rgba(79,83,216,.84) 54%, rgba(55,120,235,.78) 100%);
}
body.home .body-d-cta-wave::after{
  left:36px;
  right:240px;
  top:38px;
  height:74px;
}
body.home .body-d-cta-copy{max-width:610px;}
body.home .body-d-cta-copy h2{
  font-size:clamp(46px,5vw,68px);
  margin-bottom:12px;
}
body.home .body-d-cta-copy p{font-size:18px;max-width:500px;}
body.home .body-d-cta-button{
  min-width:0;
  padding:0 26px;
  min-height:54px;
}

@media(max-width:1100px){
  body.home .node-apps{left:88px;}
  body.home .node-games{left:300px;}
  body.home .node-learning{left:120px;}
}

@media(max-width:850px){
  body.home .body-d-scene{min-height:1440px;}
  body.home .body-d-arc.arc-1{width:560px;height:180px;top:250px;right:-160px;}
  body.home .body-d-arc.arc-2{width:620px;height:200px;top:520px;right:-185px;}
  body.home .body-d-arc.arc-3{width:650px;height:220px;top:768px;right:-170px;}
  body.home .body-d-arc.arc-4{width:760px;height:240px;bottom:130px;left:-170px;}
  body.home .node-apps{top:230px;left:24px !important;right:24px !important;}
  body.home .node-games{top:500px;left:24px !important;right:24px !important;}
  body.home .node-learning{top:760px;left:24px !important;right:24px !important;}
  body.home .body-d-node{gap:14px;max-width:none;}
  body.home .body-d-orb{width:144px;height:144px;flex-basis:144px;}
  body.home .body-d-orb .orb-inner{inset:38px;}
  body.home .body-d-orb .orb-sheen{inset:12px 14px auto 14px;height:32px;}
  body.home .body-d-info{max-width:none;}
  body.home .body-d-info .node-num{right:0;top:-4px;font-size:24px;}
  body.home .body-d-info h2{font-size:clamp(28px,6vw,38px);}
  body.home .body-d-info p{font-size:15px;}
  body.home .body-d-cta-wave{left:18px;right:18px;bottom:38px;min-height:228px;padding:28px 22px 22px;gap:14px;}
  body.home .body-d-cta-wave::before{left:-10px;right:26px;top:20px;}
  body.home .body-d-cta-wave::after{left:22px;right:140px;top:26px;height:58px;}
  body.home .body-d-cta-copy h2{font-size:clamp(34px,8vw,46px);}
  body.home .body-d-cta-copy p{font-size:16px;max-width:none;}
  body.home .body-d-cta-button{width:100%;}
}

@media(max-width:520px){
  body.home .body-d-scene{min-height:1300px;}
  body.home .node-apps{top:216px;}
  body.home .node-games{top:455px;}
  body.home .node-learning{top:692px;}
  body.home .body-d-orb{width:118px;height:118px;flex-basis:118px;}
  body.home .body-d-orb .orb-inner{inset:31px;}
  body.home .body-d-info h2{font-size:27px;}
  body.home .body-d-info p{font-size:14px;}
  body.home .body-d-cta-wave{min-height:208px;bottom:32px;padding:22px 18px 18px;}
  body.home .body-d-cta-copy h2{font-size:31px;}
  body.home .body-d-cta-copy p{font-size:15px;}
}


/* v0.1.47 — replace CSS orbs with selected production orb assets A, D, E */
body.home .body-d-orb{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.home .body-d-orb::before,
body.home .body-d-orb::after,
body.home .body-d-orb .orb-sheen,
body.home .body-d-orb .orb-inner,
body.home .body-d-orb .orb-chip{display:none !important;}
body.home .body-d-orb .body-d-orb-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 34px rgba(53,72,146,.18));
}


/* v0.1.49 — slightly enlarge production orb assets for better visual presence */
body.home .body-d-orb{
  width:256px;
  height:256px;
  flex:0 0 256px;
}

@media(max-width:850px){
  body.home .body-d-orb{
    width:164px;
    height:164px;
    flex-basis:164px;
  }
}

@media(max-width:520px){
  body.home .body-d-orb{
    width:132px;
    height:132px;
    flex-basis:132px;
  }
}


/* v0.1.50 — enlarge production orb assets to 300px on desktop */
body.home .body-d-orb{
  width:300px;
  height:300px;
  flex:0 0 300px;
}

@media(max-width:850px){
  body.home .body-d-orb{
    width:176px;
    height:176px;
    flex-basis:176px;
  }
}

@media(max-width:520px){
  body.home .body-d-orb{
    width:140px;
    height:140px;
    flex-basis:140px;
  }
}


/* v0.1.51 — improve number badges and text readability for homepage orb callouts */
body.home .body-d-info{
  max-width:270px;
  padding:18px 22px 18px 22px;
  border-radius:22px;
  background:rgba(27, 37, 68, 0.22);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 28px rgba(18,28,54,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.home .body-d-info .node-line{
  width:78px;
  margin:0 0 12px;
}
body.home .body-d-info .node-num{
  position:absolute;
  top:10px;
  right:-76px;
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-left:15px;
  border-radius:50%;
  color:rgba(233,242,255,.98);
  font-size:27px;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  background:rgba(33, 49, 91, 0.34);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 10px 22px rgba(21,30,63,.16), inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.home .node-apps .body-d-info .node-num{right:-76px;}
body.home .node-games .body-d-info .node-num{right:-98px;}
body.home .node-learning .body-d-info .node-num{right:-78px;}
body.home .body-d-info h2{
  margin:0 0 10px;
}
body.home .body-d-info p{
  margin:0;
  color:rgba(244,247,255,.96);
}

@media(max-width:850px){
  body.home .body-d-info{
    padding:14px 16px 14px 16px;
    border-radius:18px;
  }
  body.home .body-d-info .node-line{width:64px;margin-bottom:10px;}
  body.home .body-d-info .node-num{
    top:-6px;
    right:-4px;
    width:44px;
    height:44px;
    padding-left:12px;
    font-size:20px;
  }
  body.home .node-games .body-d-info .node-num{right:4px;}
}

@media(max-width:520px){
  body.home .body-d-info{
    padding:12px 14px 12px 14px;
    border-radius:16px;
  }
  body.home .body-d-info .node-num{
    width:40px;
    height:40px;
    padding-left:11px;
    font-size:18px;
  }
}


/* v0.1.52 — atmospheric page background and refined homepage footer */
body.home{
  background:
    radial-gradient(1200px 520px at 18% 8%, rgba(234,226,255,.78) 0%, rgba(234,226,255,0) 58%),
    radial-gradient(980px 460px at 82% 20%, rgba(223,238,255,.70) 0%, rgba(223,238,255,0) 60%),
    radial-gradient(860px 380px at 50% 92%, rgba(246,229,239,.58) 0%, rgba(246,229,239,0) 62%),
    linear-gradient(180deg, #f6f7ff 0%, #edf2fb 43%, #f5eef7 100%);
}

body.home .site-footer{
  position:relative;
  margin-top:22px;
  padding:0;
  background:
    radial-gradient(720px 110px at 50% 0%, rgba(255,255,255,.60) 0%, rgba(255,255,255,0) 72%),
    radial-gradient(540px 140px at 18% 36%, rgba(229,222,255,.46) 0%, rgba(229,222,255,0) 76%),
    radial-gradient(560px 160px at 82% 58%, rgba(219,234,255,.42) 0%, rgba(219,234,255,0) 78%),
    linear-gradient(180deg, rgba(241,243,255,.94) 0%, rgba(235,239,250,.97) 52%, rgba(238,233,246,.98) 100%);
  border-top:0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 -1px 0 rgba(210,214,235,.30);
  overflow:hidden;
}
body.home .site-footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:-18px;
  height:42px;
  background:linear-gradient(180deg, rgba(242,245,255,0) 0%, rgba(242,245,255,.72) 100%);
  pointer-events:none;
}
body.home .site-footer::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(920px, 72vw);
  height:86px;
  transform:translateX(-50%);
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.52) 0%, rgba(255,255,255,.16) 34%, rgba(255,255,255,0) 74%);
  pointer-events:none;
}

body.home .footer-one-row{
  position:relative;
  z-index:1;
  min-height:68px;
  padding:20px 4px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
body.home .footer-copy{
  color:#515a77;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
}
body.home .footer-one-row .footer-links{
  margin-left:auto;
  gap:24px;
  color:#5e6786;
  font-size:14px;
  font-weight:600;
}
body.home .footer-one-row .footer-links a{
  color:#5e6786;
  text-decoration:none;
  transition:color .18s ease, opacity .18s ease;
}
body.home .footer-one-row .footer-links a:hover,
body.home .footer-one-row .footer-links a:focus-visible{
  color:#6757e6;
}

@media(max-width:850px){
  body.home .site-footer{
    margin-top:18px;
  }
  body.home .site-footer::after{
    width:min(680px, 92vw);
    height:72px;
  }
  body.home .footer-one-row{
    min-height:60px;
    padding:16px 2px 14px;
    gap:18px;
  }
  body.home .footer-copy,
  body.home .footer-one-row .footer-links{
    font-size:13px;
  }
}

@media(max-width:520px){
  body.home .footer-one-row{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    min-height:0;
    padding:16px 2px 14px;
  }
  body.home .footer-one-row .footer-links{
    margin-left:0;
    gap:18px;
  }
}


/* v0.1.53 — mirrored side-edge shadows for the fixed-width homepage column */
body.home .home-stage,
body.home .home-body-scene{
  box-shadow:
    -24px 0 26px -24px rgba(28, 33, 63, 0.42),
     24px 0 26px -24px rgba(28, 33, 63, 0.42),
     0 16px 34px rgba(47,42,92,.08);
}

@media(max-width:850px){
  body.home .home-stage,
  body.home .home-body-scene{
    box-shadow:
      -16px 0 20px -18px rgba(28, 33, 63, 0.34),
       16px 0 20px -18px rgba(28, 33, 63, 0.34),
       0 14px 26px rgba(47,42,92,.07);
  }
}


/* v0.1.54 — even mirrored edge shadows cast from invisible vertical guides */
body.home main{
  position:relative;
  isolation:isolate;
}

/* Remove the section-by-section side shadows from v0.1.53 so artwork/section
   geometry can no longer make the left and right edge effects look uneven. */
body.home .home-stage,
body.home .home-body-scene{
  box-shadow:0 16px 34px rgba(47,42,92,.08);
}

/* Two invisible full-height guides sit exactly on the fixed content edges.
   Each guide casts only outward into the light page margin. */
body.home main::before,
body.home main::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:transparent;
  pointer-events:none;
  z-index:20;
}
body.home main::before{
  left:max(18px, calc((100% - var(--max)) / 2));
  box-shadow:-18px 0 24px 3px rgba(24,30,58,.34);
}
body.home main::after{
  right:max(18px, calc((100% - var(--max)) / 2));
  box-shadow:18px 0 24px 3px rgba(24,30,58,.34);
}

@media(max-width:850px){
  body.home .home-stage,
  body.home .home-body-scene{
    box-shadow:0 14px 26px rgba(47,42,92,.07);
  }
  body.home main::before{
    left:12px;
    box-shadow:-12px 0 18px 2px rgba(24,30,58,.27);
  }
  body.home main::after{
    right:12px;
    box-shadow:12px 0 18px 2px rgba(24,30,58,.27);
  }
}


/* v0.1.55 legacy main pseudo-element kill switch removed in v0.1.61 */
body.home .home-stage,
body.home .home-body-scene{
  box-shadow:0 16px 34px rgba(47,42,92,.08);
}
body.home .home-edge-guide{
  position:absolute;
  top:0;
  bottom:0;
  width:10px;
  pointer-events:none;
  z-index:3;
}
body.home .home-edge-left{
  left:0;
  background:linear-gradient(90deg, rgba(20,24,49,.18) 0%, rgba(20,24,49,.08) 42%, rgba(20,24,49,0) 100%);
  box-shadow:-18px 0 18px -8px rgba(20,24,49,.42);
}
body.home .home-edge-right{
  right:0;
  background:linear-gradient(270deg, rgba(20,24,49,.18) 0%, rgba(20,24,49,.08) 42%, rgba(20,24,49,0) 100%);
  box-shadow:18px 0 18px -8px rgba(20,24,49,.42);
}
body.home .home-stage > .home-edge-left{border-radius:0 0 0 0;}
body.home .home-stage > .home-edge-right{border-radius:0 0 0 0;}
body.home .home-body-scene > .home-edge-left{border-radius:0 0 0 20px;}
body.home .home-body-scene > .home-edge-right{border-radius:0 0 20px 0;}

@media(max-width:850px){
  body.home .home-stage,
  body.home .home-body-scene{
    box-shadow:0 14px 26px rgba(47,42,92,.07);
  }
  body.home .home-edge-left{
    box-shadow:-14px 0 15px -8px rgba(20,24,49,.34);
  }
  body.home .home-edge-right{
    box-shadow:14px 0 15px -8px rgba(20,24,49,.34);
  }
}


/* v0.1.56 — edge shadows cast from invisible 10px guides behind the homepage imagery */
body.home{
  position:relative;
}
body.home main,
body.home .site-footer{
  position:relative;
  z-index:1;
}

/* Disable the previous on-image guide system from v0.1.55. */
body.home .home-edge-guide{
  display:none !important;
}

/* Two invisible 10px guide lines sit BEHIND the homepage content column.
   They align to the left/right edges of the imagery column and cast outward only. */
body.home::before,
body.home::after{
  content:"";
  position:absolute;
  top:16px;
  bottom:0;
  width:10px;
  background:transparent;
  pointer-events:none;
  z-index:0;
}
body.home::before{
  left:max(18px, calc((100% - var(--max)) / 2));
  box-shadow:
    -1px 0 0 rgba(18,22,44,.10),
    -10px 0 12px -8px rgba(18,22,44,.36),
    -22px 0 22px -14px rgba(18,22,44,.22);
}
body.home::after{
  right:max(18px, calc((100% - var(--max)) / 2));
  box-shadow:
     1px 0 0 rgba(18,22,44,.10),
     10px 0 12px -8px rgba(18,22,44,.36),
     22px 0 22px -14px rgba(18,22,44,.22);
}

/* Keep only the soft depth shadow on the blocks themselves. */
body.home .home-stage,
body.home .home-body-scene{
  box-shadow:0 16px 34px rgba(47,42,92,.08);
}

@media(max-width:850px){
  body.home::before,
  body.home::after{
    top:12px;
    width:10px;
  }
  body.home::before{
    left:12px;
    box-shadow:
      -1px 0 0 rgba(18,22,44,.08),
      -8px 0 10px -7px rgba(18,22,44,.28),
      -16px 0 18px -12px rgba(18,22,44,.16);
  }
  body.home::after{
    right:12px;
    box-shadow:
       1px 0 0 rgba(18,22,44,.08),
       8px 0 10px -7px rgba(18,22,44,.28),
       16px 0 18px -12px rgba(18,22,44,.16);
  }
  body.home .home-stage,
  body.home .home-body-scene{
    box-shadow:0 14px 26px rgba(47,42,92,.07);
  }
}


/* v0.1.57 — give the behind-image edge shadows more room so the fade is actually visible */
body.home::before,
body.home::after{
  width:10px;
}
body.home::before{
  /* left edge guide aligned to the content edge, casting farther outward to the left */
  box-shadow:
    -2px 0 0 rgba(18,22,44,.12),
    -16px 0 18px -8px rgba(18,22,44,.30),
    -34px 0 34px -14px rgba(18,22,44,.22),
    -58px 0 52px -20px rgba(18,22,44,.14);
}
body.home::after{
  /* right edge guide aligned to the content edge, casting farther outward to the right */
  box-shadow:
     2px 0 0 rgba(18,22,44,.12),
     16px 0 18px -8px rgba(18,22,44,.30),
     34px 0 34px -14px rgba(18,22,44,.22),
     58px 0 52px -20px rgba(18,22,44,.14);
}

@media(max-width:850px){
  body.home::before{
    box-shadow:
      -1px 0 0 rgba(18,22,44,.10),
      -12px 0 14px -7px rgba(18,22,44,.24),
      -24px 0 24px -11px rgba(18,22,44,.16),
      -40px 0 36px -16px rgba(18,22,44,.10);
  }
  body.home::after{
    box-shadow:
       1px 0 0 rgba(18,22,44,.10),
       12px 0 14px -7px rgba(18,22,44,.24),
       24px 0 24px -11px rgba(18,22,44,.16),
       40px 0 36px -16px rgba(18,22,44,.10);
  }
}


/* v0.1.58 — replace subtle edge shadows with visible mirrored gradient strips behind the imagery */
body.home::before,
body.home::after{
  top:16px;
  bottom:0;
  width:56px;
  background:transparent;
  box-shadow:none !important;
}
body.home::before{
  left:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(-100%);
  background:linear-gradient(270deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}
body.home::after{
  right:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(100%);
  background:linear-gradient(90deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}

@media(max-width:850px){
  body.home::before,
  body.home::after{
    top:12px;
    width:44px;
  }
  body.home::before{
    left:12px;
    transform:translateX(-100%);
    background:linear-gradient(270deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
  body.home::after{
    right:12px;
    transform:translateX(100%);
    background:linear-gradient(90deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
}


/* v0.1.59 — restore flush top alignment and extend side gradients to the top edge */
body.home::before,
body.home::after{
  top:0;
}

@media(min-width:851px){
  /* The admin bar already moves the document below itself; do not add a second 32px header offset. */
  body.admin-bar.home .site-header,
  body.home .site-header{
    top:0 !important;
  }
  body.home .site-header .nav{
    align-items:flex-start;
  }
  body.home .site-header .nav-links{
    margin-top:0 !important;
  }
  /* Keep the compact brand close to the same top edge as the navigation. */
  body.home .site-header .nav::before{
    top:4px;
  }
  body.home .site-header .nav::after{
    top:10px;
  }
}

@media(max-width:850px){
  body.home::before,
  body.home::after{
    top:0;
  }
}


/* v0.1.60 — clean bottom transition: edge fades end with main scene, footer blends into page */
/* Stop using body-level strips so they do not continue through the footer. */
body.home::before,
body.home::after{
  display:none !important;
  content:none !important;
}

/* Recreate the mirrored side fades on the homepage main only.
   Because main ends before the footer, the fades now end with the scenic body. */
body.home main{
  position:relative;
  z-index:1;
}
body.home main::before,
body.home main::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:56px;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 calc(100% - 95px),
    rgba(0,0,0,.76) calc(100% - 66px),
    rgba(0,0,0,.28) calc(100% - 28px),
    transparent 100%);
  mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 calc(100% - 95px),
    rgba(0,0,0,.76) calc(100% - 66px),
    rgba(0,0,0,.28) calc(100% - 28px),
    transparent 100%);
}
body.home main::before{
  left:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(-100%);
  background:linear-gradient(270deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}
body.home main::after{
  right:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(100%);
  background:linear-gradient(90deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}

/* Remove the bright band between the scenic body and footer. */
body.home .site-footer{
  margin-top:12px;
  background:
    radial-gradient(760px 120px at 50% 0%, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 74%),
    linear-gradient(180deg, rgba(239,242,251,.58) 0%, rgba(236,238,248,.72) 52%, rgba(240,235,247,.76) 100%);
  border-top:0;
  box-shadow:none;
}
body.home .site-footer::before{
  display:none !important;
  content:none !important;
}
body.home .site-footer::after{
  width:min(880px,70vw);
  height:62px;
  top:0;
  opacity:.55;
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 36%, rgba(255,255,255,0) 76%);
}
body.home .footer-one-row{
  min-height:64px;
  padding:17px 4px 16px;
}

@media(max-width:850px){
  body.home main::before,
  body.home main::after{
    width:44px;
    -webkit-mask-image:linear-gradient(to bottom,
      #000 0%,
      #000 calc(100% - 72px),
      rgba(0,0,0,.62) calc(100% - 46px),
      transparent 100%);
    mask-image:linear-gradient(to bottom,
      #000 0%,
      #000 calc(100% - 72px),
      rgba(0,0,0,.62) calc(100% - 46px),
      transparent 100%);
  }
  body.home main::before{
    left:12px;
    transform:translateX(-100%);
    background:linear-gradient(270deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
  body.home main::after{
    right:12px;
    transform:translateX(100%);
    background:linear-gradient(90deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
  body.home .site-footer{margin-top:10px;}
  body.home .site-footer::after{width:min(620px,90vw);height:54px;}
  body.home .footer-one-row{min-height:58px;padding:15px 2px 13px;}
}


/* v0.1.62 — continuous side bars, square image bottom, compact footer */
/* Keep the long mirrored gradient bars continuous from the top of main to the footer. */
body.home main::before,
body.home main::after{
  display:block !important;
  content:"" !important;
  top:0;
  bottom:0;
  width:56px;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
body.home main::before{
  left:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(-100%);
  background:linear-gradient(270deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}
body.home main::after{
  right:max(18px, calc((100% - var(--max)) / 2));
  transform:translateX(100%);
  background:linear-gradient(90deg,
    rgba(18,22,44,.30) 0%,
    rgba(18,22,44,.18) 24%,
    rgba(18,22,44,.09) 48%,
    rgba(18,22,44,.04) 72%,
    rgba(18,22,44,0) 100%);
}

/* The scenic image now runs squarely into the footer instead of ending in curved corners. */
body.home .home-body-scene{
  border-radius:0 !important;
}

/* Attach the compact footer directly to the image and restore the earlier one-row height. */
body.home .site-footer{
  margin-top:0 !important;
  padding:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  background:linear-gradient(180deg, rgba(239,242,251,.72) 0%, rgba(238,238,248,.82) 100%);
}
body.home .site-footer::before,
body.home .site-footer::after{
  display:none !important;
  content:none !important;
}
body.home .footer-one-row{
  min-height:52px !important;
  padding:0 4px !important;
}

@media(max-width:850px){
  body.home main::before,
  body.home main::after{
    width:44px;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  body.home main::before{
    left:12px;
    transform:translateX(-100%);
    background:linear-gradient(270deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
  body.home main::after{
    right:12px;
    transform:translateX(100%);
    background:linear-gradient(90deg,
      rgba(18,22,44,.24) 0%,
      rgba(18,22,44,.14) 28%,
      rgba(18,22,44,.07) 56%,
      rgba(18,22,44,0) 100%);
  }
  body.home .footer-one-row{
    min-height:52px !important;
    padding:0 2px !important;
  }
}


/* v0.1.63 — move long side gradient bars inward so they touch the image edges directly */
body.home main::before,
body.home main::after{
  top:0;
  bottom:0;
  width:56px;
  transform:none !important;
}
body.home main::before{
  /* occupy the 56px immediately OUTSIDE the left image edge */
  left:max(-38px, calc((100% - var(--max)) / 2 - 56px));
  right:auto;
  background:linear-gradient(90deg,
    rgba(18,22,44,0) 0%,
    rgba(18,22,44,.04) 28%,
    rgba(18,22,44,.09) 52%,
    rgba(18,22,44,.18) 76%,
    rgba(18,22,44,.30) 100%);
}
body.home main::after{
  /* occupy the 56px immediately OUTSIDE the right image edge */
  right:max(-38px, calc((100% - var(--max)) / 2 - 56px));
  left:auto;
  background:linear-gradient(270deg,
    rgba(18,22,44,0) 0%,
    rgba(18,22,44,.04) 28%,
    rgba(18,22,44,.09) 52%,
    rgba(18,22,44,.18) 76%,
    rgba(18,22,44,.30) 100%);
}

@media(max-width:850px){
  body.home main::before,
  body.home main::after{
    width:44px;
    transform:none !important;
  }
  body.home main::before{
    left:-32px;
    right:auto;
    background:linear-gradient(90deg,
      rgba(18,22,44,0) 0%,
      rgba(18,22,44,.03) 28%,
      rgba(18,22,44,.07) 52%,
      rgba(18,22,44,.14) 76%,
      rgba(18,22,44,.24) 100%);
  }
  body.home main::after{
    right:-32px;
    left:auto;
    background:linear-gradient(270deg,
      rgba(18,22,44,0) 0%,
      rgba(18,22,44,.03) 28%,
      rgba(18,22,44,.07) 52%,
      rgba(18,22,44,.14) 76%,
      rgba(18,22,44,.24) 100%);
  }
}


/* v0.1.63 — overlap long side gradients beneath image edges to eliminate any light seam */
body.home main::before{
  /* 10px hidden overlap under the left image edge; visible fade begins exactly at the edge. */
  left:max(28px, calc((100% - var(--max)) / 2 + 10px));
}
body.home main::after{
  /* 10px hidden overlap under the right image edge; visible fade begins exactly at the edge. */
  right:max(28px, calc((100% - var(--max)) / 2 + 10px));
}

@media(max-width:850px){
  body.home main::before{left:22px;}
  body.home main::after{right:22px;}
}


/* v0.1.64 — mobile project cards swipe horizontally instead of stacking vertically */
@media(max-width:850px){
  body.home .home-stage .projects-strip{
    padding:0 10px 10px;
  }

  body.home .home-stage .project-table{
    display:flex !important;
    grid-template-columns:none !important;
    gap:0;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
    border-radius:17px;
  }
  body.home .home-stage .project-table::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }

  body.home .home-stage .project-table .project,
  body.home .home-stage .project-table .project:first-child,
  body.home .home-stage .project-table .project:last-child{
    flex:0 0 calc(100% - 42px);
    width:calc(100% - 42px);
    min-width:calc(100% - 42px);
    max-width:calc(100% - 42px);
    box-sizing:border-box;
    grid-template-columns:60px minmax(0,1fr);
    min-height:86px;
    padding:8px 10px;
    align-items:center;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    border-top:0 !important;
    border-left:0 !important;
    border-right:1px solid rgba(88,88,125,.13);
  }
  body.home .home-stage .project-table .project:last-child{
    border-right:0;
  }

  body.home .home-stage .project-table .project-visual{
    width:52px;
    height:52px;
    min-height:52px;
    aspect-ratio:1 / 1;
    border-radius:14px;
    font-size:24px;
  }
  body.home .home-stage .project-table .project-body{
    min-width:0;
    padding:4px 7px;
  }
}

@media(max-width:520px){
  body.home .home-stage .project-table .project,
  body.home .home-stage .project-table .project:first-child,
  body.home .home-stage .project-table .project:last-child{
    flex-basis:calc(100% - 34px);
    width:calc(100% - 34px);
    min-width:calc(100% - 34px);
    max-width:calc(100% - 34px);
  }
}


/* v0.1.65 — mobile swipe-row flow fix + restore compact mobile header brand */
@media(max-width:850px){
  /* Restore the compact Creatumi identity in the mobile header. */
  body.home .site-header .nav{
    position:relative;
    height:58px;
    min-height:58px;
  }
  body.home .site-header .nav::before{
    content:"";
    display:block;
    position:absolute;
    top:12px;
    left:2px;
    width:30px;
    height:30px;
    background:url("assets/images/creatumi-mark.webp") center/contain no-repeat;
    pointer-events:none;
  }
  body.home .site-header .nav::after{
    content:"Creatumi";
    display:block;
    position:absolute;
    top:17px;
    left:40px;
    color:#101936;
    font-size:18px;
    font-weight:750;
    line-height:1;
    letter-spacing:-.4px;
    pointer-events:none;
  }

  /* The old -320px overlap expected a tall vertical project stack. With the
     swipe row, keep only a small scenic overlap so feature content clears it. */
  body.home .home-body-scene{
    margin-top:-120px !important;
  }
}

@media(max-width:520px){
  body.home .site-header .nav::before{
    top:12px;
    left:2px;
    width:29px;
    height:29px;
  }
  body.home .site-header .nav::after{
    top:17px;
    left:39px;
    font-size:18px;
  }
  body.home .home-body-scene{
    margin-top:-105px !important;
  }
}


/* v0.1.66 — unified single-row footer and cleaner footer typography */
body.home .footer-one-row{
  min-height:50px !important;
  padding:0 4px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  line-height:1 !important;
}
body.home .footer-copy{
  flex:0 0 auto;
  color:#58617d !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}
body.home .footer-one-row .footer-links{
  margin-left:auto !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:22px !important;
  color:#58617d !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1 !important;
  white-space:nowrap;
}
body.home .footer-one-row .footer-links a{
  color:#58617d !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:1 !important;
  text-decoration:none !important;
}
body.home .footer-one-row .footer-links a:hover,
body.home .footer-one-row .footer-links a:focus-visible{
  color:#6757e6 !important;
}

@media(max-width:850px){
  body.home .footer-one-row{
    min-height:48px !important;
    padding:0 12px !important;
    gap:14px !important;
  }
  body.home .footer-copy,
  body.home .footer-one-row .footer-links{
    font-size:12px !important;
  }
  body.home .footer-one-row .footer-links{
    gap:16px !important;
  }
}

@media(max-width:380px){
  body.home .footer-one-row{
    padding:0 10px !important;
    gap:10px !important;
  }
  body.home .footer-copy,
  body.home .footer-one-row .footer-links{
    font-size:11px !important;
  }
  body.home .footer-one-row .footer-links{
    gap:12px !important;
  }
}


/* v0.1.67 — clean up the mobile navigation dropdown */
@media(max-width:850px){
  body.home .site-header .nav{
    position:relative;
    align-items:center;
    min-height:58px;
  }

  body.home .site-header .menu-toggle{
    position:relative;
    z-index:12;
    margin-left:auto;
    border:1px solid rgba(223,225,237,.95);
    background:rgba(255,255,255,.92);
    box-shadow:0 6px 18px rgba(31,37,74,.06);
  }

  body.home .site-header .nav-links{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    z-index:11;
    margin:0;
    padding:14px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(228,231,242,.96);
    border-radius:22px;
    box-shadow:0 18px 40px rgba(35,41,79,.14);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }
  body.home .site-header .nav-links.open{
    display:flex;
  }

  body.home .site-header .nav-links li{
    list-style:none;
    width:100%;
    margin:0;
  }

  body.home .site-header .nav-links > li > a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:50px;
    padding:0 16px;
    border-radius:14px;
    color:#161d3a;
    font-size:16px;
    font-weight:650;
    line-height:1.25;
    text-decoration:none;
    background:transparent !important;
  }

  body.home .site-header .nav-links > li > a:hover,
  body.home .site-header .nav-links > li > a:focus-visible{
    color:#5a4be7;
    background:rgba(118,86,245,.06) !important;
  }

  body.home .site-header .nav-links > li.current-menu-item > a,
  body.home .site-header .nav-links > li.current_page_item > a{
    color:#5a4be7;
    background:rgba(118,86,245,.05) !important;
  }

  body.home .site-header .nav-links > li.current-menu-item > a::after,
  body.home .site-header .nav-links > li.current_page_item > a::after,
  body.home .site-header .nav-links > li > a::after{
    content:none !important;
    display:none !important;
  }
}

@media(max-width:520px){
  body.home .site-header .nav-links{
    top:calc(100% + 8px);
    padding:12px;
    border-radius:20px;
  }
  body.home .site-header .nav-links > li > a{
    min-height:48px;
    padding:0 14px;
    font-size:15px;
  }
}


/* v0.1.68 — standard mobile menu sizing + presentable shared page treatment */
.site-brand-mini{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#101936;
  font-size:19px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.45px;
  text-decoration:none;
  flex:0 0 auto;
}
.site-brand-mini img{
  width:32px;
  height:32px;
  object-fit:contain;
}
/* Homepage already has its approved compact brand treatment. */
body.home .site-brand-mini{display:none;}

/* Standard hamburger size/touch target everywhere. */
@media(max-width:850px){
  .site-header .menu-toggle,
  body.home .site-header .menu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    padding:0 !important;
    margin-left:auto;
    border-radius:15px;
    font-size:24px !important;
    line-height:1;
    font-weight:500;
    color:#248bd4;
  }

  /* Give every page the same clean mobile dropdown behavior. */
  .site-header .nav{
    position:relative;
    min-height:64px;
    height:64px;
    align-items:center;
  }
  .site-header .nav-links{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:60;
    margin:0;
    padding:12px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(228,231,242,.98);
    border-radius:20px;
    box-shadow:0 18px 40px rgba(35,41,79,.14);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }
  .site-header .nav-links.open{display:flex;}
  .site-header .nav-links li{list-style:none;width:100%;margin:0;}
  .site-header .nav-links > li > a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:48px;
    padding:0 14px;
    border-radius:14px;
    color:#161d3a;
    font-size:15px;
    font-weight:650;
    line-height:1.25;
    background:transparent !important;
  }
  .site-header .nav-links > li > a:hover,
  .site-header .nav-links > li > a:focus-visible,
  .site-header .nav-links > li.current-menu-item > a,
  .site-header .nav-links > li.current_page_item > a{
    color:#5a4be7;
    background:rgba(118,86,245,.06) !important;
  }
  .site-header .nav-links > li > a::after{
    content:none !important;
    display:none !important;
  }
}

/* Keep the approved homepage's pseudo-brand and exact header geometry intact. */
@media(max-width:850px){
  body.home .site-header .nav{
    height:64px;
    min-height:64px;
  }
  body.home .site-header .nav::before{
    top:17px;
  }
  body.home .site-header .nav::after{
    top:22px;
  }
}

/* Basic non-home pages: cohesive, finished-looking baseline until individual redesigns. */
body:not(.home){
  min-height:100vh;
  background:
    radial-gradient(760px 360px at 14% 0%, rgba(228,222,255,.58), transparent 68%),
    radial-gradient(720px 340px at 86% 8%, rgba(218,236,255,.52), transparent 68%),
    linear-gradient(180deg,#f8f9ff 0%,#f4f7fd 48%,#f8f5fb 100%);
}
body:not(.home) .site-header{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(222,225,239,.78);
  box-shadow:0 3px 18px rgba(39,45,82,.045);
}
body:not(.home) .nav{
  height:70px;
}
body:not(.home) .nav-links{
  gap:8px;
  font-size:13px;
  font-weight:650;
}
body:not(.home) .nav-links > li{list-style:none;}
body:not(.home) .nav-links > li > a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:0 13px;
  border-radius:12px;
}
body:not(.home) .nav-links > li > a:hover,
body:not(.home) .nav-links > li.current-menu-item > a,
body:not(.home) .nav-links > li.current_page_item > a{
  color:#5f4de7;
  background:rgba(118,86,245,.055);
}

body:not(.home) .page-hero{
  padding:42px 0 22px;
}
body:not(.home) .page-hero .wrap{
  position:relative;
  overflow:hidden;
  padding:42px 46px;
  border:1px solid rgba(224,226,241,.88);
  border-radius:28px;
  background:
    radial-gradient(440px 220px at 86% 18%,rgba(104,154,255,.16),transparent 70%),
    radial-gradient(390px 210px at 12% 92%,rgba(132,99,244,.13),transparent 72%),
    rgba(255,255,255,.76);
  box-shadow:0 14px 34px rgba(42,45,81,.06);
}
body:not(.home) .page-hero .eyebrow{
  margin-bottom:9px;
  color:#6752e8;
  font-size:11px;
  letter-spacing:.16em;
}
body:not(.home) .page-hero h1{
  margin:0;
  max-width:820px;
  color:#111936;
  font-size:clamp(38px,5vw,58px);
  line-height:1.02;
  letter-spacing:-2.4px;
}
body:not(.home) .content-card{
  width:min(calc(100% - 36px),960px);
  margin:0 auto 54px;
  padding:38px 42px 42px;
  border:1px solid rgba(225,228,241,.92);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(36,41,76,.055);
}
body:not(.home) .content-card h2{
  margin:0 0 12px;
  color:#151b3a;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-1px;
}
body:not(.home) .content-card h3{
  margin:28px 0 10px;
  color:#1a2142;
  font-size:22px;
}
body:not(.home) .content-card p,
body:not(.home) .content-card li{
  color:#586078;
  font-size:16px;
  line-height:1.7;
}
body:not(.home) .content-card p{margin:0 0 18px;}
body:not(.home) .content-card a{
  color:#5c51db;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body:not(.home) .content-card article + article{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid #e8eaf3;
}

/* Shared compact footer on temporary interior pages. */
body:not(.home) .site-footer{
  margin-top:0;
  background:rgba(239,241,250,.82);
  color:#5b637e;
  border-top:1px solid rgba(221,225,239,.75);
}
body:not(.home) .footer-one-row{
  min-height:54px;
  padding:0 4px;
  font-size:12px;
  font-weight:550;
}
body:not(.home) .footer-one-row .footer-links{
  gap:18px;
  font-size:12px;
  font-weight:550;
}

@media(max-width:850px){
  body:not(.home) .site-header .wrap.nav{
    width:min(calc(100% - 28px),var(--max));
  }
  body:not(.home) .site-brand-mini{
    font-size:18px;
  }
  body:not(.home) .site-brand-mini img{
    width:30px;
    height:30px;
  }
  body:not(.home) .page-hero{
    padding:24px 0 16px;
  }
  body:not(.home) .page-hero .wrap{
    width:min(calc(100% - 28px),var(--max));
    padding:30px 26px;
    border-radius:22px;
  }
  body:not(.home) .page-hero h1{
    font-size:clamp(34px,10vw,46px);
    letter-spacing:-1.7px;
  }
  body:not(.home) .content-card{
    width:min(calc(100% - 28px),960px);
    margin-bottom:34px;
    padding:26px 24px 30px;
    border-radius:20px;
  }
  body:not(.home) .content-card h2{font-size:26px;}
  body:not(.home) .content-card p,
  body:not(.home) .content-card li{font-size:15px;line-height:1.65;}
  body:not(.home) .footer-one-row{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:52px;
    padding:0 14px;
    gap:14px;
  }
  body:not(.home) .footer-one-row .footer-links{
    margin-left:auto;
    gap:14px;
  }
}

/* v0.1.70 — Qixtap /qt555 staging page built directly on the approved homepage framework */
body.qt555-page.home .home-stage{
  background:transparent;
}
body.qt555-page.home .stage-art{
  background-image:url('assets/images/qt555-white-sheet.png') !important;
  background-size:100% auto !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-color:#91c9ff !important;
}
body.qt555-page.home .stage-fade{
  background:
    linear-gradient(90deg,
      rgba(248,249,255,.90) 0%,
      rgba(248,249,255,.76) 24%,
      rgba(248,249,255,.34) 42%,
      rgba(248,249,255,.04) 58%,
      rgba(248,249,255,0) 68%),
    linear-gradient(0deg,
      rgba(247,248,255,.26) 0%,
      rgba(247,248,255,.08) 18%,
      rgba(247,248,255,0) 34%);
}
body.qt555-page.home .qt-home-stage{
  min-height:620px;
}
body.qt555-page.home .qt-hero .hero-shell{
  height:500px;
  min-height:500px;
}
body.qt555-page.home .qt-hero-copy{
  width:46%;
  padding:86px 18px 38px 46px;
  justify-content:center;
}
body.qt555-page.home .qt-hero-logo{
  width:min(380px,94%);
  height:auto;
  margin:0 0 10px;
  filter:drop-shadow(0 8px 18px rgba(39,70,142,.10));
}
body.qt555-page.home .qt-hero-kicker{
  margin:0 0 6px !important;
  color:#50617f !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.qt555-page.home .qt-hero-copy h1{
  max-width:520px;
  margin:8px 0 13px;
  color:#10193b;
  font-size:clamp(38px,3.55vw,50px);
  line-height:1;
  letter-spacing:-2.4px;
}
body.qt555-page.home .qt-hero-intro{
  max-width:470px !important;
  color:#46506d !important;
  font-size:15px !important;
  line-height:1.48 !important;
}
body.qt555-page.home .qt-hero-copy .btn-ghost{
  background:rgba(255,255,255,.74);
  border-color:rgba(255,255,255,.86);
  color:#24305b;
  box-shadow:0 8px 18px rgba(52,67,124,.07);
}

body.qt555-page.home .qt-body-scene{
  min-height:1860px;
  background-image:url('assets/images/qt555-white-sheet.png') !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
body.qt555-page.home .qt-body-scene::after{
  height:44%;
  background:linear-gradient(180deg,rgba(17,29,55,0) 0%,rgba(17,29,55,.08) 30%,rgba(15,24,51,.30) 68%,rgba(11,17,39,.60) 100%);
}
body.qt555-page.home .qt-body-copy{
  position:absolute;
  z-index:3;
  width:min(390px,36%);
  color:#13224e;
  text-shadow:0 2px 12px rgba(255,255,255,.34);
}
body.qt555-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:-22px -26px -24px -26px;
  z-index:-1;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.34));
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 16px 36px rgba(45,66,126,.08);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}
body.qt555-page.home .qt-copy-one{top:310px;left:72px;}
body.qt555-page.home .qt-copy-two{top:760px;right:66px;}
body.qt555-page.home .qt-copy-three{top:1160px;left:74px;}
body.qt555-page.home .qt-body-num{
  display:block;
  margin-bottom:10px;
  color:#5c65dd;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
}
body.qt555-page.home .qt-body-copy h2{
  margin:0 0 11px;
  color:#111b43;
  font-size:clamp(34px,3.2vw,46px);
  line-height:1.02;
  letter-spacing:-1.8px;
}
body.qt555-page.home .qt-body-copy p{
  margin:0;
  color:#465273;
  font-size:15px;
  line-height:1.56;
}
body.qt555-page.home .qt-body-cta{
  z-index:4;
}

@media(max-width:850px){
  body.qt555-page.home .stage-art{
    background-image:url('assets/images/qt555-white-sheet.png') !important;
    background-size:cover !important;
    background-position:64% top !important;
  }
  body.qt555-page.home .stage-fade{
    background:linear-gradient(180deg,
      rgba(248,249,255,.92) 0%,
      rgba(248,249,255,.80) 27%,
      rgba(248,249,255,.20) 54%,
      rgba(248,249,255,.08) 72%,
      rgba(248,249,255,.44) 100%);
  }
  body.qt555-page.home .qt-home-stage{
    min-height:560px;
  }
  body.qt555-page.home .qt-hero .hero-shell{
    height:480px;
    min-height:480px;
  }
  body.qt555-page.home .qt-hero-copy{
    width:100%;
    padding:86px 24px 24px;
    justify-content:flex-start;
  }
  body.qt555-page.home .qt-hero-logo{
    width:min(300px,82%);
    margin-bottom:8px;
  }
  body.qt555-page.home .qt-hero-copy h1{
    max-width:355px;
    font-size:clamp(34px,9vw,46px);
    letter-spacing:-1.8px;
  }
  body.qt555-page.home .qt-hero-intro{
    max-width:330px !important;
    font-size:14px !important;
  }
  body.qt555-page.home .qt-body-scene{
    min-height:1510px;
    background-position:center top !important;
  }
  body.qt555-page.home .qt-body-copy{
    width:auto;
    max-width:330px;
    left:24px !important;
    right:24px !important;
  }
  body.qt555-page.home .qt-copy-one{top:260px;}
  body.qt555-page.home .qt-copy-two{top:650px;left:auto !important;}
  body.qt555-page.home .qt-copy-three{top:1010px;}
  body.qt555-page.home .qt-body-copy::before{
    inset:-16px -18px -18px;
    border-radius:22px;
  }
  body.qt555-page.home .qt-body-copy h2{font-size:31px;}
  body.qt555-page.home .qt-body-copy p{font-size:14px;}
}

@media(max-width:520px){
  body.qt555-page.home .qt-home-stage{min-height:520px;}
  body.qt555-page.home .qt-hero .hero-shell{height:445px;min-height:445px;}
  body.qt555-page.home .qt-hero-copy{padding:78px 20px 20px;}
  body.qt555-page.home .qt-hero-logo{width:min(255px,78%);}
  body.qt555-page.home .qt-hero-copy h1{font-size:36px;max-width:310px;}
  body.qt555-page.home .qt-body-scene{min-height:1370px;}
  body.qt555-page.home .qt-copy-one{top:235px;}
  body.qt555-page.home .qt-copy-two{top:570px;}
  body.qt555-page.home .qt-copy-three{top:880px;}
}


/* v0.1.71 — smoother Qixtap hero-to-body crossfade */
body.qt555-page.home .qt-body-scene{
  /* Pull the second artwork farther underneath the hero and start it slightly
     above its native top so the transition does not expose a flat blue band. */
  margin-top:-285px;
  background-position:center -90px !important;
}
body.qt555-page.home .stage-art,
body.qt555-page.home .stage-fade{
  /* Let the hero linger longer while the body image comes in underneath it. */
  -webkit-mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.98) 66%,
    rgba(0,0,0,.84) 74%,
    rgba(0,0,0,.58) 82%,
    rgba(0,0,0,.28) 90%,
    rgba(0,0,0,0) 98%,
    rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.98) 66%,
    rgba(0,0,0,.84) 74%,
    rgba(0,0,0,.58) 82%,
    rgba(0,0,0,.28) 90%,
    rgba(0,0,0,0) 98%,
    rgba(0,0,0,0) 100%);
}
body.qt555-page.home .stage-fade{
  /* A soft pale wash on the lower hero edge gives the two independent images
     a shared color bridge before the body artwork becomes fully visible. */
  background:
    linear-gradient(90deg,
      rgba(248,249,255,.90) 0%,
      rgba(248,249,255,.76) 24%,
      rgba(248,249,255,.34) 42%,
      rgba(248,249,255,.04) 58%,
      rgba(248,249,255,0) 68%),
    linear-gradient(0deg,
      rgba(235,243,255,.70) 0%,
      rgba(235,243,255,.42) 12%,
      rgba(235,243,255,.16) 24%,
      rgba(235,243,255,0) 40%);
}
body.qt555-page.home .qt-body-scene::before{
  /* Wash out the saturated top of the tall image, then release it gradually.
     This turns the join into a crossfade instead of a horizontal color break. */
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:360px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(235,243,255,.96) 0%,
    rgba(229,240,255,.82) 22%,
    rgba(216,234,255,.58) 46%,
    rgba(197,224,255,.28) 70%,
    rgba(197,224,255,0) 100%);
}

@media(max-width:850px){
  body.qt555-page.home .qt-body-scene{
    margin-top:-350px;
    background-position:center -55px !important;
  }
  body.qt555-page.home .stage-art,
  body.qt555-page.home .stage-fade{
    -webkit-mask-image:linear-gradient(to bottom,
      #000 0%,#000 52%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.70) 72%,rgba(0,0,0,.38) 83%,rgba(0,0,0,0) 97%);
    mask-image:linear-gradient(to bottom,
      #000 0%,#000 52%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.70) 72%,rgba(0,0,0,.38) 83%,rgba(0,0,0,0) 97%);
  }
  body.qt555-page.home .qt-body-scene::before{
    height:300px;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt-body-scene{
    margin-top:-330px;
    background-position:center -30px !important;
  }
  body.qt555-page.home .qt-body-scene::before{
    height:260px;
  }
}

/* v0.1.73 — square Qixtap text tiles + restored CTA layout */
body.qt555-page.home .qt-body-copy{
  width:440px;
  height:440px;
  min-height:440px;
  padding:78px 44px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#13224e;
  text-shadow:none;
}
body.qt555-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('assets/images/qixtap-text-tile-square.webp') center/contain no-repeat;
  opacity:.76;
  filter:drop-shadow(0 16px 28px rgba(48,69,125,.12));
  pointer-events:none;
}
body.qt555-page.home .qt-body-num{
  display:block;
  margin-bottom:7px;
  color:#5664c8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
}
body.qt555-page.home .qt-body-copy h2{
  margin:0 0 10px;
  color:#111b43;
  font-size:30px;
  line-height:1.04;
  letter-spacing:-1.15px;
  white-space:nowrap;
}
body.qt555-page.home .qt-body-copy p{
  margin:0;
  color:#465273;
  font-size:13.5px;
  line-height:1.48;
}

/* Restore the original homepage CTA structure and button. Only remove the
   decorative purple/blue blob and its highlight. */
body.qt555-page.home .qt-body-cta{
  z-index:4;
}
body.qt555-page.home .qt-body-cta::before,
body.qt555-page.home .qt-body-cta::after{
  content:none !important;
  display:none !important;
}

@media(max-width:850px){
  body.qt555-page.home .qt-body-copy{
    width:360px;
    height:360px;
    min-height:360px;
    max-width:360px;
    padding:62px 35px 56px;
  }
  body.qt555-page.home .qt-body-copy h2{
    font-size:26px;
    letter-spacing:-.9px;
  }
  body.qt555-page.home .qt-body-copy p{
    font-size:12.8px;
    line-height:1.44;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt-body-copy{
    width:310px;
    height:310px;
    min-height:310px;
    max-width:calc(100vw - 32px);
    padding:50px 28px 46px;
  }
  body.qt555-page.home .qt-body-copy h2{
    font-size:23px;
    letter-spacing:-.65px;
  }
  body.qt555-page.home .qt-body-copy p{
    font-size:12px;
    line-height:1.4;
  }
}

/* v0.1.74 — Qixtap text tile alignment correction
   One visual tile per text block: no inherited CSS card/glass layer. */
body.qt555-page.home .qt-body-copy{
  width:440px;
  height:440px;
  min-height:440px;
  padding:88px 74px 78px 76px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  box-sizing:border-box;
  isolation:isolate;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  overflow:visible;
}
body.qt555-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-color:transparent !important;
  background-image:url('assets/images/qixtap-text-tile-square.webp') !important;
  background-position:center !important;
  background-size:100% 100% !important;
  background-repeat:no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  opacity:.9;
  filter:drop-shadow(0 14px 24px rgba(48,69,125,.13));
  pointer-events:none;
}
body.qt555-page.home .qt-body-copy > *{
  position:relative;
  z-index:1;
}
body.qt555-page.home .qt-body-num{
  width:220px;
  margin:0 0 8px;
  font-size:12px;
}
body.qt555-page.home .qt-body-copy h2{
  width:240px;
  margin:0 0 12px;
  font-size:27px;
  line-height:1.03;
  letter-spacing:-1px;
  white-space:nowrap;
}
body.qt555-page.home .qt-body-copy p{
  width:225px;
  margin:0;
  font-size:13px;
  line-height:1.48;
}

@media(max-width:850px){
  body.qt555-page.home .qt-body-copy{
    width:360px;
    height:360px;
    min-height:360px;
    max-width:360px;
    padding:72px 58px 62px 62px;
  }
  body.qt555-page.home .qt-body-num{width:180px;}
  body.qt555-page.home .qt-body-copy h2{
    width:198px;
    font-size:23px;
    letter-spacing:-.72px;
    margin-bottom:10px;
  }
  body.qt555-page.home .qt-body-copy p{
    width:188px;
    font-size:12px;
    line-height:1.42;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt-body-copy{
    width:310px;
    height:310px;
    min-height:310px;
    max-width:calc(100vw - 32px);
    padding:58px 46px 50px 48px;
  }
  body.qt555-page.home .qt-body-num{
    width:148px;
    font-size:10.5px;
    margin-bottom:6px;
  }
  body.qt555-page.home .qt-body-copy h2{
    width:164px;
    font-size:20px;
    letter-spacing:-.5px;
    margin-bottom:9px;
  }
  body.qt555-page.home .qt-body-copy p{
    width:160px;
    font-size:11.3px;
    line-height:1.38;
  }
}


/* v0.1.76 — Qixtap editorial body treatment
   Retires the image-tile experiment. Copy sits directly over the artwork with
   a soft localized mist for readability, not a card/panel/blob. */
body.qt555-page.home .qt-body-copy{
  width:min(410px,36%);
  height:auto;
  min-height:0;
  max-width:none;
  padding:18px 18px 20px 0;
  display:block;
  box-sizing:border-box;
  isolation:isolate;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  overflow:visible;
  color:#111b43;
  text-shadow:0 1px 8px rgba(255,255,255,.26);
}
body.qt555-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:-44px -62px -42px -54px;
  z-index:0;
  background:radial-gradient(ellipse at 34% 48%,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.80) 34%,
    rgba(255,255,255,.55) 52%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 82%);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  pointer-events:none;
}
body.qt555-page.home .qt-copy-two::before{
  inset:-44px -54px -42px -62px;
  background:radial-gradient(ellipse at 66% 48%,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.80) 34%,
    rgba(255,255,255,.55) 52%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 82%);
}
body.qt555-page.home .qt-body-copy > *{
  position:relative;
  z-index:1;
  width:auto;
  max-width:100%;
}
body.qt555-page.home .qt-body-num{
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  margin:0 0 9px;
  color:#5a5ee8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.20em;
  line-height:1;
}
body.qt555-page.home .qt-body-num::before{
  content:"";
  width:28px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,#4fc5ff,#8358ff);
  box-shadow:0 1px 8px rgba(94,91,232,.25);
}
body.qt555-page.home .qt-body-copy h2{
  width:auto;
  margin:0 0 11px;
  color:#101a43;
  font-size:clamp(34px,3vw,43px);
  line-height:1.02;
  letter-spacing:-1.55px;
  white-space:nowrap;
}
body.qt555-page.home .qt-body-copy p{
  width:min(355px,100%);
  margin:0;
  color:#3f4b6d;
  font-size:15px;
  line-height:1.55;
  font-weight:500;
}
body.qt555-page.home .qt-copy-two{
  text-align:left;
}

@media(max-width:850px){
  body.qt555-page.home .qt-body-copy{
    width:min(360px,calc(100% - 48px));
    height:auto;
    min-height:0;
    max-width:360px;
    padding:14px 0 16px;
    left:28px !important;
    right:auto !important;
  }
  body.qt555-page.home .qt-copy-two{
    left:auto !important;
    right:28px !important;
  }
  body.qt555-page.home .qt-body-copy::before,
  body.qt555-page.home .qt-copy-two::before{
    inset:-34px -42px -32px -38px;
    background:radial-gradient(ellipse at 38% 48%,
      rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.40) 61%,rgba(255,255,255,0) 82%);
  }
  body.qt555-page.home .qt-copy-two::before{
    inset:-34px -38px -32px -42px;
    background:radial-gradient(ellipse at 62% 48%,
      rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.40) 61%,rgba(255,255,255,0) 82%);
  }
  body.qt555-page.home .qt-body-copy h2{
    width:auto;
    font-size:32px;
    letter-spacing:-1.15px;
  }
  body.qt555-page.home .qt-body-copy p{
    width:min(320px,100%);
    font-size:14px;
    line-height:1.5;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt-body-copy,
  body.qt555-page.home .qt-copy-two{
    width:calc(100% - 42px);
    max-width:330px;
    height:auto;
    min-height:0;
    padding:12px 0 14px;
    left:21px !important;
    right:auto !important;
  }
  body.qt555-page.home .qt-body-copy::before,
  body.qt555-page.home .qt-copy-two::before{
    inset:-28px -28px -26px -26px;
    background:radial-gradient(ellipse at 36% 48%,
      rgba(255,255,255,.95) 0%,rgba(255,255,255,.80) 40%,rgba(255,255,255,.42) 63%,rgba(255,255,255,0) 84%);
  }
  body.qt555-page.home .qt-body-num{
    width:auto;
    font-size:11px;
    margin-bottom:8px;
  }
  body.qt555-page.home .qt-body-num::before{width:24px;height:2px;}
  body.qt555-page.home .qt-body-copy h2{
    width:auto;
    font-size:27px;
    letter-spacing:-.85px;
    white-space:normal;
  }
  body.qt555-page.home .qt-body-copy p{
    width:min(292px,100%);
    font-size:13px;
    line-height:1.46;
  }
}

/* v0.1.77 — widen and realign Qixtap editorial readability boxes */
body.qt555-page.home .qt-body-copy{
  width:410px;
  max-width:410px;
}
body.qt555-page.home .qt-body-copy::before{
  inset:auto !important;
  top:-24px !important;
  left:-54px !important;
  width:440px !important;
  height:calc(100% + 50px) !important;
  min-height:150px;
  border-radius:42px !important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.84) 62%,
    rgba(255,255,255,.58) 82%,
    rgba(255,255,255,.18) 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:blur(5px) !important;
  backdrop-filter:blur(5px) !important;
  opacity:1 !important;
}
body.qt555-page.home .qt-copy-two::before{
  left:-42px !important;
  width:435px !important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.86) 66%,
    rgba(255,255,255,.56) 84%,
    rgba(255,255,255,.16) 100%) !important;
}
body.qt555-page.home .qt-body-copy h2{
  max-width:390px;
}
body.qt555-page.home .qt-body-copy p{
  width:360px;
  max-width:360px;
}

@media(max-width:850px){
  body.qt555-page.home .qt-body-copy{
    width:340px;
    max-width:340px;
  }
  body.qt555-page.home .qt-body-copy::before,
  body.qt555-page.home .qt-copy-two::before{
    top:-20px !important;
    left:-36px !important;
    width:385px !important;
    height:calc(100% + 42px) !important;
    min-height:138px;
    border-radius:34px !important;
  }
  body.qt555-page.home .qt-body-copy p{
    width:310px;
    max-width:310px;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt-body-copy,
  body.qt555-page.home .qt-copy-two{
    width:calc(100% - 42px);
    max-width:330px;
  }
  body.qt555-page.home .qt-body-copy::before,
  body.qt555-page.home .qt-copy-two::before{
    top:-16px !important;
    left:-18px !important;
    width:calc(100% + 20px) !important;
    height:calc(100% + 34px) !important;
    min-height:126px;
    border-radius:28px !important;
  }
  body.qt555-page.home .qt-body-copy p{
    width:100%;
    max-width:292px;
  }
}

/* v0.1.78 — tighten Qixtap readability boxes on the right side only. */


/* v0.1.82 — standardize Qixtap editorial box front gap across 01/02/03. */
@media(min-width:851px){
  body.qt555-page.home .qt-body-copy::before,
  body.qt555-page.home .qt-copy-two::before{
    left:-42px !important;
    width:435px !important;
  }
}


/* v0.1.84 — qt555 footer test: subtle glass finish and standard readable text size. */
body.qt555-page.home .site-footer{
  position:relative;
  width:min(calc(100% - 36px), var(--max)) !important;
  margin:0 auto !important;
  padding:0 !important;
  min-height:52px !important;
  background:linear-gradient(105deg,rgba(219,235,255,.94) 0%,rgba(229,234,255,.93) 48%,rgba(238,225,255,.94) 100%) !important;
  border:1px solid rgba(220,226,242,.82) !important;
  border-top:0 !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:0 12px 30px rgba(36,44,78,.07) !important;
  -webkit-backdrop-filter:blur(14px) saturate(115%);
  backdrop-filter:blur(14px) saturate(115%);
  color:#505a78 !important;
  overflow:hidden;
}
body.qt555-page.home .site-footer::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue) 48%,var(--purple));
  opacity:.88;
  pointer-events:none;
}
body.qt555-page.home .site-footer::after{
  display:none !important;
  content:none !important;
}
body.qt555-page.home .footer-one-row{
  background:transparent !important;
  width:100% !important;
  max-width:none !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
body.qt555-page.home .footer-copy,
body.qt555-page.home .footer-one-row .footer-links{
  font-size:14px !important;
  line-height:1.2 !important;
}
@media(max-width:850px){
  body.qt555-page.home .site-footer{
    width:min(calc(100% - 24px), var(--max)) !important;
    min-height:52px !important;
  }
  body.qt555-page.home .footer-one-row{
    min-height:52px !important;
    padding:0 14px !important;
  }
}


/* v0.1.91 — clean qt555 reset from v0.1.85.
   Keep approved branding/styles, remove page copy, and replace the two Qixtap
   artwork areas with one stretched 1×1 white sheet. */
body.qt555-page.home .stage-art,
body.qt555-page.home .qt-body-scene{
  background-image:url('assets/images/qt555-white-sheet.png') !important;
  background-color:#fff !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.qt555-page.home .stage-art{
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
body.qt555-page.home .stage-fade{
  display:none !important;
  background:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
body.qt555-page.home .qt-body-scene::before,
body.qt555-page.home .qt-body-scene::after{
  content:none !important;
  display:none !important;
  background:none !important;
}


/* v0.1.92 — qt555 pure-white body surface.
   Remove only the section shadows/transition tint that created a gray seam
   between the white hero and white lower body. Keep the long side strips on
   main::before/main::after unchanged so their cast edge shadows remain. */
body.qt555-page.home .qt-home-stage,
body.qt555-page.home .qt-body-scene{
  background-color:#fff !important;
  box-shadow:none !important;
  border-color:transparent !important;
}
body.qt555-page.home .qt-body-scene{
  background-image:url('assets/images/qt555-white-sheet.png') !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.qt555-page.home .qt-home-stage::before,
body.qt555-page.home .qt-home-stage::after,
body.qt555-page.home .qt-body-scene::before,
body.qt555-page.home .qt-body-scene::after{
  box-shadow:none !important;
}

/* v0.1.94 — clean Qixtap guide rebuild.
   Built on v0.1.92. Keep the approved pure-white qt555 surfaces and the existing
   main::before/main::after side-strip shadows. All guide layout below is isolated
   under qt94 classes so no v0.1.88 structural styling is imported. */
body.qt555-page.home .qt94-hero-stage{
  min-height:560px !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.qt555-page.home .qt94-hero .hero-shell{
  height:560px !important;
  min-height:560px !important;
  background:#fff !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
body.qt555-page.home .qt94-hero .hero-shell::before,
body.qt555-page.home .qt94-hero .hero-shell::after{
  content:none !important;
  display:none !important;
}
body.qt555-page.home .qt94-hero-copy{
  width:62% !important;
  max-width:720px;
  height:100%;
  padding:68px 30px 54px 78px !important;
  justify-content:center !important;
}
body.qt555-page.home .qt94-hero-logo{
  width:min(330px,82%) !important;
  margin:0 0 20px !important;
  filter:none !important;
}
body.qt555-page.home .qt94-hero-copy .qt-hero-kicker{
  margin:0 0 7px !important;
  color:#6557bd !important;
  font-size:12px !important;
  letter-spacing:.15em !important;
}
body.qt555-page.home .qt94-hero-copy h1{
  margin:0 0 15px !important;
  max-width:620px !important;
  color:#111831 !important;
  font-size:clamp(42px,4.6vw,62px) !important;
  line-height:.98 !important;
  letter-spacing:-2.8px !important;
}
body.qt555-page.home .qt94-hero-copy .qt-hero-intro{
  max-width:610px !important;
  margin:0 !important;
  color:#555d77 !important;
  font-size:16px !important;
  line-height:1.58 !important;
}
body.qt555-page.home .qt94-actions{
  margin-top:24px !important;
}
body.qt555-page.home .qt94-actions .btn{
  padding:12px 18px;
  font-size:14px;
}
body.qt555-page.home .qt94-actions .btn-ghost{
  background:#fff !important;
  border-color:#dfe2ed !important;
  color:#303956 !important;
  box-shadow:none !important;
}

/* The body remains one uninterrupted pure-white page. */
body.qt555-page.home .qt94-guide-body{
  width:min(calc(100% - 36px),var(--max)) !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 0 76px !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
}
body.qt555-page.home .qt94-guide-body::before,
body.qt555-page.home .qt94-guide-body::after{
  content:none !important;
  display:none !important;
}
body.qt555-page.home .qt94-jump{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  width:min(calc(100% - 96px),1040px);
  margin:0 auto;
  padding:22px 0 24px;
  border-top:1px solid #eceef4;
  border-bottom:1px solid #eceef4;
  background:#fff;
}
body.qt555-page.home .qt94-jump a{
  color:#555d77;
  font-size:13px;
  font-weight:750;
  line-height:1.25;
  transition:color .16s ease;
}
body.qt555-page.home .qt94-jump a:hover{
  color:#6557bd;
}
body.qt555-page.home .qt94-content{
  width:min(calc(100% - 96px),1040px);
  margin:0 auto;
  color:#28304d;
}
body.qt555-page.home .qt94-section{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:30px;
  padding:58px 0 60px;
  scroll-margin-top:24px;
  border-bottom:1px solid #eceef4;
  background:#fff;
}
body.qt555-page.home .qt94-step{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
  border:1px solid #dcdff0;
  border-radius:50%;
  color:#6557bd;
  background:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
body.qt555-page.home .qt94-copy{
  min-width:0;
  max-width:810px;
}
body.qt555-page.home .qt94-section-wide .qt94-copy{
  max-width:none;
}
body.qt555-page.home .qt94-copy h2{
  margin:0 0 20px;
  color:#121a39;
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.05;
  letter-spacing:-1.7px;
}
body.qt555-page.home .qt94-copy h3{
  margin:30px 0 8px;
  color:#1d274b;
  font-size:18px;
  line-height:1.28;
  letter-spacing:-.3px;
}
body.qt555-page.home .qt94-copy p{
  margin:0 0 16px;
  color:#586078;
  font-size:16px;
  line-height:1.72;
}
body.qt555-page.home .qt94-copy strong{
  color:#303956;
}
body.qt555-page.home .qt94-note,
body.qt555-page.home .qt94-warning{
  margin-top:24px;
  padding:16px 18px;
  border:1px solid #e2e4ee;
  border-left:4px solid #6e72e8;
  border-radius:0 14px 14px 0;
  background:#fff;
  color:#535c76;
  font-size:14px;
  line-height:1.58;
}
body.qt555-page.home .qt94-warning{
  border-left-color:#e59a63;
}
body.qt555-page.home .qt94-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
body.qt555-page.home .qt94-card-grid article{
  padding:22px 22px 20px;
  border:1px solid #e3e5ee;
  border-radius:17px;
  background:#fff;
}
body.qt555-page.home .qt94-card-grid article h3{
  margin:0 0 9px;
  color:#1c2547;
  font-size:16px;
  line-height:1.25;
}
body.qt555-page.home .qt94-card-grid article p{
  margin:0;
  color:#60677d;
  font-size:14px;
  line-height:1.58;
}
body.qt555-page.home .qt94-trouble-grid article{
  border-top:3px solid #d9dcf7;
}
body.qt555-page.home .qt94-end{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:56px 0 8px;
  background:#fff;
}
body.qt555-page.home .qt94-end-kicker{
  margin:0 0 5px;
  color:#6557bd;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.qt555-page.home .qt94-end h2{
  margin:0;
  color:#141c3a;
  font-size:clamp(28px,3.1vw,40px);
  line-height:1.08;
  letter-spacing:-1.4px;
}

@media(max-width:850px){
  body.qt555-page.home .qt94-hero-stage{
    min-height:540px !important;
  }
  body.qt555-page.home .qt94-hero .hero-shell{
    height:540px !important;
    min-height:540px !important;
  }
  body.qt555-page.home .qt94-hero-copy{
    width:100% !important;
    max-width:none;
    padding:62px 28px 40px !important;
    justify-content:center !important;
  }
  body.qt555-page.home .qt94-hero-logo{
    width:min(285px,76%) !important;
  }
  body.qt555-page.home .qt94-hero-copy h1{
    font-size:clamp(38px,9vw,52px) !important;
  }
  body.qt555-page.home .qt94-hero-copy .qt-hero-intro{
    max-width:560px !important;
    font-size:15px !important;
  }
  body.qt555-page.home .qt94-guide-body{
    width:min(calc(100% - 24px),var(--max)) !important;
    padding-bottom:56px !important;
  }
  body.qt555-page.home .qt94-jump,
  body.qt555-page.home .qt94-content{
    width:min(calc(100% - 44px),1040px);
  }
  body.qt555-page.home .qt94-jump{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding:18px 0 20px;
  }
  body.qt555-page.home .qt94-jump::-webkit-scrollbar{display:none;}
  body.qt555-page.home .qt94-jump a{
    flex:0 0 auto;
    white-space:nowrap;
  }
  body.qt555-page.home .qt94-section{
    grid-template-columns:52px minmax(0,1fr);
    gap:18px;
    padding:44px 0 46px;
  }
  body.qt555-page.home .qt94-step{
    width:44px;
    height:44px;
    font-size:11px;
  }
  body.qt555-page.home .qt94-copy h2{
    font-size:clamp(29px,7vw,38px);
  }
  body.qt555-page.home .qt94-card-grid{
    grid-template-columns:1fr;
  }
  body.qt555-page.home .qt94-end{
    align-items:flex-start;
    flex-direction:column;
    padding-top:44px;
  }
}

@media(max-width:520px){
  body.qt555-page.home .qt94-hero-stage{
    min-height:520px !important;
  }
  body.qt555-page.home .qt94-hero .hero-shell{
    height:520px !important;
    min-height:520px !important;
  }
  body.qt555-page.home .qt94-hero-copy{
    padding:54px 20px 34px !important;
  }
  body.qt555-page.home .qt94-hero-logo{
    width:min(245px,78%) !important;
    margin-bottom:16px !important;
  }
  body.qt555-page.home .qt94-hero-copy h1{
    font-size:39px !important;
    letter-spacing:-2px !important;
  }
  body.qt555-page.home .qt94-actions{
    gap:9px;
    margin-top:20px !important;
  }
  body.qt555-page.home .qt94-actions .btn{
    padding:11px 15px;
    font-size:13px;
  }
  body.qt555-page.home .qt94-jump,
  body.qt555-page.home .qt94-content{
    width:calc(100% - 32px);
  }
  body.qt555-page.home .qt94-section{
    display:block;
    padding:38px 0 40px;
  }
  body.qt555-page.home .qt94-step{
    width:40px;
    height:40px;
    margin:0 0 17px;
  }
  body.qt555-page.home .qt94-copy h2{
    margin-bottom:16px;
    font-size:31px;
  }
  body.qt555-page.home .qt94-copy h3{
    margin-top:24px;
    font-size:17px;
  }
  body.qt555-page.home .qt94-copy p{
    font-size:15px;
    line-height:1.66;
  }
  body.qt555-page.home .qt94-card-grid article{
    padding:19px 18px 18px;
  }
}


/* v0.1.95 — visual refinement only.
   Keeps the stable v0.1.94 guide mechanics and the existing side-strip shadows.
   Adds color, hierarchy, and compact reserved media wells without reintroducing
   any of the discarded v0.1.88 hero/body image system. */
body.qt555-page.home .qt94-hero-stage,
body.qt555-page.home .qt94-hero .hero-shell{
  background:
    radial-gradient(circle at 82% 24%,rgba(93,188,255,.20),transparent 28%),
    radial-gradient(circle at 72% 74%,rgba(126,92,246,.14),transparent 31%),
    linear-gradient(135deg,#ffffff 0%,#fbf9ff 47%,#f5fbff 100%) !important;
}
body.qt555-page.home .qt94-hero-copy .qt-hero-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:7px 11px;
  border:1px solid #e4defa;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 6px 18px rgba(58,48,114,.06);
}
body.qt555-page.home .qt94-actions .btn-ghost{
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 8px 20px rgba(45,48,88,.06) !important;
}
body.qt555-page.home .qt94-jump{
  gap:9px;
  padding:18px 0 20px;
  border-top:0;
}
body.qt555-page.home .qt94-jump a{
  padding:8px 11px;
  border:1px solid #e6e3f2;
  border-radius:999px;
  background:#fbfaff;
  color:#535b75;
}
body.qt555-page.home .qt94-jump a:hover{
  border-color:#cfc6f3;
  background:#f4f0ff;
  color:#5f49be;
}
body.qt555-page.home .qt94-section{
  position:relative;
  margin:18px 0;
  padding:42px 34px 44px;
  border:1px solid #eceaf3;
  border-radius:26px;
  background:linear-gradient(145deg,#fff 0%,#fcfbff 100%);
  box-shadow:0 10px 28px rgba(39,36,78,.045);
  overflow:hidden;
}
body.qt555-page.home .qt94-section:nth-of-type(3n+2){
  background:linear-gradient(145deg,#ffffff 0%,#f7fbff 100%);
}
body.qt555-page.home .qt94-section:nth-of-type(3n){
  background:linear-gradient(145deg,#ffffff 0%,#fff9f6 100%);
}
body.qt555-page.home .qt94-section::after{
  content:"";
  position:absolute;
  right:-54px;
  top:-62px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(116,87,246,.09),rgba(116,87,246,0) 70%);
  pointer-events:none;
}
body.qt555-page.home .qt94-step{
  border:0;
  color:#fff;
  background:linear-gradient(145deg,#6f9cff,#7657f6);
  box-shadow:0 10px 24px rgba(96,83,205,.20);
}
body.qt555-page.home .qt94-copy h2{
  color:#171b3e;
}
body.qt555-page.home .qt94-copy h2::after{
  content:"";
  display:block;
  width:46px;
  height:4px;
  margin-top:13px;
  border-radius:999px;
  background:linear-gradient(90deg,#5fb7ff,#7657f6,#f0a27d);
}
body.qt555-page.home .qt94-note,
body.qt555-page.home .qt94-warning{
  border:1px solid #dedcf0;
  border-left:4px solid #6e72e8;
  background:linear-gradient(90deg,#f8f7ff,#fff);
  box-shadow:0 7px 18px rgba(56,52,102,.045);
}
body.qt555-page.home .qt94-warning{
  border-left-color:#e89a66;
  background:linear-gradient(90deg,#fff8f3,#fff);
}
body.qt555-page.home .qt94-card-grid article{
  border:1px solid #e5e3ef;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 20px rgba(42,40,79,.04);
}
body.qt555-page.home .qt94-card-grid article:nth-child(4n+1){border-top:3px solid #7c66ee;}
body.qt555-page.home .qt94-card-grid article:nth-child(4n+2){border-top:3px solid #62b9ef;}
body.qt555-page.home .qt94-card-grid article:nth-child(4n+3){border-top:3px solid #efad86;}
body.qt555-page.home .qt94-card-grid article:nth-child(4n){border-top:3px solid #7ec9bb;}
body.qt555-page.home .qt94-trouble-grid article{
  border-top-width:3px;
}

/* Small reserved image wells. Drop an <img> into any slot later; the image will
   fill it automatically. Until then the CSS artwork prevents an empty hole. */
body.qt555-page.home .qt95-media-slot{
  position:relative;
  width:min(100%,340px);
  aspect-ratio:16/9;
  margin:22px 0 26px;
  overflow:hidden;
  border:1px solid rgba(114,103,190,.14);
  border-radius:18px;
  background:
    radial-gradient(circle at 76% 30%,rgba(255,255,255,.90) 0 8%,transparent 9%),
    radial-gradient(circle at 78% 34%,rgba(117,87,246,.28) 0 21%,transparent 22%),
    linear-gradient(145deg,#e9f7ff 0%,#eee9ff 54%,#fff1e8 100%);
  box-shadow:0 12px 26px rgba(52,48,101,.08);
}
body.qt555-page.home .qt95-media-slot::before,
body.qt555-page.home .qt95-media-slot::after{
  content:"";
  position:absolute;
  border-radius:999px;
  transform:rotate(-14deg);
}
body.qt555-page.home .qt95-media-slot::before{
  left:-30px;
  bottom:24px;
  width:205px;
  height:34px;
  background:rgba(255,255,255,.55);
}
body.qt555-page.home .qt95-media-slot::after{
  left:52px;
  bottom:58px;
  width:185px;
  height:18px;
  background:rgba(94,151,245,.18);
}
body.qt555-page.home .qt95-media-slot span{
  position:absolute;
  right:22px;
  bottom:20px;
  width:42px;
  height:42px;
  border:7px solid rgba(255,255,255,.62);
  border-radius:14px;
  transform:rotate(9deg);
}
body.qt555-page.home .qt95-media-b{
  background:
    radial-gradient(circle at 28% 30%,rgba(255,255,255,.92) 0 8%,transparent 9%),
    radial-gradient(circle at 30% 34%,rgba(101,190,229,.28) 0 21%,transparent 22%),
    linear-gradient(145deg,#f2edff 0%,#eaf9ff 56%,#fff 100%);
}
body.qt555-page.home .qt95-media-c{
  background:linear-gradient(145deg,#fff3e8 0%,#f1edff 54%,#e8f8ff 100%);
}
body.qt555-page.home .qt95-media-d{
  background:linear-gradient(145deg,#e9fbf5 0%,#eef2ff 50%,#fff0e7 100%);
}
body.qt555-page.home .qt95-media-right{margin-left:auto;}
body.qt555-page.home .qt95-media-slot img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  z-index:4;
}
body.qt555-page.home .qt94-end{
  margin-top:28px;
  padding:34px 38px;
  border:1px solid #dfdcf0;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 26%,rgba(91,181,255,.20),transparent 24%),
    linear-gradient(135deg,#f5f2ff 0%,#f5fbff 55%,#fff7f0 100%);
  box-shadow:0 12px 30px rgba(47,42,92,.07);
}

@media(max-width:850px){
  body.qt555-page.home .qt94-section{
    margin:14px 0;
    padding:34px 24px 36px;
  }
  body.qt555-page.home .qt95-media-slot{
    width:min(100%,320px);
    margin-top:18px;
    margin-bottom:22px;
  }
  body.qt555-page.home .qt94-end{
    padding:30px 28px;
  }
}
@media(max-width:520px){
  body.qt555-page.home .qt94-section{
    padding:28px 20px 30px;
    border-radius:21px;
  }
  body.qt555-page.home .qt95-media-slot,
  body.qt555-page.home .qt95-media-right{
    width:100%;
    max-width:300px;
    margin-left:0;
    border-radius:16px;
  }
  body.qt555-page.home .qt94-end{
    padding:26px 20px;
    border-radius:21px;
  }
}

/* v0.1.96 — public Qixtap product page.
   Exact v0.1.85 qt555 product presentation, isolated to /qixtap. */
/* v0.1.70 — Qixtap /qixtap staging page built directly on the approved homepage framework */
body.qixtap-product-page.home .home-stage{
  background:transparent;
}
body.qixtap-product-page.home .stage-art{
  background-image:url('assets/images/qixtap-page-hero.webp') !important;
  background-size:100% auto !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-color:#91c9ff !important;
}
body.qixtap-product-page.home .stage-fade{
  background:
    linear-gradient(90deg,
      rgba(248,249,255,.90) 0%,
      rgba(248,249,255,.76) 24%,
      rgba(248,249,255,.34) 42%,
      rgba(248,249,255,.04) 58%,
      rgba(248,249,255,0) 68%),
    linear-gradient(0deg,
      rgba(247,248,255,.26) 0%,
      rgba(247,248,255,.08) 18%,
      rgba(247,248,255,0) 34%);
}
body.qixtap-product-page.home .qt-home-stage{
  min-height:620px;
}
body.qixtap-product-page.home .qt-hero .hero-shell{
  height:500px;
  min-height:500px;
}
body.qixtap-product-page.home .qt-hero-copy{
  width:46%;
  padding:86px 18px 38px 46px;
  justify-content:center;
}
body.qixtap-product-page.home .qt-hero-logo{
  width:min(380px,94%);
  height:auto;
  margin:0 0 10px;
  filter:drop-shadow(0 8px 18px rgba(39,70,142,.10));
}
body.qixtap-product-page.home .qt-hero-kicker{
  margin:0 0 6px !important;
  color:#50617f !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.qixtap-product-page.home .qt-hero-copy h1{
  max-width:520px;
  margin:8px 0 13px;
  color:#10193b;
  font-size:clamp(38px,3.55vw,50px);
  line-height:1;
  letter-spacing:-2.4px;
}
body.qixtap-product-page.home .qt-hero-intro{
  max-width:470px !important;
  color:#46506d !important;
  font-size:15px !important;
  line-height:1.48 !important;
}
body.qixtap-product-page.home .qt-hero-copy .btn-ghost{
  background:rgba(255,255,255,.74);
  border-color:rgba(255,255,255,.86);
  color:#24305b;
  box-shadow:0 8px 18px rgba(52,67,124,.07);
}

body.qixtap-product-page.home .qt-body-scene{
  min-height:1860px;
  background-image:url('assets/images/qixtap-page-body.webp') !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
body.qixtap-product-page.home .qt-body-scene::after{
  height:44%;
  background:linear-gradient(180deg,rgba(17,29,55,0) 0%,rgba(17,29,55,.08) 30%,rgba(15,24,51,.30) 68%,rgba(11,17,39,.60) 100%);
}
body.qixtap-product-page.home .qt-body-copy{
  position:absolute;
  z-index:3;
  width:min(390px,36%);
  color:#13224e;
  text-shadow:0 2px 12px rgba(255,255,255,.34);
}
body.qixtap-product-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:-22px -26px -24px -26px;
  z-index:-1;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.34));
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 16px 36px rgba(45,66,126,.08);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}
body.qixtap-product-page.home .qt-copy-one{top:310px;left:72px;}
body.qixtap-product-page.home .qt-copy-two{top:760px;right:66px;}
body.qixtap-product-page.home .qt-copy-three{top:1160px;left:74px;}
body.qixtap-product-page.home .qt-body-num{
  display:block;
  margin-bottom:10px;
  color:#5c65dd;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
}
body.qixtap-product-page.home .qt-body-copy h2{
  margin:0 0 11px;
  color:#111b43;
  font-size:clamp(34px,3.2vw,46px);
  line-height:1.02;
  letter-spacing:-1.8px;
}
body.qixtap-product-page.home .qt-body-copy p{
  margin:0;
  color:#465273;
  font-size:15px;
  line-height:1.56;
}
body.qixtap-product-page.home .qt-body-cta{
  z-index:4;
}

@media(max-width:850px){
  body.qixtap-product-page.home .stage-art{
    background-image:url('assets/images/qixtap-page-hero.webp') !important;
    background-size:cover !important;
    background-position:64% top !important;
  }
  body.qixtap-product-page.home .stage-fade{
    background:linear-gradient(180deg,
      rgba(248,249,255,.92) 0%,
      rgba(248,249,255,.80) 27%,
      rgba(248,249,255,.20) 54%,
      rgba(248,249,255,.08) 72%,
      rgba(248,249,255,.44) 100%);
  }
  body.qixtap-product-page.home .qt-home-stage{
    min-height:560px;
  }
  body.qixtap-product-page.home .qt-hero .hero-shell{
    height:480px;
    min-height:480px;
  }
  body.qixtap-product-page.home .qt-hero-copy{
    width:100%;
    padding:86px 24px 24px;
    justify-content:flex-start;
  }
  body.qixtap-product-page.home .qt-hero-logo{
    width:min(300px,82%);
    margin-bottom:8px;
  }
  body.qixtap-product-page.home .qt-hero-copy h1{
    max-width:355px;
    font-size:clamp(34px,9vw,46px);
    letter-spacing:-1.8px;
  }
  body.qixtap-product-page.home .qt-hero-intro{
    max-width:330px !important;
    font-size:14px !important;
  }
  body.qixtap-product-page.home .qt-body-scene{
    min-height:1510px;
    background-position:center top !important;
  }
  body.qixtap-product-page.home .qt-body-copy{
    width:auto;
    max-width:330px;
    left:24px !important;
    right:24px !important;
  }
  body.qixtap-product-page.home .qt-copy-one{top:260px;}
  body.qixtap-product-page.home .qt-copy-two{top:650px;left:auto !important;}
  body.qixtap-product-page.home .qt-copy-three{top:1010px;}
  body.qixtap-product-page.home .qt-body-copy::before{
    inset:-16px -18px -18px;
    border-radius:22px;
  }
  body.qixtap-product-page.home .qt-body-copy h2{font-size:31px;}
  body.qixtap-product-page.home .qt-body-copy p{font-size:14px;}
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-home-stage{min-height:520px;}
  body.qixtap-product-page.home .qt-hero .hero-shell{height:445px;min-height:445px;}
  body.qixtap-product-page.home .qt-hero-copy{padding:78px 20px 20px;}
  body.qixtap-product-page.home .qt-hero-logo{width:min(255px,78%);}
  body.qixtap-product-page.home .qt-hero-copy h1{font-size:36px;max-width:310px;}
  body.qixtap-product-page.home .qt-body-scene{min-height:1370px;}
  body.qixtap-product-page.home .qt-copy-one{top:235px;}
  body.qixtap-product-page.home .qt-copy-two{top:570px;}
  body.qixtap-product-page.home .qt-copy-three{top:880px;}
}


/* v0.1.71 — smoother Qixtap hero-to-body crossfade */
body.qixtap-product-page.home .qt-body-scene{
  /* Pull the second artwork farther underneath the hero and start it slightly
     above its native top so the transition does not expose a flat blue band. */
  margin-top:-285px;
  background-position:center -90px !important;
}
body.qixtap-product-page.home .stage-art,
body.qixtap-product-page.home .stage-fade{
  /* Let the hero linger longer while the body image comes in underneath it. */
  -webkit-mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.98) 66%,
    rgba(0,0,0,.84) 74%,
    rgba(0,0,0,.58) 82%,
    rgba(0,0,0,.28) 90%,
    rgba(0,0,0,0) 98%,
    rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.98) 66%,
    rgba(0,0,0,.84) 74%,
    rgba(0,0,0,.58) 82%,
    rgba(0,0,0,.28) 90%,
    rgba(0,0,0,0) 98%,
    rgba(0,0,0,0) 100%);
}
body.qixtap-product-page.home .stage-fade{
  /* A soft pale wash on the lower hero edge gives the two independent images
     a shared color bridge before the body artwork becomes fully visible. */
  background:
    linear-gradient(90deg,
      rgba(248,249,255,.90) 0%,
      rgba(248,249,255,.76) 24%,
      rgba(248,249,255,.34) 42%,
      rgba(248,249,255,.04) 58%,
      rgba(248,249,255,0) 68%),
    linear-gradient(0deg,
      rgba(235,243,255,.70) 0%,
      rgba(235,243,255,.42) 12%,
      rgba(235,243,255,.16) 24%,
      rgba(235,243,255,0) 40%);
}
body.qixtap-product-page.home .qt-body-scene::before{
  /* Wash out the saturated top of the tall image, then release it gradually.
     This turns the join into a crossfade instead of a horizontal color break. */
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:360px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(235,243,255,.96) 0%,
    rgba(229,240,255,.82) 22%,
    rgba(216,234,255,.58) 46%,
    rgba(197,224,255,.28) 70%,
    rgba(197,224,255,0) 100%);
}

@media(max-width:850px){
  body.qixtap-product-page.home .qt-body-scene{
    margin-top:-350px;
    background-position:center -55px !important;
  }
  body.qixtap-product-page.home .stage-art,
  body.qixtap-product-page.home .stage-fade{
    -webkit-mask-image:linear-gradient(to bottom,
      #000 0%,#000 52%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.70) 72%,rgba(0,0,0,.38) 83%,rgba(0,0,0,0) 97%);
    mask-image:linear-gradient(to bottom,
      #000 0%,#000 52%,rgba(0,0,0,.94) 61%,rgba(0,0,0,.70) 72%,rgba(0,0,0,.38) 83%,rgba(0,0,0,0) 97%);
  }
  body.qixtap-product-page.home .qt-body-scene::before{
    height:300px;
  }
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-body-scene{
    margin-top:-330px;
    background-position:center -30px !important;
  }
  body.qixtap-product-page.home .qt-body-scene::before{
    height:260px;
  }
}

/* v0.1.73 — square Qixtap text tiles + restored CTA layout */
body.qixtap-product-page.home .qt-body-copy{
  width:440px;
  height:440px;
  min-height:440px;
  padding:78px 44px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#13224e;
  text-shadow:none;
}
body.qixtap-product-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('assets/images/qixtap-text-tile-square.webp') center/contain no-repeat;
  opacity:.76;
  filter:drop-shadow(0 16px 28px rgba(48,69,125,.12));
  pointer-events:none;
}
body.qixtap-product-page.home .qt-body-num{
  display:block;
  margin-bottom:7px;
  color:#5664c8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
}
body.qixtap-product-page.home .qt-body-copy h2{
  margin:0 0 10px;
  color:#111b43;
  font-size:30px;
  line-height:1.04;
  letter-spacing:-1.15px;
  white-space:nowrap;
}
body.qixtap-product-page.home .qt-body-copy p{
  margin:0;
  color:#465273;
  font-size:13.5px;
  line-height:1.48;
}

/* Restore the original homepage CTA structure and button. Only remove the
   decorative purple/blue blob and its highlight. */
body.qixtap-product-page.home .qt-body-cta{
  z-index:4;
}
body.qixtap-product-page.home .qt-body-cta::before,
body.qixtap-product-page.home .qt-body-cta::after{
  content:none !important;
  display:none !important;
}

@media(max-width:850px){
  body.qixtap-product-page.home .qt-body-copy{
    width:360px;
    height:360px;
    min-height:360px;
    max-width:360px;
    padding:62px 35px 56px;
  }
  body.qixtap-product-page.home .qt-body-copy h2{
    font-size:26px;
    letter-spacing:-.9px;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    font-size:12.8px;
    line-height:1.44;
  }
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-body-copy{
    width:310px;
    height:310px;
    min-height:310px;
    max-width:calc(100vw - 32px);
    padding:50px 28px 46px;
  }
  body.qixtap-product-page.home .qt-body-copy h2{
    font-size:23px;
    letter-spacing:-.65px;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    font-size:12px;
    line-height:1.4;
  }
}

/* v0.1.74 — Qixtap text tile alignment correction
   One visual tile per text block: no inherited CSS card/glass layer. */
body.qixtap-product-page.home .qt-body-copy{
  width:440px;
  height:440px;
  min-height:440px;
  padding:88px 74px 78px 76px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  box-sizing:border-box;
  isolation:isolate;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  overflow:visible;
}
body.qixtap-product-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-color:transparent !important;
  background-image:url('assets/images/qixtap-text-tile-square.webp') !important;
  background-position:center !important;
  background-size:100% 100% !important;
  background-repeat:no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  opacity:.9;
  filter:drop-shadow(0 14px 24px rgba(48,69,125,.13));
  pointer-events:none;
}
body.qixtap-product-page.home .qt-body-copy > *{
  position:relative;
  z-index:1;
}
body.qixtap-product-page.home .qt-body-num{
  width:220px;
  margin:0 0 8px;
  font-size:12px;
}
body.qixtap-product-page.home .qt-body-copy h2{
  width:240px;
  margin:0 0 12px;
  font-size:27px;
  line-height:1.03;
  letter-spacing:-1px;
  white-space:nowrap;
}
body.qixtap-product-page.home .qt-body-copy p{
  width:225px;
  margin:0;
  font-size:13px;
  line-height:1.48;
}

@media(max-width:850px){
  body.qixtap-product-page.home .qt-body-copy{
    width:360px;
    height:360px;
    min-height:360px;
    max-width:360px;
    padding:72px 58px 62px 62px;
  }
  body.qixtap-product-page.home .qt-body-num{width:180px;}
  body.qixtap-product-page.home .qt-body-copy h2{
    width:198px;
    font-size:23px;
    letter-spacing:-.72px;
    margin-bottom:10px;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:188px;
    font-size:12px;
    line-height:1.42;
  }
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-body-copy{
    width:310px;
    height:310px;
    min-height:310px;
    max-width:calc(100vw - 32px);
    padding:58px 46px 50px 48px;
  }
  body.qixtap-product-page.home .qt-body-num{
    width:148px;
    font-size:10.5px;
    margin-bottom:6px;
  }
  body.qixtap-product-page.home .qt-body-copy h2{
    width:164px;
    font-size:20px;
    letter-spacing:-.5px;
    margin-bottom:9px;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:160px;
    font-size:11.3px;
    line-height:1.38;
  }
}


/* v0.1.76 — Qixtap editorial body treatment
   Retires the image-tile experiment. Copy sits directly over the artwork with
   a soft localized mist for readability, not a card/panel/blob. */
body.qixtap-product-page.home .qt-body-copy{
  width:min(410px,36%);
  height:auto;
  min-height:0;
  max-width:none;
  padding:18px 18px 20px 0;
  display:block;
  box-sizing:border-box;
  isolation:isolate;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  overflow:visible;
  color:#111b43;
  text-shadow:0 1px 8px rgba(255,255,255,.26);
}
body.qixtap-product-page.home .qt-body-copy::before{
  content:"";
  position:absolute;
  inset:-44px -62px -42px -54px;
  z-index:0;
  background:radial-gradient(ellipse at 34% 48%,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.80) 34%,
    rgba(255,255,255,.55) 52%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 82%);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  pointer-events:none;
}
body.qixtap-product-page.home .qt-copy-two::before{
  inset:-44px -54px -42px -62px;
  background:radial-gradient(ellipse at 66% 48%,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.80) 34%,
    rgba(255,255,255,.55) 52%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 82%);
}
body.qixtap-product-page.home .qt-body-copy > *{
  position:relative;
  z-index:1;
  width:auto;
  max-width:100%;
}
body.qixtap-product-page.home .qt-body-num{
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  margin:0 0 9px;
  color:#5a5ee8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.20em;
  line-height:1;
}
body.qixtap-product-page.home .qt-body-num::before{
  content:"";
  width:28px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,#4fc5ff,#8358ff);
  box-shadow:0 1px 8px rgba(94,91,232,.25);
}
body.qixtap-product-page.home .qt-body-copy h2{
  width:auto;
  margin:0 0 11px;
  color:#101a43;
  font-size:clamp(34px,3vw,43px);
  line-height:1.02;
  letter-spacing:-1.55px;
  white-space:nowrap;
}
body.qixtap-product-page.home .qt-body-copy p{
  width:min(355px,100%);
  margin:0;
  color:#3f4b6d;
  font-size:15px;
  line-height:1.55;
  font-weight:500;
}
body.qixtap-product-page.home .qt-copy-two{
  text-align:left;
}

@media(max-width:850px){
  body.qixtap-product-page.home .qt-body-copy{
    width:min(360px,calc(100% - 48px));
    height:auto;
    min-height:0;
    max-width:360px;
    padding:14px 0 16px;
    left:28px !important;
    right:auto !important;
  }
  body.qixtap-product-page.home .qt-copy-two{
    left:auto !important;
    right:28px !important;
  }
  body.qixtap-product-page.home .qt-body-copy::before,
  body.qixtap-product-page.home .qt-copy-two::before{
    inset:-34px -42px -32px -38px;
    background:radial-gradient(ellipse at 38% 48%,
      rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.40) 61%,rgba(255,255,255,0) 82%);
  }
  body.qixtap-product-page.home .qt-copy-two::before{
    inset:-34px -38px -32px -42px;
    background:radial-gradient(ellipse at 62% 48%,
      rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.40) 61%,rgba(255,255,255,0) 82%);
  }
  body.qixtap-product-page.home .qt-body-copy h2{
    width:auto;
    font-size:32px;
    letter-spacing:-1.15px;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:min(320px,100%);
    font-size:14px;
    line-height:1.5;
  }
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-body-copy,
  body.qixtap-product-page.home .qt-copy-two{
    width:calc(100% - 42px);
    max-width:330px;
    height:auto;
    min-height:0;
    padding:12px 0 14px;
    left:21px !important;
    right:auto !important;
  }
  body.qixtap-product-page.home .qt-body-copy::before,
  body.qixtap-product-page.home .qt-copy-two::before{
    inset:-28px -28px -26px -26px;
    background:radial-gradient(ellipse at 36% 48%,
      rgba(255,255,255,.95) 0%,rgba(255,255,255,.80) 40%,rgba(255,255,255,.42) 63%,rgba(255,255,255,0) 84%);
  }
  body.qixtap-product-page.home .qt-body-num{
    width:auto;
    font-size:11px;
    margin-bottom:8px;
  }
  body.qixtap-product-page.home .qt-body-num::before{width:24px;height:2px;}
  body.qixtap-product-page.home .qt-body-copy h2{
    width:auto;
    font-size:27px;
    letter-spacing:-.85px;
    white-space:normal;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:min(292px,100%);
    font-size:13px;
    line-height:1.46;
  }
}

/* v0.1.77 — widen and realign Qixtap editorial readability boxes */
body.qixtap-product-page.home .qt-body-copy{
  width:410px;
  max-width:410px;
}
body.qixtap-product-page.home .qt-body-copy::before{
  inset:auto !important;
  top:-24px !important;
  left:-54px !important;
  width:440px !important;
  height:calc(100% + 50px) !important;
  min-height:150px;
  border-radius:42px !important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.84) 62%,
    rgba(255,255,255,.58) 82%,
    rgba(255,255,255,.18) 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:blur(5px) !important;
  backdrop-filter:blur(5px) !important;
  opacity:1 !important;
}
body.qixtap-product-page.home .qt-copy-two::before{
  left:-42px !important;
  width:435px !important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.86) 66%,
    rgba(255,255,255,.56) 84%,
    rgba(255,255,255,.16) 100%) !important;
}
body.qixtap-product-page.home .qt-body-copy h2{
  max-width:390px;
}
body.qixtap-product-page.home .qt-body-copy p{
  width:360px;
  max-width:360px;
}

@media(max-width:850px){
  body.qixtap-product-page.home .qt-body-copy{
    width:340px;
    max-width:340px;
  }
  body.qixtap-product-page.home .qt-body-copy::before,
  body.qixtap-product-page.home .qt-copy-two::before{
    top:-20px !important;
    left:-36px !important;
    width:385px !important;
    height:calc(100% + 42px) !important;
    min-height:138px;
    border-radius:34px !important;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:310px;
    max-width:310px;
  }
}

@media(max-width:520px){
  body.qixtap-product-page.home .qt-body-copy,
  body.qixtap-product-page.home .qt-copy-two{
    width:calc(100% - 42px);
    max-width:330px;
  }
  body.qixtap-product-page.home .qt-body-copy::before,
  body.qixtap-product-page.home .qt-copy-two::before{
    top:-16px !important;
    left:-18px !important;
    width:calc(100% + 20px) !important;
    height:calc(100% + 34px) !important;
    min-height:126px;
    border-radius:28px !important;
  }
  body.qixtap-product-page.home .qt-body-copy p{
    width:100%;
    max-width:292px;
  }
}

/* v0.1.78 — tighten Qixtap readability boxes on the right side only. */


/* v0.1.82 — standardize Qixtap editorial box front gap across 01/02/03. */
@media(min-width:851px){
  body.qixtap-product-page.home .qt-body-copy::before,
  body.qixtap-product-page.home .qt-copy-two::before{
    left:-42px !important;
    width:435px !important;
  }
}


/* v0.1.84 — qt555 footer test: subtle glass finish and standard readable text size. */
body.qixtap-product-page.home .site-footer{
  position:relative;
  width:min(calc(100% - 36px), var(--max)) !important;
  margin:0 auto !important;
  padding:0 !important;
  min-height:52px !important;
  background:linear-gradient(105deg,rgba(219,235,255,.94) 0%,rgba(229,234,255,.93) 48%,rgba(238,225,255,.94) 100%) !important;
  border:1px solid rgba(220,226,242,.82) !important;
  border-top:0 !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:0 12px 30px rgba(36,44,78,.07) !important;
  -webkit-backdrop-filter:blur(14px) saturate(115%);
  backdrop-filter:blur(14px) saturate(115%);
  color:#505a78 !important;
  overflow:hidden;
}
body.qixtap-product-page.home .site-footer::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue) 48%,var(--purple));
  opacity:.88;
  pointer-events:none;
}
body.qixtap-product-page.home .site-footer::after{
  display:none !important;
  content:none !important;
}
body.qixtap-product-page.home .footer-one-row{
  background:transparent !important;
  width:100% !important;
  max-width:none !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
body.qixtap-product-page.home .footer-copy,
body.qixtap-product-page.home .footer-one-row .footer-links{
  font-size:14px !important;
  line-height:1.2 !important;
}
@media(max-width:850px){
  body.qixtap-product-page.home .site-footer{
    width:min(calc(100% - 24px), var(--max)) !important;
    min-height:52px !important;
  }
  body.qixtap-product-page.home .footer-one-row{
    min-height:52px !important;
    padding:0 14px !important;
  }
}

/* v0.1.101 — ordinary pages use the exact approved v0.1.92 blank white framework.
   Existing v0.1.92 qt555/home rules provide the shell itself. This rule only
   gives real page content a readable place on the white body when content exists. */
body.creatumi-blank-page.qt555-page.home .ordinary-page-copy{
  position:relative;
  z-index:3;
  width:min(calc(100% - 96px),1040px);
  margin:0 auto;
  padding:72px 0 96px;
  color:var(--ink);
}
@media(max-width:850px){
  body.creatumi-blank-page.qt555-page.home .ordinary-page-copy{
    width:min(calc(100% - 48px),1040px);
    padding:54px 0 76px;
  }
}
@media(max-width:520px){
  body.creatumi-blank-page.qt555-page.home .ordinary-page-copy{
    width:calc(100% - 36px);
    padding:42px 0 64px;
  }
}



/* v0.1.106 — Privacy Policy and Terms use the approved blank-page shell
   as real content pages: no empty hero gap, page title restored, and legal
   content begins near the top of the same uninterrupted white surface. */
body.creatumi-blank-page.qt555-page.home main.ordinary-legal-page .qt-body-scene{
  margin-top:0 !important;
  min-height:0 !important;
  background-color:#fff !important;
  background-image:url('assets/images/qt555-white-sheet.png') !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.creatumi-blank-page.qt555-page.home main.ordinary-legal-page .ordinary-page-copy{
  padding-top:64px;
}
body.creatumi-blank-page.qt555-page.home .ordinary-page-title{
  margin:0 0 28px;
  color:var(--ink);
  font-size:clamp(42px,5vw,58px);
  line-height:1.04;
  letter-spacing:-2px;
}
body.creatumi-blank-page.qt555-page.home .ordinary-legal-copy h3{
  margin-top:30px;
  margin-bottom:10px;
}
body.creatumi-blank-page.qt555-page.home .ordinary-legal-copy p{
  margin-top:0;
  margin-bottom:18px;
}
@media(max-width:850px){
  body.creatumi-blank-page.qt555-page.home main.ordinary-legal-page .ordinary-page-copy{
    padding-top:48px;
  }
  body.creatumi-blank-page.qt555-page.home .ordinary-page-title{
    font-size:clamp(38px,8vw,50px);
    margin-bottom:24px;
  }
}
@media(max-width:520px){
  body.creatumi-blank-page.qt555-page.home main.ordinary-legal-page .ordinary-page-copy{
    padding-top:36px;
  }
  body.creatumi-blank-page.qt555-page.home .ordinary-page-title{
    font-size:38px;
    letter-spacing:-1.4px;
  }
}

/* v0.1.109 — Shop page hero uses separate optimized background and title image layers.
   The hero fills the top of the Shop page shell, stays flush to the top/left/right
   edges of the page area, and keeps the title artwork independent from the hero art. */
/* v0.1.112 — Shop hero begins at the same top edge as the overlaid header,
   but stays behind the header/navigation instead of being pulled over it. */
body.creatumi-shop-page.qt555-page.home main{
  position:relative;
  z-index:1;
  margin-top:0 !important;
}
body.creatumi-shop-page.qt555-page.home .site-header{
  z-index:100 !important;
}
body.creatumi-shop-page.qt555-page.home .home-stage{
  margin-top:0 !important;
  padding-top:0 !important;
  position:relative;
  z-index:2;
}
body.creatumi-shop-page.qt555-page.home .qt-hero{
  position:relative;
  z-index:1;
}
body.creatumi-shop-page.qt555-page.home .qt-home-stage{
  min-height:0 !important;
}
body.creatumi-shop-page.qt555-page.home .qt-hero{
  padding:0 !important;
}
body.creatumi-shop-page.qt555-page.home .qt-hero .wrap{
  width:100% !important;
  max-width:none !important;
}
body.creatumi-shop-page.qt555-page.home .shop-hero-shell{
  display:block !important;
  position:relative;
  width:100%;
  min-height:clamp(320px, 56vw, 560px);
  height:auto;
  aspect-ratio:1672 / 941;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#f6f0ff;
  overflow:hidden;
}
body.creatumi-shop-page.qt555-page.home .shop-hero-background{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
body.creatumi-shop-page.qt555-page.home .shop-hero-title-image{
  position:absolute;
  left:50%;
  top:clamp(28px, 3vw, 40px);
  transform:translateX(-50%);
  width:min(42%, 540px);
  height:auto;
  z-index:2;
  filter:drop-shadow(0 10px 18px rgba(29, 40, 97, .12));
}
body.creatumi-shop-page.qt555-page.home .shop-page-copy{
  padding-top:56px;
}
@media(max-width:850px){
  body.creatumi-shop-page.qt555-page.home .shop-hero-shell{
    min-height:300px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-hero-title-image{
    width:min(54%, 440px);
    top:32px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-page-copy{
    padding-top:44px;
  }
}
@media(max-width:520px){
  body.creatumi-shop-page.qt555-page.home .shop-hero-shell{
    min-height:260px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-hero-title-image{
    width:64%;
    top:30px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-page-copy{
    padding-top:36px;
  }
}


/* v0.1.113 — Shop hero display correction.
   The generic qt555 framework pulls the lower white body upward by 285px for
   an old Qixtap crossfade. That was covering the lower half of the Shop hero.
   Shop does not use that crossfade, so keep its body below the complete hero.
   Also remove the inherited long side-strip pseudo-elements on Shop only; they
   were visibly laying a translucent strip over the right side of the artwork. */
body.creatumi-shop-page.qt555-page.home .qt-body-scene{
  position:relative;
  z-index:1;
  margin-top:0 !important;
  background-position:center center !important;
}


/* v0.1.117 — Shop now uses the exact shared blank-page cast shadow.
   No Shop-specific shadow is defined here. The Shop main/stage/body stacking
   is aligned with About so the existing body.home main::before/main::after
   shadow rules render normally behind the page, without overlaying the hero. */


/* v0.1.118 — Simple Shop information area below the approved hero.
   Kept intentionally straightforward so products can be added later without
   redesigning the page now. */
body.creatumi-shop-page.qt555-page.home .shop-info{
  position:relative;
  z-index:3;
  width:min(calc(100% - 96px),1040px);
  margin:0 auto;
  padding:64px 0 92px;
  color:var(--ink);
}
body.creatumi-shop-page.qt555-page.home .shop-info-intro{
  max-width:760px;
  margin:0 auto 46px;
  text-align:center;
}
body.creatumi-shop-page.qt555-page.home .shop-info-intro h2{
  margin:0 0 14px;
  font-size:clamp(30px,3.5vw,42px);
  line-height:1.08;
  letter-spacing:-1.4px;
}
body.creatumi-shop-page.qt555-page.home .shop-info-intro p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
body.creatumi-shop-page.qt555-page.home .shop-offer-list{
  max-width:860px;
  margin:0 auto;
  border-top:1px solid var(--line);
}
body.creatumi-shop-page.qt555-page.home .shop-offer-item{
  display:grid;
  grid-template-columns:minmax(170px,220px) 1fr;
  gap:28px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
body.creatumi-shop-page.qt555-page.home .shop-offer-item h3{
  margin:0;
  font-size:18px;
  line-height:1.35;
}
body.creatumi-shop-page.qt555-page.home .shop-offer-item p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}
body.creatumi-shop-page.qt555-page.home .shop-coming-soon{
  max-width:760px;
  margin:62px auto 0;
  text-align:center;
}
body.creatumi-shop-page.qt555-page.home .shop-coming-soon h2{
  margin:0 0 10px;
  font-size:clamp(34px,4.5vw,52px);
  line-height:1;
  letter-spacing:-1.8px;
}
body.creatumi-shop-page.qt555-page.home .shop-coming-soon p{
  max-width:620px;
  margin:0 auto;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}

@media(max-width:850px){
  body.creatumi-shop-page.qt555-page.home .shop-info{
    width:min(calc(100% - 48px),1040px);
    padding:52px 0 76px;
  }
}
@media(max-width:620px){
  body.creatumi-shop-page.qt555-page.home .shop-info{
    width:calc(100% - 36px);
    padding:42px 0 64px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-info-intro{
    margin-bottom:34px;
  }
  body.creatumi-shop-page.qt555-page.home .shop-offer-item{
    grid-template-columns:1fr;
    gap:7px;
    padding:19px 0;
  }
  body.creatumi-shop-page.qt555-page.home .shop-coming-soon{
    margin-top:48px;
  }
}
