/* ============================================================
   AIPIA — design tokens
   White-first palette. Navy is the structural accent, gold the
   highlight. These same tokens are what the PWA should adopt so
   the app and the site read as one product.
   ============================================================ */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --band:#f7f9fb;          /* soft section band */
  --band-2:#eef2f7;        /* alt section band */
  --line:#e4e9ef;
  --line-strong:#d2dae3;
  --text:#0d1117;
  --muted:#5b6470;
  --muted-2:#646f7c;
  --navy:#071325;
  --navy-2:#0b1b31;
  --gold:#c9962e;
  --gold-a:#f0cd72;
  --gold-b:#d3a13a;
  --gold-soft:#fbf2dd;
  --shadow:0 10px 30px rgba(13,22,38,.06), 0 1px 3px rgba(13,22,38,.05);
  --shadow-lift:0 18px 44px rgba(13,22,38,.10);
  --radius:28px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid #2f6fd0;outline-offset:2px;border-radius:6px}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.brand img{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:28px;font-size:15px;color:#454d59}
.nav-links a:hover{color:var(--text)}
.nav-actions{display:flex;align-items:center;gap:14px}
.mobile-toggle{display:none;border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:11px 16px;font-weight:600;cursor:pointer}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:999px;font-weight:700;line-height:1;transition:.2s ease;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 10px 26px rgba(7,19,37,.20)}
.btn.primary:hover{transform:translateY(-1px)}
.btn.outline{background:#fff;color:var(--text);border-color:#1f2833}
.btn.outline:hover{background:#f4f7fa}
.btn.gold{background:linear-gradient(180deg,var(--gold-a),var(--gold-b));color:#151515;border-color:transparent}

/* ---------- hero ---------- */
.hero{padding:62px 0 76px;background:var(--bg)}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center}
.eyebrow{display:inline-block;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:#4f5a67;font-size:12px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.hero h1{font-size:clamp(46px,6.2vw,84px);line-height:.98;letter-spacing:-.055em;margin:22px 0 22px;max-width:700px}
.hero-copy{font-size:20px;line-height:1.72;color:var(--muted);max-width:700px;margin:0 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.trust-row{display:flex;gap:10px;flex-wrap:wrap}
.trust-row span{padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:#4f5a67;font-size:14px}

/* ---------- hero product preview ---------- */
.demo-shell{background:#fff;border:1px solid var(--line-strong);border-radius:36px;padding:28px;box-shadow:var(--shadow-lift)}
.demo-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.demo-mark{height:36px;width:auto}
.scan-pill{padding:10px 16px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:#4f5a67;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.app-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px}
.app-head{display:flex;justify-content:space-between;color:var(--muted-2);font-size:14px;margin-bottom:16px}
.scan-area{border:1px solid var(--line);background:var(--band);border-radius:22px;padding:18px}
.business-card{background:#0b1017;border-radius:18px;padding:22px;color:#fff;min-height:120px}
.business-card small{display:block;font-size:12px;letter-spacing:.12em;color:#c5ccd7;margin-bottom:10px}
.business-card strong{display:block;font-size:34px;margin-bottom:8px}
.business-card span{font-size:18px;color:#dce3ed}
.extracting{margin-top:12px;color:var(--muted-2);font-size:14px}
.contact-result{padding:18px 6px 4px}
.contact-row{display:flex;justify-content:space-between;align-items:center;gap:20px}
.contact-row strong{font-size:28px}
.contact-row span{font-size:14px;color:var(--muted-2)}
.contact-sub{font-size:16px;color:var(--muted-2);margin-top:6px}
.ask-box{margin-top:18px;background:var(--band-2);border-radius:18px;padding:16px 18px;color:#4c5561;line-height:1.65}
.ask-box b{display:block;color:var(--text);margin-bottom:6px}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section.soft{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.alt{background:var(--band-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{text-align:center;max-width:900px;margin:0 auto 40px}
.section-head h2{font-size:clamp(34px,4.6vw,58px);line-height:1.02;letter-spacing:-.05em;margin:0 0 14px}
.section-head p{font-size:18px;color:var(--muted);line-height:1.72;margin:0}
.section-title-row{display:grid;grid-template-columns:1.06fr .94fr;gap:32px;align-items:start;margin-bottom:34px}
.section-title-row h2{font-size:clamp(34px,4.4vw,56px);line-height:1.02;letter-spacing:-.05em;margin:0}
.section-title-row p{font-size:19px;color:var(--muted);line-height:1.78;margin:0}

/* ---------- tagline slider ---------- */
.tagline-slider{background:#fff;border:1px solid var(--line-strong);border-radius:28px;padding:28px;box-shadow:var(--shadow);margin:14px 0 28px}
.slider-top{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.slider-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;font-size:20px;cursor:pointer;color:#2b333d}
.slider-arrow:hover{background:var(--band)}
.slider-content{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.slider-primary,.slider-secondary{border:1px solid var(--line);border-radius:24px;padding:22px;background:var(--band)}
.slider-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-weight:800;margin-bottom:10px}
.slider-primary h3,.slider-secondary h3{font-size:28px;line-height:1.08;letter-spacing:-.035em;margin:0 0 10px}
.slider-primary p,.slider-secondary p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.slider-dots{display:flex;justify-content:center;gap:10px;margin-top:16px}
.slider-dots button{width:10px;height:10px;border-radius:50%;border:none;background:#cbd3dc;cursor:pointer;padding:0}
.slider-dots button.active{background:var(--navy)}

/* ---------- features ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature-card{background:#fff;border:1px solid var(--line-strong);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.feature-icon{display:flex;align-items:center;justify-content:flex-start;min-height:88px;margin-bottom:14px}
.feature-icon img{display:block;max-width:106px;max-height:84px;width:auto;height:auto}
.feature-card h3{font-size:24px;letter-spacing:-.03em;margin:0 0 8px}
.feature-card p{font-size:16px;line-height:1.72;color:var(--muted);margin:0}

/* ---------- how it works ---------- */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.how-step{background:#fff;border:1px solid var(--line-strong);border-radius:28px;padding:24px;box-shadow:var(--shadow);position:relative}
.step-num{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:26px;margin-bottom:24px;color:var(--navy);background:var(--band)}
.step-icon{display:flex;align-items:center;justify-content:flex-start;min-height:110px;margin-bottom:22px}
.step-icon img{display:block;max-width:170px;max-height:104px;width:auto;height:auto}
.how-step h3{font-size:28px;line-height:1.1;letter-spacing:-.04em;margin:0 0 10px}
.how-step p{font-size:17px;line-height:1.72;color:var(--muted);margin:0}

/* ---------- pricing ---------- */
.pricing-wrap{margin-top:24px}
.pricing-kicker{display:flex;justify-content:center;margin-bottom:16px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
.price-card{background:#fff;border:1px solid var(--line-strong);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;min-height:100%}
.price-icon{display:flex;align-items:center;justify-content:flex-start;min-height:92px;margin-bottom:14px}
.price-icon img{display:block;max-width:120px;max-height:82px;width:auto;height:auto}
.price-card h3{font-size:22px;line-height:1.1;letter-spacing:-.03em;margin:0 0 6px}
.price-card .plan-tag{font-size:14px;color:var(--muted-2);margin-bottom:18px}
.price{font-size:58px;line-height:1;letter-spacing:-.06em;font-weight:800;margin:0 0 6px}
.price-period{font-size:15px;font-weight:600;color:var(--muted-2);margin:0 0 18px;letter-spacing:.01em}
.price small{font-size:16px;font-weight:600;color:var(--muted-2);letter-spacing:-.01em;margin-left:6px}
.price-divider{height:1px;background:var(--line);margin:0 0 18px}
.price-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.price-list li{position:relative;padding-left:28px;font-size:16px;line-height:1.55;color:#39424e}
.price-list li::before{content:'●';position:absolute;left:0;top:0;color:var(--navy);font-size:14px;line-height:1.8}
.price-btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 18px;border-radius:999px;font-weight:800;font-size:18px;border:1.5px solid #1f2833;background:#fff;margin-top:auto;transition:.2s ease}
.price-btn:hover{background:var(--band-2)}
.price-card.event .price-btn{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 10px 24px rgba(7,19,37,.18)}
.price-card.event .price-btn:hover{background:var(--navy-2)}
.price-card.featured{background:radial-gradient(circle at top left, #0d203b 0%, #071325 56%, #050d18 100%);color:#fff;border-color:#1e3252;overflow:hidden;box-shadow:0 18px 44px rgba(7,19,37,.24)}
.price-card.featured .plan-tag,.price-card.featured .price small,.price-card.featured .price-period,.price-card.featured .price-list li{color:#e7ecf3}
.price-card.featured .price-divider{background:rgba(255,255,255,.18)}
.price-card.featured .price-list li::before{color:var(--gold-a)}
.price-card.featured .price-btn{background:linear-gradient(180deg,var(--gold-a),var(--gold-b));border-color:transparent;color:#151515}
.price-badge{position:absolute;top:18px;right:18px;background:linear-gradient(180deg,var(--gold-a),var(--gold-b));color:#151515;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.save-pill{display:inline-flex;align-self:flex-start;padding:10px 14px;border-radius:999px;background:rgba(240,205,114,.16);color:#f3d894;font-size:15px;font-weight:700;margin:-4px 0 16px}

/* ---------- teams ---------- */
.teams-pricing{margin-top:18px;background:#fff;border:1px solid var(--line-strong);border-radius:28px;padding:26px 28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 1fr .86fr;gap:22px;align-items:center}
.teams-left{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:center}
.teams-icon{width:86px;height:86px;border-radius:24px;background:radial-gradient(circle at top left,#10233d,#081121);display:grid;place-items:center;color:var(--gold-a);font-size:34px;box-shadow:inset 0 0 0 1px rgba(232,191,102,.24)}
.teams-kicker{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--band-2);color:#4f5a67;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.teams-intro h3{font-size:30px;line-height:1.08;letter-spacing:-.04em;margin:0 0 8px}
.teams-price{font-size:22px;letter-spacing:-.03em;margin-bottom:10px}
.teams-intro p,.teams-cta p{font-size:17px;line-height:1.7;color:var(--muted);margin:0}
.teams-features{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.teams-features div{display:flex;align-items:flex-start;gap:10px;font-size:17px;color:#39424e}
.teams-features span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,var(--gold-a),var(--gold-b));color:#151515;font-size:12px;font-weight:900;flex:0 0 auto}
.teams-cta{border-left:1px solid var(--line);padding-left:20px}
.teams-cta h4{font-size:32px;line-height:1.06;letter-spacing:-.04em;margin:0 0 10px}
.teams-btn{display:inline-flex;justify-content:center;align-items:center;padding:16px 22px;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;font-size:18px;margin-top:20px;min-width:210px}
.teams-btn:hover{background:var(--navy-2)}
.pricing-note,.fulfilment-note{font-size:14px;color:var(--muted-2);text-align:center;line-height:1.7;margin-top:16px}

/* ---------- policies ---------- */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.policy-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line-strong);border-radius:24px;padding:24px;box-shadow:var(--shadow);transition:.2s ease}
.policy-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.policy-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--band-2);border:1px solid var(--line);font-size:22px;color:var(--navy)}
.policy-card h3{font-size:22px;line-height:1.15;letter-spacing:-.03em;margin:0 0 6px}
.policy-card p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}

/* ---------- contact ---------- */
.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:start}
.contact-main h2{font-size:clamp(34px,4.2vw,56px);line-height:1.02;letter-spacing:-.05em;margin:14px 0 18px}
.company-line{font-size:20px;line-height:1.7;color:#39424e}
.contact-list{display:grid;gap:16px}
.contact-item{background:#fff;border:1px solid var(--line-strong);border-radius:24px;padding:22px;box-shadow:var(--shadow);font-size:18px;line-height:1.7}
.contact-item a:hover{text-decoration:underline}
.contact-item small{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-weight:800;margin-bottom:8px}

/* ---------- footer ---------- */
.footer{padding:34px 0 40px;background:#fff;border-top:1px solid var(--line)}
.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;flex-wrap:wrap}
.footer-brand{display:flex;align-items:flex-start;gap:18px}
.footer-brand img{height:46px;width:auto}
.footer-brand p,.footer-cols p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}
.footer-cols{display:flex;gap:38px;flex-wrap:wrap}
.footer-cols h4{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-2);margin:0 0 8px}
.footer-links a:hover,.footer-cols a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}

/* ---------- inner pages ---------- */
.page-hero{padding:74px 0 28px}
.page-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.05em;margin:18px 0 10px}
.page-hero p{font-size:19px;color:var(--muted);line-height:1.72;max-width:860px;margin:0}
.page-card{padding:0 0 74px}
.card-surface{background:#fff;border:1px solid var(--line-strong);border-radius:28px;box-shadow:var(--shadow);padding:32px}
.card-surface h2{font-size:32px;line-height:1.1;letter-spacing:-.03em;margin:30px 0 12px}
.card-surface h2:first-of-type{margin-top:22px}
.card-surface h3{font-size:24px;line-height:1.15;letter-spacing:-.02em;margin:24px 0 10px}
.card-surface p,.card-surface li{font-size:17px;line-height:1.8;color:#3f4854}
.card-surface ul{padding-left:22px;margin:8px 0 0}
.card-surface a{color:#0e4a9e;text-decoration:underline}
.notice{padding:18px 20px;border-radius:20px;background:var(--gold-soft);border:1px solid #ecd9a6;color:#5a4a24;line-height:1.72}
.updated{font-size:14px;color:var(--muted-2);margin:0 0 4px;letter-spacing:.02em}
.meta-block{display:grid;gap:10px;margin-top:16px}
.meta-block div{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--band);font-size:16px;color:#3f4854}

/* ---------- responsive ---------- */
@media (max-width:1120px){
  .hero-grid,.section-title-row,.contact-wrap{grid-template-columns:1fr}
  .feature-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}
  .how-grid{grid-template-columns:1fr}
  .teams-pricing{grid-template-columns:1fr}
  .teams-cta{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:20px}
}
@media (max-width:860px){
  .nav-links{display:none;position:absolute;top:74px;left:20px;right:20px;background:#fff;border:1px solid var(--line-strong);border-radius:24px;padding:18px;box-shadow:var(--shadow-lift);flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .mobile-toggle{display:inline-flex}
  .nav-actions .btn{display:none}
  .slider-content,.policy-grid{grid-template-columns:1fr}
  .pricing-grid,.feature-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .container{width:min(var(--max), calc(100% - 24px))}
  .hero{padding-top:34px}
  .hero-copy,.section-head p,.section-title-row p,.card-surface p,.card-surface li,.teams-intro p,.teams-cta p{font-size:16px}
  .hero h1,.section-head h2,.section-title-row h2,.contact-main h2{letter-spacing:-.04em}
  .price{font-size:46px}
  .price-card,.how-step,.policy-card,.feature-card,.card-surface{padding:22px}
  .teams-pricing{padding:22px}
  .teams-left{grid-template-columns:1fr}
  .footer-brand{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
