/* ══════════════════════════════════════════════════════════════════════════
   ABOUT page — scoped styles. Ported verbatim from about.blade.php.
   (The shared .lu-nav / button-reskin / toast / zoho-modal rules live in
   lu-chrome.css / lu-shared.css; only the page-specific #ab-* styles and the
   on-page Register-Your-Interest form (.lu-zf / .lu-embed) styles are here.)
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════
   ABOUT PAGE — scoped styles
══════════════════════════════════════════ */
:root {
    --dp:#2C2F73; --mp:#3F3F8F; --lp:#5A5ACF; --ov:#1F2257;
    --cyan:#7ED6D1; --cyanl:#A6E3DF; --mint:#9FE3B3;
    --white:#FFFFFF; --soft:#E6E8F0;
}
html { scroll-behavior: smooth; }
body { background: var(--dp); color: var(--soft); }

/* shared section spacing */
.ab-sec  { padding: 72px 0; position: relative; overflow: hidden; }
.ab-dots::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(127,214,209,.055) 1px,transparent 1px); background-size:42px 42px; pointer-events:none; z-index:0; }

/* ── typography — lighter weight per client notes ── */
.ab-heading {
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-weight: 300;          /* LIGHT — no chunky */
    text-transform: uppercase;
    color: var(--white);
    line-height: 1.04;
    letter-spacing: -.01em;
    font-size: clamp(26px,3.8vw,54px);
}
.ab-heading em  { font-style:normal; color:var(--cyan); }
.ab-heading .gh { color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.22); }
.ab-body { font-family:'Futura','Trebuchet MS',sans-serif; font-size:15px; color:rgba(230,232,240,.72); line-height:1.76; }
/* cyan label class KEPT for CSS but overridden to hidden — nothing shows */
.ab-label { display: none !important; }

/* ── GLOW CARD ── */
.ab-gc { border:1px solid rgba(127,214,209,.14); background:rgba(31,34,87,.82); transition:border-color .3s,transform .3s,box-shadow .3s; position:relative; overflow:hidden; }
.ab-gc::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:0; transition:opacity .3s; }
.ab-gc:hover { border-color:rgba(127,214,209,.42); transform:translateY(-4px); box-shadow:0 12px 40px rgba(44,47,115,.55); }
.ab-gc:hover::before { opacity:1; }

