/** NCDE Sprint 1.6.2 — Living Glass Card Growth */
:root{--ncde15-gold:#d9b45a;--ncde15-gold-soft:#f2d58c;--ncde15-green:#031b14;--ncde15-green-deep:#00110d;--ncde15-ivory:#f3edda}
html.nt14-active,html.ncde15-active{overflow:hidden}
.ncde15{position:fixed;inset:0;z-index:10000;overflow:hidden;color:var(--ncde15-ivory);background:radial-gradient(circle at 50% 46%,#0a3829 0,#05261c 28%,#031b14 58%,#00110d 100%);font-family:inherit;opacity:1;transition:opacity .65s ease,visibility .65s ease}
.ncde15[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none}
.ncde15__atmosphere,.ncde15__vignette,.ncde15__particles{position:absolute;inset:0;pointer-events:none}
.ncde15__atmosphere:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 50% 52%,rgba(42,112,80,.16),transparent 42%),linear-gradient(115deg,transparent 25%,rgba(219,180,90,.025) 48%,transparent 70%);animation:ncde15Atmosphere 13s ease-in-out infinite alternate}
.ncde15__vignette{background:radial-gradient(ellipse at center,transparent 35%,rgba(0,8,6,.25) 70%,rgba(0,5,4,.7) 100%)}
.ncde15__fog{position:absolute;width:70vw;height:36vw;max-height:430px;border-radius:50%;filter:blur(70px);opacity:.12;background:#79a58f;animation:ncde15Fog 18s ease-in-out infinite alternate}
.ncde15__fog--one{left:-20%;top:12%}.ncde15__fog--two{right:-22%;bottom:5%;animation-delay:-9s}
.ncde15__particles i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:var(--ncde15-gold-soft);box-shadow:0 0 10px rgba(242,213,140,.72);opacity:.2;animation:ncde15Particle var(--d) ease-in-out var(--delay) infinite}
.ncde15__stage{position:absolute;inset:clamp(22px,3.2vw,52px);isolation:isolate}
.ncde15__connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.ncde15__connections path{fill:none;stroke:rgba(225,190,103,.58);stroke-width:1.35;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke .35s ease,opacity .35s ease,filter .35s ease}
.ncde15.is-awakening .ncde15__connections path{animation:ncde15Draw 1s cubic-bezier(.2,.72,.2,1) forwards;animation-delay:calc(2.2s + var(--line-delay,0s))}
.ncde15__connections path:nth-child(1){--line-delay:0s}.ncde15__connections path:nth-child(2){--line-delay:.14s}.ncde15__connections path:nth-child(3){--line-delay:.28s}.ncde15__connections path:nth-child(4){--line-delay:.42s}.ncde15__connections path:nth-child(5){--line-delay:.56s}.ncde15__connections path:nth-child(6){--line-delay:.7s}.ncde15__connections path:nth-child(7){--line-delay:.84s}.ncde15__connections path:nth-child(8){--line-delay:.98s}
.ncde15.is-ready .ncde15__connections path{stroke-dashoffset:0;opacity:.72;animation:ncde15Flow 4.8s linear infinite}
.ncde15__connections path.is-active{stroke:var(--ncde15-gold-soft);opacity:1;filter:drop-shadow(0 0 5px rgba(242,213,140,.85))}
.ncde15__core{position:absolute;left:50%;top:50%;width:clamp(130px,18vw,230px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:4;display:grid;place-items:center}
.ncde15.is-awakening .ncde15__core{animation:ncde15CoreReveal 1.8s cubic-bezier(.18,.82,.18,1) .35s forwards}
.ncde15.is-ready .ncde15__core{opacity:1;transform:translate(-50%,-50%) scale(1);animation:ncde15Breathe 5.8s ease-in-out infinite}
.ncde15__logo{position:relative;z-index:3;width:72%;height:auto;object-fit:contain;filter:drop-shadow(0 0 14px rgba(217,180,90,.3))}
.ncde15__core-halo{position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,rgba(217,180,90,.16),rgba(217,180,90,.045) 45%,transparent 72%);box-shadow:0 0 55px rgba(217,180,90,.12)}
.ncde15__core-orbit{position:absolute;border:1px solid rgba(217,180,90,.22);border-radius:50%;animation:ncde15Orbit 16s linear infinite}.ncde15__core-orbit:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--ncde15-gold-soft);box-shadow:0 0 12px var(--ncde15-gold-soft)}
.ncde15__core-orbit--one{inset:3%}.ncde15__core-orbit--two{inset:-9%;opacity:.45;animation-direction:reverse;animation-duration:23s}
.ncde15__core-caption{position:absolute;top:89%;font-size:clamp(.54rem,.8vw,.7rem);letter-spacing:.24em;text-transform:uppercase;color:rgba(243,237,218,.56);white-space:nowrap}
.ncde15__node{position:absolute;left:var(--x);top:var(--y);z-index:5;width:clamp(112px,13vw,174px);transform:translate(-50%,-50%) scale(.15);opacity:0;border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:center}
.ncde15.is-awakening .ncde15__node{animation:ncde15NodeReveal .72s cubic-bezier(.18,.84,.2,1) forwards;animation-delay:calc(3.05s + var(--delay))}
.ncde15.is-ready .ncde15__node{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ncde15__node-light{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--ncde15-gold-soft);box-shadow:0 0 18px var(--ncde15-gold-soft),0 0 34px rgba(217,180,90,.5);transform:translate(-50%,-50%) scale(.3);opacity:.7}
.ncde15__node-glass{position:relative;margin:auto;display:grid;place-items:center;width:clamp(50px,5.8vw,72px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(234,205,132,.38);background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(8,45,33,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 10px 35px rgba(0,0,0,.22),0 0 0 7px rgba(217,180,90,.025);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,background .32s ease}
.ncde15__node-icon{width:42%;color:var(--ncde15-gold-soft);filter:drop-shadow(0 0 7px rgba(242,213,140,.3))}.ncde15__node-icon svg{display:block;width:100%;height:auto}
.ncde15__node-label{display:block;margin:10px auto 0;max-width:174px;font-size:clamp(.62rem,.9vw,.82rem);line-height:1.25;letter-spacing:.055em;color:rgba(243,237,218,.82);text-shadow:0 2px 12px rgba(0,0,0,.5);transition:color .3s ease,transform .3s ease}
.ncde15__node:hover .ncde15__node-glass,.ncde15__node:focus-visible .ncde15__node-glass,.ncde15__node.is-active .ncde15__node-glass{transform:scale(1.12);border-color:rgba(242,213,140,.82);background:linear-gradient(145deg,rgba(242,213,140,.16),rgba(8,45,33,.44));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 15px 42px rgba(0,0,0,.3),0 0 28px rgba(217,180,90,.28)}
.ncde15__node:hover .ncde15__node-label,.ncde15__node:focus-visible .ncde15__node-label,.ncde15__node.is-active .ncde15__node-label{color:#fff6d9;transform:translateY(2px)}
.ncde15.is-ready .ncde15__node:nth-of-type(odd) .ncde15__node-light{animation:ncde15Pulse 3.6s ease-in-out infinite}.ncde15.is-ready .ncde15__node:nth-of-type(even) .ncde15__node-light{animation:ncde15Pulse 3.6s ease-in-out .8s infinite}
.ncde15__card{position:absolute;z-index:12;width:min(340px,calc(100vw - 30px));padding:24px 24px 22px;border:1px solid rgba(232,199,117,.34);border-radius:24px;background:linear-gradient(145deg,rgba(8,42,31,.88),rgba(1,22,16,.94));box-shadow:0 25px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:scale(.9) translateY(8px);transform-origin:var(--origin-x,50%) var(--origin-y,50%);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
.ncde15__card.is-visible{opacity:1;visibility:visible;transform:scale(1) translateY(0)}
.ncde15__card-close{position:absolute;right:13px;top:10px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.05);color:rgba(255,255,255,.68);font-size:1.25rem;cursor:pointer}.ncde15__card-index{font-size:.67rem;letter-spacing:.28em;color:var(--ncde15-gold)}.ncde15__card h2{margin:10px 34px 9px 0;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:500;line-height:1.18}.ncde15__card p{margin:0 0 18px;color:rgba(243,237,218,.7);font-size:.9rem;line-height:1.6}.ncde15__card-cta{display:inline-flex;align-items:center;gap:10px;color:var(--ncde15-gold-soft);text-decoration:none;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.ncde15__hint{position:absolute;left:50%;bottom:1.3%;z-index:6;transform:translateX(-50%);margin:0;font-size:clamp(.58rem,.8vw,.72rem);letter-spacing:.13em;text-transform:uppercase;color:rgba(243,237,218,.42);white-space:nowrap;opacity:0}.ncde15.is-ready .ncde15__hint{animation:ncde15Hint .8s ease .25s forwards}.ncde15__hint.is-dim{opacity:.12!important}
.ncde15__replay{position:absolute;right:0;bottom:0;z-index:7;width:36px;height:36px;border:1px solid rgba(217,180,90,.25);border-radius:50%;background:rgba(0,20,15,.45);color:rgba(243,237,218,.62);cursor:pointer;opacity:0;transition:opacity .3s ease,transform .3s ease}.ncde15.is-ready .ncde15__replay{opacity:.7}.ncde15__replay:hover{opacity:1;transform:rotate(-35deg)}
.ncde15__transition{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:#00110d;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease}.ncde15__transition.is-active{opacity:1;visibility:visible}.ncde15__transition span{position:absolute;width:80px;height:80px;border-radius:50%;border:1px solid rgba(217,180,90,.4);animation:ncde15Transition 1.4s ease-in-out infinite}.ncde15__transition p{margin-top:125px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,237,218,.62)}
.ncde15.is-instant *{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}
@keyframes ncde15Atmosphere{to{transform:scale(1.05) translate3d(1%,1%,0)}}@keyframes ncde15Fog{to{transform:translate3d(12%,8%,0) scale(1.15)}}@keyframes ncde15Particle{0%,100%{transform:translateY(0) scale(.7);opacity:.1}50%{transform:translateY(-24px) scale(1.2);opacity:.55}}@keyframes ncde15CoreReveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.15);filter:blur(10px)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.08);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ncde15Draw{0%{stroke-dashoffset:1;opacity:0}15%{opacity:1}100%{stroke-dashoffset:0;opacity:.72}}@keyframes ncde15NodeReveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.1);filter:blur(7px)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.12);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ncde15Breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.035)}}@keyframes ncde15Orbit{to{transform:rotate(360deg)}}@keyframes ncde15Pulse{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.65)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}}@keyframes ncde15Flow{0%{stroke-dasharray:.02 .055;stroke-dashoffset:0}100%{stroke-dasharray:.02 .055;stroke-dashoffset:-.3}}@keyframes ncde15Hint{to{opacity:1}}@keyframes ncde15Transition{0%,100%{transform:scale(.7);opacity:.28}50%{transform:scale(1.22);opacity:.8}}
@media(max-width:760px){.ncde15__stage{inset:16px 10px 18px}.ncde15__core{width:122px}.ncde15__node{width:96px}.ncde15__node-glass{width:48px}.ncde15__node-label{margin-top:7px;font-size:.57rem;line-height:1.18;max-width:96px}.ncde15__core-caption{font-size:.48rem}.ncde15__hint{bottom:.6%;font-size:.5rem}.ncde15__replay{right:4px;bottom:2px;width:32px;height:32px}.ncde15__card{padding:21px 20px 19px;border-radius:20px}.ncde15__connections path{stroke-width:1}}
@media(max-width:420px){.ncde15__node{width:84px}.ncde15__node-glass{width:43px}.ncde15__node-label{font-size:.52rem;max-width:84px}.ncde15__core{width:108px}.ncde15__stage{inset:12px 4px 14px}}
@media(prefers-reduced-motion:reduce){.ncde15 *{animation-duration:.001ms!important;animation-delay:0ms!important;scroll-behavior:auto!important}}

