.sd-ideas-wrap{
    --sd-navy:#11314a;
    --sd-dark-blue:#235C81;
    --sd-coral:#DB635D;
    --sd-med-blue:#5492B6;
    --sd-salmon:#F2847D;
    --sd-cream:#FFF6E8;
    --sd-sand:#F6C893;
    font-family:'DM Sans', system-ui, -apple-system, sans-serif;
    color:var(--sd-navy);
    background:transparent;
    padding:32px 20px 64px;
    max-width:1280px;
    margin:0 auto;
    box-sizing:border-box;
}
.sd-ideas-wrap *,
.sd-ideas-wrap *::before,
.sd-ideas-wrap *::after{box-sizing:border-box;}

/* ---- filters ---- */
.sd-ideas-filters{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:28px;
}
.sd-ideas-filter-group{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

/* reset button */
.sd-ideas-reset{display:inline-flex;align-items:center;gap:6px;background:#DB635D;color:#FFF6E8;border:none;padding:7px 14px;border-radius:999px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.03em;cursor:pointer;transition:background 180ms ease,transform 180ms ease;align-self:flex-start;margin-bottom:8px;}
.sd-ideas-reset:hover{background:#c3534d;transform:translateY(-1px);}
.sd-ideas-reset svg{stroke:#FFF6E8;}
.sd-ideas-reset[hidden]{display:none !important;}
/* disabled pill (hidden due to no matches) */
.sd-ideas-pill.is-disabled{display:none !important;}

.sd-ideas-filter-label{
    font-size:11px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(17,49,74,0.55);
    margin-right:4px;
    min-width:64px;
}
.sd-ideas-pill{
    appearance:none;
    border:1px solid rgba(17,49,74,0.15);
    background:rgba(255,255,255,0.55);
    color:var(--sd-navy);
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    letter-spacing:-0.005em;
    padding:7px 14px;
    border-radius:999px;
    cursor:pointer;
    transition:background 200ms ease,border-color 200ms ease,color 200ms ease,box-shadow 200ms ease;
}
.sd-ideas-pill:hover{
    border-color:rgba(219,99,93,0.45);
    color:var(--sd-coral);
}
.sd-ideas-pill.is-active{
    background:var(--sd-dark-blue);
    border-color:var(--sd-dark-blue);
    color:#fff;
    box-shadow:0 6px 16px -10px rgba(35,92,129,0.6);
}

/* ---- grid ---- */
.sd-ideas-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
}
@media (max-width: 1024px){
    .sd-ideas-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
    .sd-ideas-grid{grid-template-columns:1fr;gap:25px;}
    .sd-ideas-wrap{padding:24px 14px 48px;}
    .sd-ideas-filter-label{min-width:unset;width:100%;}
}

/* ---- card ---- */
.sd-ideas-card{
    background:#fff;
    border:1px solid rgba(17,49,74,0.10);
    border-radius:14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform 260ms ease,border-color 260ms ease,box-shadow 260ms ease;
    will-change:transform;
}
.sd-ideas-card:hover{
    transform:translateY(-3px);
    border-color:rgba(219,99,93,0.35);
    box-shadow:0 22px 50px -28px rgba(219,99,93,0.35), 0 8px 20px -12px rgba(17,49,74,0.18);
}
.sd-ideas-card[hidden]{display:none !important;}

.sd-ideas-illo-frame{
    padding:14px 14px 0;
}
.sd-ideas-illo-frame .sd-illo{
    aspect-ratio:16 / 10;
    width:100%;
    border-radius:10px;
}

.sd-ideas-body{
    padding:16px 18px 18px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1;
}
.sd-ideas-title{
    font-family:'DM Sans', sans-serif;
    font-size:18px;
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.3;
    color:var(--sd-dark-blue);
    margin:0;
}
.sd-ideas-desc{
    font-size:14px;
    line-height:1.5;
    color:rgba(17,49,74,0.65);
    margin:0;
}
.sd-ideas-meta{
    margin-top:auto;
    padding-top:10px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 8px;
}
.sd-ideas-badge{
    font-size:10px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:4px 9px;
    border-radius:999px;
}
.sd-ideas-badge-service{
    background:rgba(219,99,93,0.10);
    color:var(--sd-coral);
    border:1px solid rgba(219,99,93,0.25);
}
.sd-ideas-badge-department{
    background:rgba(84,146,182,0.10);
    color:var(--sd-dark-blue);
    border:1px solid rgba(84,146,182,0.28);
}
.sd-ideas-badge-build{
    background:rgba(246,200,147,0.18);
    color:#8a5a1f;
    border:1px solid rgba(246,200,147,0.55);
}
.sd-ideas-tags{
    display:inline-flex;
    flex-wrap:wrap;
    gap:4px 6px;
}
.sd-ideas-tag{
    font-size:11px;
    color:rgba(17,49,74,0.6);
    background:rgba(84,146,182,0.10);
    border:1px solid rgba(84,146,182,0.18);
    padding:2px 8px;
    border-radius:999px;
}

/* ---- empty ---- */
.sd-ideas-empty{
    text-align:center;
    padding:48px 16px;
    color:rgba(17,49,74,0.55);
    font-size:15px;
    font-weight:500;
}


/* ---- hero thumbnail: edge-to-edge, no frame padding, no depth glows ---- */
.sd-ideas-illo-frame:has(.sd-illo-hero){padding:0;}
.sd-illo.sd-illo-hero{border:0;background:#0d1f2e;border-radius:0;aspect-ratio:16/10;}
.sd-illo.sd-illo-hero::before,
.sd-illo.sd-illo-hero::after{display:none;}
.sd-illo.sd-illo-hero img{border-radius:0;width:100%;height:100%;object-fit:cover;display:block;}
/* ---- illustration shared frame (dark thumbnails on light cards) ---- */
.sd-illo{
    --a:var(--sd-coral);
    --b:var(--sd-med-blue);
    --c:var(--sd-sand);
    --navy:var(--sd-navy);
    --surface:#0b2238;
    --ink:#FFF6E8;
    position:relative;
    width:100%;
    aspect-ratio:16 / 10;
    border-radius:10px;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(120% 80% at 10% 10%, rgba(219,99,93,0.10), transparent 60%),
        radial-gradient(120% 80% at 90% 90%, rgba(84,146,182,0.10), transparent 60%),
        radial-gradient(120% 80% at 50% 50%, rgba(246,200,147,0.05), transparent 60%),
        linear-gradient(180deg,#0a2036,#061425);
    border:1px solid rgba(84,146,182,0.18);
    color:var(--ink);
    font-family:'DM Sans', system-ui, sans-serif;
}
.sd-illo::before,
.sd-illo::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
}
.sd-illo::before{
    background:
        radial-gradient(30% 50% at 20% 30%, rgba(219,99,93,0.18), transparent 70%),
        radial-gradient(30% 50% at 80% 70%, rgba(84,146,182,0.16), transparent 70%),
        radial-gradient(30% 40% at 60% 20%, rgba(246,200,147,0.10), transparent 70%);
    filter:blur(40px);
    opacity:0.9;
}
.sd-illo::after{
    background:radial-gradient(60% 80% at 50% 120%, rgba(11,34,56,0.9), transparent 70%);
}
.sd-illo .sd-stage{
    position:absolute;
    inset:0;
    z-index:1;
    padding:14px;
    display:flex;
}
/* Bespoke inline SVG: fill the frame, sit above blur layers. */
.sd-illo.sd-illo-custom > svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
    display:block;
}
.sd-illo.sd-illo-custom > svg [fill="currentColor"],
.sd-illo.sd-illo-custom > svg [stroke="currentColor"]{color:var(--ink);}
.sd-illo .sd-pill{background:rgba(255,246,232,0.06);border:1px solid rgba(255,246,232,0.10);border-radius:999px;}
.sd-illo .sd-chip{font-size:9px;letter-spacing:0.05em;text-transform:uppercase;padding:3px 7px;border-radius:999px;}
.sd-illo .sd-hair{background:rgba(255,246,232,0.08);border-radius:3px;height:4px;}

/* ---- 1. DASHBOARD ---- */
.illo-dashboard .sd-stage{padding:10px;gap:10px;}
.illo-dashboard .side{width:28%;background:rgba(17,49,74,0.55);border:1px solid rgba(84,146,182,0.18);border-radius:8px;padding:8px 6px;display:flex;flex-direction:column;gap:6px;}
.illo-dashboard .side .brand{display:flex;align-items:center;gap:5px;padding:2px 4px 6px;border-bottom:1px solid rgba(84,146,182,0.15);margin-bottom:4px;}
.illo-dashboard .side .brand .dot{width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--a),var(--c));}
.illo-dashboard .side .brand .nm{height:5px;flex:1;background:rgba(255,246,232,0.22);border-radius:2px;}
.illo-dashboard .side .item{display:flex;align-items:center;gap:5px;padding:4px 4px;border-radius:5px;font-size:9px;color:rgba(255,246,232,0.55);}
.illo-dashboard .side .item.active{background:rgba(219,99,93,0.12);color:var(--a);border:1px solid rgba(219,99,93,0.25);}
.illo-dashboard .side .item .sq{width:8px;height:8px;border-radius:2px;background:currentColor;opacity:0.65;}
.illo-dashboard .main{flex:1;display:flex;flex-direction:column;gap:8px;}
.illo-dashboard .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.illo-dashboard .tile{background:rgba(17,49,74,0.55);border:1px solid rgba(84,146,182,0.18);border-radius:7px;padding:6px 7px;display:flex;flex-direction:column;gap:4px;}
.illo-dashboard .tile .lbl{font-size:7.5px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,246,232,0.5);}
.illo-dashboard .tile .val{font-size:13px;font-weight:600;letter-spacing:-0.02em;}
.illo-dashboard .tile:nth-child(1) .val{color:var(--a);}
.illo-dashboard .tile:nth-child(2) .val{color:var(--c);}
.illo-dashboard .tile:nth-child(3) .val{color:var(--b);}
.illo-dashboard .tile .spark{height:3px;background:rgba(255,246,232,0.10);border-radius:2px;position:relative;overflow:hidden;}
.illo-dashboard .tile .spark::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p,60%);background:currentColor;opacity:0.6;border-radius:2px;}
.illo-dashboard .chart{flex:1;background:rgba(17,49,74,0.55);border:1px solid rgba(84,146,182,0.18);border-radius:7px;padding:8px;position:relative;min-height:70px;}
.illo-dashboard .chart svg{width:100%;height:100%;display:block;}