/* ── 1. HERO ── */
#ab-hero {
    min-height: 100vh;
    background: linear-gradient(145deg,#1F2257 0%,#2C2F73 38%,#3F3F8F 72%,#2C2F73 100%);
    display: flex; align-items: center;
    position: relative; overflow: hidden;
}
#ab-hero::before { content:''; position:absolute; top:-30%; right:-18%; width:72vw; height:72vw; max-width:900px; background:radial-gradient(ellipse at center,rgba(90,90,207,.38) 0%,transparent 68%); pointer-events:none; }
#ab-hero::after  { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(127,214,209,.06) 1px,transparent 1px); background-size:44px 44px; pointer-events:none; }
#ab-hero .ab-hero-photo { position:absolute; inset:0; z-index:0; overflow:hidden; }
#ab-hero .ab-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center right; opacity:.55; }
#ab-hero .ab-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#1F2257 0%,rgba(31,34,87,.94) 28%,rgba(44,47,115,.6) 62%,rgba(44,47,115,.28) 100%); }
@media (max-width:767px){ #ab-hero .ab-hero-photo img{ opacity:.3; } #ab-hero .ab-hero-photo::after{ background:linear-gradient(180deg,rgba(31,34,87,.72) 0%,rgba(31,34,87,.94) 62%,#1F2257 100%); } }

/* hero title — lighter weight */
.ab-htitle {
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-weight: 300;          /* LIGHT */
    font-size: clamp(38px,6.5vw,88px);
    line-height: .96; text-transform: uppercase;
    letter-spacing: -.025em; color: var(--white); margin-bottom: 28px;
}
.ab-htitle .lc { color: var(--cyan); }
.ab-htitle .lg { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.2); }
.ab-hsub  { font-family:'Futura','Trebuchet MS',sans-serif; font-size:17px; line-height:1.72; color:rgba(230,232,240,.7); max-width:520px; margin-bottom:44px; }
.ab-hpills { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
.ab-hpill  { display:flex; align-items:center; gap:7px; background:rgba(44,47,115,.55); border:1px solid rgba(127,214,209,.2); backdrop-filter:blur(6px); padding:7px 14px; font-family:'LEMONMILK','Futura',sans-serif; font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:rgba(230,232,240,.7); }
.ab-hpill i { color:var(--cyan); font-size:10px; }
.ab-hctas   { display:flex; gap:14px; flex-wrap:wrap; }
.ab-hctas .btn-mod { border-radius:50px; font-size:11px; letter-spacing:.14em; padding:14px 32px; }
/* ── EVENT NUMBERS STRIP (below hero) ── */
.ab-stats-strip { padding: 56px 0; background: var(--ov); border-top:1px solid rgba(127,214,209,.08); border-bottom:1px solid rgba(127,214,209,.08); position:relative; }
.ab-stats-row { display:grid; grid-template-columns: repeat(6,1fr); align-items:center; }
.ab-stats-cell { padding: 14px 22px; text-align:center; position:relative; }
.ab-stats-cell + .ab-stats-cell::before {
    content:''; position:absolute; left:0; top:18%; bottom:18%;
    width:1px; background: linear-gradient(180deg, transparent, rgba(127,214,209,.22), transparent);
}
.ab-stats-n { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(28px,3.4vw,48px); color:var(--white); line-height:1; margin-bottom:10px; letter-spacing:-.02em; }
.ab-stats-n sup { color:var(--cyan); font-size:.42em; vertical-align:super; }
.ab-stats-l { font-family:'LEMONMILK','Futura',sans-serif; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(230,232,240,.55); line-height:1.4; }
@media (max-width: 991px) {
    .ab-stats-row { grid-template-columns: repeat(3,1fr); row-gap: 28px; }
    .ab-stats-cell:nth-child(4)::before { display:none; }
}
@media (max-width: 575px) {
    .ab-stats-row { grid-template-columns: repeat(2,1fr); row-gap: 24px; }
    .ab-stats-cell:nth-child(odd)::before { display:none; }
    .ab-stats-cell:nth-child(3)::before { display:none; }
}
.ab-scroll  { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; opacity:.32; }
.ab-scroll span { font-family:'LEMONMILK','Futura',sans-serif; font-size:7.5px; letter-spacing:.2em; text-transform:uppercase; color:#fff; }
.ab-sline   { width:1px; height:34px; background:linear-gradient(to bottom,#fff,transparent); animation:ascr 1.9s infinite; }
@keyframes ascr { 0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom} }
@keyframes hpulse { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.5)} }

/* ── 2. ABOUT cards ── */
#ab-about { background: var(--dp); }
.ab-acard { padding:32px; height:100%; background:rgba(44,47,115,.45); border:1px solid rgba(127,214,209,.12); backdrop-filter:blur(10px); transition:border-color .3s,transform .3s,box-shadow .3s; position:relative; overflow:hidden; }
.ab-acard::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:0; transition:opacity .3s; }
.ab-acard:hover { border-color:rgba(127,214,209,.38); transform:translateY(-4px); box-shadow:0 16px 44px rgba(31,34,87,.55); }
.ab-acard:hover::before { opacity:1; }
.ab-acard-icon  { display:flex; align-items:center; justify-content:center; transition:transform .3s; flex-shrink:0; }
.ab-acard:hover .ab-acard-icon { transform:scale(1.08); }
/* Icon + title sit on the same row */
.ab-acard-head { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.ab-acard-head .ab-acard-title { margin-bottom: 0; }
.ab-acard-title { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--white); margin-bottom:12px; line-height:1.3; }

