:root{--bg:#F8F9FB;--card:#fff;--ink:#111827;--mut:#6B7280;--line:#E5E7EB;--acc:#2563EB;--ok:#10B981;--r:24px;
--sh:0 10px 40px -12px rgba(17,24,39,.12),0 2px 6px rgba(17,24,39,.04)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Heebo',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:min(1160px,100% - 32px);margin-inline:auto}

.logo{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.02em}
.logo-mark{width:22px;height:22px;border-radius:7px;background:var(--ink);position:relative}
.logo-mark::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-sm{padding:10px 20px;font-size:.9rem}
.btn-dark{background:#000;color:#fff}
.btn-dark:hover{box-shadow:0 8px 24px rgba(0,0,0,.25)}
.btn-light{background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.btn-white{background:#fff;color:#000}

/* hero */
.hero{padding:72px 0 40px;text-align:center}
.eyebrow{display:inline-block;padding:6px 14px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--mut);margin-bottom:24px}
h1{font-size:clamp(2.6rem,9vw,6rem);line-height:1;letter-spacing:-.02em;font-weight:800;max-width:16ch;margin:0 auto 24px}
.muted{color:#9CA3AF}
.lead{max-width:600px;margin:0 auto 32px;font-size:clamp(1rem,2.5vw,1.2rem);color:var(--mut)}
.cta-row{display:flex;flex-direction:column;gap:12px;align-items:stretch;max-width:400px;margin:0 auto 56px}
.hero-visual{width:100%;max-width:1080px;margin-inline:auto;border-radius:32px;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#EEF1F6);box-shadow:var(--sh);padding:12px;
  --p:0;transform-origin:50% 100%;will-change:transform,opacity;backface-visibility:hidden;
  opacity:calc(.35 + .65*var(--p));
  transform:perspective(1400px) rotateX(calc((1 - var(--p))*8deg)) translateY(calc((1 - var(--p))*40px)) scale(calc(.92 + .08*var(--p)));
  transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .6s ease}
.hero-image{display:block;width:100%;max-width:100%;height:auto;object-fit:cover;border-radius:24px;border:1px solid #E5E7EB;box-shadow:0 25px 50px -12px rgba(0,0,0,.1)}
.hero-placeholder{min-height:260px;border-radius:24px;border:2px dashed #D1D5DB;display:grid;place-items:center;color:#9CA3AF;font-weight:600;position:relative;overflow:hidden}
.barrier{position:absolute;bottom:40px;inset-inline:10%;height:8px;background:#E5E7EB;border-radius:4px}
.barrier i{position:absolute;inset-inline-start:0;top:-4px;width:45%;height:16px;border-radius:8px;background:repeating-linear-gradient(90deg,#111827 0 14px,#fff 14px 28px);transform-origin:right;animation:lift 4s ease-in-out infinite}
@keyframes lift{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(55deg)}100%{transform:rotate(0)}}

/* bento */
.bento{display:grid;gap:20px;padding:40px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:28px}
.split{display:grid;gap:28px;align-items:center}
.tag{display:inline-block;font-size:.75rem;font-weight:700;color:var(--acc);margin-bottom:12px}
h2{font-size:clamp(1.8rem,5vw,2.8rem);letter-spacing:-.01em;line-height:1.1;margin-bottom:14px}
.card-text p{color:var(--mut);max-width:46ch}
.card-text.center{text-align:center}
.card-text.center p{margin-inline:auto}
.steps{margin-top:22px;display:grid;gap:10px;font-weight:500}
.steps b{display:inline-grid;place-items:center;width:26px;height:26px;margin-inline-end:8px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem}
.card-visual{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;place-items:center;min-height:300px}
.chat{width:100%;max-width:380px;display:grid;gap:12px}
.bubble{padding:14px 16px;border-radius:18px;font-size:.92rem;max-width:88%}
.bubble.in{background:#fff;border:1px solid var(--line);justify-self:start}
.bubble.ai{background:var(--ink);color:#fff;justify-self:end}
.wave{display:flex;align-items:center;gap:3px;height:28px;margin-bottom:8px}
.wave i{width:4px;height:100%;border-radius:2px;background:#60A5FA;animation:wave 1s ease-in-out infinite}
.wave i:nth-child(odd){animation-delay:.15s}.wave i:nth-child(3n){animation-delay:.35s}.wave i:nth-child(4n){animation-delay:.5s}
@keyframes wave{0%,100%{transform:scaleY(.2)}50%{transform:scaleY(1)}}
.status{justify-self:center;font-size:.8rem;font-weight:600;padding:6px 14px;background:#fff;border:1px solid var(--line);border-radius:999px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-inline-end:6px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(16,185,129,.2)}}

/* dashboard */
.dash-stage{margin-top:32px;perspective:1400px;padding:0 4px}
.dash{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 80px -20px rgba(17,24,39,.25);overflow:hidden;transform:rotateX(8deg);transition:transform .6s;max-width:860px;margin:0 auto;animation:float 6s ease-in-out infinite}
.dash:hover{transform:rotateX(0)}
@keyframes float{50%{translate:0 -8px}}
.dash-top{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:.75rem;color:var(--mut)}
.dash-top i{width:10px;height:10px;border-radius:50%;background:#D1D5DB}
.dash-top span{margin-inline-start:12px;direction:ltr}
.dash-body{display:grid;gap:12px;padding:16px}
.metric{padding:16px;border:1px solid var(--line);border-radius:16px;display:grid;gap:4px}
.metric small{color:var(--mut);font-weight:500}
.metric strong{font-size:1.8rem;letter-spacing:-.03em}
.metric em{font-style:normal;color:var(--ok);font-size:.8rem;font-weight:600}
.bar{height:6px;background:var(--line);border-radius:3px}
.bar u{display:block;height:100%;background:var(--acc);border-radius:3px}
.chart{display:flex;align-items:flex-end;gap:6px;height:120px;padding:16px;border:1px solid var(--line);border-radius:16px}
.chart i{flex:1;background:linear-gradient(#3B82F6,#93C5FD);border-radius:6px 6px 2px 2px}

/* phone */
.phone{width:240px;background:#fff;border:8px solid var(--ink);border-radius:36px;overflow:hidden;box-shadow:var(--sh)}
.notch{width:70px;height:16px;background:var(--ink);margin:0 auto;border-radius:0 0 12px 12px}
.wa-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#075E54;color:#fff;font-size:.8rem;font-weight:600}
.avatar{width:26px;height:26px;border-radius:50%;background:#25D366;display:grid;place-items:center}
.wa-body{padding:12px;background:#ECE5DD;display:grid;gap:8px;min-height:280px;align-content:start}
.msg{background:#fff;padding:8px 10px;border-radius:12px 4px 12px 12px;font-size:.74rem;line-height:1.4;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.msg.warn{border-inline-start:3px solid #EF4444}
.msg small{display:block;text-align:left;color:#9CA3AF;font-size:.6rem}

/* stats */
.stats{display:grid;gap:20px;padding:20px 0 40px}
.stat strong{display:block;font-size:clamp(2.6rem,7vw,4rem);letter-spacing:-.04em;line-height:1.1}
.stat span{color:var(--mut);font-weight:500}

/* cta + footer */
.cta-card{background:var(--ink);color:#fff;border-radius:32px;text-align:center;padding:64px 24px;margin:40px auto 60px;box-shadow:var(--sh)}
.cta-card p{color:#9CA3AF;margin-bottom:28px}
.footer{border-top:1px solid var(--line);padding:28px 0;font-size:.85rem;color:var(--mut)}
.foot{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.foot-links{display:flex;gap:16px}
.foot .logo{color:var(--ink)}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{animation:none!important}}

/* tablet+ */
@media(min-width:768px){
    .cta-row{flex-direction:row;justify-content:center;max-width:none}
  .card{padding:44px}
  .split{grid-template-columns:1fr 1fr;gap:48px}
  .dash-body{grid-template-columns:repeat(3,1fr)}
  .chart{grid-column:1/-1}
  .stats{grid-template-columns:repeat(3,1fr)}
  .foot{flex-direction:row;justify-content:space-between}
  .hero{padding-top:110px}
  .hero-placeholder{min-height:420px}
}

/* dashboard feature card */
.dashboard-card{background:linear-gradient(180deg,#fff,#FAFBFD);border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.08);padding:32px 24px;transition:all .3s ease}
.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 32px 60px -12px rgba(0,0,0,.12)}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0}
.pill{padding:10px 18px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:600;box-shadow:0 2px 6px rgba(17,24,39,.04)}
.dashboard-frame{padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:28px}
.dashboard-mockup-img{display:block;width:100%;max-width:100%;height:auto;border-radius:20px}
@media(min-width:768px){.dashboard-card{padding:48px}}
.dashboard-card{border-radius:24px}
.dashboard-frame{border-radius:24px}
.dashboard-mockup-img.is-missing{min-height:220px;border:2px dashed #D1D5DB;background:#fff;color:transparent}
@media(max-width:767px){.pill{flex:1 1 100%;text-align:center}}

/* alert feature card */
.alert-card{background:linear-gradient(180deg,#fff,#FAFBFD);border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.08);transition:all .3s ease}
.alert-card:hover{transform:translateY(-4px);box-shadow:0 32px 60px -12px rgba(0,0,0,.12)}
.alert-visual{padding:12px;min-height:0;background:var(--bg);border-radius:24px}
.alert-mockup-img{display:block;width:100%;max-width:100%;height:auto;margin-inline:auto;border-radius:20px}
.alert-mockup-img.is-missing{min-height:220px;border:2px dashed #D1D5DB;background:#fff;color:transparent}
.pills-start{justify-content:flex-start;margin:24px 0 0}
@media(min-width:768px){.alert-mockup-img{max-width:92%}}
@media(max-width:767px){.pills-start .pill{flex:1 1 100%;text-align:center}}

/* alert card: larger visual */
.alert-visual{padding:0;background:transparent;border:0;display:block;width:100%}
.alert-mockup-img{width:100%;max-width:100%;margin:0;border-radius:20px}
.alert-card .card-text{order:-1}
.alert-card .card-text p{max-width:none;line-height:1.7}
@media(min-width:768px){
  .alert-card{grid-template-columns:1.25fr 1fr;gap:32px;padding:32px}
  .alert-card .card-text{order:0;padding-inline:8px}
  .alert-mockup-img{max-width:100%}
}
@media(max-width:767px){.alert-card{padding:24px 20px}.alert-mockup-img{min-height:260px;object-fit:cover}}

/* hero copy: partnership */
.eyebrow{background:#EEF2FF;border:1px solid #E5E7EB;font-size:14px;font-weight:600;color:#374151;padding:8px 16px;margin-bottom:28px}
.hero h1{font-size:clamp(2.5rem,7vw,3.75rem);line-height:1.12;max-width:20ch;margin-bottom:24px;text-wrap:balance}
.hero .lead{max-width:680px;line-height:1.75;margin-bottom:36px;text-wrap:pretty}
@media(min-width:1024px){.hero h1{font-size:4rem}}

/* alert image: final sizing */
.alert-mockup-img{display:block;width:100%;max-width:100%;height:auto;margin-inline:auto;min-height:0;object-fit:cover}
@media(min-width:768px){.alert-mockup-img{max-width:520px}}

/* partnership badge */
.eyebrow{font-size:16px;font-weight:600;letter-spacing:-.01em;padding:8px 20px;border-radius:9999px;border:1px solid #E5E7EB;background:#F3F4F6;color:#374151}

/* how it works: scenarios */
.how{padding:56px 0 8px}
.how-head{text-align:center;max-width:760px;margin:0 auto 36px}
.how-head p{color:var(--mut);line-height:1.75}
.scn{padding:16px}
.scn-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px;margin-bottom:16px;background:var(--bg);border:1px solid var(--line);border-radius:20px;scrollbar-width:none}
.scn-tabs::-webkit-scrollbar{display:none}
.scn-tab{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:0;border-radius:16px;background:transparent;font:inherit;font-weight:600;color:var(--mut);cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.scn-tab b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--line);color:var(--ink);font-size:.8rem;transition:background .25s,color .25s}
.scn-tab:hover{color:var(--ink)}
.scn-tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(17,24,39,.08)}
.scn-tab.active b{background:var(--ink);color:#fff}
.scn-tab:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.scn-panel{display:none;gap:20px;padding:8px}
.scn-panel.active{display:grid;animation:scnIn .45s ease}
@keyframes scnIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scn-info h3{font-size:1.5rem;letter-spacing:-.01em;margin-bottom:10px}
.scn-desc{color:var(--mut);line-height:1.75;margin-bottom:18px}
.scn-resp{padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:var(--bg)}
.scn-resp-label{display:inline-block;font-size:.75rem;font-weight:700;color:var(--acc);margin-bottom:6px}
.scn-resp p{line-height:1.7}
.scn-chat{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:20px;display:flex;flex-direction:column;min-height:300px}
.scn-chat-head{font-size:.8rem;font-weight:600;color:var(--mut);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}
.scn-msgs{display:grid;gap:12px;align-content:start}
.scn-msg{max-width:90%;padding:12px 16px;border-radius:18px;line-height:1.6;font-size:.95rem}
.scn-msg small{display:block;font-size:.7rem;font-weight:700;opacity:.65;margin-bottom:2px}
.scn-msg.driver{justify-self:start;background:#fff;border:1px solid var(--line);border-start-start-radius:6px}
.scn-msg.ai{justify-self:end;background:var(--ink);color:#fff;border-start-end-radius:6px}
.scn-msg.ai .wave{margin:4px 0 8px}
.scn-msg.ai .wave i{background:#60A5FA}
.scn-status{justify-self:center;font-size:.82rem;font-weight:600;color:#047857;background:#ECFDF5;border:1px solid #A7F3D0;padding:6px 14px;border-radius:999px;text-align:center}
/* progressive enhancement: sequenced reveal only when JS is running */
html.js .scn-msg,html.js .scn-status{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1)}
html.js .scn-msg.show,html.js .scn-status.show{opacity:1;transform:none}
.scn-msg.ai.speaking .wave i{animation-play-state:running}
.scn-msg.ai:not(.speaking) .wave i{animation-play-state:paused;transform:scaleY(.25)}
html.no-js .scn-panel[hidden]{display:grid}
@media(min-width:900px){
  .scn{padding:24px}
  .scn-panel.active{grid-template-columns:1fr 1fr;gap:32px;align-items:center}
  .scn-tab{flex:1}
}

/* scenario cards: vertical showcase */
.scn-list{display:grid;gap:32px}
.scn-card{border-radius:28px;padding:28px 22px;box-shadow:0 25px 50px -12px rgba(0,0,0,.08);display:grid;gap:24px;align-items:center;background:linear-gradient(180deg,#fff,#FAFBFD)}
.scn-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;margin-bottom:16px}
.scn-card .scn-info h3{font-size:clamp(1.5rem,4vw,2rem);line-height:1.2;margin-bottom:18px}
@media(min-width:900px){
  .scn-card{grid-template-columns:1fr 1fr;gap:48px;padding:48px}
}

/* bottom CTA subtitle */
.cta-card p{color:rgba(255,255,255,.8);line-height:1.6;max-width:640px;margin-inline:auto;margin-bottom:32px}
.scn-resp-hint{margin-top:12px;background:#fff}

/* contact section */
.contact{padding-bottom:60px}
.contact-card{border-radius:28px;padding:32px 22px;box-shadow:0 25px 50px -12px rgba(0,0,0,.08);background:linear-gradient(180deg,#fff,#FAFBFD)}
.contact-head{text-align:center;margin-bottom:32px}
.contact-head p{color:var(--mut)}
.contact-grid{display:grid;gap:20px}
.contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;background:var(--bg);border:1px solid var(--line);border-radius:24px}
.contact-item h3{font-size:1.15rem;letter-spacing:-.01em}
.contact-item p{color:var(--mut);line-height:1.6;font-size:.95rem}
.contact-email-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:999px;font-weight:600;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s,color .2s}
.contact-email-link .contact-icon{flex:none;color:var(--acc);transition:transform .2s}
.contact-email-link:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-2px);box-shadow:0 8px 20px -6px rgba(37,99,235,.25)}
.contact-email-link:hover .contact-icon{transform:scale(1.1)}
.contact-email-link:focus-visible,.qr-link:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.contact-item .btn{margin-top:auto}
.contact-qr{align-items:center;text-align:center}
.qr-link{display:block;width:100%;max-width:160px;border-radius:16px;transition:transform .2s}
.qr-link:hover{transform:translateY(-3px)}
.instagram-qr-img{display:block;width:100%;max-width:160px;height:auto;border-radius:16px;border:1px solid #E5E7EB;box-shadow:0 10px 25px -5px rgba(0,0,0,.06);background:#fff}
.qr-caption{font-size:.85rem!important;font-weight:600;color:var(--ink)!important}
@media(min-width:900px){
  .contact-card{padding:48px}
  .contact-grid{grid-template-columns:1fr 1fr auto;align-items:stretch}
  .contact-qr{min-width:220px}
}

/* contact cards: equal height, balanced padding */
.contact-grid{align-items:stretch}
.contact-item{height:100%;padding:28px;border-radius:24px;justify-content:flex-start}
.contact-item p{flex:0 0 auto}
.contact-item .btn.contact-wa{display:inline-flex;align-items:center;gap:8px;margin-top:auto}
.contact-qr{justify-content:center}

/* unified bottom CTA + contact */
.cta-card{padding:48px 22px;border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.18)}
.cta-card .cta-sub{max-width:680px;margin:0 auto 36px;color:rgba(255,255,255,.8);line-height:1.6}
.cta-options{display:grid;gap:20px;max-width:760px;margin-inline:auto;text-align:center}
.cta-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:24px}
.cta-option h3{font-size:1.2rem;color:#fff}
.cta-card .cta-option p{color:rgba(255,255,255,.75);margin:0;font-size:.95rem;line-height:1.6}
.cta-card .cta-option .contact-email-link{margin-top:8px;background:#fff;color:#111827;border-color:#fff;flex-wrap:wrap;justify-content:center}
.cta-card .cta-option .contact-email-link:hover{color:var(--acc);border-color:#fff;box-shadow:0 8px 24px -6px rgba(0,0,0,.4)}
.cta-card .cta-option .qr-caption{color:#fff!important;font-size:.9rem!important;margin-top:4px}
.cta-card .instagram-qr-img{border-color:rgba(255,255,255,.2);box-shadow:0 10px 25px -5px rgba(0,0,0,.3)}
@media(min-width:768px){
  .cta-card{padding:64px 40px}
  .cta-options{grid-template-columns:1fr 1fr;align-items:stretch}
}

/* benefit cards (no big numbers) */
.stats{align-items:stretch}
.stat{border-radius:24px;padding:32px 24px;text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px}
.stat h3{font-size:clamp(1.25rem,2.4vw,1.375rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.stat p{color:var(--mut);font-weight:400;line-height:1.65;font-size:.98rem}

/* hero: spacing after removing CTA buttons */
.hero .lead{margin-bottom:48px}
@media(min-width:768px){.hero .lead{margin-bottom:64px}}

/* ===== header (inline-styled in HTML); mobile adjustments only ===== */
@media(max-width:767px){
  .site-header{padding:16px 20px!important;justify-content:space-between!important;gap:12px}
  .site-header .navbar-brand{position:static!important;transform:none!important;font-size:22px!important}
  .site-header .navbar-links{gap:14px!important}
  .site-header .navbar-links a{font-size:14px!important;white-space:nowrap}
}

/* hero partnership logos image */
.partnership-logo-img{display:block;margin:0 auto 24px auto;width:auto;max-width:420px;height:auto;max-height:76px;border:0;background:none;box-shadow:none;border-radius:0;mix-blend-mode:multiply}
@media(max-width:767px){.partnership-logo-img{max-height:58px}}

/* partnership logos: compact sizing (overrides earlier rule) */
.partnership-logo-img{max-width:340px!important;max-height:none!important;margin-bottom:20px}
@media(max-width:767px){.partnership-logo-img{max-width:260px!important;max-height:none!important}}

/* partnership logos: doubled size */
.partnership-logo-img{max-width:680px!important;margin-bottom:24px}
@media(max-width:767px){.partnership-logo-img{max-width:90%!important}}

/* ===== Hero: header block above the fold, image revealed on scroll ===== */
.hero{padding:0 0 0}
.hero-header{min-height:calc(100vh - 90px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;text-align:center}
.hero .lead{margin-bottom:28px}
.hero-cta-btn{background:#000000;color:#FFFFFF;border-radius:9999px;padding:15px 32px;font-size:16px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.16)}
/* hero showcase image: animated inline (see script at the end of index.html) */
#hero-showcase-wrap{filter:drop-shadow(0 28px 35px rgba(0,0,0,.14))} /* box-shadow is cut off by clip-path, so the shadow lives on the wrapper */
@media(max-width:767px){#hero-showcase-box{height:360px!important}#hero-showcase-wrap{padding:0 16px 64px 16px!important}}


.footer .foot-links a:hover{color:var(--ink)}

/* footer brand: plain black text */
.footer-brand{color:#000000;font-weight:800;font-size:26px;letter-spacing:.04em;text-decoration:none;border:0;line-height:1.2}
@media(max-width:767px){.footer-brand{font-size:22px}}

/* footer legal links */
.footer a,.legal-link{cursor:pointer;pointer-events:auto}
.footer .foot-links a:hover{color:var(--ink)}

/* legal modal: stack the sidebar horizontally on top for mobile */
@media(max-width:767px){
  #legal-modal{padding:12px!important}
  #legal-modal-card{flex-direction:column!important;height:auto!important;max-height:90vh!important}
  #legal-sidebar{width:100%!important;flex-direction:row!important;border-left:0!important;border-bottom:1px solid #CBD5E1!important;padding:12px!important;gap:8px!important}
  #legal-sidebar button{text-align:center!important;padding:10px 8px!important;font-size:14px!important}
}