/* ---- 2. FLOW ---- */
.illo-flow .sd-stage{padding:0;}
.illo-flow svg{width:100%;height:100%;display:block;}

/* ---- 3. NOTIFICATION ---- */
.illo-notification .sd-stage{align-items:center;justify-content:center;}
.illo-notification .stack{position:relative;width:78%;display:flex;flex-direction:column;gap:6px;}
.illo-notification .toast{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:10px;box-shadow:0 8px 20px -12px rgba(0,0,0,0.6);}
.illo-notification .toast .ic{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;color:var(--ink);}
.illo-notification .toast .body{flex:1;min-width:0;}
.illo-notification .toast .title{font-size:10px;font-weight:600;margin-bottom:3px;}
.illo-notification .toast .sub{height:4px;background:rgba(255,246,232,0.12);border-radius:2px;width:80%;}
.illo-notification .toast:nth-child(1){transform:translateX(-10px);opacity:0.55;}
.illo-notification .toast:nth-child(2){transform:translateX(-4px);opacity:0.80;}
.illo-notification .toast:nth-child(3){transform:translateX(0);opacity:1.00;}
.illo-notification .toast.t-a .ic{background:rgba(219,99,93,0.20);color:var(--a);border:1px solid rgba(219,99,93,0.35);}
.illo-notification .toast.t-b .ic{background:rgba(84,146,182,0.20);color:var(--b);border:1px solid rgba(84,146,182,0.35);}
.illo-notification .toast.t-c .ic{background:rgba(246,200,147,0.20);color:var(--c);border:1px solid rgba(246,200,147,0.35);}

