/* RIVET — visual richness: color washes, gradients, branded product mocks
   (Mighty-style app mock · WBD-style data viz · workflow flows) */

/* ============ AWARD-GRADE POLISH ============ */
.scroll-progress { position:fixed; top:0; left:0; height:3px; width:0; z-index:300;
  background:linear-gradient(90deg, var(--magenta), var(--violet) 55%, var(--cyan));
  box-shadow:0 0 14px rgba(255,0,212,0.5); transition:width .08s linear; pointer-events:none; border-bottom-right-radius:2px; }
/* magnetic primary CTAs — cursor-follow handled in JS, transform-smoothed here */
.btn--primary, .btn--magenta { will-change:transform; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .2s ease; }
.btn--magenta:hover { box-shadow:0 12px 34px -8px rgba(255,0,212,0.55); }
.btn--primary:hover { box-shadow:0 12px 34px -8px rgba(59,6,212,0.5); }
.btn--magnetic { transform:translate(var(--mx,0), var(--my,0)); }
@media (hover:none) { .btn--magnetic { transform:none; } }
/* refined focal lift for interactive cards already using transform */
.tile--link, .course--link, .airs__card, .bene__card, .surface { transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .2s ease; }
@media (prefers-reduced-motion: reduce) { .btn--magnetic { transform:none !important; } .scroll-progress { display:none; } }

/* ============ COLOR WASHES — de-plain every page ============ */
.section--alt { background:
  radial-gradient(90% 70% at 0% 0%, rgba(76,243,254,0.09), transparent 55%),
  radial-gradient(80% 70% at 100% 100%, rgba(59,6,212,0.07), transparent 55%),
  var(--paper-2); }
.phero { background:
  radial-gradient(70% 80% at 88% 0%, rgba(255,0,212,0.06), transparent 60%),
  radial-gradient(60% 70% at 0% 25%, rgba(76,243,254,0.08), transparent 60%); }
.site-footer { background:
  radial-gradient(80% 100% at 50% 100%, rgba(59,6,212,0.05), transparent 60%); }

/* gradient hairlines on cards */
.tile, .course, .bene__card, .step { position:relative; overflow:hidden; }
.tile::before, .course::before, .bene__card::before, .step::before {
  content:""; position:absolute; top:0; left:0; width:100%; height:3px;
  background:linear-gradient(90deg, var(--gc, var(--violet)), transparent 72%); opacity:.7; }

/* CTA band — brand blooms over the ink */
.ctaband { position:relative; overflow:hidden; }
.ctaband::before { content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(60% 95% at 88% 8%, rgba(255,0,212,0.30), transparent 60%),
  radial-gradient(50% 85% at 8% 100%, rgba(76,243,254,0.16), transparent 60%),
  radial-gradient(75% 110% at 50% - 10%, rgba(59,6,212,0.45), transparent 70%); }
.ctaband > * { position:relative; z-index:1; }