/* ============================================================
   NCDE Sprint 1.6.1 — Premium Glass Card Enhancement
   ============================================================ */
.ncde15__core-halo{animation:ncde16CoreGlow 5.8s ease-in-out infinite}
.ncde15__logo{filter:drop-shadow(0 0 9px rgba(235,204,126,.2));transition:filter .6s ease}
.ncde15.is-idle-alive .ncde15__logo{animation:ncde16LogoLight 5.8s ease-in-out infinite}
.ncde15__connections{overflow:visible}
.ncde15__connections path{transition:opacity .42s ease,stroke .42s ease,filter .42s ease,stroke-width .42s ease}
.ncde15__connections path.is-flowing{stroke:rgba(255,229,158,.92);stroke-width:2.2;opacity:1;filter:drop-shadow(0 0 7px rgba(233,195,99,.8))}
.ncde15__connections path.is-notifying{stroke:rgba(255,239,183,1);stroke-width:2.8;opacity:1;filter:drop-shadow(0 0 11px rgba(255,210,100,.95))}
.ncde16__energy-layer{pointer-events:none}
.ncde16__energy-orb,.ncde16__energy-trail{opacity:0;transition:opacity .2s ease;transform-box:fill-box;transform-origin:center}
.ncde16__energy-orb{fill:#fff1b8;filter:drop-shadow(0 0 3px #fff8dc) drop-shadow(0 0 11px rgba(244,204,99,.95))}
.ncde16__energy-trail{fill:rgba(230,187,81,.22);filter:blur(2px) drop-shadow(0 0 8px rgba(230,187,81,.78))}
.ncde16__energy-orb.is-visible,.ncde16__energy-trail.is-visible{opacity:1}
.ncde16__energy-orb.is-visible{animation:ncde16OrbBreath .55s ease-in-out infinite alternate}
.ncde16__ripple{fill:none;stroke:rgba(255,224,146,.82);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none}
.ncde16__ripple.is-visible{animation:ncde16Ripple .95s cubic-bezier(.15,.75,.25,1) forwards}
.ncde16__ripple.is-notification{stroke:rgba(255,240,187,1);stroke-width:3;animation:ncde16NotifyRipple 1.25s cubic-bezier(.15,.75,.25,1) forwards}
.ncde15__node.is-attention{z-index:9;animation:ncde16NodeLift 1.05s cubic-bezier(.2,.75,.25,1)}
.ncde15__node.is-attention .ncde15__node-glass{border-color:rgba(255,225,145,.92);background:linear-gradient(145deg,rgba(245,210,120,.2),rgba(8,45,33,.52));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 17px 44px rgba(0,0,0,.34),0 0 34px rgba(226,184,78,.42)}
.ncde15__node.is-attention .ncde15__node-icon{color:#fff0bd;filter:drop-shadow(0 0 10px rgba(255,220,130,.75))}
.ncde15__node.is-attention .ncde15__node-label{color:#fff7dc;text-shadow:0 0 14px rgba(244,207,111,.58)}
.ncde15__node.is-ripple .ncde15__node-light{animation:ncde16LocalHalo 1s ease-out}
.ncde15__node.is-notifying{z-index:10;animation:ncde16NotifyPulse .72s cubic-bezier(.18,.85,.25,1) 2}
.ncde15__node.is-notifying .ncde15__node-glass{border-color:#ffe7a5;background:linear-gradient(145deg,rgba(255,222,137,.28),rgba(10,52,38,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 20px 52px rgba(0,0,0,.38),0 0 46px rgba(255,207,91,.68)}
.ncde15__node.is-notifying .ncde15__node-icon,.ncde15__node.is-notifying .ncde15__node-label{color:#fff8dd;filter:drop-shadow(0 0 13px rgba(255,224,145,.9))}
.ncde15.is-idle-alive .ncde15__hint{animation:ncde16HintBreath 4.2s ease-in-out infinite}
.ncde15.has-visual-notification .ncde15__core-halo{animation:ncde16CoreNotify 1.1s ease-in-out 2}
.ncde15.has-visual-notification .ncde15__node:not(.is-notifying){opacity:.58;transition:opacity .45s ease}
.ncde15__node{will-change:transform,opacity}
.ncde15__node-glass,.ncde15__node-label,.ncde15__node-icon{will-change:transform,filter,opacity}
@keyframes ncde16CoreGlow{0%,100%{opacity:.42;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes ncde16LogoLight{0%,100%{filter:drop-shadow(0 0 8px rgba(235,204,126,.18))}50%{filter:drop-shadow(0 0 16px rgba(244,211,124,.42))}}
@keyframes ncde16OrbBreath{from{transform:scale(.82)}to{transform:scale(1.28)}}
@keyframes ncde16Ripple{0%{opacity:.9;transform:scale(.25)}70%{opacity:.34}100%{opacity:0;transform:scale(3)}}
@keyframes ncde16NotifyRipple{0%{opacity:1;transform:scale(.2)}55%{opacity:.62}100%{opacity:0;transform:scale(4.2)}}
@keyframes ncde16NodeLift{0%,100%{transform:translate(-50%,-50%) scale(1)}48%{transform:translate(-50%,-50%) scale(1.1)}}
@keyframes ncde16NotifyPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.14)}}
@keyframes ncde16LocalHalo{0%{opacity:.25;transform:translate(-50%,-50%) scale(.6)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.1)}}
@keyframes ncde16HintBreath{0%,100%{opacity:.38;letter-spacing:.13em}50%{opacity:.72;letter-spacing:.16em}}
@keyframes ncde16CoreNotify{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.95)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}
@media(prefers-reduced-motion:reduce){.ncde16__energy-layer{display:none}.ncde15__node.is-attention,.ncde15__node.is-notifying,.ncde15.is-idle-alive .ncde15__logo,.ncde15.is-idle-alive .ncde15__hint{animation:none!important}}


/* ============================================================
   NCDE Sprint 1.6.1 — Premium Glass Card Enhancement
   Frosted transparency, living edge light, centered editorial
   layout, and arrow-only pulse entry control.
   ============================================================ */
.ncde15__card{
    isolation:isolate;
    overflow:hidden;
    width:min(390px,calc(100vw - 30px));
    padding:34px 30px 30px;
    border:1px solid rgba(244,210,126,.72);
    border-radius:30px;
    background:
        radial-gradient(circle at 50% 6%,rgba(235,202,115,.10),transparent 34%),
        linear-gradient(155deg,rgba(15,68,50,.58),rgba(2,27,20,.68));
    box-shadow:
        0 28px 90px rgba(0,0,0,.50),
        0 0 28px rgba(222,181,84,.18),
        inset 0 1px 0 rgba(255,255,255,.15),
        inset 0 0 38px rgba(95,164,126,.08);
    backdrop-filter:blur(27px) saturate(132%);
    -webkit-backdrop-filter:blur(27px) saturate(132%);
    text-align:center;
}
.ncde15__card::before{
    content:"";
    position:absolute;
    inset:-2px;
    z-index:0;
    border-radius:inherit;
    padding:2px;
    background:conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(243,210,125,.12) 45deg,
        rgba(255,230,159,.98) 74deg,
        rgba(243,210,125,.18) 104deg,
        transparent 150deg,
        transparent 360deg
    );
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    animation:ncde161EdgeOrbit 5.8s linear infinite;
    filter:drop-shadow(0 0 7px rgba(246,211,124,.70));
}
.ncde15__card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:inherit;
    background:
        linear-gradient(115deg,transparent 20%,rgba(255,239,191,.05) 44%,rgba(255,239,191,.12) 50%,rgba(255,239,191,.04) 56%,transparent 78%);
    transform:translateX(-120%);
    animation:ncde161GlassSheen 7.2s ease-in-out infinite;
    pointer-events:none;
}
.ncde15__card > *{position:relative;z-index:2}
.ncde15__card-close{
    right:16px;
    top:15px;
    width:38px;
    height:38px;
    border:1px solid rgba(234,199,112,.50);
    background:rgba(3,31,23,.42);
    color:rgba(247,224,164,.92);
    box-shadow:0 0 14px rgba(222,181,84,.10);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.ncde15__card-close:hover,.ncde15__card-close:focus-visible{
    transform:rotate(90deg) scale(1.05);
    background:rgba(23,69,52,.68);
    box-shadow:0 0 18px rgba(231,196,108,.28);
}
.ncde15__card-index{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:110px;
    margin:2px auto 0;
    color:var(--ncde15-gold-soft);
    font-size:.72rem;
    letter-spacing:.30em;
}
.ncde15__card-index::before,.ncde15__card-index::after{
    content:"";
    width:34px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(229,193,102,.72));
}
.ncde15__card-index::after{transform:scaleX(-1)}
.ncde15__card h2{
    max-width:310px;
    margin:18px auto 14px;
    color:#f4edd9;
    font-size:clamp(1.55rem,4.5vw,2.15rem);
    font-weight:500;
    line-height:1.14;
    text-wrap:balance;
    text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.ncde15__card h2::after{
    content:"◆";
    display:block;
    margin:17px auto 0;
    color:var(--ncde15-gold-soft);
    font-size:.52rem;
    text-shadow:-42px 0 0 rgba(218,180,88,.36),42px 0 0 rgba(218,180,88,.36);
}
.ncde15__card p{
    max-width:305px;
    margin:0 auto 23px;
    color:rgba(243,237,218,.78);
    font-size:.94rem;
    line-height:1.7;
    text-wrap:pretty;
}
.ncde15__card-cta{
    position:relative;
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    margin:4px auto 0;
    border:1px solid rgba(245,211,125,.78);
    border-radius:50%;
    background:
        radial-gradient(circle at 50% 42%,rgba(249,223,151,.21),rgba(215,176,76,.08) 48%,rgba(2,28,21,.34) 72%);
    color:#ffe6a0;
    text-decoration:none;
    box-shadow:
        0 0 0 0 rgba(239,201,107,.38),
        0 0 22px rgba(231,190,91,.25),
        inset 0 0 16px rgba(248,220,145,.11);
    transform:translateZ(0);
    animation:ncde161ArrowPulse 2.2s ease-in-out infinite;
}
.ncde15__card-cta::before{
    content:"";
    position:absolute;
    inset:-9px;
    border:1px solid rgba(239,201,107,.20);
    border-radius:50%;
    opacity:.55;
    animation:ncde161ArrowRipple 2.2s ease-out infinite;
}
.ncde15__card-arrow{
    display:block;
    font-size:2.35rem;
    font-weight:300;
    line-height:1;
    transform:translateY(-2px);
    filter:drop-shadow(0 0 7px rgba(255,224,142,.92));
    transition:transform .26s ease,filter .26s ease;
}
.ncde15__card-cta:hover .ncde15__card-arrow,.ncde15__card-cta:focus-visible .ncde15__card-arrow{
    transform:translate(5px,-2px) scale(1.08);
    filter:drop-shadow(0 0 11px rgba(255,231,164,1));
}
.ncde15__card-cta:hover,.ncde15__card-cta:focus-visible{
    animation-play-state:paused;
    box-shadow:0 0 0 8px rgba(239,201,107,.08),0 0 30px rgba(239,201,107,.45),inset 0 0 18px rgba(255,232,171,.18);
}
@keyframes ncde161EdgeOrbit{to{transform:rotate(360deg)}}
@keyframes ncde161GlassSheen{
    0%,58%{transform:translateX(-125%);opacity:0}
    66%{opacity:.75}
    82%,100%{transform:translateX(125%);opacity:0}
}
@keyframes ncde161ArrowPulse{
    0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,201,107,.34),0 0 18px rgba(231,190,91,.22),inset 0 0 14px rgba(248,220,145,.10)}
    50%{transform:scale(1.075);box-shadow:0 0 0 9px rgba(239,201,107,0),0 0 31px rgba(239,201,107,.50),inset 0 0 20px rgba(248,220,145,.17)}
}
@keyframes ncde161ArrowRipple{
    0%{transform:scale(.82);opacity:.62}
    75%,100%{transform:scale(1.34);opacity:0}
}
@media(max-width:760px){
    .ncde15__card{
        width:min(440px,calc(100vw - 46px));
        padding:34px 24px 27px;
        border-radius:28px;
        background:
            radial-gradient(circle at 50% 5%,rgba(235,202,115,.10),transparent 35%),
            linear-gradient(155deg,rgba(14,66,49,.54),rgba(2,27,20,.64));
        backdrop-filter:blur(24px) saturate(128%);
        -webkit-backdrop-filter:blur(24px) saturate(128%);
    }
    .ncde15__card h2{max-width:290px;margin-top:17px;font-size:clamp(1.65rem,7.2vw,2.15rem)}
    .ncde15__card p{max-width:292px;font-size:.92rem;line-height:1.68}
    .ncde15__card-cta{width:66px;height:66px}
}
@media(max-width:420px){
    .ncde15__card{width:calc(100vw - 34px);padding:31px 20px 25px;border-radius:25px}
    .ncde15__card-close{right:12px;top:12px;width:35px;height:35px}
    .ncde15__card h2{max-width:260px;font-size:clamp(1.48rem,7.8vw,1.9rem)}
    .ncde15__card p{max-width:260px;font-size:.88rem;line-height:1.62}
    .ncde15__card-cta{width:62px;height:62px}
    .ncde15__card-arrow{font-size:2.15rem}
}
@media(prefers-reduced-motion:reduce){
    .ncde15__card::before,.ncde15__card::after,.ncde15__card-cta,.ncde15__card-cta::before{animation:none!important}
}


