/* ============================================================
   Euler Tech · Modern tech design system
   Apple / Google inspired · Inter · clean · functional
   ============================================================ */

:root{
  --bg:#ffffff;
  --surface:#f5f5f7;
  --surface-2:#fafafa;
  --ink:#1d1d1f;
  --ink-2:#424245;
  --ink-soft:#515154;
  --mute:#6e6e73;
  --mute-2:#86868b;
  --line:#d2d2d7;
  --line-soft:#e8e8ed;
  --brand:#0071e3;
  --brand-dark:#0058b0;
  --dark-bg:#000000;
  --dark-surface:#1d1d1f;
  --dark-line:#2c2c2e;
  --radius:12px;
  --radius-lg:18px;
  --radius-xl:24px;
  --max:1200px;
  --shadow-sm:0 2px 10px rgba(0,0,0,.04);
  --shadow:0 10px 40px -8px rgba(0,0,0,.08);
  --shadow-lg:0 20px 60px -16px rgba(0,0,0,.12);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Segoe UI','Helvetica Neue',Arial,sans-serif;
  font-size:17px;line-height:1.5;font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--brand)}
::selection{background:var(--brand);color:#fff}

.container{max-width:var(--max);margin:0 auto;padding:0 24px;position:relative}
@media(max-width:820px){.container{padding:0 20px}}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5{
  font-family:inherit;color:var(--ink);
  font-weight:600;letter-spacing:-.022em;line-height:1.08;
}
h1{font-size:clamp(2.6rem,6vw,4.5rem);font-weight:700;letter-spacing:-.028em;line-height:1.04}
h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:600;letter-spacing:-.022em;line-height:1.08}
h3{font-size:1.35rem;font-weight:600;letter-spacing:-.014em;line-height:1.25}
h4{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
p{color:var(--ink-2);font-size:1.0625rem;line-height:1.55}
.lead{
  font-size:clamp(1.15rem,1.4vw,1.35rem);
  line-height:1.47;color:var(--ink-2);font-weight:400;
  letter-spacing:-.005em;max-width:46ch;
}

.eyebrow{
  font-size:.82rem;font-weight:600;color:var(--brand);
  letter-spacing:-.005em;margin-bottom:1rem;display:inline-block;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.85rem 1.4rem;
  font-weight:500;font-size:.95rem;letter-spacing:-.008em;
  border:1px solid transparent;border-radius:999px;
  cursor:pointer;transition:all .25s ease;
  white-space:nowrap;
}
.btn .arrow{transition:transform .25s ease;font-size:.9rem;margin-left:.1rem}
.btn:hover .arrow{transform:translateX(3px)}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-dark);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:#000;color:#fff}
.btn.light{background:#fff;color:var(--ink)}
.btn.light:hover{background:var(--surface);color:var(--ink)}
.btn.link{padding:0;color:var(--brand);border:0;font-weight:500}
.btn.link:hover{color:var(--brand-dark)}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line-soft);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{
  display:flex;align-items:center;gap:.55rem;
  font-size:1.05rem;font-weight:600;letter-spacing:-.014em;color:var(--ink);
}
.brand .mark{
  width:28px;height:28px;border-radius:7px;
  background:var(--ink);color:#fff;
  display:grid;place-items:center;
  font-weight:700;font-size:.95rem;
}
.brand small{display:none}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links a{
  font-size:.88rem;color:var(--ink-2);font-weight:400;
  letter-spacing:-.006em;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink);font-weight:500}
.nav-cta{padding:.55rem 1.1rem !important;font-size:.82rem !important}
.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--ink);padding:0;line-height:1}

/* ---------- Hero ---------- */
.hero{padding:100px 0 80px;text-align:center;position:relative;overflow:hidden}
.hero-wrap{max-width:980px;margin:0 auto}
.hero h1{max-width:14ch;margin:0 auto 1.2rem}
.hero .lead{max-width:60ch;margin:0 auto 2rem}
.hero-cta{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}
.hero-badges{
  display:flex;justify-content:center;gap:2.2rem;flex-wrap:wrap;
  margin-top:3rem;padding-top:2rem;
  font-size:.82rem;color:var(--mute);font-weight:500;
}
.hero-badges span{display:inline-flex;align-items:center;gap:.45rem}
.hero-badges span::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#34c759;
}