/* big stat numerals — gradient ink */
.statrow dt { background:linear-gradient(120deg, var(--ink) 30%, var(--violet) 65%, var(--magenta));
  -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ============ APP MOCK (the Labs, Mighty-style, on brand) ============ */
.appmock { width:min(320px,100%); margin-inline:auto; flex:none;
  background:linear-gradient(170deg,#fff 30%,var(--lilac-soft)); border:1px solid var(--line);
  border-radius:34px; box-shadow:0 34px 70px - 28px rgba(15,0,37,0.45), inset 0 0 0 6px #fff;
  padding:18px; display:flex; flex-direction:column; gap:12px; }
.appmock__bar { display:flex; justify-content:center; }
.appmock__bar i { width:54px; height:5px; border-radius:99px; background:var(--paper-3); }
.appmock__head { display:flex; align-items:center; gap:10px; }
.appmock .av { width:38px; height:38px; border-radius:50%; overflow:hidden; flex:none; box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--line); background:var(--paper-3); }
.appmock .av img { width:100%; height:100%; object-fit:cover; display:block; }
.appmock__id b { display:block; font-size:0.9rem; color:var(--ink); }
.appmock__id small { font-family:var(--font-mono); font-size:0.64rem; color:var(--violet); }
.appmock__streak { margin-left:auto; font-family:var(--font-mono); font-size:0.62rem; font-weight:600; color:#8a4d00; background:linear-gradient(150deg,#ffe9c4,#fff); border:1px solid #f0c97e; padding:5px 9px; border-radius:99px; white-space:nowrap; }
.appmock__card { background:linear-gradient(150deg, var(--ink), #2a1850); border-radius:16px; padding:14px; display:flex; flex-direction:column; gap:7px; }
.appmock__tag { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--cyan-bright); }
.appmock__card b { font-size:0.95rem; color:#fff; }
.appmock__prog { height:6px; border-radius:99px; background:rgba(255,255,255,0.16); overflow:hidden; }
.appmock__prog i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--cyan-bright), var(--magenta)); }
.appmock__card small { color:rgba(255,255,255,0.6); font-size:0.7rem; }
.appmock__lb { background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px; display:flex; flex-direction:column; gap:8px; }
.appmock__lbt { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-mute); }
.appmock__row { display:flex; align-items:center; gap:9px; font-size:0.82rem; color:var(--ink); }
.appmock__row b { font-family:var(--font-mono); font-size:0.7rem; color:var(--fg-mute); width:12px; flex:none; }
.appmock__row .av { width:26px; height:26px; }
.appmock__row em { margin-left:auto; font-style:normal; font-family:var(--font-mono); font-size:0.72rem; color:var(--fg-soft); }
.appmock__row.is-you { background:var(--lilac-soft); border-radius:10px; padding:5px 8px; margin:-2px - 4px; }
.appmock__row.is-you em { color:var(--violet); font-weight:600; }
.appmock__nav { display:flex; justify-content:space-around; padding-top:4px; }
.appmock__nav i { width:7px; height:7px; border-radius:50%; background:var(--paper-3); }
.appmock__nav i.on { background:var(--magenta); box-shadow:0 0 0 4px color-mix(in oklab, var(--magenta) 16%, transparent); }