/* ---- 4. SMS ---- */
.illo-sms .sd-stage{padding:12px 16px;flex-direction:column;justify-content:flex-end;gap:6px;}
.illo-sms .bubble{max-width:70%;padding:6px 10px;font-size:10px;line-height:1.35;border-radius:14px;position:relative;}
.illo-sms .bubble.rx{align-self:flex-start;background:rgba(84,146,182,0.20);color:var(--ink);border:1px solid rgba(84,146,182,0.35);border-bottom-left-radius:4px;}
.illo-sms .bubble.tx{align-self:flex-end;background:linear-gradient(135deg,var(--a),var(--sd-salmon,#F2847D));color:#1a0a08;border-bottom-right-radius:4px;}
.illo-sms .bubble .ln{height:4px;background:currentColor;opacity:0.35;border-radius:2px;margin:2px 0;}
.illo-sms .bubble.rx .ln{background:rgba(255,246,232,0.35);}

/* ---- 5. EMAIL ---- */
.illo-email .sd-stage{flex-direction:column;justify-content:center;gap:4px;padding:14px;}
.illo-email .step{display:flex;align-items:center;gap:8px;}
.illo-email .step .time{width:42px;flex-shrink:0;font-size:8px;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,246,232,0.5);text-align:right;}
.illo-email .step .card{flex:1;background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:8px;padding:6px 9px;display:flex;align-items:center;gap:8px;}
.illo-email .step .env{width:22px;height:16px;border-radius:3px;background:rgba(255,246,232,0.08);border:1px solid rgba(255,246,232,0.15);position:relative;flex-shrink:0;}
.illo-email .step .env::after{content:"";position:absolute;inset:0;border-radius:3px;background:linear-gradient(135deg,transparent 48%,currentColor 48%,currentColor 52%,transparent 52%);opacity:0.35;}
.illo-email .step:nth-child(1) .env{color:var(--a);border-color:rgba(219,99,93,0.4);}
.illo-email .step:nth-child(3) .env{color:var(--b);border-color:rgba(84,146,182,0.5);}
.illo-email .step:nth-child(5) .env{color:var(--c);border-color:rgba(246,200,147,0.5);}
.illo-email .step .meta{flex:1;display:flex;flex-direction:column;gap:3px;}
.illo-email .step .meta .t{font-size:9px;font-weight:600;}
.illo-email .step .meta .sub{height:3px;background:rgba(255,246,232,0.12);border-radius:2px;width:70%;}
.illo-email .gap{height:10px;margin-left:54px;border-left:1px dashed rgba(84,146,182,0.4);width:1px;}

/* ---- 6. CHECKOUT ---- */
.illo-checkout .sd-stage{gap:10px;}
.illo-checkout .product{width:44%;background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;}
.illo-checkout .product .thumb{flex:1;min-height:70px;border-radius:7px;background:radial-gradient(70% 70% at 30% 30%,rgba(246,200,147,0.35),transparent 60%),radial-gradient(70% 70% at 70% 70%,rgba(219,99,93,0.35),transparent 60%),linear-gradient(135deg,rgba(84,146,182,0.25),rgba(17,49,74,0.9));border:1px solid rgba(255,246,232,0.08);}
.illo-checkout .product .pmeta{display:flex;flex-direction:column;gap:4px;}
.illo-checkout .product .pmeta .t{font-size:10px;font-weight:600;}
.illo-checkout .product .pmeta .p{font-size:9px;color:rgba(255,246,232,0.55);}
.illo-checkout .cart{flex:1;background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;}
.illo-checkout .cart .line{display:flex;justify-content:space-between;font-size:9px;color:rgba(255,246,232,0.7);padding:3px 0;border-bottom:1px dashed rgba(84,146,182,0.18);}
.illo-checkout .cart .line:last-of-type{border-bottom:none;}
.illo-checkout .cart .total{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-top:2px;}
.illo-checkout .cart .total .val{color:var(--c);}
.illo-checkout .cart .pay{margin-top:auto;text-align:center;padding:7px 10px;border-radius:7px;background:linear-gradient(135deg,var(--a),var(--sd-salmon,#F2847D));color:#1a0a08;font-size:10px;font-weight:600;letter-spacing:0.02em;}

/* ---- 7. AGENT ---- */
.illo-agent .sd-stage{align-items:center;gap:12px;}
.illo-agent .avatar{width:58px;height:58px;border-radius:50%;flex-shrink:0;position:relative;background:radial-gradient(70% 70% at 30% 30%,var(--c),transparent 60%),radial-gradient(70% 70% at 70% 70%,var(--a),transparent 60%),linear-gradient(135deg,var(--b),var(--navy));border:1px solid rgba(255,246,232,0.18);box-shadow:0 0 0 4px rgba(219,99,93,0.12);}
.illo-agent .avatar::after{content:"";position:absolute;inset:14px;border-radius:50%;background:radial-gradient(circle at 35% 40%,rgba(255,246,232,0.9) 0 2px,transparent 3px),radial-gradient(circle at 65% 40%,rgba(255,246,232,0.9) 0 2px,transparent 3px);}
.illo-agent .avatar .pulse{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(219,99,93,0.25);}
.illo-agent .right{flex:1;display:flex;flex-direction:column;gap:7px;}
.illo-agent .speech{background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:10px;border-bottom-left-radius:3px;padding:8px 10px;position:relative;}
.illo-agent .speech .ln{height:4px;background:rgba(255,246,232,0.18);border-radius:2px;margin:3px 0;}
.illo-agent .speech .ln.short{width:55%;}
.illo-agent .chips{display:flex;flex-wrap:wrap;gap:5px;}
.illo-agent .chip{font-size:8.5px;letter-spacing:0.04em;padding:3px 7px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;}
.illo-agent .chip .bdot{width:5px;height:5px;border-radius:50%;background:currentColor;}
.illo-agent .chip.c-a{color:var(--a);background:rgba(219,99,93,0.14);border:1px solid rgba(219,99,93,0.32);}
.illo-agent .chip.c-b{color:var(--b);background:rgba(84,146,182,0.14);border:1px solid rgba(84,146,182,0.32);}
.illo-agent .chip.c-c{color:var(--c);background:rgba(246,200,147,0.12);border:1px solid rgba(246,200,147,0.32);}

/* ---- 8. INTEGRATION ---- */
.illo-integration .sd-stage{padding:0;}
.illo-integration svg{width:100%;height:100%;display:block;}

/* ---- 9. FORM ---- */
.illo-form .sd-stage{flex-direction:column;gap:10px;padding:14px;}
.illo-form .steps{display:flex;align-items:center;gap:6px;}
.illo-form .steps .node{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:600;color:rgba(255,246,232,0.5);background:rgba(11,34,56,0.8);border:1px solid rgba(84,146,182,0.3);}
.illo-form .steps .node.done{color:var(--a);border-color:var(--a);background:rgba(219,99,93,0.12);}
.illo-form .steps .node.active{color:var(--ink);background:linear-gradient(135deg,var(--a),var(--sd-salmon,#F2847D));border-color:transparent;box-shadow:0 0 0 3px rgba(219,99,93,0.20);}
.illo-form .steps .bar{flex:1;height:2px;border-radius:2px;background:rgba(84,146,182,0.22);position:relative;overflow:hidden;}
.illo-form .steps .bar.done::after{content:"";position:absolute;inset:0;background:var(--a);}
.illo-form .fields{display:flex;flex-direction:column;gap:6px;}
.illo-form .field{background:rgba(11,34,56,0.85);border:1px solid rgba(84,146,182,0.22);border-radius:7px;padding:6px 9px;display:flex;flex-direction:column;gap:3px;}
.illo-form .field .lbl{font-size:8px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,246,232,0.45);}
.illo-form .field .val{height:5px;background:rgba(255,246,232,0.14);border-radius:2px;width:65%;}
.illo-form .field.active{border-color:rgba(219,99,93,0.55);box-shadow:0 0 0 3px rgba(219,99,93,0.14);}
.illo-form .field.active .lbl{color:var(--a);}
.illo-form .field.active .val{background:linear-gradient(90deg,var(--a),rgba(219,99,93,0.25));width:82%;}
.illo-form .field.active .caret{display:inline-block;width:1.5px;height:9px;background:var(--a);margin-left:2px;vertical-align:middle;animation:sdIdeasCaret 1s steps(2) infinite;}
@keyframes sdIdeasCaret{50%{opacity:0;}}

/* ---- clickable card affordance ---- */
.sd-ideas-card{cursor:pointer;position:relative;}
.sd-ideas-card:focus{outline:none;}
.sd-ideas-card:focus-visible{box-shadow:0 0 0 3px rgba(219,99,93,0.55);border-color:var(--sd-coral);}
.sd-ideas-card-arrow{
    position:absolute;top:22px;right:22px;
    width:28px;height:28px;border-radius:50%;
    display:grid;place-items:center;
    background:var(--sd-coral);color:var(--sd-cream);
    opacity:0;transform:translate(4px,-4px) scale(0.9);
    transition:opacity 220ms ease,transform 220ms ease;
    pointer-events:none;
    box-shadow:0 6px 14px -4px rgba(219,99,93,0.55);
}
.sd-ideas-card:hover .sd-ideas-card-arrow,
.sd-ideas-card:focus-visible .sd-ideas-card-arrow{opacity:1;transform:translate(0,0) scale(1);}

/* ---- modal (magazine redesign) ---- */
.sd-ideas-modal{
    position:fixed;inset:0;z-index:2147483647;
    display:flex;align-items:flex-start;justify-content:center;
    padding:32px 20px;
    opacity:0;pointer-events:none;
    transition:opacity 200ms ease-out;
    overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}
.sd-ideas-modal[hidden]{display:none !important;}
.sd-ideas-modal.is-open{opacity:1;pointer-events:auto;}
.sd-ideas-modal__backdrop{
    position:fixed;inset:0;
    background:rgba(5,14,23,0.92);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.sd-ideas-modal__dialog{
    position:relative;z-index:1;
    background:#FFF6E8;
    color:#11314a;
    border-radius:20px;
    max-width:1040px;width:100%;
    max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);
    overflow-y:auto !important;overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 40px 90px -20px rgba(0,0,0,0.65),0 20px 50px -20px rgba(219,99,93,0.25);
    transform:translateY(12px) scale(0.97);
    transition:transform 200ms ease-out;
    font-family:'DM Sans',system-ui,-apple-system,sans-serif;
    border:1px solid rgba(17,49,74,0.12);
    -webkit-overflow-scrolling:touch;
}
.sd-ideas-modal.is-open .sd-ideas-modal__dialog{transform:translateY(0) scale(1);}
/* webkit scrollbar */
.sd-ideas-modal__dialog::-webkit-scrollbar{width:10px;}
.sd-ideas-modal__dialog::-webkit-scrollbar-track{background:rgba(17,49,74,0.08);border-radius:8px;}
.sd-ideas-modal__dialog::-webkit-scrollbar-thumb{background:rgba(17,49,74,0.55);border-radius:8px;border:2px solid #FFF6E8;}
.sd-ideas-modal__dialog::-webkit-scrollbar-thumb:hover{background:#DB635D;}
.sd-ideas-modal__dialog{scrollbar-width:thin;scrollbar-color:rgba(17,49,74,0.55) rgba(17,49,74,0.08);}

.sd-ideas-modal__close{
    position:fixed;top:32px;right:32px;
    width:44px;height:44px;border-radius:50%;
    display:grid;place-items:center;
    background:rgba(17,49,74,0.85);color:#FFF6E8;
    border:1px solid rgba(255,246,232,0.20);
    cursor:pointer;
    transition:background 160ms ease,color 160ms ease,transform 160ms ease;
    z-index:2147483647;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    box-shadow:0 8px 24px -6px rgba(0,0,0,0.5);
}
.sd-ideas-modal__close:hover{background:var(--sd-coral,#DB635D);color:#FFF6E8;transform:scale(1.05);}

/* hero: contained on cream with padding + radius */
.sd-ideas-modal__illo{padding:48px 48px 0;background:#FFF6E8;}
.sd-ideas-modal__illo .sd-illo{
    aspect-ratio:16 / 10;width:100%;border-radius:14px;
}
.sd-ideas-modal__illo .sd-illo.sd-illo-hero{
    overflow:hidden;
    background:transparent;
    border-radius:14px;
}
.sd-ideas-modal__illo .sd-illo.sd-illo-hero img{width:100%;height:100%;object-fit:cover;display:block;}

/* content area padding */
.sd-ideas-modal__content{
    padding:40px 48px 40px;
    display:flex;flex-direction:column;gap:18px;
}
.sd-ideas-modal__title{
    font-family:'DM Sans',sans-serif;
    font-size:34px;line-height:1.18;
    letter-spacing:-0.015em;font-weight:700;
    color:#11314a;margin:0;
}
.sd-ideas-modal__desc{
    font-size:18px;line-height:1.55;font-weight:400;
    color:rgba(17,49,74,0.80);margin:0;max-width:760px;
}
.sd-ideas-modal__meta{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:4px;}
.sd-ideas-modal__meta .sd-ideas-badge{
    font-size:10px;font-weight:600;letter-spacing:0.10em;
    text-transform:uppercase;padding:5px 10px;border-radius:999px;
}
.sd-ideas-modal__meta .sd-ideas-badge-department{background:rgba(84,146,182,0.18);color:#235C81;border:1px solid rgba(84,146,182,0.55);}
.sd-ideas-modal__meta .sd-ideas-badge-build{background:rgba(17,49,74,0.10);color:#11314a;border:1px solid rgba(17,49,74,0.30);}
.sd-ideas-modal__meta .sd-ideas-badge-service{background:rgba(219,99,93,0.14);color:#DB635D;border:1px solid rgba(219,99,93,0.55);}
.sd-ideas-modal__meta .sd-ideas-badge-tier{background:rgba(17,49,74,0.06);color:#11314a;border:1px solid rgba(17,49,74,0.22);}

/* section labels */

/* meta row with share button on the right */
.sd-ideas-modal__meta-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:4px;}
.sd-ideas-modal__meta-row .sd-ideas-modal__meta{margin-top:0;flex:1 1 auto;min-width:0;}
.sd-ideas-share{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#11314a;border:1px solid rgba(17,49,74,0.22);padding:7px 14px;border-radius:999px;font-family:\'DM Sans\',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.02em;cursor:pointer;transition:background 160ms ease,color 160ms ease,border-color 160ms ease;flex:0 0 auto;}
.sd-ideas-share:hover{background:#11314a;color:#FFF6E8;border-color:#11314a;}
.sd-ideas-share.is-copied{background:#DB635D;color:#FFF6E8;border-color:#DB635D;}

.sd-ideas-modal__section-eyebrow{
    font-family:'DM Sans',sans-serif;
    font-size:12px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
    color:#DB635D;margin:0 0 6px;
}
.sd-ideas-modal__section-eyebrow--gold{color:#F6C893;}
.sd-ideas-modal__section-head{
    font-family:'DM Sans',sans-serif;
    font-size:26px;line-height:1.2;font-weight:700;
    color:#11314a;margin:0 0 24px;letter-spacing:-0.01em;
}
.sd-ideas-modal__callouts-wrap{
    display:flex;flex-direction:column;
    padding:20px 48px 32px;
    border-top:1px solid rgba(17,49,74,0.12);
    margin-top:8px;
}

/* magazine style alternating rows */
.sd-ideas-modal__callouts{
    display:flex;flex-direction:column;gap:56px;
}
.sd-ideas-modal__callout{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:40px;align-items:center;
    background:transparent;border:none;padding:0;
}
/* Row 1: image RIGHT, text LEFT */
.sd-ideas-modal__callout:nth-child(odd) .sd-ideas-modal__callout-image{order:2;}
.sd-ideas-modal__callout:nth-child(odd) .sd-ideas-modal__callout-inner{order:1;}
/* Row 2: image LEFT, text RIGHT */
.sd-ideas-modal__callout:nth-child(even) .sd-ideas-modal__callout-image{order:1;}
.sd-ideas-modal__callout:nth-child(even) .sd-ideas-modal__callout-inner{order:2;}

.sd-ideas-modal__callout-image{
    width:100%;aspect-ratio:1/1;overflow:hidden;
    border-radius:16px;
    background:transparent;
    box-shadow:none;
}
.sd-ideas-modal__callout-image img{
    width:100%;height:100%;object-fit:cover;display:block;border-radius:16px;
    transition:transform 400ms ease;
}
.sd-ideas-modal__callout:hover .sd-ideas-modal__callout-image img{transform:scale(1.03);}

.sd-ideas-modal__callout-inner{
    display:flex;flex-direction:column;gap:14px;
    padding:0;background:transparent;
}
.sd-ideas-modal__callout-head{
    display:flex;align-items:center;gap:14px;min-width:0;
}
.sd-ideas-modal__callout-icon{
    width:30px;height:30px;flex:0 0 auto;
    color:var(--sd-coral,#DB635D);
    display:inline-flex;align-items:center;justify-content:center;
}
.sd-ideas-modal__callout-icon svg{width:24px;height:24px;stroke-width:1.5;}
.sd-ideas-modal__callout-title{
    font-family:'DM Sans',sans-serif;
    font-size:24px;line-height:1.22;font-weight:600;
    color:#11314a;margin:0;letter-spacing:-0.01em;
}
.sd-ideas-modal__callout-desc{
    font-family:'DM Sans',sans-serif;
    font-size:16px;line-height:1.55;font-weight:400;
    color:#11314a;opacity:0.80;margin:0;
}
.sd-ideas-modal__callout-body{
    font-family:'DM Sans',sans-serif;
    font-size:15px;line-height:1.6;font-weight:400;
    color:#11314a;opacity:0.78;margin:2px 0 0;
}
.sd-ideas-modal__callout-body p{margin:0 0 8px;}
.sd-ideas-modal__callout-body p:last-child{margin-bottom:0;}
.sd-ideas-modal__callout-body ul,
.sd-ideas-modal__callout-body ul li{list-style:none !important;list-style-type:none !important;}
.sd-ideas-modal__callout-body ul{margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.sd-ideas-modal__callout-body ul li::marker{content:"" !important;display:none !important;}
.sd-ideas-modal__callout-body li{
    position:relative;padding-left:18px;
    font-size:15px;line-height:1.6;
}
.sd-ideas-modal__callout-body li::before{
    content:'';position:absolute;left:0;top:0.6em;
    width:7px;height:7px;border-radius:50%;
    background:var(--sd-coral,#DB635D);
    box-shadow:0 0 0 3px rgba(219,99,93,0.15);
}

/* actions row (small secondary link) */
.sd-ideas-modal__actions{
    display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;
    padding:0 48px 8px;margin-top:-4px;
}
.sd-ideas-modal__cta{display:none;} /* hidden, footer CTA is primary */
.sd-ideas-modal__filter-link{
    background:none;border:none;padding:0;cursor:pointer;
    color:#DB635D;font-size:14px;font-weight:600;letter-spacing:0.02em;
    font-family:inherit;
}
.sd-ideas-modal__filter-link:hover{text-decoration:underline;color:#11314a;}

/* FAQs */
.sd-ideas-modal__faqs-wrap{
    display:flex;flex-direction:column;
    padding:20px 48px 32px;
    border-top:1px solid rgba(17,49,74,0.12);
    margin-top:8px;
}
.sd-ideas-modal__faqs{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(17,49,74,0.12);}
.sd-ideas-modal__faq{border-bottom:1px solid rgba(17,49,74,0.12);padding:0;margin:0;}
.sd-ideas-modal__faq>summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding:24px 0;
    font-family:\'DM Sans\',sans-serif;font-size:18px;line-height:1.35;font-weight:600;
    color:#11314a;
    transition:color 160ms ease;
}
.sd-ideas-modal__faq>summary::-webkit-details-marker{display:none;}
.sd-ideas-modal__faq>summary:hover{color:#DB635D;}
.sd-ideas-modal__faq>summary:focus-visible{outline:2px solid #DB635D;outline-offset:4px;border-radius:4px;}
.sd-ideas-modal__faq-chevron{
    flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;color:#DB635D;
    transition:transform 220ms ease;
}
.sd-ideas-modal__faq[open]>summary .sd-ideas-modal__faq-chevron{transform:rotate(180deg);}
.sd-ideas-modal__faq-answer{
    padding:0 40px 24px 0;
    font-family:\'DM Sans\',sans-serif;font-size:16px;line-height:1.6;
    color:#11314a;opacity:0.82;margin:0;
}
@media (max-width:640px){
    .sd-ideas-modal__faqs-wrap{padding:16px 22px 22px;}
    .sd-ideas-modal__faq>summary{font-size:16px;padding:20px 0;gap:16px;}
    .sd-ideas-modal__faq-answer{font-size:15px;padding:0 0 20px 0;}
}

/* CTA footer — video bg on navy */
.sd-ideas-modal__footer-cta{
    position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:space-between;gap:32px;
    padding:56px 48px;
    background:#11314a;
    color:#FFF6E8;
    border-top:1px solid rgba(255,246,232,0.14);
    margin-top:8px;
    isolation:isolate;
    border-bottom-left-radius:20px;border-bottom-right-radius:20px;
}
.sd-ideas-modal__footer-cta-video{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0.4;pointer-events:none;z-index:0;
    border-bottom-left-radius:20px;border-bottom-right-radius:20px;
}
.sd-ideas-modal__footer-cta::after{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
    background:linear-gradient(180deg,rgba(17,49,74,0.25) 0%,rgba(17,49,74,0.10) 100%);
}
/* decorative waves icon behind button */
.sd-ideas-modal__footer-cta-deco{display:none;}
.sd-ideas-modal__footer-cta-text{position:relative;z-index:2;
    position:relative;z-index:1;
    display:flex;flex-direction:column;gap:8px;min-width:0;max-width:560px;
}
.sd-ideas-modal__footer-cta-headline{
    font-family:'DM Sans',sans-serif;
    font-size:32px;line-height:1.18;font-weight:700;
    color:#FFF6E8;letter-spacing:-0.015em;
}
.sd-ideas-modal__footer-cta-subline{
    font-family:'DM Sans',sans-serif;
    font-size:18px;line-height:1.5;font-weight:400;
    color:#FFF6E8;opacity:0.88;max-width:520px;
}
.sd-ideas-modal__footer-cta-btn{
    position:relative;z-index:2;flex:0 0 auto;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    background:#FFF6E8;color:#11314a;
    font-family:'DM Sans',sans-serif;
    font-size:18px;font-weight:700;letter-spacing:0.01em;
    padding:18px 36px;border-radius:999px;
    text-decoration:none;
    transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease;
    box-shadow:0 14px 34px -12px rgba(0,0,0,0.45),0 6px 16px -8px rgba(17,49,74,0.40);
}
.sd-ideas-modal__footer-cta-btn:hover{
    transform:translateY(-2px);background:#fff;color:#11314a;
    box-shadow:0 20px 44px -12px rgba(0,0,0,0.55),0 8px 20px -8px rgba(17,49,74,0.50);
}

html.sd-ideas-modal-open,body.sd-ideas-modal-open{overflow:hidden !important;height:100% !important;}
body.sd-ideas-modal-open #top,
body.sd-ideas-modal-open header#top,
body.sd-ideas-modal-open #nectar-nav,
body.sd-ideas-modal-open .nectar-mobile-only,
body.sd-ideas-modal-open #header-outer,
body.sd-ideas-modal-open .page-header-bg-image,
body.sd-ideas-modal-open .nectar-header-space,
body.sd-ideas-modal-open #page-header-bg,
body.sd-ideas-modal-open .header-bg-border{display:none !important;}

/* tablet */
@media (max-width:960px) and (min-width:769px){
    .sd-ideas-modal__content{padding:32px 36px;}
    .sd-ideas-modal__callouts-wrap{padding:16px 36px 28px;}
    .sd-ideas-modal__actions{padding:0 36px 8px;}
    .sd-ideas-modal__footer-cta{padding:44px 36px;}
    .sd-ideas-modal__footer-cta-headline{font-size:28px;}
    .sd-ideas-modal__title{font-size:30px;}
    .sd-ideas-modal__callouts{gap:44px;}
    .sd-ideas-modal__callout{gap:28px;}
    .sd-ideas-modal__callout-title{font-size:22px;}
}

/* mobile — stack everything */
@media (max-width:768px){
    .sd-ideas-modal__callout{
        grid-template-columns:1fr;gap:18px;
    }
    .sd-ideas-modal__callout:nth-child(odd) .sd-ideas-modal__callout-image,
    .sd-ideas-modal__callout:nth-child(even) .sd-ideas-modal__callout-image{order:1;}
    .sd-ideas-modal__callout:nth-child(odd) .sd-ideas-modal__callout-inner,
    .sd-ideas-modal__callout:nth-child(even) .sd-ideas-modal__callout-inner{order:2;}
    .sd-ideas-modal__callouts{gap:40px;}
    .sd-ideas-modal__callout-title{font-size:21px;}
    .sd-ideas-modal__callout-desc{font-size:15px;}
    .sd-ideas-modal__callout-body{font-size:14px;}
    .sd-ideas-modal__footer-cta-deco{display:none;}
}

@media (max-width:640px){
    .sd-ideas-modal{padding:0;}
    .sd-ideas-modal__close{top:16px;right:16px;width:40px;height:40px;}
    .sd-ideas-modal .sd-ideas-modal__dialog{
        border-radius:16px;max-width:none;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:8px 8px 24px;border:1px solid rgba(17,49,74,0.12);
    }
    .sd-ideas-modal__illo{padding:16px 5px 0 !important;}
    .sd-ideas-modal__illo .sd-illo{border-radius:10px;}
    .sd-ideas-modal__title{font-size:26px;}
    .sd-ideas-modal__desc{font-size:16px;}
    .sd-ideas-modal__content{padding:28px 22px 24px;}
    .sd-ideas-modal__callouts-wrap{padding:16px 22px 22px;}
    .sd-ideas-modal__section-head{font-size:22px;margin-bottom:18px;}
    .sd-ideas-modal__actions{padding:0 22px 4px;}
    .sd-ideas-modal__footer-cta{
        flex-direction:column;align-items:stretch;text-align:center;
        padding:40px 22px;gap:20px;
    }
    .sd-ideas-modal__footer-cta-text{position:relative;z-index:2;align-items:center;}
    .sd-ideas-modal__footer-cta-headline{font-size:26px;}
    .sd-ideas-modal__footer-cta-subline{font-size:16px;}
    .sd-ideas-modal__footer-cta-btn{width:100%;padding:16px 24px;font-size:17px;border-radius:999px;}
    .sd-ideas-modal__footer-cta::after{right:-200px;width:380px;height:380px;}
}
    /* SD_LAZY_MODAL_REFACTOR_V1 skeleton + error */
    .sd-skel{background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.04) 100%);background-size:200% 100%;animation:sd-skel-shimmer 1.2s ease-in-out infinite;border-radius:8px;}
    .sd-skel-row{height:72px;margin:0 0 14px;}
    .sd-skel-line{height:14px;margin:0 0 10px;width:100%;}
    .sd-skel-line:nth-child(2){width:80%;}
    @keyframes sd-skel-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
    .sd-ideas-modal__error{padding:18px;color:#c9ccd3;font-size:14px;text-align:center;}
    .sd-ideas-modal__retry{margin-left:10px;background:transparent;border:1px solid rgba(255,255,255,.25);color:inherit;padding:6px 12px;border-radius:999px;cursor:pointer;font:inherit;}
    .sd-ideas-modal__retry:hover{border-color:rgba(255,255,255,.55);}
    .sd-ideas-modal.is-loading .sd-ideas-modal__body{opacity:.96;}

/* ---- card eyebrow (Source Code Pro) is defined in the shortcode's inline CSS
   (.sd-ideas-eyebrow / .sd-ideas-modal__eyebrow). Removed duplicate here to
   avoid rule drift. Data attr target kept below for [data-modal-outcome]. */
[data-modal-outcome]{
    font-family:'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size:15px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#235C81;
    margin:0 0 0.4rem 0;
    line-height:1.2;
}

/* ---- grid controls: search + load more ---- */
.sd-ideas-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;}

/* ==== SEARCH BAR REDESIGN: collapsed icon, expand on click ==== */
.sd-ideas-loadmore-wrap{
    display:flex;
    justify-content:center;
    margin:32px 0 0;
}
.sd-ideas-loadmore{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#235C81;
    color:#FFF6E8;
    border:none;
    padding:12px 28px;
    border-radius:999px;
    font-family:'DM Sans', sans-serif;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.02em;
    cursor:pointer;
    transition:background 180ms ease, transform 180ms ease;
}
.sd-ideas-loadmore:hover{background:#1c4a69; transform:translateY(-1px);}
.sd-ideas-loadmore[hidden]{display:none !important;}
.sd-ideas-loadmore.is-loading{opacity:0.7; cursor:default;}

.sd-ideas-grid-loading{
    position:relative;
    min-height:200px;
}
.sd-ideas-grid-loading::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(255,246,232,0.6);
    border-radius:12px;
    pointer-events:none;
}
.sd-ideas-count{
    font-size:13px;
    color:rgba(17,49,74,0.6);
    font-family:'DM Sans', sans-serif;
    margin-left:auto;
}

/* ---- card eyebrow (Source Code Pro) — restored on grid ---- */
.sd-ideas-eyebrow{
    font-family:'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size:15px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#235C81;
    margin:0 0 0.4rem 0;
    line-height:1.2;
}
.sd-ideas-modal__eyebrow{
    font-family:'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size:15px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#235C81;
    margin:0 0 0.4rem 0;
    line-height:1.2;
}

/* ==== SEARCH — focus stroke fix + height match filter pill ==== */
/* remove WebKit search decorations */
/* ==== IDEAS HEADER (dynamic fields) ==== */
.sd-ideas-header{
    max-width:780px;
    margin:0 0 28px 0;
    padding:0;
}
.sd-ideas-header__eyebrow{
    font-family:'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size:15px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#235C81;
    margin:0 0 12px 0;
    line-height:1.2;
}
.sd-ideas-header__title{
    font-family:'DM Sans', system-ui, sans-serif;
    font-size:44px;
    font-weight:700;
    letter-spacing:-0.02em;
    line-height:1.05;
    color:var(--sd-navy);
    margin:0 0 16px 0;
}
.sd-ideas-header__intro{
    font-family:'DM Sans', system-ui, sans-serif;
    font-size:16px;
    font-weight:400;
    letter-spacing:0;
    line-height:1.55;
    color:rgba(17,49,74,0.78);
    margin:0;
    max-width:680px;
}
@media (max-width:640px){
    .sd-ideas-header__title{font-size:32px;}
    .sd-ideas-header__intro{font-size:15px;}
}

/* ==== SEARCH — 33px height, circle-when-collapsed, expand on interact ==== */

/* ==== SEARCH — clean canonical block ==== */
.sd-ideas-search{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    background:rgba(255,255,255,0.55);
    border:1px solid rgba(17,49,74,0.15);
    border-radius:999px;
    height:33px;
    width:33px;
    min-width:33px;
    padding:0;
    flex:0 0 auto;
    cursor:pointer;
    overflow:hidden;
    transition:width 240ms ease, background 200ms ease, border-color 200ms ease;
}
.sd-ideas-search:hover{background:rgba(255,255,255,0.85); border-color:rgba(17,49,74,0.25);}
.sd-ideas-search.is-expanded,
.sd-ideas-search:focus-within,
.sd-ideas-search.has-text{
    width:260px;
    cursor:text;
    background:rgba(255,255,255,0.85);
    border-color:rgba(17,49,74,0.25);
    padding:0 14px;
    justify-content:flex-start;
}
.sd-ideas-search svg{
    flex:0 0 14px;
    width:14px;
    height:14px;
    color:var(--sd-navy);
    stroke-width:2;
    display:block;
}
.sd-ideas-search .sd-ideas-search-spinner{display:none;}
.sd-ideas-search.is-loading .sd-ideas-search-icon{display:none;}
.sd-ideas-search.is-loading .sd-ideas-search-spinner{display:inline-block; animation:sd-spin 900ms linear infinite;}
.sd-ideas-search input{
    flex:0 0 0;
    width:0;
    min-width:0;
    opacity:0;
    padding:0;
    margin:0;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    font-family:'DM Sans', system-ui, sans-serif;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    letter-spacing:-0.005em;
    color:var(--sd-navy);
    caret-color:var(--sd-navy);
    -webkit-appearance:none;
    appearance:none;
    transition:width 220ms ease, opacity 180ms ease, margin-left 220ms ease;
    height:100%;
}
.sd-ideas-search.is-expanded input,
.sd-ideas-search:focus-within input,
.sd-ideas-search.has-text input{
    flex:1 1 auto;
    width:auto;
    opacity:1;
    margin-left:8px;
}
.sd-ideas-search input:focus,
.sd-ideas-search input:focus-visible{outline:0 !important; box-shadow:none !important; border:0 !important;}
.sd-ideas-search input::placeholder{color:transparent;}
.sd-ideas-search input::-webkit-search-decoration,
.sd-ideas-search input::-webkit-search-cancel-button,
.sd-ideas-search input::-webkit-search-results-button,
.sd-ideas-search input::-webkit-search-results-decoration{display:none;}

/* ==== SEARCH — grid centering + geometrically-centered icon ==== */
.sd-ideas-search{
    display:grid !important;
    place-items:center !important;
    grid-template-columns:auto 0fr;
    gap:0;
}
.sd-ideas-search.is-expanded,
.sd-ideas-search:focus-within,
.sd-ideas-search.has-text{
    grid-template-columns:auto 1fr;
    gap:8px;
    place-items:center start !important;
}
.sd-ideas-search svg{margin:0 !important;}

/* ==== SEARCH — final: input display:none when collapsed so svg truly centers ==== */
.sd-ideas-search{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:33px !important;
    width:33px !important;
    min-width:33px !important;
    padding:0 !important;
    box-sizing:border-box !important;
    grid-template-columns:none !important;
}
.sd-ideas-search.is-expanded,
.sd-ideas-search:focus-within,
.sd-ideas-search.has-text{
    width:260px !important;
    padding:0 14px !important;
    justify-content:flex-start !important;
}
.sd-ideas-search svg{
    width:14px !important;
    height:14px !important;
    flex:0 0 14px !important;
    margin:0 !important;
    stroke-width:20 !important;
}
.sd-ideas-search input{
    display:none !important;
    flex:1 1 auto;
    min-width:0;
    height:100%;
    border:0;
    outline:0;
    box-shadow:none;
    background:transparent;
    padding:0;
    margin:0 0 0 8px;
    font-family:"DM Sans", system-ui, sans-serif;
    font-size:13px;
    color:var(--sd-navy);
    -webkit-appearance:none;
    appearance:none;
}
.sd-ideas-search.is-expanded input,
.sd-ideas-search:focus-within input,
.sd-ideas-search.has-text input{display:block !important;}
.sd-ideas-search input:focus,
.sd-ideas-search input:focus-visible{outline:0 !important; box-shadow:none !important;}
.sd-ideas-search input::placeholder{color:transparent;}

/* ==== LIGHTBOX — ensure hidden attr actually hides ==== */
.sd-ideas-lightbox[hidden]{display:none !important;}

/* ==== SEARCH — active-pill styling (blue bg + light icon/text) ==== */
.sd-ideas-search{
    background:var(--sd-dark-blue) !important;
    border:1px solid var(--sd-dark-blue) !important;
    box-shadow:0 6px 16px -10px rgba(35,92,129,0.6);
}
.sd-ideas-search:hover{
    background:var(--sd-dark-blue) !important;
    border-color:var(--sd-dark-blue) !important;
}
.sd-ideas-search.is-expanded,
.sd-ideas-search:focus-within,
.sd-ideas-search.has-text{
    background:var(--sd-dark-blue) !important;
    border-color:var(--sd-dark-blue) !important;
}
.sd-ideas-search svg{color:#fff !important;}
.sd-ideas-search input{color:#fff !important; caret-color:#fff !important;}
.sd-ideas-search input::placeholder{color:rgba(255,255,255,0.55) !important;}
/* Align the Search filter group label + pill with the existing filter groups */
.sd-ideas-filter-group[data-filter-group="search"]{align-items:center;}

/* ==== LIGHTBOX — full styles (were only in PHP inline CSS before) ==== */
.sd-ideas-lightbox[hidden]{display:none !important;}
.sd-ideas-lightbox{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:rgba(13,31,46,0.92);padding:24px;opacity:0;transition:opacity 180ms ease;}
.sd-ideas-lightbox.is-open{opacity:1;}
.sd-ideas-lightbox__inner{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px;}
.sd-ideas-lightbox__img{max-width:90vw;max-height:calc(90vh - 60px);width:auto;height:auto;object-fit:contain;display:block;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.sd-ideas-lightbox__caption{max-width:90vw;color:#FFF6E8;font-family:"DM Sans",sans-serif;font-size:14px;line-height:1.4;text-align:center;opacity:0.88;padding:0 12px;}
.sd-ideas-lightbox__caption-title{display:block;font-weight:600;color:#FFF6E8;margin-bottom:2px;}
.sd-ideas-lightbox__close{position:absolute;top:-52px;right:0;background:rgba(255,246,232,0.1);color:#FFF6E8;border:1px solid rgba(255,246,232,0.3);width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 160ms ease,color 160ms ease,border-color 160ms ease;padding:0;}
.sd-ideas-lightbox__close:hover{background:#DB635D;color:#FFF6E8;border-color:#DB635D;}
.sd-ideas-lightbox__close svg{display:block;}
.sd-ideas-modal__illo img,.sd-ideas-modal__callout-image img,.sd-illo.sd-illo-hero img{cursor:zoom-in;}

/* ==== MODAL — native mobile scroll feel ==== */
.sd-ideas-modal__dialog{
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain;
    touch-action:pan-y;
}

/* ==== MOBILE — zero left/right padding on cards ==== */
@media (max-width: 640px){
    .sd-ideas-wrap{padding-left:0 !important; padding-right:0 !important;}
    .sd-ideas-grid{padding:0 !important; margin:0 !important;}
    
}

/* ==== LIGHTBOX — allow pinch-to-zoom on the image ==== */
.sd-ideas-lightbox__img{touch-action:pinch-zoom manipulation;}
.sd-ideas-lightbox__inner{touch-action:pinch-zoom manipulation;}

/* ==== LIGHTBOX — landscape mobile fixes ==== */
@media (max-height: 500px){
    .sd-ideas-lightbox{padding:8px !important; overflow-y:auto !important; align-items:flex-start !important;}
    .sd-ideas-lightbox__inner{max-height:none !important;}
    .sd-ideas-lightbox__img{max-height:calc(100vh - 70px) !important;}
    .sd-ideas-lightbox__close{top:8px !important; right:8px !important; position:fixed !important; z-index:1;}
    .sd-ideas-lightbox__caption{padding-bottom:12px;}
}

/* ==== LIGHTBOX — portrait scroll + zoom ==== */
.sd-ideas-lightbox{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain;
}
.sd-ideas-lightbox__inner{
    touch-action:manipulation !important;
}
.sd-ideas-lightbox__img{
    touch-action:manipulation !important;
    max-width:none !important;
    width:90vw;
    height:auto;
}
/* Portrait: close button fixed so it stays visible while scrolling/zooming */
@media (orientation: portrait){
    .sd-ideas-lightbox{align-items:flex-start !important; padding-top:56px !important;}
    .sd-ideas-lightbox__close{position:fixed !important; top:12px !important; right:12px !important;}
    .sd-ideas-lightbox__img{max-height:none !important;}
}

/* ==== LIGHTBOX — JS-managed zoom: disable native touch-action on image ==== */
.sd-ideas-lightbox__img{
    touch-action:none !important;
    user-select:none;
    -webkit-user-select:none;
    will-change:transform;
    /* No transform transition during pan -- JS updates transform per wheel via rAF.
       A transition here causes stutter/lag because CSS keeps chasing the target. */
}
.sd-ideas-lightbox{touch-action:none !important; overscroll-behavior:contain;}
.sd-ideas-lightbox__inner{touch-action:none !important;}

/* ==== LIGHTBOX — caption behind image ==== */
.sd-ideas-lightbox__inner{position:relative;}
.sd-ideas-lightbox__caption{position:relative; z-index:-1;}
.sd-ideas-lightbox__img{position:relative; z-index:1;}
.sd-ideas-lightbox__close{z-index:2;}



/* ==== LIGHTBOX — hug image (no dead space) fix 20260417 ==== */
/* Container sizes to the image so any transparent area is truly backdrop
   and the existing click-backdrop-to-close handler catches all outside clicks. */
.sd-ideas-lightbox__inner{
    width: max-content !important;
    height: auto !important;
    max-width: 90vw !important;
    max-height: 90vh !important;
    display: block !important;
    pointer-events: none;
}
.sd-ideas-lightbox__img{
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 90vw !important;
    max-height: calc(90vh - 64px) !important;
    object-fit: contain !important;
    pointer-events: auto;
}
/* Caption sits below, constrained to image width so it does not widen the container. */
.sd-ideas-lightbox__caption{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    box-sizing: border-box !important;
    pointer-events: auto;
}
/* Close button stays in image top-right; re-enable pointer events explicitly. */
.sd-ideas-lightbox__close{pointer-events: auto;}

/* Landscape mobile: preserve scroll behavior but keep image hugging */
@media (max-height: 500px){
    .sd-ideas-lightbox__img{max-height: calc(100vh - 70px) !important; max-width: 100vw !important;}
    .sd-ideas-lightbox__inner{max-width: 100vw !important; max-height: none !important;}
}
/* Portrait: allow image up to full width of viewport while still hugging */
@media (orientation: portrait){
    .sd-ideas-lightbox__img{max-width: 96vw !important; max-height: calc(100vh - 80px) !important;}
    .sd-ideas-lightbox__inner{max-width: 96vw !important; max-height: none !important;}
}

/* ==== LIGHTBOX DESKTOP CLICK-TO-ZOOM ==== */
/* JS toggles inline cursor (zoom-in / zoom-out) on fine-pointer devices. This CSS is a fallback.
   NOTE: no transform transition here -- it causes wheel-pan stutter because CSS keeps chasing the target. */
@media (hover: hover) and (pointer: fine) {
    .sd-ideas-lightbox__img { cursor: zoom-in; transition: none; }
    .sd-ideas-lightbox.is-zoomed .sd-ideas-lightbox__img { cursor: zoom-out; transition: none; }
}
/* Allow the inner viewport to show the scaled image without clipping via the outer flex layout. */
.sd-ideas-lightbox__inner { overflow: visible; }

/* ==== SCROLL HINT (grid modal only) ==== */
/* Sits directly above the hero image inside the modal dialog. Fades out once
   the user scrolls the dialog content; fades back in when they return to top.
   Only shown when the modal content is actually scrollable. */
.sd-ideas-modal__scroll-hint{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 22px 16px 14px;
    background: #FFF6E8;
    opacity: 1;
    transition: opacity 300ms ease;
    pointer-events: none;
    user-select: none;
}
.sd-ideas-modal__scroll-hint[data-hidden="true"]{
    opacity: 0;
    pointer-events: none;
}
.sd-ideas-modal__scroll-hint-label{
    font-family: 'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #235C81;
    line-height: 1.2;
}
.sd-ideas-modal__scroll-hint-icon{
    width: 22px;
    height: 22px;
    color: #235C81;
    display: block;
    animation: sd-scroll-hint-bounce 2s ease-in-out infinite;
    will-change: transform;
}
@keyframes sd-scroll-hint-bounce{
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce){
    .sd-ideas-modal__scroll-hint-icon{ animation: none; }
}
@media (max-width: 640px){
    .sd-ideas-modal__scroll-hint{ padding: 16px 16px 10px; }
    .sd-ideas-modal__scroll-hint-label{ font-size: 13px; }
    .sd-ideas-modal__scroll-hint-icon{ width: 20px; height: 20px; }
}
