* { box-sizing: border-box; }
:root { --img-radius: 20px; --btn-radius: 12px; }
body { margin: 0; background: var(--surface-page); color: var(--text-primary); font-family: var(--font-sans); font-size: 17px; line-height: var(--leading-body); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--color-ink); }
h1, h2, h3, h4 { font-weight: var(--weight-medium); margin: 0; letter-spacing: -0.02em; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.center { text-align: center; }
.site-header { position: sticky; top: 0; z-index: 50; background: var(--surface-translucent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 60px; }
.wordmark { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; line-height: 1; text-decoration: none; }
.wordmark .w-ava { font-family: var(--font-logo); font-weight: 700; font-size: 26px; color: var(--color-blush); letter-spacing: -0.01em; }
.wordmark .w-sub { font-family: var(--font-logo); font-weight: 700; font-size: 9px; letter-spacing: 0.42em; padding-left: 0.42em; color: var(--color-ink); }
.nav { display: flex; align-items: center; gap: 28px; }
.nav > a, .nav .menu > .trigger { color: var(--text-secondary); font-size: 14px; cursor: pointer; }
.nav > a:hover, .nav .menu:hover > .trigger { color: var(--accent); }
.nav .menu { position: relative; }
.nav .menu > .trigger { display: inline-flex; align-items: center; gap: 6px; }
.nav .menu > .trigger svg { width: 12px; height: 12px; transition: transform 0.2s; }
.nav .menu:hover > .trigger svg { transform: rotate(180deg); }
.dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px); min-width: 220px; background: var(--color-ghost); border-radius: 16px; box-shadow: var(--shadow-card); padding: 10px; opacity: 0; visibility: hidden; transition: opacity 0.18s, transform 0.18s; z-index: 60; }
.nav .menu:hover .dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(6px); }
.dropdown::before { content: ""; position: absolute; bottom: 100%; left: 0; right: 0; height: 10px; }
.dropdown > a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--color-ink); font-size: 14px; font-weight: var(--weight-medium); }
.dropdown > a:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--color-ink); }
.btn { display: inline-block; background: var(--color-blush); color: var(--color-ink); font-family: var(--font-sans); font-size: 14px; font-weight: var(--weight-medium); padding: 9px 20px; border: none; border-radius: var(--btn-radius); cursor: pointer; }
.btn:hover { opacity: 0.85; color: var(--color-ink); }
.btn.large { font-size: 17px; padding: 14px 30px; }
.p-hero { padding: 96px 0 76px; }
.p-hero .kicker { font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.p-hero h1 { font-size: clamp(40px, 5.5vw, 72px); line-height: 1.03; color: var(--color-ink); max-width: 16ch; }
.p-hero .lede { font-size: 20px; color: var(--text-secondary); max-width: 620px; margin: 22px 0 30px; }
.p-hero .actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.p-hero .actions a.secondary { font-size: 16px; color: var(--color-ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-ink) 30%, transparent); }
.p-media { margin: 56px auto 0; max-width: 1120px; padding: 0 24px; }
.p-media .frame { height: min(52vw, 520px); position: relative; }
.points { padding: 96px 0; }
.points-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.point .icon { color: var(--accent); margin-bottom: 12px; display: block; }
.point h3 { font-size: 20px; color: var(--color-ink); margin-bottom: 8px; }
.point p { margin: 0; font-size: 15px; color: var(--text-secondary); }
.prose-band { padding: 0 0 96px; }
.prose { max-width: 720px; }
.prose p { font-size: 21px; line-height: 1.5; color: var(--text-secondary); text-wrap: pretty; }
.cta-band { background: var(--color-ink); color: var(--color-blush); }
.cta-band .wrap { padding: 104px 24px; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.cta-band h2 { font-size: clamp(36px, 4.6vw, 60px); line-height: 1.04; }
.cta-band p { margin: 0; max-width: 480px; font-size: 18px; color: var(--color-ghost); }
.cta-band .btn { margin-top: 8px; }
image-slot { border-radius: var(--img-radius); overflow: hidden; }
.sub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 8px; }
.sub-card { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: var(--img-radius); background: var(--color-ghost); color: var(--color-ink); border: 1px solid color-mix(in srgb, var(--color-ink) 8%, transparent); transition: transform 0.18s, box-shadow 0.18s; }
.sub-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); color: var(--color-ink); }
.sub-card .icon { color: var(--accent); }
.sub-card h3 { font-size: 19px; }
.sub-card p { margin: 0; font-size: 14px; color: var(--text-secondary); }
.sub-card .go { margin-top: auto; font-size: 13px; color: var(--accent); font-weight: var(--weight-medium); }
.list-band { padding: 24px 0 96px; }
.crumb { font-size: 13px; color: var(--text-muted); margin-bottom: 18px; }
.crumb a { color: var(--text-muted); }
.crumb a:hover { color: var(--accent); }
.nav .menu.mega .dropdown { min-width: 260px; padding: 8px; }
.sec-parent { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 14px; border: none; background: none; border-radius: 10px; color: var(--color-ink); font-family: var(--font-sans); font-size: 14px; font-weight: var(--weight-medium); cursor: pointer; text-align: left; }
.sec-parent:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); }
.sec-parent svg { width: 11px; height: 11px; flex: none; transition: transform 0.2s; color: var(--text-muted); }
.sec-parent.open svg { transform: rotate(180deg); }
.sec-children { display: none; padding: 2px 0 8px 12px; margin: 0 6px; border-left: 1px solid color-mix(in srgb, var(--color-ink) 12%, transparent); }
.sec-children.open { display: block; }
.sec-children a { display: block; padding: 7px 12px; border-radius: 8px; color: var(--text-secondary); font-size: 13px; font-weight: 400; }
.sec-children a.overview { color: var(--accent); font-weight: var(--weight-medium); }
.sec-children a:hover { background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--color-ink); }
footer { background: var(--color-ink); color: var(--color-ghost); }
footer .wrap { padding: 72px 24px 40px; display: flex; flex-direction: column; gap: 48px; }
.foot-cols { display: grid; grid-template-columns: 1fr 2.2fr; gap: 48px; align-items: start; }
.foot-links { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.foot-brand .wordmark { align-items: center; }
.foot-brand .wordmark .w-ava { font-size: 30px; }
.foot-brand .wordmark .w-sub { font-size: 10px; color: var(--color-ghost); }
.foot-brand p { margin: 14px 0 0; font-size: 14px; color: var(--text-on-dark-muted); max-width: 30ch; line-height: var(--leading-body); }
.foot-col h4 { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-blush); margin: 0 0 16px; font-weight: var(--weight-medium); }
.foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.foot-col a { color: var(--text-on-dark-muted); font-size: 14px; }
.foot-col a:hover { color: var(--color-blush); }
.foot-sectors { border-top: 1px solid color-mix(in srgb, var(--color-ghost) 16%, transparent); padding-top: 44px; }
.foot-sectors > h4 { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-blush); margin: 0 0 24px; font-weight: var(--weight-medium); }
.foot-sec-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 28px; }
.foot-sec h5 { margin: 0 0 12px; font-size: 14px; font-weight: var(--weight-medium); }
.foot-sec h5 a { color: var(--color-ghost); }
.foot-sec h5 a:hover { color: var(--color-blush); }
.foot-sec ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.foot-sec a { color: var(--text-on-dark-muted); font-size: 13px; }
.foot-sec a:hover { color: var(--color-blush); }
.foot-legal { display: flex; gap: 24px; font-size: 13px; color: var(--text-on-dark-muted); flex-wrap: wrap; border-top: 1px solid color-mix(in srgb, var(--color-ghost) 16%, transparent); padding-top: 28px; }
.foot-legal a { color: var(--text-on-dark-muted); }
.foot-legal a:hover { color: var(--color-blush); }
.disclaimer { font-size: 13px; line-height: var(--leading-body); color: #9fb0b3; max-width: 760px; }
@media (max-width: 900px) { .foot-cols { grid-template-columns: 1fr; gap: 36px; } .foot-sec-grid { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 600px) { .foot-links { grid-template-columns: 1fr 1fr; } .foot-links .foot-col:last-child { grid-column: 1 / -1; } .foot-sec-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .points-grid { grid-template-columns: 1fr; } .nav { display: none; } }
h1, h2, h3 { font-weight: var(--weight-medium); margin: 0; letter-spacing: -0.02em; }
.dropdown a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--color-ink); font-size: 14px; font-weight: var(--weight-medium); }
.dropdown a:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--color-ink); }
.prose p { font-size: 19px; color: var(--text-secondary); }
/* Header */
  .site-header { position: sticky; top: 0; z-index: 50; background: var(--surface-translucent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
/* Hero */
  .hero { background: var(--gradient-page); padding: 88px 0 0; }
.hero.dark { background: var(--color-ink); }
.hero .eyebrow { font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.hero h1 { font-size: clamp(48px, 7vw, 88px); line-height: 1.02; color: var(--color-ink); }
.hero.dark h1 { color: #fff; }
.hero .sub { font-size: 20px; color: var(--text-secondary); max-width: 620px; margin: 22px auto 32px; }
.hero.dark .sub { color: var(--text-on-dark-muted); }
.hero .actions { display: flex; justify-content: center; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 64px; }
.hero .actions a.secondary { font-size: 16px; color: var(--color-ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-ink) 30%, transparent); }
.hero .actions a.secondary:hover { color: var(--color-ink); }
.hero.dark .actions a.secondary { color: var(--color-blush); }
.hero-media { max-width: 1120px; margin: 0 auto; padding: 0 24px 0; }
.hero-media .frame { height: min(56vw, 560px); position: relative; }
.trust-line { padding: 20px 24px 0; font-size: 14px; color: var(--text-muted); text-align: center; }
.hero.dark .trust-line { color: var(--text-on-dark-faint); }
.hero-bottom-pad { padding-bottom: 72px; }
/* Generic quiet section */
  section.band { padding: 104px 0; }
.kicker { font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.band h2 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.08; max-width: 20ch; margin: 0 auto; }
.band .lede { font-size: 19px; color: var(--text-secondary); max-width: 560px; margin: 18px auto 0; }
/* Feature showcases */
  .feature .media { margin-top: 56px; position: relative; height: min(52vw, 520px); }
.feature.ink { background: var(--color-ink); color: var(--color-blush); }
.feature.ink .lede { color: var(--text-on-dark-muted); }
.feature.ink h2 { color: #fff; }
.feature .mini-cta { display: inline-block; margin-top: 24px; font-size: 16px; }
.feature.ink .mini-cta { color: var(--color-blush); border-bottom: 1px solid var(--color-blush); }
/* Generic dark strip (alternates with the off-white default) */
  .band.ink { background: var(--color-ink); }
.band.ink h2 { color: #fff; }
.band.ink .kicker { color: var(--color-blush); }
.band.ink .lede { color: var(--text-on-dark-muted); }
.band.ink .offer { color: var(--text-on-dark); }
.band.ink .offer p { color: var(--text-on-dark-muted); }
.band.ink .offer .icon { color: var(--color-blush); }
.band.ink .sector { color: var(--text-on-dark); }
.band.ink .sector span { color: var(--text-on-dark-muted); }
/* Offer grid */
  .offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px 40px; margin-top: 72px; text-align: center; }
.offer { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--color-ink); }
.offer .icon { color: var(--accent); margin-bottom: 6px; }
.offer h3 { font-size: 19px; }
.offer p { margin: 0; font-size: 15px; color: var(--text-secondary); max-width: 30ch; }
.offer:hover h3 { color: var(--accent); }
/* Steps */
  .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 64px; text-align: center; }
.step { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.step .num { font-size: 52px; font-weight: var(--weight-medium); line-height: 1; color: var(--accent); }
.step h3 { font-size: 20px; }
.step p { margin: 0; font-size: 15px; color: var(--text-secondary); max-width: 30ch; }
/* Sectors */
  .sectors { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 64px; }
.sector { display: flex; flex-direction: column; gap: 14px; color: var(--color-ink); }
.sector .thumb { height: 200px; position: relative; }
.sector h3 { font-size: 17px; }
.sector span { font-size: 14px; color: var(--text-muted); margin-top: -8px; }
.sector:hover h3 { color: var(--accent); }
/* Testimonial */
  .testimonial blockquote { font-size: clamp(24px, 3vw, 34px); line-height: 1.3; font-weight: var(--weight-medium); max-width: 24ch; margin: 0 auto; color: var(--color-ink); }
.testimonial .who { margin-top: 24px; font-size: 15px; color: var(--text-muted); }
/* CTA band */
  .cta-band { background: var(--color-ink); color: var(--color-blush); position: relative; overflow: hidden; }
.cta-band .motif { position: absolute; right: -8%; top: -30%; width: 40%; min-width: 360px; opacity: 0.2; pointer-events: none; }
.cta-band .wrap { position: relative; padding: 112px 24px; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.cta-band h2 { font-size: clamp(38px, 5vw, 64px); line-height: 1.02; }
.cta-band .btn { margin-top: 10px; }
/* Footer */
  @media (max-width: 960px) {
    .offer-grid, .steps { grid-template-columns: 1fr 1fr; }
    .sectors { grid-template-columns: 1fr 1fr; }
    .nav { display: none; }
  }
@media (max-width: 600px) {
    .offer-grid, .steps, .sectors { grid-template-columns: 1fr; }
    section.band { padding: 72px 0; }
  }
.reader-band { padding: 104px 0; text-align: center; overflow: hidden; background: var(--gradient-page); }
.reader-band .kicker { font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.reader-band h2 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.08; max-width: 18ch; margin: 0 auto; color: var(--color-ink); }
.reader-band .lede { font-size: 19px; color: var(--text-secondary); max-width: 520px; margin: 18px auto 0; }
.reader-stage { margin-top: 64px; display: flex; justify-content: center; perspective: 1600px; }
.reader { position: relative; width: 300px; height: 588px; border-radius: 42px; padding: 15px; background: linear-gradient(155deg, #FFDE8A 0%, #FFC64F 46%, #EDB23A 100%); box-shadow: 0 42px 80px -30px rgba(32,55,59,0.55), inset 0 2px 3px rgba(255,255,255,0.6), inset 0 -8px 20px rgba(160,110,20,0.25); transform: rotateY(-22deg) rotateX(9deg) rotateZ(-3deg); transform-style: preserve-3d; transition: transform 0.6s cubic-bezier(0.2,0.8,0.2,1), box-shadow 0.6s; will-change: transform; }
.reader:hover { transform: rotateY(-9deg) rotateX(3deg) rotateZ(-1deg) translateY(-16px); box-shadow: 0 58px 96px -30px rgba(32,55,59,0.6), inset 0 2px 3px rgba(255,255,255,0.6); }
.reader::after { content: ""; position: absolute; right: -6px; top: 120px; width: 6px; height: 64px; border-radius: 0 4px 4px 0; background: linear-gradient(#EDB23A,#D89B22); }
.reader-screen { height: 100%; border-radius: 30px; background: #16292c; padding: 13px; display: flex; }
.reader-app { flex: 1; background: #fff; border-radius: 22px; padding: 22px 18px 18px; display: flex; flex-direction: column; color: var(--color-ink); }
.reader-top { display: flex; justify-content: space-between; align-items: center; }
.reader-x { font-size: 20px; color: var(--text-muted); line-height: 1; }
.reader-flag { width: 24px; height: 16px; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,0.06); }
.reader-tap { margin: 22px auto 8px; color: var(--accent); }
.reader-hint { font-size: 12px; color: var(--text-muted); text-align: center; }
.reader-amt { font-size: 46px; font-weight: 600; letter-spacing: -0.03em; text-align: center; margin: 8px 0 2px; }
.reader-inc { font-size: 12px; color: var(--text-muted); text-align: center; }
.reader-tips-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-muted); text-align: center; margin: 24px 0 10px; }
.reader-tips { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.reader-chip { border-radius: 14px; padding: 11px 8px; background: #f2f0ea; text-align: center; border: 1.5px solid transparent; }
.reader-chip.sel { background: color-mix(in srgb, var(--color-blush) 30%, #fff); border-color: var(--color-blush); }
.reader-chip b { display: block; font-size: 16px; }
.reader-chip span { font-size: 11px; color: var(--text-muted); }
.reader-schemes { display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px; }
.rs { height: 22px; padding: 0 7px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 800; letter-spacing: 0.04em; }
.rs-visa { background: #1a1f71; color: #fff; }
.rs-amex { background: #2e77bb; color: #fff; }
.rs-mc { position: relative; width: 34px; }
.rs-mc i { width: 15px; height: 15px; border-radius: 50%; display: inline-block; }
.rs-mc i:first-child { background: #eb001b; }
.rs-mc i:last-child { background: #f79e1b; margin-left: -6px; mix-blend-mode: multiply; }
.partners { padding: 100px 0; }
.pt-head { display: flex; justify-content: space-between; gap: 48px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 40px; }
.pt-head h2 { font-size: clamp(28px, 3.4vw, 42px); margin-top: 10px; color: var(--color-ink); }
.pt-sub { max-width: 42ch; font-size: 15px; color: var(--text-secondary); margin: 0; }
.pt-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.pf-chip { border: 1px solid color-mix(in srgb, var(--color-ink) 16%, transparent); background: none; color: var(--text-secondary); font-family: var(--font-sans); font-size: 13px; font-weight: var(--weight-medium); padding: 8px 16px; border-radius: 999px; cursor: pointer; transition: all 0.15s; }
.pf-chip:hover { border-color: var(--accent); color: var(--color-ink); }
.pf-chip.on { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-blush); }
.pt-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pt-card { display: flex; align-items: center; gap: 16px; padding: 18px; border-radius: 16px; background: var(--color-ghost); border: 1px solid color-mix(in srgb, var(--color-ink) 8%, transparent); transition: transform 0.16s, box-shadow 0.16s; }
.pt-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.pt-logo { width: 52px; height: 52px; flex: none; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; letter-spacing: -0.02em; }
.pt-meta h3 { font-size: 16px; color: var(--color-ink); margin: 0; }
.pt-tag { font-size: 12px; color: var(--text-muted); }
@media (max-width: 900px) { .pt-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pt-grid { grid-template-columns: 1fr; } }
.cta-band h2 { color: #fff; }
.impact{font-family:"Sora",sans-serif;font-weight:700;letter-spacing:-0.02em;}
.impact-u{position:relative;display:inline-block;}
.impact-u svg{position:absolute;left:0;bottom:-0.06em;width:100%;height:0.16em;overflow:visible;}
.impact-u svg path{fill:none;stroke:var(--color-blush);stroke-width:5;stroke-linecap:round;}
.impact-box{background:var(--color-blush);color:var(--color-ink);border-radius:4px;box-shadow:0 0 0 0.14em var(--color-blush);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.impact-boxink{background:var(--color-ink);color:var(--color-blush);padding:0.02em 0.22em;border-radius:5px;}

.cta-band h2{line-height:1.2;}
.band h2{line-height:1.18;}

/* Sector hero video */
.p-media .frame .hero-video{width:100%;height:100%;object-fit:cover;border-radius:var(--img-radius);display:block;background:var(--color-ink);box-shadow:0 30px 60px -32px rgba(0,0,0,.35);}
/* Yellow power strip (replaces the dark CTA band site-wide) */
.cta-band{background:var(--color-blush);color:var(--color-ink);}
.cta-band .motif{display:block;opacity:.32;filter:brightness(0) saturate(100%);mix-blend-mode:soft-light;}
.band.ink{position:relative;overflow:hidden;}
.band.ink .motif-ink{position:absolute;left:-7%;bottom:-24%;width:34%;min-width:320px;opacity:.12;transform:scaleX(-1) rotate(8deg);pointer-events:none;}
.band.ink .wrap{position:relative;}
.cta-band h2{color:var(--color-ink);}
.cta-band p{color:color-mix(in srgb,var(--color-ink) 76%,transparent);}
.cta-band .btn{background:var(--color-ink);color:#fff;}
.cta-band .btn:hover{opacity:.88;color:#fff;}
.cta-band .impact-u svg path{stroke:var(--color-ink);}
.cta-band .impact-box{background:var(--color-ink);color:var(--color-blush);}
.cta-band .cta-tag{color:var(--color-ink);}
.cta-band .callback a{color:color-mix(in srgb,var(--color-ink) 68%,transparent);}

/* Header v2 — solid white, boxed nav, dropdown icons, mobile menu */
.site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid color-mix(in srgb,var(--color-ink) 8%,transparent);}.site-header .wrap{position:relative;}.nav{gap:12px;}.nav > a:not(.btn), .nav .menu > .trigger{padding:8px 15px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);color:var(--color-ink);font-weight:var(--weight-medium);}.nav > a:not(.btn):hover, .nav .menu:hover > .trigger{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--color-ink);}.dropdown > a{display:flex;align-items:center;gap:10px;}.dropdown .di{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);flex:none;}.nav-toggle{display:none;background:none;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:10px;color:var(--color-ink);cursor:pointer;padding:9px 11px;}@media(max-width:960px){.nav-toggle{display:inline-flex;align-items:center;}.nav{position:absolute;top:calc(100% + 1px);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:8px;padding:16px 24px 22px;border-bottom:1px solid color-mix(in srgb,var(--color-ink) 10%,transparent);box-shadow:0 22px 40px -26px rgba(0,0,0,.3);display:none;}.nav.open{display:flex;}.nav .menu{position:static;width:100%;}.nav > a:not(.btn), .nav .menu > .trigger{width:100%;justify-content:space-between;}.dropdown{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;min-width:0;padding:4px 0 8px 8px;}.nav .menu:hover .dropdown{transform:none;}.nav .btn{width:100%;text-align:center;}}

/* Header v3 — centered nav, no boxes, click dropdowns on mobile, sector icons */
.site-header .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;}.wordmark{justify-self:start;}.nav{justify-self:center;gap:26px;}.nav-right{justify-self:end;display:inline-flex;align-items:center;gap:14px;}.nav > a:not(.btn), .nav .menu > .trigger{padding:0;border:none;border-radius:0;color:var(--text-secondary);font-weight:400;}.nav > a:not(.btn):hover, .nav .menu:hover > .trigger{background:none;color:var(--accent);}.sec-parent .sp-l{display:inline-flex;align-items:center;gap:10px;}.sec-parent .di{background:none;width:auto;height:auto;border-radius:0;color:var(--accent);}@media(max-width:960px){.site-header .wrap{grid-template-columns:1fr auto;}.nav{justify-self:stretch;}.dropdown{display:none;}.menu.open .dropdown{display:block;}.menu.open > .trigger svg{transform:rotate(180deg);}}

/* product page v2 — hero bullets, feature rows, more grid, FAQ */
.hero-bullets{list-style:none;padding:0;margin:22px 0 30px;display:flex;flex-wrap:wrap;gap:10px 24px;}
.hero-bullets li{position:relative;padding-left:26px;font-size:15px;color:var(--text-secondary);font-weight:var(--weight-medium);}
.hero-bullets li::before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:var(--accent);}
.hero-bullets li::after{content:"";position:absolute;left:5px;top:7px;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
.feat-rows{display:flex;flex-direction:column;gap:72px;margin-top:64px;}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.feat-row:nth-child(even) .feat-img{order:-1;}
.feat-no{font-family:"Sora",sans-serif;font-weight:700;font-size:15px;color:var(--color-blush);letter-spacing:.06em;}
.feat-txt h3{font-size:clamp(24px,2.6vw,34px);margin:10px 0 14px;color:#fff;line-height:1.12;}
.feat-txt p{font-size:17px;color:var(--text-on-dark-muted);margin:0 0 20px;line-height:1.5;}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.ticks li{position:relative;padding-left:28px;font-size:15px;color:var(--color-ghost);}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:var(--color-blush);}
.ticks li::after{content:"";position:absolute;left:5px;top:7px;width:6px;height:3px;border-left:2px solid var(--color-ink);border-bottom:2px solid var(--color-ink);transform:rotate(-45deg);}
.feat-img{height:min(44vw,400px);position:relative;}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;text-align:left;}
.more-card{display:flex;flex-direction:column;gap:9px;padding:28px;border-radius:var(--img-radius);background:var(--color-ghost);border:1px solid color-mix(in srgb,var(--color-ink) 9%,transparent);color:var(--color-ink);transition:transform .2s ease,box-shadow .2s ease;}
.more-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);color:var(--color-ink);}
.more-card .icon{color:var(--accent);}
.more-card h3{font-size:18px;}
.more-card p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5;}
.faq{max-width:760px;margin:44px auto 0;}
.faq-item{border-bottom:1px solid color-mix(in srgb,var(--color-ink) 12%,transparent);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 2px;background:none;border:none;text-align:left;font-family:var(--font-sans);font-size:18px;font-weight:var(--weight-medium);color:var(--color-ink);cursor:pointer;}
.faq-q svg{width:16px;height:16px;flex:none;transition:transform .25s ease;color:var(--accent);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:260px;}
.faq-a p{margin:0 0 22px;font-size:16px;color:var(--text-secondary);line-height:1.55;max-width:66ch;}
@media(max-width:900px){.feat-row{grid-template-columns:1fr;gap:24px;}.feat-row .feat-img{order:-1;}.more-grid{grid-template-columns:1fr;}}

/* payments accepted strip */
.pay-strip{background:var(--color-ghost);border-top:1px solid color-mix(in srgb,var(--color-ink) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-ink) 8%,transparent);}
.pay-strip .wrap{display:flex;align-items:center;justify-content:center;gap:16px 28px;padding:44px 24px;flex-wrap:wrap;}
.pay-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-weight:700;}
.pay-marks{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;justify-content:center;}
.pm{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--color-ink);}
img.pm{width:auto;}
.pm-visa{height:20px;}
.pm-mc{height:34px;}
.pm-amex{height:34px;border-radius:6px;}
.pm-apay{height:23px;}
.pm-gpay{height:23px;}
.pm-ctl svg{color:var(--accent);}
.pm-more{opacity:.55;font-weight:var(--weight-medium);font-size:14px;}

#card-f2 img,#acct-f1 img{object-fit:contain !important;background:#fefdf9;}
#card-f2,#acct-f1{background:#fefdf9;}
#acct-f3 img{object-fit:contain !important;background:#a5a6a8;}
#acct-f3{background:#a5a6a8;}
#fund-f1 img{object-fit:contain !important;background:#fbfaf8;}
#fund-f1{background:#fbfaf8;}
#prod-business-account img{object-fit:contain;background:#fefdf9;}
/* product 3-step: one continuous scroll-drawn line framing the boxes */
.band.ink .feat-rows{position:relative;}
.band.ink .feat-rows .feat-row{position:relative;padding:30px 40px;border-radius:22px;z-index:1;}
.feat-track{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:0;}
@media(max-width:900px){.band.ink .feat-rows .feat-row{padding:22px 10px;}}
/* CTA pulse */
.cta-band .btn{position:relative;isolation:isolate;}
.cta-band .btn::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--color-ink);z-index:-1;opacity:0;animation:ctaPulse 2.4s cubic-bezier(.2,.7,.3,1) infinite;pointer-events:none;}
@keyframes ctaPulse{0%{transform:scale(1);opacity:.5}70%{opacity:0}100%{transform:scale(1.32);opacity:0}}
@media(prefers-reduced-motion:reduce){.cta-band .btn::after{animation:none;}}
/* decorative strip motifs */
#products,#sectors{position:relative;overflow:hidden;}
#products .wrap,#sectors .wrap{position:relative;z-index:1;}
.strip-motif{position:absolute;pointer-events:none;z-index:0;}
#products .strip-motif{right:-46px;top:-38px;width:210px;opacity:.32;}
#sectors .strip-motif{left:-40px;bottom:-46px;width:330px;opacity:.28;}
footer{position:relative;overflow:hidden;}
.foot-motif{position:absolute;right:-56px;bottom:-90px;width:300px;opacity:.16;pointer-events:none;z-index:0;}
footer .wrap{position:relative;z-index:1;}
/* About — card machine right of text */
.about-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.about-2col .prose{max-width:none;}
.about-media{border-radius:20px;overflow:hidden;background:#f8fbf4;}
.about-media img{width:100%;height:auto;display:block;}
@media(max-width:900px){.about-2col{grid-template-columns:1fr;gap:28px;}}
/* QA fixes 2026-07: hub sub-grid responsive collapse + mobile tap targets */
@media(max-width:900px){.sub-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.sub-grid{grid-template-columns:1fr;}}
@media(max-width:760px){.crumb a,.foot-col li a,.foot-legal a{display:inline-block;padding:10px 2px;}a.secondary{display:inline-block;padding:11px 0;}.callback a{display:inline-block;padding:10px 0;}}
/* Perf: reserve injected-header space (kills body CLS) */
#site-header{min-height:61px;}
/* ===== Design System v4 — site-wide header & footer (Aug 2026) =====
   Hardcoded to the new brand so chrome is consistent on every page,
   even ones not yet migrated to the ds-v4 body class. */
.hdr{position:sticky;top:0;z-index:100;background:color-mix(in srgb,#FFFFFF 88%,transparent);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);border-bottom:1px solid rgba(40,44,50,.08);}
.hdr-in{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,40px);height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;}
.hdr-logo{grid-column:1;justify-self:start;display:inline-flex;flex-direction:column;align-items:center;gap:1px;line-height:1;text-decoration:none;}
.hdr .w-ava{font-family:"Quicksand",sans-serif;font-weight:700;font-size:24px;color:#F2CA4B;letter-spacing:-.01em;}
.hdr .w-sub{font-family:"Quicksand",sans-serif;font-weight:700;font-size:8.5px;letter-spacing:.42em;padding-left:.42em;color:#282C32;}
.hdr-nav{grid-column:2;justify-self:center;display:flex;gap:34px;}
.hdr-nav a{font-family:"Satoshi",sans-serif;font-weight:400;font-size:15px;color:#282C32;text-decoration:none;}
.hdr-nav a:hover{color:#E4B72E;}
.hdr-cta{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:8px;background:#F2CA4B;color:#282C32;border-radius:8px;padding:11px 20px;font-family:"Satoshi",sans-serif;font-weight:500;font-size:15px;text-decoration:none;transition:background .18s ease,color .18s ease;white-space:nowrap;}
.hdr-cta svg{width:17px;height:17px;transition:transform .18s ease;}
.hdr-cta:hover{background:#282C32;color:#FFFCF2;}
.hdr-cta:hover svg{transform:translateX(3px);}
.hdr-burger{display:none;}
.hdr-menu{display:none;}
@media(max-width:820px){
  .hdr-in{display:flex;align-items:center;justify-content:space-between;}
  .hdr-nav{display:none;}
  .hdr-cta{display:none;}
  .hdr-logo{order:0;}
  .hdr-burger{display:inline-flex;order:1;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:none;cursor:pointer;padding:9px;flex:none;}
  .hdr-burger span{display:block;height:2px;width:22px;background:#282C32;border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
  .hdr-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hdr-burger.open span:nth-child(2){opacity:0;}
  .hdr-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .hdr-menu{display:flex;flex-direction:column;position:fixed;inset:66px 0 0;background:#FFFCF2;z-index:99;}
  .hdr-menu[hidden]{display:none;}
  .hdr-menu-in{flex:1;overflow-y:auto;width:100%;max-width:640px;margin:0 auto;padding:22px clamp(20px,5vw,32px) 32px;display:flex;flex-direction:column;gap:14px;}
  .hdr-menu-title{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(28px,7vw,36px);color:#282C32;margin:6px 2px 14px;}
  .hdr-menu-in > a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px;background:#fff;border:1px solid rgba(40,44,50,.10);border-radius:16px;text-decoration:none;color:#282C32;font-family:"Playfair Display",serif;font-weight:400;font-size:24px;}
  .hdr-menu-in > a svg{width:22px;height:22px;color:#E4B72E;flex:none;}
  .hdr-menu-foot{padding:16px clamp(20px,5vw,32px) calc(22px + env(safe-area-inset-bottom));border-top:1px solid rgba(40,44,50,.1);background:#fff;}
  .hdr-menu-cta{display:flex;align-items:center;justify-content:center;gap:10px;background:#282C32;color:#FFFCF2;border-radius:12px;padding:18px;font-family:"Satoshi",sans-serif;font-weight:600;font-size:17px;text-decoration:none;}
  .hdr-menu-cta svg{width:18px;height:18px;color:#FFFCF2;}
  body.menu-open{overflow:hidden;}
}

/* Footer — light, high-contrast, credibility strip */
.ftr{background:#FFFCF2;color:#282C32;border-top:1px solid rgba(40,44,50,.10);}
.ftr-in{max-width:1180px;margin:0 auto;padding:clamp(52px,7vw,80px) clamp(20px,4vw,40px) 40px;}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start;}
.ftr-brand .wordmark{display:inline-flex;flex-direction:column;align-items:center;gap:2px;line-height:1;}
.ftr-brand .w-ava{font-family:"Quicksand",sans-serif;font-weight:700;font-size:26px;color:#F2CA4B;}
.ftr-brand .w-sub{font-family:"Quicksand",sans-serif;font-weight:700;font-size:10px;letter-spacing:.42em;padding-left:.42em;color:#282C32;}
.ftr-brand p{margin:16px 0 0;font-family:"Satoshi",sans-serif;font-size:14.5px;line-height:1.6;color:rgba(40,44,50,.72);max-width:38ch;}
.ftr-cred{margin-top:4px;text-align:right;}
.ftr-cred-label{font-family:"Satoshi",sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(40,44,50,.5);font-weight:600;}
.ftr-cred-logos{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;justify-content:flex-end;margin-top:14px;margin-left:auto;max-width:360px;}
.ftr-cred-logos img{height:22px;width:auto;opacity:.6;filter:grayscale(1);transition:opacity .2s ease,filter .2s ease;}
.ftr-cred-logos img:hover{opacity:1;filter:none;}
.ftr-cred-cards{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:16px;}
.ftr-cred-cards img{height:28px;width:auto;}
.ftr-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px;}
.ftr-trust-item{display:inline-flex;align-items:center;gap:8px;font-family:"Satoshi",sans-serif;font-size:13px;font-weight:500;color:rgba(40,44,50,.72);}
.ftr-trust-item svg{width:16px;height:16px;flex:none;color:#282C32;opacity:.85;}
.ftr-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.ftr-col h4{font-family:"Satoshi",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(40,44,50,.55);margin:0 0 16px;font-weight:600;}
.ftr-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.ftr-col a{font-family:"Satoshi",sans-serif;color:#282C32;font-size:14.5px;text-decoration:none;}
.ftr-col a:hover{color:#E4B72E;}
.ftr-disc{margin:clamp(40px,5vw,56px) 0 0;font-family:"Satoshi",sans-serif;font-size:12.5px;line-height:1.65;color:rgba(40,44,50,.55);max-width:900px;}
.ftr-legal{display:flex;gap:22px;flex-wrap:wrap;font-family:"Satoshi",sans-serif;font-size:13px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(40,44,50,.12);color:rgba(40,44,50,.62);}
.ftr-legal a{color:rgba(40,44,50,.62);text-decoration:none;}
.ftr-legal a:hover{color:#282C32;}
.ftr .foot-motif{display:none;}
@media(max-width:760px){
  .ftr-top{grid-template-columns:1fr;gap:36px;text-align:center;}
  .ftr-brand p{margin-left:auto;margin-right:auto;}
  .ftr-trust{justify-content:center;}
  .ftr-cred{text-align:center;margin-top:0;}
  .ftr-cred-logos{justify-content:center;max-width:none;margin-left:0;}
  .ftr-disc{text-align:center;margin-left:auto;margin-right:auto;}
  .ftr-legal{justify-content:center;text-align:center;gap:12px 16px;font-size:12.5px;}
  .ftr-legal span{order:2;flex-basis:100%;text-align:center;margin-top:2px;}
}

/* ===== Animated glow border on primary CTAs (site-wide) ===== */
@property --ava-a{syntax:"<angle>";initial-value:0deg;inherits:false;}
.big-cta,.hdr-cta,.hdr-menu-cta{position:relative;isolation:isolate;}
.big-cta::before,.hdr-cta::before,.hdr-menu-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;background:conic-gradient(from var(--ava-a),transparent 56%,rgba(242,202,75,.95) 73%,#ffffff 82%,rgba(242,202,75,.95) 91%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ava-spin 3.4s linear infinite;pointer-events:none;z-index:3;}
@keyframes ava-spin{to{--ava-a:360deg;}}
@media(prefers-reduced-motion:reduce){.big-cta::before,.hdr-cta::before,.hdr-menu-cta::before{animation:none;background:none;}}

/* ===== Private-testing password gate ===== */
#ava-gate{position:fixed;inset:0;z-index:2147483000;background:#FFFCF2;display:flex;align-items:center;justify-content:center;padding:24px;font-family:"Satoshi",system-ui,-apple-system,sans-serif;}
#ava-gate .ava-gate-card{max-width:400px;width:100%;text-align:center;}
#ava-gate .ava-gate-logo{display:inline-flex;flex-direction:column;align-items:center;gap:3px;line-height:1;margin-bottom:20px;}
#ava-gate .ava-gate-logo .w-ava{font-family:"Quicksand",sans-serif;font-weight:700;font-size:36px;color:#F2CA4B;letter-spacing:-.01em;}
#ava-gate .ava-gate-logo .w-sub{font-family:"Quicksand",sans-serif;font-weight:700;font-size:12px;letter-spacing:.42em;padding-left:.42em;color:#282C32;}
#ava-gate h1{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:30px;color:#282C32;margin:0 0 8px;}
#ava-gate p{color:rgba(40,44,50,.7);font-size:15px;line-height:1.5;margin:0 0 12px;}
#ava-gate .ava-gate-launch{display:inline-block;background:rgba(242,202,75,.16);color:#282C32;font-weight:600;font-size:14px;padding:7px 15px;border-radius:999px;margin:4px 0 24px;}
#ava-gate form{display:flex;gap:10px;}
#ava-gate input{flex:1;padding:14px 16px;border:1px solid rgba(40,44,50,.2);border-radius:10px;font-size:16px;font-family:inherit;color:#282C32;background:#fff;}
#ava-gate input:focus{outline:none;border-color:#F2CA4B;box-shadow:0 0 0 3px rgba(242,202,75,.3);}
#ava-gate button{background:#282C32;color:#FFFCF2;border:none;border-radius:10px;padding:14px 24px;font-weight:600;font-size:15px;cursor:pointer;font-family:inherit;}
#ava-gate button:hover{background:#3a3f47;}
#ava-gate .ava-gate-err{color:#c0392b;margin:14px 0 0;font-size:14px;}