/* ── 3. MEDIA ROOM ── */
#ab-media { background: var(--ov); }
.ab-media-stat {
    background: rgba(44,47,115,.5); border:1px solid rgba(127,214,209,.18);
    backdrop-filter:blur(12px); padding:36px 40px;
    position:relative; overflow:hidden;
    display:flex; flex-direction:column; justify-content:center;
}
.ab-media-stat::before { content:''; position:absolute; bottom:-60px; left:-60px; width:280px; height:280px; background:radial-gradient(circle,rgba(127,214,209,.1) 0%,transparent 70%); }
.ab-media-num { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(36px,4.5vw,64px); line-height:1; color:var(--white); letter-spacing:-.025em; text-shadow:0 0 40px rgba(127,214,209,.3); }
.ab-media-num sup { color:var(--cyan); font-size:.44em; vertical-align:super; }
.ab-media-lbl { font-family:'LEMONMILK','Futura',sans-serif; font-size:8.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(230,232,240,.42); margin-top:6px; }
.ab-press-strip {
    background:linear-gradient(90deg,rgba(44,47,115,.7),rgba(90,90,207,.5));
    border:1px solid rgba(127,214,209,.2); padding:36px 40px;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:24px; height:100%;
}
/* news / press / article cards */
.ab-mcard {
    background:rgba(44,47,115,.45); border:1px solid rgba(127,214,209,.12);
    overflow:hidden; transition:border-color .3s, transform .3s, box-shadow .3s;
    height:100%; display:flex; flex-direction:column;
    border-radius: 2px;
}
.ab-mcard:hover { border-color:rgba(127,214,209,.4); transform:translateY(-4px); box-shadow:0 18px 50px rgba(31,34,87,.5); }
.ab-mcard-img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; filter:grayscale(20%) brightness(0.92); transition:filter .35s, transform .55s; flex-shrink:0; }
.ab-mcard:hover .ab-mcard-img { filter:grayscale(0%); }
.ab-mcard-body { padding:24px 22px 22px; flex:1; display:flex; flex-direction:column; }
.ab-mcard-date  { font-family:'LEMONMILK','Futura',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.ab-mcard-title { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:15px; letter-spacing:.04em; text-transform:uppercase; color:var(--white); line-height:1.35; margin-bottom:14px; }
.ab-mcard-intro { font-family:'Futura','Trebuchet MS',sans-serif; font-size:14px; color:rgba(230,232,240,.7); line-height:1.65; flex:1; }
.ab-mcard-link  { font-family:'LEMONMILK','Futura',sans-serif; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--cyan); text-decoration:none; margin-top:18px; display:inline-block; transition:transform .25s; }
.ab-mcard-link:hover { color:#fff; }

.ab-mcard { height:100%; }
.ab-mcard-btn { background:none; border:none; padding:0; text-align:left; cursor:pointer; }
.ab-mcard-intro { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
    overflow:hidden; }

.ab-nmodal { position:fixed; inset:0; z-index:99998; display:none;
    background:rgba(6,6,22,.82); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
    padding:24px; overflow-y:auto; }
.ab-nmodal.open { display:flex; align-items:flex-start; justify-content:center; }
.ab-nmodal-box { position:relative; width:100%; max-width:860px; margin:auto;
    background:#12123A; border:1px solid rgba(127,214,209,.22); border-radius:16px;
    overflow:hidden; box-shadow:0 40px 120px rgba(0,0,0,.6); }
.ab-nmodal-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,#7ED6D1,#9FE3B3); pointer-events:none; }
.ab-nmodal-x { position:absolute; top:14px; right:14px; width:36px; height:36px;
    border-radius:50%; border:none; background:rgba(255,255,255,.10); color:#fff;
    font-size:15px; line-height:1; cursor:pointer; display:flex; align-items:center;
    justify-content:center; transition:background .2s; z-index:2; }
.ab-nmodal-x:hover { background:rgba(255,255,255,.22); }
.ab-nmodal-x:focus-visible, .ab-mcard-btn:focus-visible { outline:2px solid #7ED6D1; outline-offset:3px; }
.ab-nmodal-head { padding:34px clamp(22px,4vw,48px) 20px; border-bottom:1px solid rgba(127,214,209,.14); }
.ab-nmodal-date { font-family:'LEMONMILK','Futura',sans-serif; font-size:10px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:12px; }
.ab-nmodal-title { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700;
    font-size:clamp(17px,2.4vw,26px); line-height:1.28; text-transform:uppercase;
    color:#fff; margin:0; padding-right:44px; }
.ab-nmodal-body { padding:26px clamp(22px,4vw,48px) 38px; max-height:64vh; overflow-y:auto;
    font-family:'Futura','Trebuchet MS',sans-serif; font-size:14.5px; line-height:1.78;
    color:rgba(230,232,240,.80); overscroll-behavior:contain; }
.ab-nmodal-body p { margin:0 0 16px; overflow-wrap:break-word; }
.ab-nmodal-body a { overflow-wrap:anywhere; }
.ab-nmodal-body a { color:var(--cyan); text-decoration:underline; text-underline-offset:2px; }
.ab-nmodal-body strong { color:#fff; }
.ab-nmodal-body ul.ab-nm-lead { list-style:none; padding:0; margin:0 0 24px;
    border-left:2px solid rgba(127,214,209,.5); }
.ab-nmodal-body ul.ab-nm-lead li { font-style:italic; color:rgba(230,232,240,.92);
    padding:0 0 10px 18px; font-size:14px; }
.ab-nmodal-body ul.ab-nm-list { padding-left:20px; margin:0 0 18px; }
.ab-nmodal-body ul.ab-nm-list li { margin-bottom:10px; }
.ab-nmodal-body p.ab-nm-quote { border-left:2px solid rgba(159,227,179,.55);
    padding:2px 0 2px 18px; color:rgba(255,255,255,.92); }
.ab-nmodal-body .ab-nm-extra { margin-top:30px; padding-top:24px;
    border-top:1px solid rgba(127,214,209,.14); }
.ab-nmodal-body .ab-nm-extra-h { font-family:'LEMONMILK','Futura',sans-serif; font-size:10px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:16px; }
.ab-nmodal-foot { padding:0 clamp(22px,4vw,48px) 30px; }
@media (max-width:575px) {
    .ab-nmodal { padding:0; }
    .ab-nmodal-box { border-radius:0; min-height:100%; }
    .ab-nmodal-body { max-height:none; }
}
/* sub-section title (News / Press Releases / Articles) */
.ab-media-sub { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700; font-size:clamp(22px,2.4vw,34px); letter-spacing:.02em; text-transform:uppercase; color:var(--white); margin-top:72px; margin-bottom:36px; padding-bottom:18px; border-bottom:1px solid rgba(127,214,209,.2); line-height:1.1; position:relative; }
.ab-media-sub::before { content:''; display:inline-block; width:10px; height:10px; background:var(--cyan); margin-right:14px; vertical-align:middle; box-shadow:0 0 12px rgba(127,214,209,.55); position:relative; top:-2px; }

/* ── 4. FAQs — FULL WIDTH, sidebar removed ── */
#ab-faqs { background: var(--dp); }
.ab-fitem { border-bottom:1px solid rgba(127,214,209,.1); }
.ab-fq    { display:flex; align-items:center; justify-content:space-between; padding:20px 0; cursor:pointer; gap:16px; font-family:'LEMONMILK','Futura',sans-serif; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--white); transition:color .25s; }
.ab-fq:hover { color:var(--cyan); }
.ab-ftog  { width:28px; height:28px; border:1px solid rgba(127,214,209,.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:14px; color:rgba(230,232,240,.5); transition:border-color .25s,background .25s,transform .3s,color .25s; }
.ab-fq:hover .ab-ftog { border-color:var(--cyan); color:var(--cyan); }
.ab-fq.open .ab-ftog  { background:rgba(127,214,209,.1); border-color:var(--cyan); color:var(--cyan); transform:rotate(45deg); }
.ab-fa    { overflow:hidden; max-height:0; transition:max-height .4s ease,padding .3s; font-family:'Futura','Trebuchet MS',sans-serif; font-size:14px; color:rgba(230,232,240,.62); line-height:1.76; }
.ab-fa.open { max-height:320px; padding-bottom:22px; }

/* ── 5. CONTACT ── */
#ab-contact { background:var(--ov); border-top:1px solid rgba(127,214,209,.1); }
.ab-cglass { background:rgba(44,47,115,.45); border:1px solid rgba(127,214,209,.18); backdrop-filter:blur(16px); padding:52px 48px; position:relative; overflow:hidden; }
.ab-cglass::before { content:''; position:absolute; top:-100px; right:-100px; width:380px; height:380px; background:radial-gradient(circle,rgba(90,90,207,.2) 0%,transparent 65%); }
.ab-cglass .form-control { background:rgba(31,34,87,.7) !important; border:1px solid rgba(127,214,209,.16) !important; border-radius:0 !important; color:var(--white) !important; font-family:'Futura','Trebuchet MS',sans-serif; font-size:14px; padding:13px 18px; }
.ab-cglass .form-control:focus { border-color:var(--cyan) !important; box-shadow:0 0 0 3px rgba(127,214,209,.1) !important; background:rgba(44,47,115,.7) !important; }
.ab-cglass label { font-family:'LEMONMILK','Futura',sans-serif; font-size:7.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(230,232,240,.42); margin-bottom:6px; display:block; }
.ab-cirow { background:rgba(44,47,115,.45); border:1px solid rgba(127,214,209,.12); padding:22px 22px; display:flex; align-items:center; gap:16px; transition:border-color .25s, transform .25s; flex:1; }
.ab-cirow:hover { border-color:rgba(127,214,209,.3); }
.ab-cico  { width:36px; height:36px; border:1px solid rgba(127,214,209,.2); display:flex; align-items:center; justify-content:center; color:var(--cyan); font-size:14px; flex-shrink:0; }
.ab-cisub { font-family:'LEMONMILK','Futura',sans-serif; font-size:7.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(230,232,240,.35); display:block; margin-bottom:3px; }
.ab-cival { font-family:'Futura','Trebuchet MS',sans-serif; font-size:13px; color:rgba(230,232,240,.75); text-decoration:none; }

/* ── 6. INSTAGRAM placeholder ── */
#ab-instagram { background:var(--dp); padding:52px 0; }
.ab-insta-ph  { border:2px dashed rgba(127,214,209,.18); padding:56px 40px; text-align:center; background:rgba(44,47,115,.18); }

/* responsive */
@media(max-width:767px) {
    .ab-sec  { padding:52px 0; }
    .ab-cglass { padding:28px 20px; }
    .ab-media-stat { padding:28px; }
    .ab-press-strip { flex-direction:column; }
}

/* ── INSTAGRAM SECTION (item 3) ── */
#ab-instagram { padding: 72px 0; background: var(--dp); position: relative; overflow: hidden; }
.ab-insta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.ab-insta-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: block;
    background: rgba(31,34,87,.4);
    border: 1px solid rgba(127,214,209,.08);
    transition: border-color .3s, transform .3s;
}
.ab-insta-tile img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s ease, filter .35s ease;
    filter: brightness(0.92) saturate(1.05);
}
.ab-insta-tile:hover {
    border-color: rgba(127,214,209,.4);
    transform: translateY(-3px);
}
.ab-insta-tile:hover img {
    transform: scale(1.08);
    filter: brightness(0.7) saturate(1.1);
}
.ab-insta-tile-overlay {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(127,214,209,.0) 0%, rgba(90,90,207,.0) 100%);
    opacity: 0;
    transition: opacity .3s ease, background .3s ease;
    pointer-events: none;
}
.ab-insta-tile:hover .ab-insta-tile-overlay {
    opacity: 1;
    background: linear-gradient(135deg, rgba(127,214,209,.25) 0%, rgba(90,90,207,.45) 100%);
}
.ab-insta-tile-overlay i {
    color: #fff;
    font-size: 32px;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.ab-insta-follow {
    display: inline-flex; align-items: center;
    font-family: 'LEMONMILK','Futura',sans-serif;
    font-size: 13px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: #1F2257;
    background: var(--mint);
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    transition: background .22s, box-shadow .22s, transform .15s;
}
.ab-insta-follow:hover {
    background: #b5edcc;
    box-shadow: 0 0 20px rgba(159,227,179,.55);
    transform: translateY(-1px);
    color: #1F2257;
    text-decoration: none;
}
.ab-insta-follow i { margin-right: 4px; font-size: 16px; }
/* Placeholder fallback */
.ab-insta-ph {
    text-align: center;
    padding: 60px 30px;
    background: rgba(31,34,87,.4);
    border: 1px solid rgba(127,214,209,.1);
}
/* Responsive */
@media (max-width: 991px) { .ab-insta-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
@media (max-width: 575px) {
    .ab-insta-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

/* ══════════════════════════════════════════
   ON-PAGE "REGISTER YOUR INTEREST" FORM (.lu-zf / .lu-embed)
══════════════════════════════════════════ */
.lu-embed-host { background:transparent !important; border:none !important;
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    padding:0 !important; box-shadow:none !important; }
.lu-embed-host::before, .lu-embed-host::after { display:none !important; content:none !important; }
.lu-embed-card { position:relative; background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 26px 70px rgba(0,0,0,.45); border:1px solid rgba(127,214,209,.28); }
.lu-embed-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,#7ED6D1 0%,#9FE3B3 100%); z-index:2; pointer-events:none; }
.lu-embed-card iframe { display:block; width:100%; border:none; background:#fff; }


.lu-zf { position:relative; }
.lu-zf-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 16px; }
.lu-zf-f { display:flex; flex-direction:column; min-width:0; }
.lu-zf-f.full { grid-column:1 / -1; }
.lu-zf label, .lu-zf .lu-zf-lbl {
    font-family:'LEMONMILK','Futura',sans-serif; font-size:8.5px; letter-spacing:.18em;
    text-transform:uppercase; color:rgba(230,232,240,.52); margin-bottom:7px; }
.lu-zf .lu-zf-req { color:var(--cyan,#7ED6D1); margin-left:3px; }
.lu-zf input[type=text], .lu-zf input[type=email], .lu-zf select {
    width:100%; background:rgba(31,34,87,.72); border:1px solid rgba(127,214,209,.16);
    border-radius:8px; color:#fff; font-family:'Futura','Trebuchet MS',sans-serif;
    font-size:14px; padding:12px 14px; transition:border-color .18s, box-shadow .18s;
    -webkit-appearance:none; appearance:none; }
.lu-zf select {
    background-image:linear-gradient(45deg,transparent 50%,rgba(127,214,209,.7) 50%),
                     linear-gradient(135deg,rgba(127,214,209,.7) 50%,transparent 50%);
    background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%;
    background-size:5px 5px, 5px 5px; background-repeat:no-repeat;
    padding-right:38px; cursor:pointer; }
.lu-zf select option { background:#1F2257; color:#fff; }
.lu-zf input::placeholder { color:rgba(230,232,240,.30); }

.lu-zf input:-webkit-autofill,
.lu-zf input:-webkit-autofill:hover,
.lu-zf input:-webkit-autofill:focus {
    -webkit-text-fill-color:#fff; caret-color:#fff;
    -webkit-box-shadow:0 0 0 40px rgba(31,34,87,1) inset;
            box-shadow:0 0 0 40px rgba(31,34,87,1) inset;
    transition:background-color 9999s ease-out 0s; }
.lu-zf input:focus, .lu-zf select:focus {
    outline:none; border-color:var(--cyan,#7ED6D1); box-shadow:0 0 0 3px rgba(127,214,209,.12);
    background:rgba(44,47,115,.78); }
.lu-zf .lu-zf-phone { display:grid; grid-template-columns:88px 1fr; gap:8px; }
.lu-zf .lu-zf-name  { display:grid; grid-template-columns:84px 1fr 1fr; gap:8px; }
.lu-zf .lu-zf-radio { display:flex; gap:22px; flex-wrap:wrap; padding-top:4px; }
.lu-zf .lu-zf-radio span { display:inline-flex; align-items:center; gap:8px;
    font-size:14px; color:rgba(230,232,240,.86); cursor:pointer; }
.lu-zf .lu-zf-radio input { accent-color:var(--cyan,#7ED6D1); width:16px; height:16px;
    cursor:pointer; }
.lu-zf .lu-zf-err { display:none; font-family:'Futura','Trebuchet MS',sans-serif;
    font-size:11.5px; letter-spacing:.02em; text-transform:none; color:#FF8B8B;
    margin-top:6px; }
.lu-zf .lu-zf-f.bad input, .lu-zf .lu-zf-f.bad select { border-color:#FF8B8B; }
.lu-zf .lu-zf-f.bad .lu-zf-err { display:block; }
.lu-zf-top { display:none; margin-bottom:18px; padding:12px 16px; border-radius:8px;
    background:rgba(255,139,139,.10); border:1px solid rgba(255,139,139,.35);
    color:#FFB4B4; font-size:13px; }
.lu-zf-top.on { display:block; }
.lu-zf-sub { margin-top:22px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.lu-zf-btn { font-family:'LEMONMILK','Futura',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; border:none; border-radius:50px; cursor:pointer;
    padding:14px 34px; background:var(--mint,#9FE3B3); color:#12123A;
    transition:transform .18s, filter .18s; }
.lu-zf-btn:hover { filter:brightness(1.06); transform:translateY(-1px); }
.lu-zf-btn[disabled] { opacity:.6; cursor:default; transform:none; }

.lu-zf-btn:focus-visible { outline:2px solid #7ED6D1; outline-offset:3px; }
.lu-zf input:focus-visible, .lu-zf select:focus-visible { outline:2px solid #7ED6D1; outline-offset:1px; }
.lu-zf-note { font-size:11.5px; color:rgba(230,232,240,.42); line-height:1.6; }
.lu-zf-hp { position:absolute !important; left:-9999px !important; width:1px !important;
    height:1px !important; overflow:hidden !important; }
.lu-zf-done { border:1px solid rgba(159,227,179,.4); background:rgba(159,227,179,.08);
    border-radius:12px; padding:clamp(24px,3vw,40px); text-align:center; }
.lu-zf-done i { font-size:30px; color:var(--mint,#9FE3B3); margin-bottom:14px; display:block; }
.lu-zf-done-h { font-family:'LEMONMILK','Futura',sans-serif; font-weight:700;
    font-size:clamp(17px,2vw,24px); text-transform:uppercase; color:#fff; margin-bottom:10px; }
.lu-zf-done p { font-size:14px; color:rgba(230,232,240,.72); margin:0 auto; max-width:420px; }
@media (max-width:575px) {
    .lu-zf-grid { grid-template-columns:1fr; }
    .lu-zf .lu-zf-name { grid-template-columns:72px 1fr; }
    .lu-zf .lu-zf-name .lu-zf-last { grid-column:1 / -1; }
}
@media (max-width:575px){ .lu-embed-card { border-radius:12px; } }
/* ── MULTI-STEP (typeform-style) enhancement — scoped to .lu-zf forms.
   Progressive: with NO JS every .lu-zf-step is shown and the form is the
   same single scrollable page as before. JS adds .lu-zf-stepped, which
   reveals one step at a time. Nothing here renames a field. */
.lu-zf-grid { display:block; }
.lu-zf-step { display:grid; grid-template-columns:1fr 1fr; gap:16px 16px; }
.lu-zf-grid > .lu-zf-step + .lu-zf-step { margin-top:16px; }
.lu-zf-stepped .lu-zf-grid { min-height:300px; }
.lu-zf-stepped .lu-zf-step { display:none; }
.lu-zf-stepped .lu-zf-step.lu-zf-active { display:grid; }
.lu-zf-stepped .lu-zf-step + .lu-zf-step { margin-top:0; }
.lu-zf-prog { display:none; margin-bottom:22px; }
.lu-zf-stepped .lu-zf-prog { display:block; }
.lu-zf-prog-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px; }
.lu-zf-prog-step { font-family:'LEMONMILK','Futura',sans-serif; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--cyan,#7ED6D1); white-space:nowrap; }
.lu-zf-prog-name { font-family:'Futura','Trebuchet MS',sans-serif; font-size:12px; color:rgba(230,232,240,.55); text-align:right; }
.lu-zf-prog-track { height:4px; border-radius:50px; background:rgba(127,214,209,.14); overflow:hidden; }
.lu-zf-prog-fill { height:100%; width:0; border-radius:50px; background:linear-gradient(90deg,var(--cyan,#7ED6D1),var(--mint,#9FE3B3)); transition:width .35s ease; }
.lu-zf-nav { display:none; margin-top:22px; gap:14px; align-items:center; flex-wrap:wrap; }
.lu-zf-stepped .lu-zf-nav { display:flex; }
.lu-zf-stepped .lu-zf-sub { display:none; }
.lu-zf-stepped .lu-zf-sub.lu-zf-active { display:flex; }
.lu-zf-back { font-family:'LEMONMILK','Futura',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; border:1px solid rgba(127,214,209,.4); border-radius:50px; cursor:pointer; padding:13px 26px; background:transparent; color:var(--cyan,#7ED6D1); transition:background .2s, color .2s; }
.lu-zf-back:hover { background:rgba(127,214,209,.1); }
.lu-zf-back:focus-visible { outline:2px solid #7ED6D1; outline-offset:3px; }
.lu-zf-next { font-family:'LEMONMILK','Futura',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; border:none; border-radius:50px; cursor:pointer; padding:14px 34px; background:var(--mint,#9FE3B3); color:#12123A; transition:transform .18s, filter .18s; }
.lu-zf-next:hover { filter:brightness(1.06); transform:translateY(-1px); }
.lu-zf-next:focus-visible { outline:2px solid #7ED6D1; outline-offset:3px; }
@media (max-width:575px) {
    .lu-zf-step { grid-template-columns:1fr; }
    .lu-zf-back, .lu-zf-next { flex:1; text-align:center; }
}
