/**
 * Buildhub - aurora & suite block styles
 *
 * Animation, scroll-linked and interactive-state rules for the blocks in
 * builder-blocks-aurora.js and builder-blocks-suite.js. Kept out of the block
 * markup on purpose: the builder resolves a double-click to the element under
 * the pointer, and a <style> element inside the block root gets in the way of
 * that (a browser never lets you click a display:none element, the jsdom
 * harness does).
 *
 * Every selector is scoped to a block root class, so several of these sections
 * can coexist on one page. Motion is inside @media (prefers-reduced-motion:
 * no-preference); scroll-linked effects are additionally inside
 * @supports (animation-timeline: ...) and fall back to their finished state.
 *
 * Loaded by the builder canvas and by every page that renders blocks.
 */
/* builder-blocks-aurora */
    .aur-hero-mesh{position:relative;isolation:isolate}
    .aur-hero-mesh .aur-blob{position:absolute;border-radius:9999px;filter:blur(64px);opacity:.55;pointer-events:none;z-index:-1}
    .aur-hero-mesh .aur-b1{width:32rem;height:32rem;left:-6rem;top:-8rem;background:radial-gradient(circle,#6366f1,transparent 70%)}
    .aur-hero-mesh .aur-b2{width:28rem;height:28rem;right:-4rem;top:-3rem;background:radial-gradient(circle,#d946ef,transparent 70%)}
    .aur-hero-mesh .aur-b3{width:36rem;height:36rem;left:20%;bottom:-18rem;background:radial-gradient(circle,#06b6d4,transparent 70%)}
    .aur-hero-mesh .aur-grain{position:absolute;inset:0;z-index:-1;opacity:.22;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:6px 6px}
    @media (prefers-reduced-motion: no-preference){
      .aur-hero-mesh .aur-b1{animation:aurMeshDriftA 20s ease-in-out infinite}
      .aur-hero-mesh .aur-b2{animation:aurMeshDriftA 26s ease-in-out infinite reverse}
      .aur-hero-mesh .aur-b3{animation:aurMeshDriftA 32s ease-in-out infinite}
    }
    @keyframes aurMeshDriftA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3rem,2rem,0) scale(1.12)}}

/* builder-blocks-aurora */
    .aur-hero-type .aur-huge{font-size:clamp(2.75rem,9vw,7.5rem);line-height:.92;letter-spacing:-.04em}
    .aur-hero-type .aur-rule{height:2px;background:linear-gradient(90deg,#0f172a,rgba(15,23,42,0))}
    @media (prefers-reduced-motion: no-preference){
      .aur-hero-type .aur-slide{animation:aurTypeIn .9s cubic-bezier(.22,.61,.36,1) both}
    }
    @keyframes aurTypeIn{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}

/* builder-blocks-aurora */
    .aur-hero-stack .aur-scr{transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s}
    .aur-hero-stack .aur-scr-1{transform:rotate(-6deg) translateY(1.5rem)}
    .aur-hero-stack .aur-scr-3{transform:rotate(6deg) translateY(3rem)}
    .aur-hero-stack .aur-scr-1:hover{transform:rotate(-2deg) translateY(.5rem)}
    .aur-hero-stack .aur-scr-2:hover{transform:translateY(-.75rem)}
    .aur-hero-stack .aur-scr-3:hover{transform:rotate(2deg) translateY(2rem)}
    @media (max-width:767px){.aur-hero-stack .aur-scr-1,.aur-hero-stack .aur-scr-3{transform:none}}
    @media (prefers-reduced-motion: reduce){.aur-hero-stack .aur-scr{transition:none}}

/* builder-blocks-aurora */
    .aur-hero-mask .aur-frame{border-radius:1.75rem;overflow:hidden;position:relative;box-shadow:0 40px 120px -30px rgba(99,102,241,.6)}
    .aur-hero-mask .aur-frame img{display:block;width:100%;height:clamp(18rem,42vw,30rem);object-fit:cover}
    .aur-hero-mask .aur-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,0) 30%,rgba(2,6,23,.85) 100%)}
    .aur-hero-mask .aur-chip{backdrop-filter:blur(12px) saturate(140%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
    @supports not (backdrop-filter: blur(4px)){.aur-hero-mask .aur-chip{background:rgba(15,23,42,.82)}}
    @media (prefers-reduced-motion: no-preference){
      .aur-hero-mask .aur-rise{animation:aurMaskRise .9s cubic-bezier(.22,.61,.36,1) both}
    }
    @keyframes aurMaskRise{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}

/* builder-blocks-aurora */
    .aur-hero-bento .aur-tile{border-radius:1.5rem;border:1px solid #e2e8f0;background:#fff;overflow:hidden;position:relative;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s}
    .aur-hero-bento .aur-tile:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(15,23,42,.35)}
    @media (prefers-reduced-motion: reduce){.aur-hero-bento .aur-tile{transition:none}}

/* builder-blocks-aurora */
    @media (prefers-reduced-motion: no-preference){
      .aur-hero-split .aur-clip{animation:aurSplitIn 1.1s cubic-bezier(.22,.61,.36,1) both}
      .aur-hero-split .aur-copy{animation:aurSplitCopy .9s .15s cubic-bezier(.22,.61,.36,1) both}
    }
    @keyframes aurSplitIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
    @keyframes aurSplitCopy{from{opacity:0;transform:translateX(1.5rem)}to{opacity:1;transform:translateX(0)}}
    @media (prefers-reduced-motion: reduce){.aur-hero-split .aur-clip{clip-path:none}}

/* builder-blocks-aurora */
    .aur-bento-media .aur-m{border-radius:1.5rem;overflow:hidden;background:#fff;border:1px solid #e2e8f0;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
    .aur-bento-media .aur-m:hover{transform:translateY(-6px)}
    .aur-bento-media .aur-lbl{position:absolute;left:1rem;bottom:1rem;right:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;border-radius:9999px;background:rgba(2,6,23,.72);color:#fff;font-size:.8rem;font-weight:600}
    @media (prefers-reduced-motion: reduce){.aur-bento-media .aur-m{transition:none}}

/* builder-blocks-aurora */
    .aur-orbit .aur-stage{position:relative;width:min(22rem,80vw);height:min(22rem,80vw);margin:0 auto}
    .aur-orbit .aur-ring{position:absolute;inset:0;border-radius:9999px;border:1px dashed rgba(148,163,184,.35)}
    .aur-orbit .aur-ring-2{inset:2.5rem;border-style:solid;border-color:rgba(99,102,241,.35)}
    .aur-orbit .aur-core{position:absolute;inset:32%;border-radius:9999px;background:linear-gradient(135deg,#6366f1,#d946ef);display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em}
    .aur-orbit .aur-sat{position:absolute;width:5.5rem;height:5.5rem;margin:-2.75rem 0 0 -2.75rem;border-radius:1.25rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;text-align:center;padding:.5rem}
    @media (prefers-reduced-motion: no-preference){
      .aur-orbit .aur-spin{animation:aurOrbitSpin 34s linear infinite}
      .aur-orbit .aur-spin-rev{animation:aurOrbitSpin 46s linear infinite reverse}
      .aur-orbit .aur-stage:hover .aur-spin,.aur-orbit .aur-stage:hover .aur-spin-rev{animation-play-state:paused}
    }
    @keyframes aurOrbitSpin{to{transform:rotate(360deg)}}

/* builder-blocks-aurora */
    .aur-cmp .aur-opt{display:none}
    .aur-cmp .aur-tab{cursor:pointer;transition:background .2s,color .2s,border-color .2s}
    .aur-cmp .aur-panel{display:none}
    /* :has() on the block root, not a sibling combinator: these radios sit inside
       their tab row, so "#id:checked ~ .aur-body" never matched and the section
       rendered empty. The first panel is shown by default, so a browser without
       :has() still shows content instead of a blank strip. */
    .aur-cmp .aur-p-before{display:block}
    .aur-cmp:has(#aurCmpBefore:checked) label[for='aurCmpBefore'],
    .aur-cmp:has(#aurCmpAfter:checked) label[for='aurCmpAfter'],
    .aur-cmp:has(#aurCmpDiff:checked) label[for='aurCmpDiff']{background:#0f172a;color:#fff;border-color:#0f172a}
    .aur-cmp:has(#aurCmpAfter:checked) .aur-p-before,
    .aur-cmp:has(#aurCmpDiff:checked) .aur-p-before{display:none}
    .aur-cmp:has(#aurCmpAfter:checked) .aur-p-after,
    .aur-cmp:has(#aurCmpDiff:checked) .aur-p-diff{display:block}

/* builder-blocks-aurora */
    .aur-rail .aur-track{position:relative;padding-left:2.25rem}
    .aur-rail .aur-line{position:absolute;left:.6rem;top:.5rem;bottom:.5rem;width:2px;background:#e2e8f0}
    .aur-rail .aur-fill{position:absolute;left:.6rem;top:.5rem;width:2px;height:calc(100% - 1rem);background:linear-gradient(180deg,#6366f1,#d946ef);transform:scaleY(0);transform-origin:top}
    @media (prefers-reduced-motion: no-preference){
      @supports (animation-timeline: view()){
        .aur-rail .aur-fill{animation:aurRailGrow linear both;animation-timeline:view(block);animation-range:entry 10% cover 60%}
      }
    }
    @keyframes aurRailGrow{to{transform:scaleY(1)}}
    .aur-rail .aur-dot{position:absolute;left:-1.85rem;top:.35rem;width:.95rem;height:.95rem;border-radius:9999px;background:#fff;border:3px solid #6366f1}

/* builder-blocks-aurora */
    .aur-glow .aur-card{position:relative;border-radius:1.5rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);overflow:hidden;transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .45s}
    .aur-glow .aur-card::after{content:'';position:absolute;inset:-40% -10% auto -10%;height:70%;background:radial-gradient(60% 100% at 50% 0%,rgba(99,102,241,.55),transparent 70%);opacity:0;transition:opacity .45s}
    .aur-glow .aur-card:hover{transform:translateY(-6px);border-color:rgba(129,140,248,.6)}
    .aur-glow .aur-card:hover::after{opacity:1}
    .aur-glow .aur-num{font-variant-numeric:tabular-nums}
    @media (prefers-reduced-motion: reduce){.aur-glow .aur-card,.aur-glow .aur-card::after{transition:none}}

/* builder-blocks-aurora */
    .aur-wall .aur-q{border-radius:1.5rem;border:1px solid #e2e8f0;background:#fff;padding:1.5rem;break-inside:avoid;margin-bottom:1.25rem;transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s}
    .aur-wall .aur-q:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(15,23,42,.35)}
    @media (prefers-reduced-motion: reduce){.aur-wall .aur-q{transition:none}}

/* builder-blocks-aurora */
    .aur-logos .aur-l{filter:grayscale(1) opacity(.55);transition:filter .35s,transform .35s,color .35s;color:#0f172a}
    .aur-logos .aur-l:hover,.aur-logos .aur-l:focus-visible{filter:none;transform:translateY(-4px);color:#4f46e5}
    @media (prefers-reduced-motion: reduce){.aur-logos .aur-l{transition:none}}

/* builder-blocks-aurora */
    .aur-case .aur-thumb{border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.12);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
    .aur-case .aur-thumb:hover{transform:scale(1.03)}
    @media (prefers-reduced-motion: reduce){.aur-case .aur-thumb{transition:none}}

/* builder-blocks-aurora */
    .aur-est .aur-in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .aur-est .aur-opt{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.7rem 1.3rem;font-size:.875rem;font-weight:700;color:#475569;transition:background .25s,color .25s,border-color .25s}
    .aur-est .aur-opt:hover{border-color:#0f172a}
    .aur-est .aur-panel{display:none}
    .aur-est #aurEstS1:checked~.aur-rows label[for='aurEstS1'],.aur-est #aurEstS2:checked~.aur-rows label[for='aurEstS2'],.aur-est #aurEstS3:checked~.aur-rows label[for='aurEstS3'],.aur-est #aurEstN1:checked~.aur-rows label[for='aurEstN1'],.aur-est #aurEstN2:checked~.aur-rows label[for='aurEstN2'],.aur-est #aurEstN3:checked~.aur-rows label[for='aurEstN3']{background:#0f172a;color:#fff;border-color:#0f172a}
    .aur-est #aurEstS1:checked~.aur-out .aur-p-s1,.aur-est #aurEstS2:checked~.aur-out .aur-p-s2,.aur-est #aurEstS3:checked~.aur-out .aur-p-s3,.aur-est #aurEstN1:checked~.aur-out .aur-p-n1,.aur-est #aurEstN2:checked~.aur-out .aur-p-n2,.aur-est #aurEstN3:checked~.aur-out .aur-p-n3{display:block}

/* builder-blocks-aurora */
    .aur-ann .aur-x{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .aur-ann .aur-bar{background:linear-gradient(90deg,#4f46e5,#9333ea,#db2777);color:#fff}
    .aur-ann .aur-x:checked~.aur-bar{display:none}
    .aur-ann .aur-close{cursor:pointer;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:rgba(255,255,255,.18);font-size:1.1rem;line-height:1}
    .aur-ann .aur-close:hover{background:rgba(255,255,255,.34)}
    .aur-ann .aur-x:focus-visible~.aur-bar .aur-close{outline:2px solid #fff;outline-offset:2px}

/* builder-blocks-aurora */
    .aur-tick .aur-t{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .aur-tick .aur-vp{overflow:hidden;position:relative}
    .aur-tick .aur-track{display:flex;gap:3.5rem;width:max-content;white-space:nowrap;padding:0 1.25rem}
    @media (prefers-reduced-motion: no-preference){.aur-tick .aur-track{animation:aurTickMove 26s linear infinite}}
    .aur-tick .aur-t:checked~.aur-vp .aur-track{animation-play-state:paused}
    @keyframes aurTickMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    .aur-tick .aur-btn{display:inline-flex;align-items:center;cursor:pointer;border-radius:9999px;border:1px solid rgba(255,255,255,.25);padding:.35rem .9rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
    .aur-tick .aur-btn:hover{background:rgba(255,255,255,.12)}
    .aur-tick .aur-play{display:none}
    .aur-tick .aur-t:checked~.aur-ctl .aur-pause{display:none}
    .aur-tick .aur-t:checked~.aur-ctl .aur-play{display:inline}
    .aur-tick .aur-t:focus-visible~.aur-ctl .aur-btn{outline:2px solid #fff;outline-offset:2px}

/* builder-blocks-aurora */
    .aur-hgal .aur-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16rem,26rem);gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.25rem 1.5rem 1.5rem;scrollbar-width:thin}
    .aur-hgal .aur-rail:focus-visible{outline:2px solid #4f46e5;outline-offset:4px;border-radius:1.5rem}
    .aur-hgal .aur-item{scroll-snap-align:center;border-radius:1.5rem;overflow:hidden;position:relative;display:block;border:1px solid #e2e8f0;background:#fff;transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s}
    .aur-hgal .aur-item:hover{transform:translateY(-6px);box-shadow:0 30px 60px -40px rgba(15,23,42,.5)}
    @media (prefers-reduced-motion: reduce){.aur-hgal .aur-item{transition:none}}

/* builder-blocks-aurora */
    .aur-stack .aur-c{position:sticky;border-radius:1.75rem;padding:2.5rem;margin-bottom:1.75rem;box-shadow:0 30px 60px -45px rgba(15,23,42,.65)}
    .aur-stack .aur-c1{top:4.5rem;background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff}
    .aur-stack .aur-c2{top:6rem;background:linear-gradient(135deg,#0ea5e9,#22d3ee);color:#04293a}
    .aur-stack .aur-c3{top:7.5rem;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#3b2404}
    .aur-stack .aur-tag{display:inline-flex;border-radius:9999px;border:1px solid currentColor;padding:.25rem .85rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;opacity:.85}

/* builder-blocks-aurora */
    .aur-zoom .aur-frame{border-radius:2rem;overflow:hidden;position:relative}
    .aur-zoom .aur-img{display:block;width:100%;height:clamp(16rem,44vw,30rem);object-fit:cover;will-change:transform}
    @media (prefers-reduced-motion: no-preference){
      @supports (animation-timeline: view()){
        .aur-zoom .aur-img{animation:aurZoomIn linear both;animation-timeline:view(block);animation-range:entry 15% cover 75%}
        .aur-zoom .aur-cap{animation:aurZoomCap linear both;animation-timeline:view(block);animation-range:entry 25% cover 70%}
      }
    }
    @keyframes aurZoomIn{from{transform:scale(.82)}to{transform:scale(1)}}
    @keyframes aurZoomCap{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}

/* builder-blocks-aurora */
    .aur-hl .aur-txt{color:#94a3b8;font-weight:800;line-height:1.28;letter-spacing:-.01em}
    @supports ((-webkit-background-clip: text) or (background-clip: text)){
      .aur-hl .aur-txt{background-image:linear-gradient(90deg,#0f172a,#0f172a);background-repeat:no-repeat;background-size:0% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#0f172a}
      @media (prefers-reduced-motion: no-preference){
        @supports (animation-timeline: view()){
          .aur-hl .aur-txt{animation:aurHlSweep linear both;animation-timeline:view(block);animation-range:entry 30% cover 65%}
        }
      }
    }
    @keyframes aurHlSweep{from{background-size:0% 100%}to{background-size:100% 100%}}

/* builder-blocks-aurora */
    @property --aurAng{syntax:'<angle>';initial-value:0deg;inherits:false}
    .aur-gb .aur-bc{position:relative;border-radius:1.5rem;padding:1px;background:linear-gradient(#334155,#334155);height:100%}
    @supports (background:conic-gradient(from var(--aurAng),red,blue)){
      .aur-gb .aur-bc{background:conic-gradient(from var(--aurAng),#6366f1,#d946ef,#06b6d4,#6366f1)}
      @media (prefers-reduced-motion: no-preference){.aur-gb .aur-bc{animation:aurAngSpin 7s linear infinite}}
    }
    @keyframes aurAngSpin{to{--aurAng:360deg}}
    .aur-gb .aur-in{height:100%;border-radius:calc(1.5rem - 1px);background:#020617;padding:2rem}

/* builder-blocks-aurora */
    .aur-rain .aur-c{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .aur-rain .aur-col{height:26rem;overflow:hidden;position:relative}
    .aur-rain .aur-col::before,.aur-rain .aur-col::after{content:'';position:absolute;left:0;right:0;height:4rem;z-index:2;pointer-events:none}
    .aur-rain .aur-col::before{top:0;background:linear-gradient(#f8fafc,transparent)}
    .aur-rain .aur-col::after{bottom:0;background:linear-gradient(transparent,#f8fafc)}
    .aur-rain .aur-lane{display:flex;flex-direction:column;gap:1rem}
    @media (prefers-reduced-motion: no-preference){
      .aur-rain .aur-lane{animation:aurRainUp 34s linear infinite}
      .aur-rain .aur-lane-2{animation:aurRainDown 40s linear infinite}
    }
    .aur-rain .aur-c:checked~.aur-cols .aur-lane{animation-play-state:paused}
    @keyframes aurRainUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
    @keyframes aurRainDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
    .aur-rain .aur-btn{display:inline-flex;cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.4rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#475569}
    .aur-rain .aur-btn:hover{border-color:#0f172a;color:#0f172a}
    .aur-rain .aur-play{display:none}
    .aur-rain .aur-c:checked~.aur-ctl .aur-pause{display:none}
    .aur-rain .aur-c:checked~.aur-ctl .aur-play{display:inline}

/* builder-blocks-aurora */
    .aur-hot .aur-scene{position:relative;border-radius:1.75rem;overflow:hidden;border:1px solid #e2e8f0}
    .aur-hot .aur-spot{position:absolute}
    .aur-hot .aur-pin{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;border:2px solid #fff;background:#4f46e5;color:#fff;font-size:.75rem;font-weight:800;cursor:pointer;box-shadow:0 8px 20px -6px rgba(79,70,229,.8)}
    .aur-hot .aur-pin:hover{background:#4338ca}
    .aur-hot .aur-tip{position:absolute;left:0;top:2.5rem;width:15rem;border-radius:1rem;background:#0f172a;color:#fff;padding:.9rem 1rem;opacity:0;visibility:hidden;transform:translateY(.4rem);transition:opacity .22s,transform .22s,visibility .22s}
    .aur-hot .aur-pin:hover+.aur-tip,.aur-hot .aur-pin:focus-visible+.aur-tip{opacity:1;visibility:visible;transform:translateY(0)}
    @media (prefers-reduced-motion: reduce){.aur-hot .aur-tip{transition:none}}

/* builder-blocks-aurora */
    .aur-spin3d .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .aur-spin3d .aur-stage{position:relative;height:22rem;border-radius:1.75rem;overflow:hidden;background:#fff;border:1px solid #e2e8f0}
    .aur-spin3d .aur-f{position:absolute;inset:0;opacity:0;transition:opacity .18s}
    .aur-spin3d .aur-f img{width:100%;height:100%;object-fit:cover}
    .aur-spin3d #aurSpin0:checked~.aur-stage .aur-f0,.aur-spin3d #aurSpin1:checked~.aur-stage .aur-f1,.aur-spin3d #aurSpin2:checked~.aur-stage .aur-f2,.aur-spin3d #aurSpin3:checked~.aur-stage .aur-f3,.aur-spin3d #aurSpin4:checked~.aur-stage .aur-f4,.aur-spin3d #aurSpin5:checked~.aur-stage .aur-f5{opacity:1}
    .aur-spin3d .aur-chip{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.5rem 1rem;font-size:.75rem;font-weight:700;color:#475569}
    .aur-spin3d .aur-chip:hover{border-color:#0f172a;color:#0f172a}
    .aur-spin3d #aurSpin0:checked~.aur-chips label[for='aurSpin0'],.aur-spin3d #aurSpin1:checked~.aur-chips label[for='aurSpin1'],.aur-spin3d #aurSpin2:checked~.aur-chips label[for='aurSpin2'],.aur-spin3d #aurSpin3:checked~.aur-chips label[for='aurSpin3'],.aur-spin3d #aurSpin4:checked~.aur-chips label[for='aurSpin4'],.aur-spin3d #aurSpin5:checked~.aur-chips label[for='aurSpin5']{background:#0f172a;color:#fff;border-color:#0f172a}
    @media (prefers-reduced-motion: reduce){.aur-spin3d .aur-f{transition:none}}

/* builder-blocks-aurora */
    .aur-full .aur-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.5rem 1rem 1.5rem;scrollbar-width:thin}
    .aur-full .aur-rail:focus-visible{outline:2px solid #a5b4fc;outline-offset:-4px}
    .aur-full .aur-card{flex:0 0 auto;width:min(80vw,32rem);scroll-snap-align:start;border-radius:1.5rem;overflow:hidden;position:relative;display:block;border:1px solid rgba(255,255,255,.12);transition:border-color .4s}
    .aur-full .aur-card img{width:100%;height:20rem;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
    .aur-full .aur-card:hover img{transform:scale(1.05)}
    .aur-full .aur-card:hover{border-color:rgba(165,180,252,.6)}
    @media (prefers-reduced-motion: reduce){.aur-full .aur-card img{transition:none}}

/* builder-blocks-aurora */
    .aur-bg{isolation:isolate}
    .aur-bg .aur-layer{position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(35% 45% at 20% 30%,rgba(99,102,241,.55),transparent 70%),radial-gradient(32% 42% at 78% 24%,rgba(217,70,239,.45),transparent 72%),radial-gradient(40% 40% at 55% 78%,rgba(6,182,212,.4),transparent 72%)}
    .aur-bg .aur-sweep{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-30%)}
    @media (prefers-reduced-motion: no-preference){
      .aur-bg .aur-layer{animation:aurBgPulse 18s ease-in-out infinite}
      .aur-bg .aur-sweep{animation:aurBgSweep 9s linear infinite}
    }
    @keyframes aurBgPulse{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(6deg)}}
    @keyframes aurBgSweep{from{transform:translateX(-40%)}to{transform:translateX(40%)}}

/* builder-blocks-aurora */
    .aur-spot{isolation:isolate}
    .aur-spot .aur-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.16) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(62% 60% at 50% 28%,#000 35%,transparent 100%);mask-image:radial-gradient(62% 60% at 50% 28%,#000 35%,transparent 100%)}
    .aur-spot .aur-glow{position:absolute;left:50%;top:-12rem;width:56rem;height:42rem;z-index:-1;transform:translateX(-50%);pointer-events:none;background:radial-gradient(closest-side,rgba(99,102,241,.5),transparent 72%);filter:blur(18px)}
    .aur-spot .aur-noise{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:5px 5px}
    @media (prefers-reduced-motion: no-preference){.aur-spot .aur-glow{animation:aurSpotBreathe 12s ease-in-out infinite}}
    @keyframes aurSpotBreathe{0%,100%{opacity:.75;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.08)}}

/* builder-blocks-suite */
    .suite-deliv .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .suite-deliv .aur-chip{cursor:pointer;display:block;border-radius:1rem;border:1px solid #cbd5e1;background:#fff;padding:1rem 1.15rem;transition:border-color .2s,box-shadow .2s}
    .suite-deliv .aur-chip:hover{border-color:#0f172a}
    .suite-deliv .aur-panel{display:none;margin-top:1.5rem}
    .suite-deliv #sdStd:checked~.aur-chips label[for='sdStd'],.suite-deliv #sdExp:checked~.aur-chips label[for='sdExp'],.suite-deliv #sdNext:checked~.aur-chips label[for='sdNext']{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.15)}
    .suite-deliv #sdStd:checked~.aur-out .aur-p-std,.suite-deliv #sdExp:checked~.aur-out .aur-p-exp,.suite-deliv #sdNext:checked~.aur-out .aur-p-next{display:block}

/* builder-blocks-suite */
    .suite-rev .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .suite-rev .aur-chip{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.5rem 1rem;font-size:.8rem;font-weight:700;color:#475569}
    .suite-rev .aur-chip:hover{border-color:#0f172a;color:#0f172a}
    .suite-rev .aur-list{display:none}
    /* :has() on the block root - the chips and lists live inside the two-column
       grid, so they are not siblings of the radios. First list is the default so
       the section is never empty without :has(). */
    .suite-rev .aur-l-all{display:block}
    .suite-rev:has(#rvAll:checked) label[for='rvAll'],
    .suite-rev:has(#rvPhoto:checked) label[for='rvPhoto'],
    .suite-rev:has(#rvCrit:checked) label[for='rvCrit']{background:#0f172a;color:#fff;border-color:#0f172a}
    .suite-rev:has(#rvPhoto:checked) .aur-l-all,
    .suite-rev:has(#rvCrit:checked) .aur-l-all{display:none}
    .suite-rev:has(#rvPhoto:checked) .aur-l-photo,
    .suite-rev:has(#rvCrit:checked) .aur-l-crit{display:block}

/* builder-blocks-suite */
    .suite-cust .aur-opt{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.55rem 1.1rem;font-size:.8rem;font-weight:700;color:#475569}
    .suite-cust .aur-opt:hover{border-color:#0f172a}
    .suite-cust .aur-box{cursor:pointer;display:flex;gap:.75rem;align-items:flex-start;border-radius:1rem;border:1px solid #cbd5e1;background:#fff;padding:1rem}
    .suite-cust .aur-box:hover{border-color:#0f172a}
    .suite-cust input[type='radio'],.suite-cust input[type='checkbox']{margin-top:.2rem;accent-color:#4f46e5}
    .suite-cust .aur-note{display:none;margin-top:1rem;border-radius:1rem;background:#eef2ff;color:#3730a3;padding:1rem 1.15rem;font-size:.9rem}
    .suite-cust #cstEngrave:checked~.aur-body .aur-n-engrave,.suite-cust #cstWrap:checked~.aur-body .aur-n-wrap,.suite-cust #cstGiftbox:checked~.aur-body .aur-n-giftbox{display:block}

/* builder-blocks-suite */
    .suite-buybar .aur-bar{position:sticky;bottom:0;z-index:20;border-radius:1.25rem;border:1px solid #e2e8f0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px) saturate(140%);box-shadow:0 24px 48px -32px rgba(15,23,42,.5)}
    @supports not (backdrop-filter: blur(4px)){.suite-buybar .aur-bar{background:#fff}}

/* builder-blocks-suite */
    .suite-track .aur-node{position:relative;padding-left:2.5rem;padding-bottom:2rem}
    .suite-track .aur-node::before{content:'';position:absolute;left:.55rem;top:1.5rem;bottom:0;width:2px;background:#cbd5e1}
    .suite-track .aur-node:last-child::before{display:none}
    .suite-track .aur-dot{position:absolute;left:0;top:.15rem;width:1.25rem;height:1.25rem;border-radius:9999px;border:3px solid #4f46e5;background:#fff}
    .suite-track .aur-dot-done{background:#4f46e5}

/* builder-blocks-suite */
    .suite-ugc .aur-pic{border-radius:1.25rem;overflow:hidden;position:relative;display:block;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
    .suite-ugc .aur-pic:hover{transform:translateY(-6px)}
    .suite-ugc .aur-pic:hover img{transform:scale(1.06)}
    .suite-ugc .aur-pic img{transition:transform .5s cubic-bezier(.22,.61,.36,1)}
    .suite-ugc .aur-handle{position:absolute;left:.75rem;bottom:.75rem;border-radius:9999px;background:rgba(2,6,23,.72);color:#fff;padding:.3rem .75rem;font-size:.72rem;font-weight:700}
    @media (prefers-reduced-motion: reduce){.suite-ugc .aur-pic,.suite-ugc .aur-pic img{transition:none}}

/* builder-blocks-suite */
    .suite-stories .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .suite-stories .aur-chip{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.5rem 1rem;font-size:.8rem;font-weight:700;color:#475569}
    .suite-stories .aur-chip:hover{border-color:#0f172a;color:#0f172a}
    .suite-stories .aur-set{display:none}
    /* :has() on the block root: the filter chips sit in the heading row, so they
       are not siblings of the radios. The unfiltered set is the default. */
    .suite-stories .aur-s-all{display:grid}
    .suite-stories:has(#stAll:checked) label[for='stAll'],
    .suite-stories:has(#stSaas:checked) label[for='stSaas'],
    .suite-stories:has(#stRetail:checked) label[for='stRetail'],
    .suite-stories:has(#stAgency:checked) label[for='stAgency']{background:#0f172a;color:#fff;border-color:#0f172a}
    .suite-stories:has(#stSaas:checked) .aur-s-all,
    .suite-stories:has(#stRetail:checked) .aur-s-all,
    .suite-stories:has(#stAgency:checked) .aur-s-all{display:none}
    .suite-stories:has(#stSaas:checked) .aur-s-saas,
    .suite-stories:has(#stRetail:checked) .aur-s-retail,
    .suite-stories:has(#stAgency:checked) .aur-s-agency{display:grid}

/* builder-blocks-suite */
    .suite-code .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .suite-code .aur-tab{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.45rem 1rem;font-size:.78rem;font-weight:700;color:#475569}
    .suite-code .aur-tab:hover{border-color:#0f172a;color:#0f172a}
    .suite-code .aur-block{display:none}
    .suite-code #cTabCurl:checked~.aur-tabs label[for='cTabCurl'],.suite-code #cTabNode:checked~.aur-tabs label[for='cTabNode'],.suite-code #cTabPhp:checked~.aur-tabs label[for='cTabPhp'],.suite-code #cTabPy:checked~.aur-tabs label[for='cTabPy']{background:#0f172a;color:#fff;border-color:#0f172a}
    .suite-code #cTabCurl:checked~.aur-body .aur-b-curl,.suite-code #cTabNode:checked~.aur-body .aur-b-node,.suite-code #cTabPhp:checked~.aur-body .aur-b-php,.suite-code #cTabPy:checked~.aur-body .aur-b-py{display:block}

/* builder-blocks-suite */
    .suite-help .aur-r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .suite-help .aur-chip{cursor:pointer;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;padding:.45rem 1.1rem;font-size:.8rem;font-weight:700;color:#475569}
    .suite-help .aur-reply{display:none;margin-top:1rem;border-radius:1rem;background:#eef2ff;padding:.9rem 1.1rem;font-size:.9rem;color:#3730a3}
    .suite-help #hlYes:checked~.aur-foot .aur-r-yes,.suite-help #hlNo:checked~.aur-foot .aur-r-no,.suite-help #hlYes:checked~.aur-foot label[for='hlYes'],.suite-help #hlNo:checked~.aur-foot label[for='hlNo']{display:block}

/* builder-blocks-suite */
    .suite-org .aur-box{border-radius:1.25rem;border:1px solid #e2e8f0;background:#fff;padding:1.15rem;text-align:center;transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s}
    .suite-org .aur-box:hover{transform:translateY(-4px);box-shadow:0 24px 40px -32px rgba(15,23,42,.5)}
    .suite-org .aur-line{height:2px;background:#e2e8f0}
    @media (prefers-reduced-motion: reduce){.suite-org .aur-box{transition:none}}

/* builder-blocks-suite */
    .suite-status .aur-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9}
    .suite-status .aur-row:last-child{border-bottom:0}
    .suite-status .aur-up::before,.suite-status .aur-down::before,.suite-status .aur-warn::before{content:'';display:inline-block;width:.6rem;height:.6rem;border-radius:9999px;margin-right:.6rem}
    .suite-status .aur-up::before{background:#10b981}
    .suite-status .aur-warn::before{background:#f59e0b}
    .suite-status .aur-down::before{background:#ef4444}
