/* ═══════════════════════════════════════════
   ESKA Fulfilment — Main CSS
   Font: Syne (headings) + Inter (body)
   ═══════════════════════════════════════════ */

:root {
  --navy-900: #060c1f;
  --navy-800: #0d1a3a;
  --navy-700: #111f45;
  --navy-600: #1a2d52;
  --blue-muted: rgba(160,195,240,0.65);
  --blue-light: rgba(210,230,255,0.9);
  --white: #ffffff;
  --grey-100: #f8f8f8;
  --grey-200: #eeeeee;
  --grey-400: #aaaaaa;
  --grey-600: #666666;
  --grey-800: #333333;
  --black: #111111;
  --font-head: 'Syne', sans-serif;
  --font-body: 'Inter', sans-serif;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --transition: 0.22s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--black); background: #fff; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1,h2,h3,h4 { font-family: var(--font-head); line-height: 1.1; font-weight: 800; }

/* ── TOPBAR ── */
.topbar { background: linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 50%,var(--navy-900) 100%); overflow:hidden; position:relative; border-bottom:1px solid rgba(255,255,255,0.06); }
.topbar::before { content:''; position:absolute; top:0;left:0;right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15) 40%,rgba(255,255,255,0.15) 60%,transparent); }
.topbar::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,var(--navy-900) 0%,transparent 120px),linear-gradient(to left,var(--navy-900) 0%,transparent 120px); pointer-events:none; z-index:2; }
.topbar__wrap { overflow:hidden; padding:10px 0; }
.topbar__track { display:flex; align-items:center; width:max-content; animation:topScroll 42s linear infinite; will-change:transform; }
.topbar__track:hover { animation-play-state:paused; }
@keyframes topScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.topbar__track span { white-space:nowrap; font-family:var(--font-body); font-size:11.5px; font-weight:500; letter-spacing:.05em; color:rgba(180,200,240,0.75); padding:0 24px; }
.topbar__track strong { color:#fff; font-weight:700; }
.topbar__sep { color:rgba(255,255,255,0.18) !important; padding:0 !important; }

/* ── HEADER ── */
.site-header { position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--grey-200); transition:box-shadow var(--transition); }
.site-header.scrolled { box-shadow:0 4px 24px rgba(15,27,53,0.08); }
.header__inner { max-width:1320px; margin:0 auto; padding:0 28px; height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.header__logo { font-family:var(--font-head); text-decoration:none; display:flex; align-items:baseline; gap:7px; flex-shrink:0; }
.header__logo-eska { font-size:22px; font-weight:800; color:var(--navy-800); letter-spacing:-.5px; }
.header__logo-ful { font-size:13px; font-weight:500; color:var(--grey-400); }
.header__nav { display:flex; align-items:center; gap:2px; flex:1; justify-content:center; }
.header__nav a { position:relative; font-size:14px; font-weight:500; color:#555; text-decoration:none; padding:8px 14px; border-radius:var(--radius-sm); transition:color var(--transition),background var(--transition); }
.header__nav a::after { content:''; position:absolute; bottom:2px; left:14px; right:14px; height:2px; background:linear-gradient(90deg,var(--navy-800),var(--navy-600)); border-radius:2px; transform:scaleX(0); transition:transform .25s ease; }
.header__nav a:hover, .header__nav a.active { color:var(--navy-800); }
.header__nav a:hover::after, .header__nav a.active::after { transform:scaleX(1); }
.header__nav a.active { font-weight:600; }
.header__cta { display:inline-flex; align-items:center; gap:7px; background:linear-gradient(135deg,var(--navy-900),var(--navy-600)); color:#fff; font-size:13.5px; font-weight:600; padding:10px 20px; border-radius:var(--radius-md); text-decoration:none; box-shadow:0 2px 8px rgba(15,27,53,0.25); transition:opacity var(--transition),transform var(--transition),box-shadow var(--transition); white-space:nowrap; }
.header__cta:hover { opacity:.9; transform:translateY(-1px); box-shadow:0 6px 20px rgba(15,27,53,0.3); color:#fff; }
.header__burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:1px solid var(--grey-200); cursor:pointer; padding:8px; border-radius:9px; transition:background var(--transition); }
.header__burger:hover { background:var(--grey-100); }
.header__burger span { display:block; width:100%; height:1.8px; background:var(--navy-800); border-radius:2px; transition:transform .3s ease,opacity .3s ease; transform-origin:center; }
.header__burger.open span:nth-child(1) { transform:translateY(6.8px) rotate(45deg); }
.header__burger.open span:nth-child(2) { opacity:0; }
.header__burger.open span:nth-child(3) { transform:translateY(-6.8px) rotate(-45deg); }
.mobile-drawer { position:fixed; top:72px;left:0;right:0;bottom:0; background:#fff; z-index:999; transform:translateY(-8px); opacity:0; pointer-events:none; transition:transform .3s ease,opacity .3s ease; overflow-y:auto; }
.mobile-drawer.open { transform:translateY(0); opacity:1; pointer-events:auto; }
.mobile-drawer__inner { padding:24px; display:flex; flex-direction:column; gap:4px; }
.mobile-drawer a { font-size:18px; font-weight:500; color:#333; text-decoration:none; padding:15px 8px; border-bottom:1px solid var(--grey-200); display:flex; align-items:center; justify-content:space-between; transition:color var(--transition),padding-left var(--transition); }
.mobile-drawer a::after { content:'→'; font-size:14px; color:#ccc; }
.mobile-drawer a:hover { color:var(--navy-800); padding-left:12px; }
.mobile-drawer a:last-child { border-bottom:none; }
.mobile-drawer__cta { margin-top:20px; justify-content:center; background:linear-gradient(135deg,var(--navy-900),var(--navy-600)) !important; color:#fff !important; border-radius:var(--radius-lg); border-bottom:none !important; }
.mobile-drawer__cta::after { display:none !important; }
.overlay { position:fixed; inset:0; background:rgba(15,27,53,0.25); backdrop-filter:blur(3px); z-index:998; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.overlay.open { opacity:1; pointer-events:auto; }

/* ── HERO ── */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 40%,var(--navy-700) 70%,#0a1428 100%); }
.hero__canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.55; }
.hero__overlay { position:absolute; bottom:0;left:0;right:0; height:200px; z-index:1; background:linear-gradient(to top,rgba(6,12,31,0.6),transparent); }
.hero__content { position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:120px 64px 100px; width:100%; }
.hero__label { font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:rgba(160,200,255,1); margin-bottom:24px; opacity:0; animation:fadeUp .6s ease .2s forwards; }
.hero__title { font-family:var(--font-head); font-size:clamp(42px,6vw,80px); font-weight:800; letter-spacing:-2px; color:#fff; margin-bottom:28px; display:flex; flex-direction:column; gap:4px; }
.hero__title span { display:block; opacity:0; transform:translateY(24px); animation:fadeUp .65s ease forwards; }
.hero__title span:nth-child(1) { animation-delay:.35s; }
.hero__title span:nth-child(2) { animation-delay:.48s; }
.hero__desc { font-size:16px; line-height:1.8; color:rgba(210,225,255,0.95); margin-bottom:44px; max-width:580px; opacity:0; animation:fadeUp .65s ease .6s forwards; }
.hero__stats { display:flex; align-items:center; gap:0; margin-bottom:48px; flex-wrap:wrap; row-gap:16px; opacity:0; animation:fadeUp .65s ease .72s forwards; }
.hero__stat { display:flex; flex-direction:column; gap:4px; padding:0 28px; }
.hero__stat:first-child { padding-left:0; }
.hero__stat-label { font-size:11px; font-weight:500; color:rgba(160,195,255,0.85); text-transform:uppercase; letter-spacing:.8px; }
.hero__stat-value { font-size:16px; font-weight:700; color:#fff; }
.hero__stat-div { width:1px; height:36px; background:rgba(255,255,255,0.2); flex-shrink:0; }
.hero__actions { display:flex; gap:14px; flex-wrap:wrap; opacity:0; animation:fadeUp .65s ease .84s forwards; }
.hero__scroll { position:absolute; bottom:36px; right:64px; z-index:2; opacity:0; animation:fadeUp .6s ease 1.2s forwards; }
.hero__scroll-line { width:1px; height:48px; background:linear-gradient(to bottom,rgba(255,255,255,0.4),transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:.4} 50%{opacity:1} }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-size:15px; font-weight:600; padding:15px 28px; border-radius:var(--radius-md); text-decoration:none; cursor:pointer; border:none; transition:transform var(--transition),box-shadow var(--transition),background var(--transition),opacity var(--transition); }
.btn-dark { background:var(--black); color:#fff; }
.btn-dark:hover { background:#333; transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,0.15); color:#fff; }
.btn-light { background:var(--grey-100); color:var(--black); border:1px solid #e8e8e8; }
.btn-light:hover { background:var(--grey-200); transform:translateY(-1px); color:var(--black); }
.btn-white { background:#fff; color:var(--navy-800); box-shadow:0 4px 24px rgba(0,0,0,0.25); }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.35); color:var(--navy-800); }
.btn-ghost { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.9); border:1px solid rgba(255,255,255,0.2); backdrop-filter:blur(4px); }
.btn-ghost:hover { background:rgba(255,255,255,0.14); transform:translateY(-2px); color:#fff; }
.btn-ghost svg { animation:bounceDown 2s ease-in-out infinite; }
@keyframes bounceDown { 0%,100%{transform:translateY(0)} 50%{transform:translateY(3px)} }

/* ── SECTIONS ── */
.section { padding:88px 24px; }
.section--grey { background:var(--grey-100); border-top:1px solid var(--grey-200); border-bottom:1px solid var(--grey-200); }
.section__inner { max-width:1200px; margin:0 auto; }
.section__head { text-align:center; max-width:760px; margin:0 auto 56px; }
.section__label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--grey-400); margin-bottom:14px; display:block; }
.section__head h2 { font-family:var(--font-head); font-size:clamp(30px,4.5vw,52px); font-weight:800; letter-spacing:-.5px; color:var(--black); margin-bottom:18px; }
.section__head p { font-size:16px; line-height:1.8; color:var(--grey-600); }

/* ── CARDS ── */
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card { background:#fff; border-radius:var(--radius-lg); padding:32px; border:1px solid var(--grey-200); transition:box-shadow var(--transition),transform var(--transition); }
.section--grey .card { background:#fff; }
.card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.07); transform:translateY(-4px); }
.card__icon { width:52px; height:52px; background:var(--grey-100); border:1px solid var(--grey-200); border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; transition:background var(--transition); }
.card:hover .card__icon { background:var(--grey-200); }
.card h3 { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--black); margin-bottom:10px; }
.card p { font-size:14px; line-height:1.75; color:var(--grey-600); }

/* ── SPLIT ── */
.split { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.split__text h2 { font-family:var(--font-head); font-size:clamp(28px,4vw,48px); font-weight:800; letter-spacing:-.5px; color:var(--black); margin-bottom:18px; }
.split__text p { font-size:16px; line-height:1.8; color:var(--grey-600); margin-bottom:32px; }
.check-list { display:flex; flex-direction:column; gap:14px; }
.check-item { display:flex; gap:14px; align-items:flex-start; background:var(--grey-100); border-radius:14px; padding:16px 18px; border:1px solid var(--grey-200); transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition); }
.check-item:hover { border-color:#ccc; box-shadow:0 4px 16px rgba(0,0,0,0.05); transform:translateX(3px); }
.check-item__icon { width:24px; height:24px; background:var(--black); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; flex-shrink:0; }
.check-item strong { display:block; font-size:14px; font-weight:700; color:var(--black); margin-bottom:2px; }
.check-item p { font-size:13px; line-height:1.6; color:var(--grey-400); margin:0; }

/* ── STEPS ── */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.step { background:var(--grey-100); border-radius:var(--radius-lg); padding:32px 28px; border:1px solid var(--grey-200); display:flex; flex-direction:column; position:relative; transition:box-shadow var(--transition),transform var(--transition); }
.section--grey .step { background:#fff; }
.step:not(:last-child)::after { content:''; position:absolute; top:38px; right:-11px; width:20px; height:1.5px; background:#ddd; z-index:1; }
.step:hover { box-shadow:0 8px 28px rgba(0,0,0,0.07); transform:translateY(-4px); }
.step__num { font-size:12px; font-weight:700; letter-spacing:1.5px; color:#ccc; margin-bottom:20px; display:block; }
.step h3 { font-family:var(--font-head); font-size:17px; font-weight:700; color:var(--black); margin-bottom:12px; }
.step p { font-size:14px; line-height:1.75; color:var(--grey-600); flex:1; }

/* ── CTA SECTION ── */
.cta-section { background:var(--grey-100); border-top:1px solid var(--grey-200); padding:100px 24px; }
.cta-section__inner { max-width:720px; margin:0 auto; text-align:center; }
.cta-section__inner h2 { font-family:var(--font-head); font-size:clamp(28px,4vw,48px); font-weight:800; letter-spacing:-.5px; color:var(--black); margin-bottom:20px; }
.cta-section__inner p { font-size:16px; line-height:1.8; color:var(--grey-600); margin-bottom:36px; }
.cta-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ── MARQUEE ── */
.marquee-wrap { position:relative; overflow:hidden; }
.marquee-fade-l,.marquee-fade-r { position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.marquee-fade-l { left:0; background:linear-gradient(to right,#fff,transparent); }
.marquee-fade-r { right:0; background:linear-gradient(to left,#fff,transparent); }
.section--grey .marquee-fade-l { background:linear-gradient(to right,var(--grey-100),transparent); }
.section--grey .marquee-fade-r { background:linear-gradient(to left,var(--grey-100),transparent); }
.marquee-track { display:flex; align-items:center; gap:16px; width:max-content; animation:marqueeScroll 32s linear infinite; padding:12px 0; }
.marquee-track:hover { animation-play-state:paused; }
@keyframes marqueeScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.marquee-card { background:#fff; border-radius:var(--radius-md); border:1px solid var(--grey-200); width:220px; height:140px; flex:0 0 220px; display:flex; align-items:center; justify-content:center; padding:28px 32px; transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition); }
.marquee-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.08); transform:translateY(-3px); border-color:#ddd; }
.marquee-card img { width:100%; height:100%; object-fit:contain; filter:grayscale(100%); opacity:.6; transition:filter var(--transition),opacity var(--transition); }
.marquee-card:hover img { filter:grayscale(0%); opacity:1; }

/* ── INTEG GRID ── */
.integ-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:32px; }
.integ-item { background:#fff; border-radius:var(--radius-md); border:1px solid var(--grey-200); aspect-ratio:3/2; display:flex; align-items:center; justify-content:center; padding:20px; transition:box-shadow var(--transition),transform var(--transition); }
.integ-item:hover { box-shadow:0 4px 16px rgba(0,0,0,0.08); transform:translateY(-2px); }
.integ-item img { width:100%; height:100%; object-fit:contain; filter:grayscale(100%); opacity:.6; transition:filter var(--transition),opacity var(--transition); }
.integ-item:hover img { filter:grayscale(0%); opacity:1; }
.integ-hidden { display:none; }
.integ-toggle-wrap { display:flex; justify-content:center; margin-bottom:40px; }
.integ-toggle-btn { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1.5px solid #ddd; border-radius:var(--radius-sm); padding:11px 22px; font-size:14px; font-weight:600; color:var(--black); cursor:pointer; font-family:var(--font-body); transition:border-color var(--transition),box-shadow var(--transition); }
.integ-toggle-btn:hover { border-color:var(--black); box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.integ-toggle-icon { transition:transform .3s ease; }

/* ── FAQ ── */
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq-item { border:1.5px solid var(--grey-200); border-radius:var(--radius-lg); overflow:hidden; transition:border-color var(--transition),box-shadow var(--transition); }
.faq-item:hover { border-color:#ccc; box-shadow:0 4px 20px rgba(0,0,0,0.05); }
.faq-item.open { border-color:var(--black); box-shadow:0 4px 24px rgba(0,0,0,0.07); }
.faq-q { width:100%; background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 28px; text-align:left; font-family:var(--font-body); }
.faq-q span:first-child { font-size:16px; font-weight:700; color:var(--black); flex:1; line-height:1.4; }
.faq-icon { flex-shrink:0; width:28px; height:28px; border-radius:50%; border:1.5px solid #ddd; position:relative; transition:background var(--transition),border-color var(--transition),transform .35s ease; }
.faq-icon::before,.faq-icon::after { content:''; position:absolute; background:var(--black); border-radius:2px; transition:transform .35s ease,opacity var(--transition); }
.faq-icon::before { width:12px; height:1.5px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-icon::after  { width:1.5px; height:12px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-item.open .faq-icon { background:var(--black); border-color:var(--black); transform:rotate(45deg); }
.faq-item.open .faq-icon::before,.faq-item.open .faq-icon::after { background:#fff; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(0.4,0,0.2,1); }
.faq-answer.open { max-height:300px; }
.faq-answer p { font-size:15px; line-height:1.8; color:var(--grey-600); padding:0 28px 24px; border-top:1px solid var(--grey-100); }

/* ── FOOTER ── */
.site-footer { position:relative; background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 50%,#0a1428 100%); overflow:hidden; border-top:1px solid rgba(255,255,255,0.06); }
.footer__canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.25; pointer-events:none; }
.footer__inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:72px 24px 56px; display:grid; grid-template-columns:1.8fr 1fr 1fr 1.2fr; gap:56px; }
.footer__brand-name { display:flex; align-items:baseline; gap:8px; margin-bottom:20px; }
.footer__brand-eska { font-family:var(--font-head); font-size:26px; font-weight:800; color:rgba(210,230,255,0.95); letter-spacing:-.5px; }
.footer__brand-ful { font-size:14px; font-weight:400; color:rgba(160,195,240,0.65); }
.footer__desc { font-size:14px; line-height:1.8; color:rgba(160,195,240,0.65); margin-bottom:32px; max-width:300px; }
.footer__carriers-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(120,160,220,0.5); margin-bottom:12px; }
.footer__carrier-logos { display:flex; flex-wrap:wrap; gap:8px; }
.footer__carrier-logos img { height:38px; width:64px; object-fit:contain; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.09); border-radius:var(--radius-sm); padding:6px 10px; opacity:.85; transition:opacity var(--transition),background var(--transition); }
.footer__carrier-logos img:hover { opacity:1; background:rgba(255,255,255,0.15); }
.footer__heading { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(120,160,220,0.55); margin-bottom:18px; display:block; }
.footer__heading--mt { margin-top:32px; }
.footer__nav { display:flex; flex-direction:column; }
.footer__nav a { font-size:14px; color:rgba(160,195,240,0.65); text-decoration:none; margin-bottom:11px; transition:color var(--transition),padding-left var(--transition); }
.footer__nav a:hover { color:rgba(210,230,255,0.95); padding-left:4px; }
.footer__address p { font-size:14px; color:rgba(160,195,240,0.65); margin-bottom:8px; line-height:1.5; }
.footer__hours { display:flex; flex-direction:column; gap:7px; margin-top:4px; }
.footer__hours div { display:flex; justify-content:space-between; font-size:13px; gap:12px; }
.footer__hours div span:first-child { color:rgba(120,160,220,0.55); }
.footer__hours div span:last-child { font-weight:600; color:rgba(200,220,255,0.85); }
.footer__closed { color:rgba(120,150,200,0.35) !important; font-weight:400 !important; }
.footer__bottom { position:relative; z-index:1; border-top:1px solid rgba(255,255,255,0.06); padding:0 24px; }
.footer__bottom-inner { max-width:1200px; margin:0 auto; padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer__copy { font-size:12px; color:rgba(100,140,200,0.45); }
.footer__contact-link { font-size:12px; font-weight:600; color:rgba(160,200,255,0.65); text-decoration:none; transition:color var(--transition); }
.footer__contact-link:hover { color:rgba(220,235,255,1); }

/* ── ANIMATE ── */
.animate { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.animate.in { opacity:1; transform:translateY(0); }

/* ── PAGE HERO ── */
.page-hero { max-width:1000px; margin:0 auto; text-align:center; padding:120px 24px 80px; }
.page-hero__label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--grey-400); margin-bottom:20px; display:block; animation:fadeUp .65s ease both; }
.page-hero__title { font-family:var(--font-head); font-size:clamp(40px,6vw,72px); font-weight:800; letter-spacing:-1.5px; color:var(--black); margin-bottom:24px; animation:fadeUp .65s ease .1s both; }
.page-hero__desc { font-size:18px; line-height:1.8; color:var(--grey-600); max-width:680px; margin:0 auto 40px; animation:fadeUp .65s ease .2s both; }
.page-hero__actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; animation:fadeUp .65s ease .3s both; }

/* ── FORM ── */
.form-wrap { background:var(--grey-100); border-radius:24px; padding:40px; border:1px solid var(--grey-200); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.form-field { position:relative; }
.form-field--full { grid-column:1/-1; }
.form-field input,.form-field select,.form-field textarea { width:100%; box-sizing:border-box; border:1.5px solid #e8e8e8; background:#fff; padding:22px 16px 8px; border-radius:var(--radius-md); font-size:15px; font-family:var(--font-body); color:var(--black); outline:none; transition:border-color var(--transition),box-shadow var(--transition); resize:none; appearance:none; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--black); box-shadow:0 0 0 3px rgba(17,17,17,0.06); }
.form-field label { position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:14px; color:#aaa; pointer-events:none; transition:top .2s ease,font-size .2s ease; line-height:1; }
.form-field textarea ~ label { top:20px; transform:none; }
.form-field input:focus ~ label,.form-field input:not(:placeholder-shown) ~ label,.form-field textarea:focus ~ label,.form-field textarea:not(:placeholder-shown) ~ label { top:10px; transform:none; font-size:11px; color:#888; }
.form-field select ~ label { top:10px; transform:none; font-size:11px; color:#888; }
.form-submit { width:100%; background:var(--black); color:#fff; border:none; padding:17px 24px; border-radius:var(--radius-md); font-size:15px; font-weight:700; font-family:var(--font-body); cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:background var(--transition),transform var(--transition),box-shadow var(--transition); margin-bottom:12px; }
.form-submit:hover { background:#333; transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,0.15); }
.form-note { text-align:center; color:#aaa; font-size:13px; }
.form-success { display:none; text-align:center; padding:32px; background:#f0fdf4; border-radius:var(--radius-lg); border:1px solid #bbf7d0; }
.form-success h3 { font-family:var(--font-head); color:#166534; margin-bottom:8px; }
.form-success p { color:#166534; font-size:14px; }

/* ── LEGAL ── */
.legal-inner { max-width:860px; margin:0 auto; padding:0 24px 80px; }
.legal-header { text-align:center; margin-bottom:56px; padding-top:80px; }
.legal-header__label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--grey-400); margin-bottom:16px; display:block; }
.legal-header__title { font-family:var(--font-head); font-size:clamp(36px,5vw,64px); font-weight:800; letter-spacing:-1px; color:var(--black); margin-bottom:16px; }
.legal-header__date { font-size:14px; color:var(--grey-400); }
.legal-nav { background:var(--grey-100); border-radius:var(--radius-lg); padding:28px 32px; margin-bottom:48px; border:1px solid var(--grey-200); }
.legal-nav__title { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--grey-400); margin-bottom:16px; }
.legal-nav ol { margin:0; padding:0 0 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:6px 32px; }
.legal-nav ol li { font-size:14px; line-height:1.6; }
.legal-nav ol a { color:#555; text-decoration:none; transition:color var(--transition); }
.legal-nav ol a:hover { color:var(--black); }
.legal-articles { display:flex; flex-direction:column; }
.legal-article { display:grid; grid-template-columns:52px 1fr; gap:24px; padding:36px 0; border-bottom:1px solid #f0f0f0; scroll-margin-top:100px; }
.legal-article:first-child { padding-top:0; }
.legal-article:last-child { border-bottom:none; }
.legal-num { font-size:13px; font-weight:700; color:#ccc; padding-top:4px; }
.legal-body h2 { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--black); margin-bottom:12px; }
.legal-body p { font-size:15px; line-height:1.85; color:var(--grey-600); margin-bottom:12px; }
.legal-body p:last-child { margin-bottom:0; }
.legal-body ul { list-style:none; display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.legal-body ul li { font-size:15px; line-height:1.7; color:var(--grey-600); padding-left:18px; position:relative; }
.legal-body ul li::before { content:'—'; position:absolute; left:0; color:#ccc; font-size:13px; }
.legal-body a { color:var(--black); text-decoration:underline; text-underline-offset:2px; }
.legal-cta { margin-top:64px; background:var(--grey-100); border-radius:var(--radius-lg); padding:32px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid var(--grey-200); }
.legal-cta p { font-size:16px; font-weight:600; color:var(--black); }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1100px; margin:0 auto; }
.contact-card { background:var(--grey-100); border-radius:var(--radius-lg); padding:40px; border:1px solid var(--grey-200); }
.contact-card__title { font-family:var(--font-head); font-size:20px; font-weight:700; color:var(--black); margin-bottom:28px; }
.contact-info-list { display:flex; flex-direction:column; gap:20px; }
.contact-info-item { display:flex; gap:14px; align-items:flex-start; }
.contact-info-icon { width:36px; height:36px; background:#fff; border:1px solid #e8e8e8; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#555; }
.contact-info-item strong { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--grey-400); margin-bottom:4px; }
.contact-info-item p { font-size:15px; line-height:1.7; color:#444; margin:0; }
.contact-info-item a { color:var(--black); font-weight:600; text-decoration:none; border-bottom:1px solid #ddd; transition:border-color var(--transition); }
.contact-info-item a:hover { border-color:var(--black); }
.contact-hours { display:flex; flex-direction:column; gap:4px; margin-top:2px; }
.contact-hours div { display:flex; justify-content:space-between; font-size:14px; color:#666; gap:16px; }
.contact-hours div span:last-child { font-weight:600; color:#333; }
.contact-closed { color:#ccc !important; font-weight:400 !important; }
.contact-warning { background:#fff; border:1.5px solid #e8e8e8; border-radius:var(--radius-lg); padding:40px; }
.contact-warning__icon { width:52px; height:52px; background:var(--grey-100); border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.contact-warning__title { font-family:var(--font-head); font-size:20px; font-weight:700; color:var(--black); margin-bottom:20px; line-height:1.3; }
.contact-warning p { font-size:15px; line-height:1.8; color:#666; margin-bottom:14px; }
.contact-carriers { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.contact-carrier-link { display:inline-block; background:var(--grey-100); border:1px solid var(--grey-200); border-radius:var(--radius-sm); padding:8px 14px; font-size:13px; font-weight:600; color:#333; text-decoration:none; transition:background var(--transition),border-color var(--transition); }
.contact-carrier-link:hover { background:var(--grey-200); border-color:#ccc; color:var(--black); }
.contact-map-wrap { max-width:1100px; margin:0 auto; margin-top:64px; }
.contact-map-head { text-align:center; margin-bottom:36px; }
.contact-map-head h2 { font-family:var(--font-head); font-size:clamp(26px,3.5vw,42px); font-weight:700; color:var(--black); letter-spacing:-.5px; }
.contact-map { border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--grey-200); }
.contact-map-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; flex-wrap:wrap; }
.contact-map-address { font-size:14px; color:var(--grey-400); }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .card-grid-3,.card-grid-4 { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .step:not(:last-child)::after { display:none; }
  .split { grid-template-columns:1fr; gap:48px; }
  .integ-grid { grid-template-columns:repeat(4,1fr); }
  .footer__inner { grid-template-columns:1fr 1fr; gap:40px; }
  .footer__inner > :first-child { grid-column:1/-1; }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .header__nav,.header__cta { display:none; }
  .header__burger { display:flex; }
  .hero__content { padding:100px 32px 80px; }
  .hero__scroll { right:32px; }
  .integ-grid { grid-template-columns:repeat(3,1fr); }
  .legal-nav ol { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .hero { min-height:100svh; }
  .hero__content { padding:80px 20px 72px; }
  .hero__title { font-size:clamp(38px,9vw,54px); letter-spacing:-1px; }
  .hero__scroll { display:none; }
  .section { padding:56px 20px; }
  .steps { grid-template-columns:1fr; }
  .integ-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
  .form-grid { grid-template-columns:1fr; }
  .footer__inner { grid-template-columns:1fr; gap:32px; padding:56px 20px 40px; }
  .legal-article { grid-template-columns:36px 1fr; gap:14px; padding:28px 0; }
  .legal-cta { flex-direction:column; align-items:flex-start; }
  .legal-nav { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