/* ============ CHART MOCK (WBD-style data viz, on brand) ============ */
.chartmock { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--card-shadow); padding:clamp(18px,2.2vw,26px); display:flex; flex-direction:column; gap:12px; }
.chartmock__head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.chartmock__head b { font-size:0.92rem; color:var(--ink); }
.chartmock__kpi { font-family:var(--font-mono); font-weight:600; color:#067a4b; background:color-mix(in oklab, var(--green) 12%, #fff); border:1px solid color-mix(in oklab, var(--green) 32%, transparent); padding:4px 10px; border-radius:99px; font-size:0.78rem; }
.chartmock__bars { display:flex; align-items:flex-end; gap:10px; height:130px; }
.chartmock__bars i { flex:1; height:var(--h,40%); border-radius:8px 8px 3px 3px; background:linear-gradient(180deg, color-mix(in oklab, var(--violet) 45%, #fff), var(--violet)); opacity:.85; }
.chartmock__bars i.hot { background:linear-gradient(180deg, #ff5ee3, var(--magenta)); box-shadow:0 10px 24px - 8px rgba(255,0,212,0.5); opacity:1; }
.chartmock__x { display:flex; gap:10px; }
.chartmock__x span { flex:1; text-align:center; font-family:var(--font-mono); font-size:0.62rem; color:var(--fg-mute); }
.chartmock__foot { display:flex; gap:16px; flex-wrap:wrap; }
.chartmock__foot span { display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:0.68rem; color:var(--fg-soft); }
.chartmock__foot i { width:8px; height:8px; border-radius:50%; }

/* ============ WORKFLOW FLOW ============ */
.flow { display:flex; align-items:stretch; gap:10px; flex-wrap:nowrap; }
.flow__node { flex:1 1 150px; min-width:0; background:#fff; border:1px solid color-mix(in oklab, var(--fc, var(--violet)) 30%, var(--line)); border-radius:var(--r-lg); padding:18px; display:flex; flex-direction:column; gap:4px; box-shadow:var(--card-shadow); position:relative; overflow:hidden; }
.flow__node::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--fc, var(--violet)), transparent 75%); }
.flow__node span { font-family:var(--font-mono); font-size:0.66rem; color:var(--fc, var(--violet)); font-weight:600; letter-spacing:0.1em; }
.flow__node b { color:var(--ink); font-size:1rem; }
.flow__node small { color:var(--fg-soft); font-size:0.8rem; }
.flow__arr { align-self:center; flex:none; width:26px; height:2px; background:linear-gradient(90deg, var(--line-strong), var(--magenta)); position:relative; }
.flow__arr::after { content:""; position:absolute; right:-1px; top:-3.5px; border-left:7px solid var(--magenta); border-top:4.5px solid transparent; border-bottom:4.5px solid transparent; }
@media (max-width:760px){
  .flow { flex-direction:column; }
  .flow__arr { width:2px; height:22px; margin-inline:auto; background:linear-gradient(180deg, var(--line-strong), var(--magenta)); }
  .flow__arr::after { right:-2.5px; top:auto; bottom:-1px; border-top:7px solid var(--magenta); border-left:4.5px solid transparent; border-right:4.5px solid transparent; border-bottom:0; }
}

/* ============ LABS GRID (app mock + copy + chart) ============ */
.labsgrid { display:grid; grid-template-columns:minmax(250px,330px) 1fr; gap:clamp(26px,4vw,60px); align-items:center; }
.labsgrid__col { display:flex; flex-direction:column; gap:18px; min-width:0; }
@media (max-width:820px){ .labsgrid { grid-template-columns:1fr; } }


/* ============ MEMBER ALBUM (animated hero photo wall) ============ */
.album { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; height:min(520px,58vh); overflow:hidden; border-radius:var(--r-xl); padding:0 2px;
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent);
  mask-image:linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent); }
.album__col { display:flex; flex-direction:column; gap:12px; min-width:0; }
.album__col--up   { animation:albumUp 34s linear infinite; }
.album__col--down { animation:albumDown 38s linear infinite; }
.album__col--up.slow { animation-duration:46s; }
@keyframes albumUp   { to { transform:translateY(-50%); } }
@keyframes albumDown { from { transform:translateY(-50%); } to { transform:translateY(0); } }
.album:hover .album__col { animation-play-state:paused; }
@media (prefers-reduced-motion: reduce){ .album__col{ animation:none !important; } }
.album .gtmpro { flex:none; }
.album .gtmpro__inner { aspect-ratio:4/5; }
.album .gtmpro__badge { left:7px; bottom:7px; font-size:0.52rem; padding:4px 7px 4px 6px; }
.album .gtmpro__badge img { width:10px; }
.album__ph { flex:none; aspect-ratio:4/5; border-radius:var(--r-md); border:1px dashed var(--line-strong); display:grid; place-items:center; background:
  radial-gradient(circle at 50% 36%, rgba(59,6,212,0.16) 0 24%, transparent 25%),
  radial-gradient(circle at 50% 96%, rgba(59,6,212,0.16) 0 40%, transparent 41%),
  linear-gradient(160deg, var(--lilac-soft), var(--cyan-soft)); }
.album__ph span { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.06em; color:var(--violet); background:rgba(255,255,255,0.85); padding:4px 9px; border-radius:99px; }
.album__badge { position:absolute; left:12px; bottom:12px; z-index:3; display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(8px); border:1px solid var(--line); border-radius:99px; padding:8px 14px 8px 9px; box-shadow:var(--card-shadow-hover); }
.album__badge .av { width:30px; height:30px; border-radius:50%; overflow:hidden; flex:none; }
.album__badge .av img { width:100%; height:100%; object-fit:cover; display:block; }
.album__badge b { font-size:0.82rem; color:var(--ink); white-space:nowrap; }
.album__badge small { display:block; font-family:var(--font-mono); font-size:0.6rem; color:var(--fg-mute); }
.album__badge .li { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#0a66c2; background:var(--paper-2); }
.album__badge .li svg { width:13px; height:13px; }

/* ============ FIGURE CARDS (RIVET-native figure library) ============ */
.figgrid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,2vw,22px); }
.figgrid--1 { grid-template-columns:1fr; }
@media (max-width:760px){ .figgrid{ grid-template-columns:1fr; } }
.figcard { background:#12032b; border:1px solid rgba(59,6,212,0.35); border-radius:var(--r-lg); box-shadow:0 18px 44px -18px rgba(15,0,37,0.5); overflow:hidden; display:flex; flex-direction:column; margin:0; transition:transform .2s ease, box-shadow .2s ease; }
.figcard:hover { transform:translateY(-3px); box-shadow:var(--card-shadow-hover); }
.figcard img { width:100%; height:auto; display:block; }
.figcard figcaption { display:block; padding:14px 18px 16px; border-top:1px solid rgba(76,243,254,0.18);
  background:#12032b; color:rgba(201,184,240,0.92); font-size:0.9rem; line-height:1.5; }
.figcard figcaption p { margin:0; color:rgba(201,184,240,0.85); font-size:0.84rem; line-height:1.45; }

/* ---- Graduate testimonial card (faces across pages) ---- */
.gradquote { display:flex; gap:18px; align-items:center; max-width:780px; margin-inline:auto; padding:clamp(18px,2.4vw,28px);
  border-radius:var(--r-xl); position:relative; overflow:hidden;
  background:linear-gradient(150deg, color-mix(in oklab,var(--cyan-bright) 9%,#fff), #fff 46%, color-mix(in oklab,var(--magenta) 8%,#fff));
  border:1px solid var(--line); box-shadow:var(--card-shadow-hover); }
.gradquote::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(140deg, rgba(76,243,254,0.5), rgba(59,6,212,0.16) 45%, rgba(255,0,212,0.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.gradquote__photo { flex:none; width:84px; height:84px; border-radius:50%; overflow:hidden; border:2px solid #fff; box-shadow:0 8px 20px -8px rgba(15,0,37,0.45); }
.gradquote__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.gradquote blockquote { margin:0; font-size:clamp(1rem,0.95rem+0.45vw,1.18rem); line-height:1.5; color:var(--ink); letter-spacing:-0.01em; text-wrap:pretty; }
.gradquote figcaption { margin-top:9px; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-mute); }
.gradquote figcaption b { color:var(--violet); font-weight:600; }
.gradquote__badge { position:absolute; top:14px; right:16px; font-family:var(--font-mono); font-size:0.58rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--violet); display:inline-flex; align-items:center; gap:5px; }
.gradquote__badge::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px color-mix(in oklab,var(--green) 18%,transparent); }
@media (max-width:560px){ .gradquote{ flex-direction:column; text-align:center; align-items:center; } }

/* album models-note */
.album-note { grid-column:1/-1; margin:14px 0 0; font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.08em; color:var(--fg-mute); text-align:center; max-width:520px; margin-inline:auto; line-height:1.6; }


/* ============ ALBUM MEMBER CARDS (photo + name + LinkedIn) ============ */
.album .memcard { flex:none; display:flex; flex-direction:column; text-decoration:none; border-radius:var(--r-md); overflow:hidden;
  background:#fff; border:1px solid var(--line); box-shadow:var(--card-shadow); transition:transform .25s ease, box-shadow .25s ease; }
.album .memcard:hover { transform:translateY(-3px) scale(1.015); box-shadow:var(--card-shadow-hover); }
.memcard__photo { display:block; aspect-ratio:4/4.4; overflow:hidden;
  background:linear-gradient(160deg, var(--lilac-soft), var(--cyan-soft)); }
.memcard__photo img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.memcard__meta { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; }
.memcard__id { min-width:0; }
.memcard__id b { display:block; font-size:0.74rem; color:var(--ink); letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.memcard__id small { display:block; font-family:var(--font-mono); font-size:0.52rem; letter-spacing:0.1em; color:var(--magenta); font-weight:600; }
.memcard__li { flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#0a66c2; background:var(--paper-2); transition:background .2s ease, color .2s ease; }
.album .memcard:hover .memcard__li { background:#0a66c2; color:#fff; }
.album .album__ph { text-decoration:none; min-height:84px; aspect-ratio:auto; }
.album .album__ph:hover span { background:var(--magenta); color:#fff; }

/* ============ CALENDAR v2 (Sat-first, dynamic today) ============ */
.cal__dow--off { opacity:0.45; }
.cal__day--live { background:color-mix(in oklab,var(--magenta) 9%,#fff); border-color:color-mix(in oklab,var(--magenta) 32%,transparent); color:var(--ink); font-weight:600; }
.cal__day--live::after { content:'LIVE'; font-size:0.48rem; letter-spacing:0.12em; color:var(--magenta); font-weight:700; }
.cal__day--today { outline:2px solid var(--cyan); outline-offset:2px; background:color-mix(in oklab,var(--cyan) 14%,#fff); font-weight:700; position:relative; z-index:1; }
.cal__day--today::before { content:'TODAY'; position:absolute; top:-9px; left:50%; transform:translateX(-50%); font-size:0.44rem; letter-spacing:0.14em; font-weight:700; color:#04606b; background:var(--cyan); padding:2px 6px; border-radius:99px; }
.cal__day--past { opacity:0.4; background:var(--paper-2); }
.cal__day--past.cal__day--live::after { content:'REPLAY'; color:var(--fg-mute); }
.leg-today { outline:2px solid var(--cyan); outline-offset:1px; background:color-mix(in oklab,var(--cyan) 16%,#fff); border-radius:3px !important; }
@media (max-width:560px){ .cal__day--live::after, .cal__day--past.cal__day--live::after { display:none; } .cal__day--today::before { font-size:0.4rem; top:-8px; } }

/* ============ FOOTER v3 — liquid glass ============ */
.f2 { position:relative; overflow:hidden; margin-top:clamp(48px,7vw,96px); padding-block:clamp(30px,4vw,52px) 28px; color:#fff;
  background:
    radial-gradient(90% 70% at 85% 0%, rgba(59,6,212,0.55), transparent 60%),
    radial-gradient(70% 60% at 8% 100%, rgba(255,0,212,0.22), transparent 60%),
    radial-gradient(60% 50% at 50% 50%, rgba(76,243,254,0.07), transparent 70%),
    linear-gradient(180deg, #160233, #0F0025 70%);
  border-top:1px solid rgba(255,255,255,0.12); }
.f2 .wrap { position:relative; z-index:1; }
/* frosted glass panel */
.f2-glass { border-radius:var(--r-lg); padding:clamp(20px,2.6vw,32px);
  background:linear-gradient(155deg, rgba(255,255,255,0.10), rgba(255,255,255,0.045));
  backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:0 24px 60px -28px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(255,255,255,0.05); }
.f2-give { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(20px,3vw,44px); align-items:center; }
.f2-give__copy h3 { font-size:var(--step-2); margin:8px 0 6px; color:#fff; }
.f2-give__copy p { margin:0; color:rgba(255,255,255,0.62); max-width:44ch; }
.f2-give .eyebrow { color:var(--cyan-bright,#4CF3FE); }
.f2-give__form { display:flex; gap:10px; }
.f2-give__form input { flex:1; min-width:0; padding:13px 17px; border-radius:var(--r-pill); border:1px solid rgba(255,255,255,0.22); background:rgba(255,255,255,0.08); font-family:inherit; font-size:0.94rem; color:#fff; }
.f2-give__form input::placeholder { color:rgba(255,255,255,0.42); }
.f2-top { display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:clamp(22px,3vw,48px); padding:clamp(28px,3.6vw,48px) 6px; }
.f2-brand .brand--wordmark img { height:30px; width:auto; }

/* ============ COOKIE CONSENT (glass) ============ */
.cookie { position:fixed; left:50%; bottom:18px; transform:translate(-50%,140%); z-index:240; width:min(680px, calc(100vw - 28px));
  opacity:0; transition:transform .4s cubic-bezier(.2,.8,.2,1), opacity .4s ease; }
.cookie.in { transform:translateX(-50%); opacity:1; }
.cookie__body { display:flex; align-items:center; gap:16px; padding:14px 16px;
  border-radius:16px; background:rgba(22,3,46,0.78); color:#fff;
  backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.16); box-shadow:0 24px 60px -20px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.18); }
.cookie__ico { font-size:1.5rem; line-height:1; flex:none; }
.cookie__txt { margin:0; font-size:0.85rem; color:rgba(255,255,255,0.78); line-height:1.45; flex:1; min-width:0; }
.cookie__txt a { color:var(--cyan-bright,#4CF3FE); text-decoration:none; }
.cookie__actions { display:flex; gap:9px; flex:none; }
.cookie__btn { font-family:inherit; font-weight:600; font-size:0.82rem; padding:9px 16px; border-radius:var(--r-pill); cursor:pointer; white-space:nowrap; border:1px solid transparent; transition:all .2s ease; }
.cookie__btn--ghost { background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.2); color:rgba(255,255,255,0.8); }
.cookie__btn--ghost:hover { background:rgba(255,255,255,0.14); color:#fff; }
.cookie__btn--accept { background:var(--magenta); color:#fff; box-shadow:0 6px 18px -6px var(--magenta); }
.cookie__btn--accept:hover { transform:translateY(-1px); }
@media (max-width:560px){ .cookie__body{ flex-wrap:wrap; } .cookie__actions{ width:100%; } .cookie__btn{ flex:1; } }
.f2-brand p { color:rgba(255,255,255,0.5); font-size:0.88rem; max-width:26ch; margin:12px 0 0; }
.f2-slogan { display:block; font-family:var(--font-script); color:var(--magenta); font-size:1.6rem; line-height:1; margin-top:12px; }
.f2-col h5 { margin:0 0 14px; font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.45); }
.f2-col a { display:block; padding:5px 0; color:rgba(255,255,255,0.78); text-decoration:none; font-size:0.9rem; }
.f2-col a:hover { color:#fff; }
/* apps row */
.f2-apps { display:flex; align-items:center; justify-content:space-between; gap:clamp(16px,2.4vw,30px); flex-wrap:wrap; }
.f2-apps__copy { display:flex; flex-direction:column; gap:4px; max-width:46ch; }
.f2-apps__copy b { color:#fff; font-size:1.02rem; }
.f2-apps__copy span { color:rgba(255,255,255,0.58); font-size:0.86rem; }
.f2-apps__row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.appbadge { display:inline-flex; align-items:center; gap:11px; padding:9px 16px 9px 13px; border-radius:13px; text-decoration:none; color:#fff;
  background:linear-gradient(155deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06));
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.28); transition:transform .2s ease, background .2s ease; }
.appbadge:hover { transform:translateY(-2px); background:linear-gradient(155deg, rgba(255,255,255,0.2), rgba(255,255,255,0.09)); }
.appbadge span { display:flex; flex-direction:column; line-height:1.15; }
.appbadge small { font-size:0.6rem; letter-spacing:0.04em; color:rgba(255,255,255,0.6); }
.appbadge b { font-size:0.95rem; font-weight:600; }
/* country pill */
.fccy { position:relative; }
.fccy__btn { display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border-radius:var(--r-pill); cursor:pointer; font-family:inherit; font-size:0.9rem; font-weight:500; color:#fff; width:200px; justify-content:flex-start;
  background:linear-gradient(155deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06));
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.22); box-shadow:inset 0 1px 0 rgba(255,255,255,0.28); }
.fccy__car { width:7px; height:7px; border-right:1.5px solid rgba(255,255,255,0.6); border-bottom:1.5px solid rgba(255,255,255,0.6); transform:rotate(45deg) translateY(-1px); transition:transform .25s ease; }
.fccy.open .fccy__car { transform:rotate(-135deg); }
.fccy__btn > span:first-of-type { flex:none; }
.fccy__btn > span:nth-child(2) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.fccy__btn .fccy__car { flex:none; margin-left:auto; }
.fccy__menu { position:absolute; bottom:calc(100% + 10px); right:0; min-width:230px; z-index:60; padding:6px; border-radius:16px;
  background:rgba(26,8,56,0.92); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%);
  border:1px solid rgba(255,255,255,0.18); box-shadow:0 30px 60px -20px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.18);
  opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease, visibility .2s; }
.fccy.open .fccy__menu { opacity:1; visibility:visible; transform:none; }
.fccy__opt { width:100%; display:flex; align-items:center; gap:10px; padding:10px 13px; border:0; background:none; cursor:pointer; font-family:inherit; font-size:0.9rem; color:rgba(255,255,255,0.85); border-radius:10px; text-align:left; }
.fccy__opt:hover { background:rgba(255,255,255,0.1); color:#fff; }
.fccy__opt[aria-selected="true"] { background:rgba(255,0,212,0.16); color:#fff; }
/* base */
.f2-base { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:clamp(20px,2.6vw,30px); margin-top:clamp(18px,2.4vw,26px); border-top:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.5); font-size:0.82rem; }
.f2-base__c a { color:rgba(255,255,255,0.6); }
.f2-social { display:flex; gap:8px; }
.f2-social a { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:rgba(255,255,255,0.75);
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); transition:all .2s ease; }
.f2-social a:hover { color:#0F0025; background:#fff; border-color:#fff; transform:translateY(-2px); }
.f2-mighty b { color:rgba(255,255,255,0.8); font-weight:600; }
@media (max-width:980px){ .f2-top { grid-template-columns:1fr 1fr; } .f2-brand { grid-column:1/-1; } .f2-apps{ flex-direction:column; align-items:flex-start; } }
@media (max-width:760px){ .f2-give { grid-template-columns:1fr; } }
@media (max-width:560px){ .f2-top { grid-template-columns:1fr 1fr; gap:20px; } .f2-base { justify-content:center; text-align:center; } .fccy__menu{ right:auto; left:0; } } .f2-base { justify-content:center; text-align:center; } }


/* ============ IPHONE FRAME (default for app experience) ============ */
.iphone { width:min(296px,80vw); aspect-ratio:9/19; margin-inline:auto; position:relative; flex:none;
  border-radius:50px; background:linear-gradient(160deg,#2e2447,#0b0418 40%);
  box-shadow:0 44px 90px - 32px rgba(15,0,37,0.55), 0 8px 24px - 12px rgba(15,0,37,0.4), inset 0 1px 0 rgba(255,255,255,0.25);
  padding:9px; }
.iphone::after { content:''; position:absolute; right:-2.5px; top:24%; width:2.5px; height:11%; border-radius:2px; background:#3a2f55; } /* power */
.iphone::before { content:''; position:absolute; left:-2.5px; top:20%; width:2.5px; height:7%; border-radius:2px; background:#3a2f55; box-shadow:0 16cqh 0 #3a2f55; } /* volume */
.iphone__screen { position:relative; width:100%; height:100%; border-radius:42px; overflow:hidden;
  background:linear-gradient(175deg,#fbfaff 35%, var(--lilac-soft) 80%, var(--cyan-soft)); display:flex; flex-direction:column; }
.iphone__island { position:absolute; top:11px; left:50%; transform:translateX(-50%); width:84px; height:23px; border-radius:99px; background:#0b0418; z-index:6;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06); }
.iphone__island::after { content:''; position:absolute; right:7px; top:50%; transform:translateY(-50%); width:9px; height:9px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #2b2052, #000 70%); }
.iphone__status { display:flex; justify-content:space-between; align-items:center; padding:13px 24px 2px; font-family:var(--font-mono); font-size:0.66rem; font-weight:700; color:var(--ink); }
.iphone__sig { display:inline-flex; align-items:center; gap:4px; }
.iphone__sig i { display:inline-block; width:14px; height:9px; border-radius:2px; border:1px solid var(--ink); position:relative; opacity:0.85; }
.iphone__sig i::after { content:''; position:absolute; inset:1.5px 4.5px 1.5px 1.5px; background:var(--ink); border-radius:1px; }
.iphone__body { flex:1; padding:10px 11px 6px; display:flex; flex-direction:column; gap:9px; overflow:hidden; }
.iphone__greet { display:flex; align-items:baseline; justify-content:space-between; padding:2px 4px 0; }
.iphone__greet b { font-size:0.92rem; color:var(--ink); letter-spacing:-0.01em; }
.iphone__greet small { font-family:var(--font-mono); font-size:0.56rem; color:var(--fg-mute); letter-spacing:0.08em; }
.iphone__tabbar { display:flex; justify-content:space-around; align-items:flex-start; padding:7px 4px 16px; border-top:1px solid var(--line-soft); background:rgba(255,255,255,0.9); }
.iphone__tab { display:flex; flex-direction:column; align-items:center; gap:2.5px; font-family:var(--font-mono); font-size:0.46rem; letter-spacing:0.06em; color:var(--fg-mute); }
.iphone__tab svg { width:17px; height:17px; }
.iphone__tab.on { color:var(--magenta); }
.iphone__home { position:absolute; bottom:7px; left:50%; transform:translateX(-50%); width:92px; height:4px; border-radius:99px; background:var(--ink); opacity:0.75; z-index:6; }
.iphone .appmock__card { border-radius:14px; }
.iphone .appmock__lb { border-radius:14px; }

/* ============ CERTIFICATION BADGES ============ */
.badges { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.2vw,26px); }
.badgecard { margin:0; display:flex; flex-direction:column; align-items:center; gap:14px; padding:clamp(22px,2.6vw,32px);
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--card-shadow); text-align:center;
  transition:transform .25s ease, box-shadow .25s ease; }
.badgecard:hover { transform:translateY(-5px); box-shadow:var(--card-shadow-hover), 0 30px 60px - 28px rgba(59,6,212,0.3); }
.badgecard svg { width:min(170px,60%); height:auto; filter:drop-shadow(0 14px 24px rgba(15,0,37,0.25)); }
.badgecard figcaption b { display:block; font-size:1.02rem; color:var(--ink); }
.badgecard figcaption small { display:block; color:var(--fg-mute); font-size:0.82rem; margin-top:3px; }
@media (max-width:760px){ .badges { grid-template-columns:1fr; } }