/* Hero visual — app icon constellation */
.hero-visual{
  margin-top:70px;position:relative;
  max-width:880px;margin-left:auto;margin-right:auto;
  padding:50px 20px 20px;
}
.hero-visual .row{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.hero-visual .app-ico{
  width:112px;height:112px;border-radius:26px;
  display:grid;place-items:center;
  box-shadow:var(--shadow);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
  color:#fff;position:relative;overflow:hidden;
}
.hero-visual .app-ico::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 55%);
  pointer-events:none;
}
.hero-visual .app-ico svg{width:56%;height:56%;position:relative;z-index:1}
.hero-visual .app-ico:hover{transform:translateY(-8px)}
.hero-visual .app-ico.a{background:linear-gradient(135deg,#0071e3,#2997ff);}
.hero-visual .app-ico.b{background:linear-gradient(135deg,#ff6a00,#ee0979);}
.hero-visual .app-ico.c{background:linear-gradient(135deg,#34c759,#00a67e);}
.hero-visual .app-ico.d{background:linear-gradient(135deg,#5e5ce6,#af52de);}
@media(max-width:560px){
  .hero-visual .app-ico{width:84px;height:84px;border-radius:20px}
}

/* ---------- Sections ---------- */
section{padding:96px 0;position:relative}
section.tight{padding:64px 0}
.section-head{max-width:720px;margin:0 auto 56px;text-align:center}
.section-head.left{text-align:left;margin-left:0}
.section-head p{margin-top:1rem;color:var(--ink-2)}

/* ---------- Dark band ---------- */
.dark-band{background:var(--ink);color:#f5f5f7}
.dark-band h1,.dark-band h2,.dark-band h3,.dark-band h4{color:#fff}
.dark-band p{color:rgba(245,245,247,.75)}
.dark-band .eyebrow{color:#2997ff}
.dark-band .lead{color:rgba(245,245,247,.82)}
.dark-band .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.dark-band .btn.ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.dark-band .btn.primary{background:#fff;color:var(--ink)}
.dark-band .btn.primary:hover{background:#f5f5f7;color:var(--ink)}

/* Soft gray band */
.soft-band{background:var(--surface)}

/* ---------- Feature grid ---------- */
.features{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.feature{
  background:var(--surface);
  border-radius:var(--radius-xl);
  padding:40px 32px;
  transition:background .25s ease,transform .25s ease;
}
.feature:hover{background:#eeeef0;transform:translateY(-2px)}
.feature .ico{
  width:48px;height:48px;border-radius:12px;
  background:#fff;color:var(--brand);
  display:grid;place-items:center;
  margin-bottom:1.4rem;
  box-shadow:var(--shadow-sm);
}
.feature .ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.feature h3{margin-bottom:.55rem}
.feature p{font-size:.95rem;color:var(--ink-2);line-height:1.55}
.dark-band .feature{background:var(--dark-surface)}
.dark-band .feature:hover{background:#2c2c2e}
.dark-band .feature .ico{background:rgba(255,255,255,.08);color:#2997ff}
.dark-band .feature p{color:rgba(245,245,247,.7)}
@media(max-width:900px){.features{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.features{grid-template-columns:1fr}}

/* ---------- Feature grid 2 col ---------- */
.features.two{grid-template-columns:1fr 1fr}
@media(max-width:820px){.features.two{grid-template-columns:1fr}}

/* ---------- Feature grid 4 col ---------- */
.features.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.features.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.features.four{grid-template-columns:1fr}}

/* ---------- Split (product style) ---------- */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
}
.split.reverse > *:first-child{order:2}
.split-visual{
  aspect-ratio:4/3;background:var(--surface);
  border-radius:var(--radius-xl);
  position:relative;overflow:hidden;
  display:grid;place-items:center;
}
.split-visual .emoji{font-size:6rem;opacity:.9}
.split-text h2{margin-bottom:1.2rem}
.split-text .lead{margin-bottom:1.6rem}
@media(max-width:900px){.split,.split.reverse{grid-template-columns:1fr;gap:32px}.split.reverse > *:first-child{order:initial}}

/* ---------- Check list ---------- */
.checklist{list-style:none;padding:0;margin:1.5rem 0 0}
.checklist li{
  padding:12px 0 12px 32px;position:relative;
  font-size:1rem;color:var(--ink-2);line-height:1.55;
}
.checklist li::before{
  content:"";position:absolute;left:0;top:16px;
  width:18px;height:18px;border-radius:50%;
  background:var(--brand);
}
.checklist li::after{
  content:"";position:absolute;left:5px;top:22px;
  width:8px;height:4px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.dark-band .checklist li{color:rgba(245,245,247,.8)}

/* ---------- Apps showcase ---------- */
.showcase{display:flex;flex-direction:column;gap:20px}
.show-card{
  display:grid;grid-template-columns:120px 1fr auto;gap:32px;
  align-items:center;padding:28px;
  background:var(--surface);border-radius:var(--radius-xl);
  transition:background .25s,transform .25s;
}
.show-card:hover{background:#eeeef0;transform:translateY(-2px)}
.show-tile{
  width:112px;height:112px;border-radius:26px;
  display:grid;place-items:center;
  color:#fff;position:relative;overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.show-tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 55%);
  pointer-events:none;
}
.show-tile svg{width:56%;height:56%;position:relative;z-index:1}
.show-tile.g1{background:linear-gradient(135deg,#0071e3,#2997ff)}
.show-tile.g2{background:linear-gradient(135deg,#ff6a00,#ee0979)}
.show-tile.g3{background:linear-gradient(135deg,#34c759,#00a67e)}
.show-tile.g4{background:linear-gradient(135deg,#5e5ce6,#af52de)}
.show-body .tag{
  display:inline-block;padding:3px 10px;
  font-size:.72rem;font-weight:600;letter-spacing:.01em;
  border-radius:999px;margin-bottom:.65rem;
}
.show-body .tag.live{background:#e8f5e9;color:#1f6a3a}
.show-body .tag.beta{background:#fff4e0;color:#a15c00}
.show-body .tag.dev{background:#eef0f4;color:#42526a}
.show-body h3{font-size:1.35rem;margin-bottom:.35rem}
.show-body .meta{font-size:.85rem;color:var(--mute);margin-bottom:.55rem}
.show-body .meta span + span::before{content:" · ";color:var(--line)}
.show-body p{font-size:.96rem;color:var(--ink-2);max-width:62ch}
.show-cta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;min-width:100px}
.show-cta a{font-size:.85rem;color:var(--brand);font-weight:500}
.show-cta a:hover{color:var(--brand-dark)}
@media(max-width:820px){
  .show-card{grid-template-columns:1fr;gap:16px;padding:24px}
  .show-cta{flex-direction:row;align-items:flex-start;gap:16px}
  .show-tile{width:80px;height:80px;border-radius:20px}
}

/* ---------- Metrics / stat strip ---------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:40px;
  padding:60px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
}
.stat .num{font-size:2.4rem;font-weight:600;letter-spacing:-.024em;color:var(--ink);line-height:1;margin-bottom:.3rem}
.stat .lbl{font-size:.86rem;color:var(--mute);font-weight:500}
.dark-band .stats{border-color:var(--dark-line)}
.dark-band .stat .num{color:#fff}
.dark-band .stat .lbl{color:rgba(245,245,247,.55)}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;gap:28px}}

/* ---------- Pull quote ---------- */
.pullquote{max-width:880px;margin:0 auto;text-align:center;padding:20px}
.pullquote blockquote{
  font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:500;
  line-height:1.3;color:var(--ink);letter-spacing:-.018em;
  margin:0;
}
.pullquote cite{
  display:block;margin-top:1.6rem;font-style:normal;
  font-size:.85rem;color:var(--mute);font-weight:500;
}
.dark-band .pullquote blockquote{color:#fff}
.dark-band .pullquote cite{color:rgba(245,245,247,.55)}

/* ---------- CTA ---------- */
.cta-band{
  background:var(--ink);color:#fff;padding:120px 0;text-align:center;
}
.cta-band h2{color:#fff;max-width:22ch;margin:0 auto 1rem}
.cta-band .lead{color:rgba(245,245,247,.75);margin:0 auto 2rem;max-width:56ch}
.cta-band .btn.primary{background:#fff;color:var(--ink)}
.cta-band .btn.primary:hover{background:#f5f5f7;color:var(--ink)}
.cta-band .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cta-band .btn.ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* ---------- Page hero (inner) ---------- */
.page-hero{
  padding:80px 0 60px;background:var(--surface);
  border-bottom:1px solid var(--line-soft);
  text-align:center;
}
.page-hero h1{max-width:18ch;margin:0 auto 1rem;font-size:clamp(2.2rem,4.8vw,3.6rem)}
.page-hero .lead{max-width:64ch;margin:0 auto}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start}
form.contact-form{
  background:#fff;padding:40px;
  border:1px solid var(--line-soft);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-sm);
}
.field{margin-bottom:20px}
.field label{display:block;font-size:.85rem;color:var(--ink);margin-bottom:.45rem;font-weight:500}
.field input,.field textarea,.field select{
  width:100%;padding:12px 14px;font:inherit;color:var(--ink);
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);
  transition:border-color .2s,box-shadow .2s;
}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(0,113,227,.15);
}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.info-card{
  background:var(--surface);padding:28px 30px;
  border-radius:var(--radius-lg);margin-bottom:16px;
}
.info-card h4{font-size:.84rem;color:var(--mute);margin-bottom:.55rem;font-weight:500}
.info-card p{margin:0;font-size:1rem;color:var(--ink);line-height:1.55}
.info-card a{color:var(--ink)}
.info-card a:hover{color:var(--brand)}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:40px}form.contact-form{padding:28px}}

/* ---------- Footer ---------- */
footer{
  background:#f5f5f7;color:var(--mute);
  padding:56px 0 32px;font-size:.88rem;
  border-top:1px solid var(--line-soft);
}
footer a{color:var(--ink-2)}
footer a:hover{color:var(--brand)}
.foot-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:48px;
  padding-bottom:40px;border-bottom:1px solid var(--line-soft);
  margin-bottom:24px;
}
.foot-grid h5{
  color:var(--ink);font-size:.82rem;font-weight:600;
  margin:0 0 .9rem;letter-spacing:-.005em;
}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{padding:.32rem 0;font-size:.88rem}
.foot-brand p{margin-top:.6rem;max-width:34ch;color:var(--mute);font-size:.85rem;line-height:1.55}
.foot-brand .brand{margin-bottom:.8rem}
.foot-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;
  gap:.8rem;font-size:.82rem;color:var(--mute);
}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ---------- Legal pages ---------- */
.legal{padding:60px 0 100px}
.legal-wrap{max-width:740px;margin:0 auto}
.legal-wrap h2{
  font-size:1.5rem;font-weight:600;margin:2.8rem 0 1rem;
  padding-top:1.6rem;border-top:1px solid var(--line-soft);
  letter-spacing:-.016em;
}
.legal-wrap h3{font-size:1.05rem;font-weight:600;margin:1.6rem 0 .55rem;letter-spacing:-.008em}
.legal-wrap p,.legal-wrap li{font-size:1rem;color:var(--ink-2);line-height:1.65}
.legal-wrap ul,.legal-wrap ol{padding-left:1.3rem;margin:.6rem 0}
.legal-wrap li{margin-bottom:.4rem}
.legal-wrap a{color:var(--brand)}
.legal-wrap a:hover{color:var(--brand-dark);text-decoration:underline}
.legal-wrap strong{color:var(--ink);font-weight:600}
.legal-meta{
  display:flex;flex-wrap:wrap;gap:2rem;
  padding:18px 22px;margin-top:1.4rem;
  background:var(--surface);border-radius:var(--radius-lg);
  font-size:.86rem;color:var(--ink-2);
}
.legal-meta div strong{display:block;color:var(--mute);font-weight:500;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.2rem}
.toc{
  background:var(--surface);padding:24px 28px;
  margin:1.5rem 0 2.5rem;border-radius:var(--radius-lg);
}
.toc strong{display:block;font-size:.78rem;font-weight:600;color:var(--ink);margin-bottom:.8rem;letter-spacing:.04em;text-transform:uppercase}
.toc ol{padding-left:1.2rem;margin:0;columns:2;font-size:.94rem;color:var(--ink-2)}
.toc a{color:var(--ink-2)}
.toc a:hover{color:var(--brand)}
table.sdk,table.cookies{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.92rem;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
table.sdk th,table.sdk td,table.cookies th,table.cookies td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft)}
table.sdk tr:last-child td,table.cookies tr:last-child td{border-bottom:0}
table.sdk th,table.cookies th{background:var(--surface);font-weight:600;color:var(--ink);font-size:.85rem}
.route{
  background:var(--surface);padding:24px 28px;
  margin:1rem 0;border-radius:var(--radius-lg);
}
.route h3{margin:0 0 .7rem;font-size:1.1rem;font-weight:600}
@media(max-width:680px){.toc ol{columns:1}}

/* ---------- Support page ---------- */
.support-nav{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin-bottom:48px;
}
.support-nav a{
  background:var(--surface);padding:16px 18px;
  border-radius:var(--radius);font-size:.92rem;
  color:var(--ink);font-weight:500;text-align:center;
  transition:background .2s;
}
.support-nav a:hover{background:#eeeef0;color:var(--brand)}
.support-section{margin-bottom:64px}
.support-section h2{font-size:1.6rem;font-weight:600;margin-bottom:1.4rem;letter-spacing:-.016em}
.app-support{
  background:var(--surface);padding:22px 26px;margin-bottom:12px;
  border-radius:var(--radius-lg);
}
.app-support h3{margin:0 0 .35rem;font-size:1.1rem}
.app-support p{margin:0;font-size:.92rem;color:var(--ink-2)}
.app-support a{color:var(--brand);font-weight:500}
.faq details{
  background:var(--surface);margin-bottom:10px;
  border-radius:var(--radius-lg);overflow:hidden;
  transition:background .2s;
}
.faq details[open]{background:#eeeef0}
.faq summary{
  padding:18px 24px;cursor:pointer;font-weight:500;color:var(--ink);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  font-size:1rem;
}
.faq summary::after{content:"+";font-size:1.4rem;font-weight:400;color:var(--mute);transition:transform .3s}
.faq details[open] summary::after{content:"−"}
.faq summary::-webkit-details-marker{display:none}
.faq .answer{padding:0 24px 20px;color:var(--ink-2);font-size:.96rem;line-height:1.65}
.faq .answer p{margin:.4rem 0}
.faq .answer a{color:var(--brand)}
@media(max-width:680px){.support-nav{grid-template-columns:1fr 1fr}}

/* ---------- Consent bar ---------- */
.consent-bar{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:100;
  background:#fff;padding:18px 22px;max-width:680px;margin:0 auto;
  border-radius:var(--radius-lg);border:1px solid var(--line-soft);
  box-shadow:var(--shadow-lg);
}
.consent-inner{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.consent-inner p{margin:0;font-size:.88rem;color:var(--ink-2);flex:1;min-width:240px}
.consent-inner p a{color:var(--brand)}
.consent-actions{display:flex;gap:8px}
.consent-actions .btn{padding:.6rem 1.1rem;font-size:.82rem}
@media(max-width:540px){.consent-actions{width:100%}.consent-actions .btn{flex:1;justify-content:center}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive nav ---------- */
@media(max-width:900px){
  .nav-links{
    display:none;position:absolute;top:64px;left:0;right:0;
    background:#fff;flex-direction:column;padding:20px 24px 28px;
    border-bottom:1px solid var(--line-soft);gap:1rem;align-items:flex-start;
  }
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
}

/* Small utility */
.center{text-align:center}
.mt-0{margin-top:0 !important}