/* ============================================================
   NCDE Sprint 1.6.2 — Living Glass Card Growth
   Smaller translucent card, stronger environmental blur,
   ecosystem-grown reveal, living edge light, and rhythmic > CTA.
   ============================================================ */
.ncde15__card{
    width:min(360px,86vw);
    padding:30px 25px 25px;
    border-color:rgba(246,214,134,.62);
    border-radius:27px;
    background:
        radial-gradient(circle at 50% 3%,rgba(239,208,127,.075),transparent 34%),
        linear-gradient(155deg,rgba(17,75,55,.36),rgba(1,25,18,.47));
    box-shadow:
        0 26px 88px rgba(0,0,0,.46),
        0 0 24px rgba(225,184,88,.15),
        inset 0 1px 0 rgba(255,255,255,.13),
        inset 0 0 38px rgba(105,178,139,.06);
    backdrop-filter:blur(34px) saturate(142%);
    -webkit-backdrop-filter:blur(34px) saturate(142%);
    transform:scale(.94) translateY(8px);
}
.ncde15__card.is-visible{transform:scale(1) translateY(0)}
.ncde15__card::before{
    padding:1.5px;
    background:conic-gradient(
        from 0deg,
        transparent 0deg 32deg,
        rgba(247,214,128,.12) 48deg,
        rgba(255,237,176,1) 66deg,
        rgba(247,214,128,.24) 88deg,
        transparent 118deg 250deg,
        rgba(235,194,96,.09) 278deg,
        transparent 310deg 360deg
    );
    animation:ncde162LivingEdge 7.8s linear infinite;
    filter:drop-shadow(0 0 6px rgba(250,221,145,.72));
}
.ncde15__card::after{
    background:
        radial-gradient(circle at 50% 100%,rgba(245,207,111,.12),transparent 31%),
        linear-gradient(115deg,transparent 18%,rgba(255,240,196,.035) 43%,rgba(255,240,196,.105) 50%,rgba(255,240,196,.03) 57%,transparent 80%);
    animation:ncde162GlassSheen 8.6s ease-in-out infinite;
}
.ncde15__card.is-growing{
    animation:ncde162CardGrow 1.08s cubic-bezier(.16,.78,.18,1) both;
}
.ncde15__card.is-growing > *{
    animation:ncde162ContentBloom .66s ease .40s both;
}
.ncde15__card.is-growing::before{
    animation:ncde162EdgeBirth 1.08s cubic-bezier(.2,.78,.18,1) both,
              ncde162LivingEdge 7.8s linear 1.08s infinite;
}
.ncde15__card-close{right:14px;top:13px;width:36px;height:36px}
.ncde15__card h2{max-width:285px;margin:16px auto 12px;font-size:clamp(1.48rem,4.2vw,2rem)}
.ncde15__card h2::after{margin-top:14px}
.ncde15__card p{max-width:280px;margin-bottom:20px;font-size:.9rem;line-height:1.64}
.ncde15__card-cta{
    width:60px;
    height:60px;
    margin-top:2px;
    animation:ncde162CtaBreathe 2.7s ease-in-out infinite;
}
.ncde15__card-cta::before{inset:-8px;animation:ncde162CtaRing 2.7s ease-out infinite}
.ncde15__card-arrow{
    font-family:Arial,sans-serif;
    font-size:2.18rem;
    font-weight:300;
    transform:translate(1px,-2px) scaleX(.78);
    filter:drop-shadow(0 0 7px rgba(255,226,151,.95));
}
.ncde15__card-cta:hover .ncde15__card-arrow,.ncde15__card-cta:focus-visible .ncde15__card-arrow{
    transform:translate(4px,-2px) scaleX(.78) scale(1.06);
}
@keyframes ncde162CardGrow{
    0%{opacity:0;clip-path:inset(49% 49% 49% 49% round 50%);transform:scale(.72);filter:brightness(1.45)}
    22%{opacity:.72;clip-path:inset(44% 10% 44% 10% round 27px);transform:scale(.82);filter:brightness(1.25)}
    58%{opacity:1;clip-path:inset(0 0 48% 0 round 27px);transform:scale(.96);filter:brightness(1.10)}
    100%{opacity:1;clip-path:inset(0 0 0 0 round 27px);transform:scale(1);filter:brightness(1)}
}
@keyframes ncde162ContentBloom{
    0%{opacity:0;transform:translateY(12px) scale(.97);filter:blur(6px)}
    100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes ncde162EdgeBirth{
    0%{opacity:0;transform:rotate(-45deg) scale(.6)}
    45%{opacity:1}
    100%{opacity:1;transform:rotate(315deg) scale(1)}
}
@keyframes ncde162LivingEdge{to{transform:rotate(360deg)}}
@keyframes ncde162GlassSheen{
    0%,62%{transform:translateX(-130%);opacity:0}
    69%{opacity:.65}
    84%,100%{transform:translateX(130%);opacity:0}
}
@keyframes ncde162CtaBreathe{
    0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(240,201,103,.30),0 0 17px rgba(232,190,88,.23),inset 0 0 13px rgba(250,222,148,.10)}
    50%{transform:scale(1.065);box-shadow:0 0 0 8px rgba(240,201,103,0),0 0 29px rgba(244,207,112,.52),inset 0 0 19px rgba(255,235,179,.17)}
}
@keyframes ncde162CtaRing{
    0%{transform:scale(.84);opacity:.55}
    72%,100%{transform:scale(1.30);opacity:0}
}
@media(max-width:760px){
    .ncde15__card{
        width:min(370px,86vw);
        padding:29px 22px 24px;
        border-radius:25px;
        background:
            radial-gradient(circle at 50% 3%,rgba(239,208,127,.07),transparent 34%),
            linear-gradient(155deg,rgba(17,75,55,.34),rgba(1,25,18,.45));
        backdrop-filter:blur(36px) saturate(145%);
        -webkit-backdrop-filter:blur(36px) saturate(145%);
    }
    .ncde15__card h2{max-width:270px;font-size:clamp(1.52rem,7vw,1.92rem)}
    .ncde15__card p{max-width:270px;font-size:.88rem;line-height:1.62}
    .ncde15__card-cta{width:58px;height:58px}
}
@media(max-width:420px){
    .ncde15__card{width:86vw;padding:27px 18px 22px;border-radius:23px}
    .ncde15__card h2{max-width:245px;font-size:clamp(1.42rem,7.3vw,1.78rem)}
    .ncde15__card p{max-width:245px;font-size:.85rem}
    .ncde15__card-cta{width:56px;height:56px}
    .ncde15__card-arrow{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
    .ncde15__card.is-growing,.ncde15__card.is-growing > *,.ncde15__card.is-growing::before,
    .ncde15__card::before,.ncde15__card::after,.ncde15__card-cta,.ncde15__card-cta::before{animation:none!important}
}

/* ============================================================
   NCDE Sprint 1.6.3 — Responsive Living Glass Polish
   Faster unified reveal, smaller clearer glass, and a visibly
   travelling edge light without delayed corner construction.
   ============================================================ */
.ncde15__card{
    width:min(320px,80vw);
    padding:24px 20px 20px;
    border:1px solid rgba(249,220,145,.48);
    border-radius:22px;
    background:
        radial-gradient(circle at 50% 0%,rgba(242,211,133,.045),transparent 38%),
        linear-gradient(155deg,rgba(18,76,56,.18),rgba(1,24,18,.27));
    box-shadow:
        0 22px 70px rgba(0,0,0,.38),
        0 0 19px rgba(232,192,96,.12),
        inset 0 1px 0 rgba(255,255,255,.10),
        inset 0 0 28px rgba(108,184,143,.035);
    backdrop-filter:blur(42px) saturate(150%);
    -webkit-backdrop-filter:blur(42px) saturate(150%);
    transform:translateY(7px) scale(.965);
    transition:opacity .24s ease,transform .34s cubic-bezier(.2,.8,.2,1),visibility .24s ease;
}
.ncde15__card.is-visible{transform:translateY(0) scale(1)}
.ncde15__card::before{
    inset:-1px;
    padding:1.7px;
    opacity:1;
    background:conic-gradient(
        from 0deg,
        transparent 0deg 270deg,
        rgba(238,195,91,.10) 286deg,
        rgba(255,239,181,.98) 306deg,
        rgba(255,218,125,.70) 321deg,
        transparent 342deg 360deg
    );
    filter:drop-shadow(0 0 8px rgba(255,221,135,.92));
    animation:ncde163EdgeTravel 4.6s linear infinite!important;
}
.ncde15__card::after{
    background:linear-gradient(112deg,transparent 26%,rgba(255,243,205,.025) 43%,rgba(255,243,205,.09) 50%,rgba(255,243,205,.02) 57%,transparent 74%);
    animation:ncde163GlassSheen 7.5s ease-in-out infinite!important;
}
.ncde15__card.is-growing{
    animation:ncde163CardReveal .38s cubic-bezier(.2,.82,.2,1) both!important;
}
.ncde15__card.is-growing > *{
    animation:ncde163ContentReveal .24s ease .08s both!important;
}
.ncde15__card.is-growing::before{
    animation:ncde163EdgeArrival .38s ease-out both,ncde163EdgeTravel 4.6s linear .38s infinite!important;
}
.ncde15__card-close{right:11px;top:10px;width:33px;height:33px}
.ncde15__card-index{font-size:.66rem;gap:9px;min-width:96px}
.ncde15__card-index::before,.ncde15__card-index::after{width:27px}
.ncde15__card h2{max-width:248px;margin:13px auto 10px;font-size:clamp(1.34rem,3.8vw,1.72rem)}
.ncde15__card h2::after{margin-top:11px}
.ncde15__card p{max-width:246px;margin-bottom:16px;font-size:.84rem;line-height:1.55;color:rgba(243,237,218,.75)}
.ncde15__card-cta{width:53px;height:53px;margin-top:0}
.ncde15__card-cta::before{inset:-7px}
.ncde15__card-arrow{font-size:1.92rem}
@keyframes ncde163CardReveal{
    0%{opacity:0;transform:translateY(9px) scale(.91);filter:brightness(1.18) blur(2px)}
    100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1) blur(0)}
}
@keyframes ncde163ContentReveal{
    0%{opacity:0;transform:translateY(5px)}
    100%{opacity:1;transform:translateY(0)}
}
@keyframes ncde163EdgeArrival{
    0%{opacity:0;transform:rotate(-24deg)}
    100%{opacity:1;transform:rotate(0deg)}
}
@keyframes ncde163EdgeTravel{to{transform:rotate(360deg)}}
@keyframes ncde163GlassSheen{
    0%,68%{transform:translateX(-135%);opacity:0}
    74%{opacity:.6}
    88%,100%{transform:translateX(135%);opacity:0}
}
@media(max-width:760px){
    .ncde15__card{
        width:min(318px,80vw);
        padding:23px 18px 19px;
        border-radius:21px;
        background:
            radial-gradient(circle at 50% 0%,rgba(242,211,133,.04),transparent 38%),
            linear-gradient(155deg,rgba(18,76,56,.16),rgba(1,24,18,.24));
        backdrop-filter:blur(44px) saturate(152%);
        -webkit-backdrop-filter:blur(44px) saturate(152%);
    }
    .ncde15__card h2{max-width:235px;font-size:clamp(1.32rem,6.3vw,1.68rem)}
    .ncde15__card p{max-width:235px;font-size:.82rem;line-height:1.52}
    .ncde15__card-cta{width:52px;height:52px}
}
@media(max-width:420px){
    .ncde15__card{width:78vw;max-width:300px;padding:22px 16px 18px;border-radius:20px}
    .ncde15__card h2{max-width:218px;font-size:clamp(1.25rem,6.8vw,1.58rem)}
    .ncde15__card p{max-width:220px;font-size:.80rem}
    .ncde15__card-cta{width:50px;height:50px}
    .ncde15__card-arrow{font-size:1.82rem}
}
@media(prefers-reduced-motion:reduce){
    .ncde15__card.is-growing,.ncde15__card.is-growing > *,.ncde15__card.is-growing::before,
    .ncde15__card::before,.ncde15__card::after{animation:none!important}
}
