/* Marketing UI kit — Asteric
   All variables come from ../../colors_and_type.css */

* { box-sizing: border-box; }
body { margin: 0; }

.btn{font-family:var(--font-body);font-weight:600;font-size:14px;padding:11px 20px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--asteric-blue);color:#fff}
.btn-primary:hover{background:var(--blue-600);color:#fff}
.btn-secondary{background:#fff;color:var(--asteric-navy);border-color:var(--border-default)}
.btn-secondary:hover{background:var(--bg-subtle);color:var(--asteric-navy);border-color:var(--border-strong)}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn-ghost-light:hover{background:rgba(255,255,255,.08);color:#fff}
.btn-sm{padding:8px 14px;font-size:13px}
.btn-lg{padding:14px 24px;font-size:15px}
.arr{font-size:18px;line-height:1}

/* ---------- Nav ---------- */
.ast-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}
.ast-nav__inner{max-width:1200px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ast-nav__logo img{height:28px;display:block}
.ast-nav__links{display:flex;gap:28px}
.ast-nav__links a{font-size:14px;font-weight:600;color:var(--asteric-navy);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
.ast-nav__links a:hover{color:var(--asteric-blue)}

/* ---------- Hero ---------- */
.ast-hero{padding:96px 32px 80px;background:#fff}
.ast-hero__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.3fr .9fr;gap:64px;align-items:center}
.ast-hero__copy .t-eyebrow{margin-bottom:20px}
.ast-hero__h{font-family:var(--font-display);font-weight:300;font-size:64px;line-height:1.05;letter-spacing:-0.02em;color:var(--asteric-navy);margin:0 0 20px}
.ast-hero__sub{font-family:var(--font-body);font-size:19px;line-height:1.55;color:var(--fg-secondary);max-width:560px;margin:0 0 32px}
.ast-hero__ctas{display:flex;gap:14px;flex-wrap:wrap}
.ast-hero__art{display:flex;align-items:center;justify-content:center;opacity:.9}
.ast-hero__art img{max-width:100%;height:auto;max-height:340px}

/* ---------- Sections ---------- */
.ast-section{padding:96px 32px;background:#fff}
.ast-section--subtle{background:var(--bg-subtle)}
.ast-section__inner{max-width:1200px;margin:0 auto}
.ast-section__head{margin-bottom:48px;display:flex;flex-direction:column;gap:8px}
.ast-h2{font-family:var(--font-display);font-weight:400;font-size:42px;line-height:1.15;letter-spacing:-0.015em;color:var(--asteric-navy);margin:0;max-width:720px}

/* ---------- Services ---------- */
.ast-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ast-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px 26px;display:flex;flex-direction:column;gap:10px;transition:all var(--dur-base) var(--ease-out)}
.ast-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-default)}
.ast-card__h{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-0.01em;color:var(--asteric-navy);margin:6px 0 4px}
.ast-card__p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--fg-secondary);margin:0 0 8px;flex:1}
.ast-card__lk{margin-top:auto;font-size:14px;font-weight:700;color:var(--asteric-blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.ast-card__lk:hover{color:var(--blue-700)}

/* ---------- Process ---------- */
.ast-process{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ast-process li{display:grid;grid-template-columns:120px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--border-default);align-items:start}
.ast-process li:first-child{border-top:0}
.ast-process__n{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--asteric-blue);letter-spacing:.05em}
.ast-process__t{font-family:var(--font-display);font-weight:500;font-size:30px;color:var(--asteric-navy);margin:0 0 10px;letter-spacing:-0.01em}
.ast-process__b{font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--fg-secondary);margin:0;max-width:680px}

/* ---------- Quote ---------- */
.ast-quote{padding:96px 32px;background:var(--bg-subtle)}
.ast-quote blockquote{margin:0;max-width:900px}
.ast-quote p{font-family:var(--font-display);font-weight:300;font-size:36px;line-height:1.3;letter-spacing:-0.015em;color:var(--asteric-navy);margin:0 0 24px}
.ast-quote footer{font-size:14px;color:var(--fg-secondary)}
.ast-quote footer strong{color:var(--asteric-navy);font-weight:700}

/* ---------- Case list ---------- */
.ast-cases{list-style:none;padding:0;margin:0}
.ast-cases li{display:grid;grid-template-columns:80px 1.4fr 2fr 100px 24px;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--border-default);transition:all var(--dur-fast) var(--ease-out);cursor:pointer}
.ast-cases li:hover{padding-left:8px;color:var(--asteric-blue)}
.ast-cases__y{font-family:var(--font-mono);font-size:13px;color:var(--fg-tertiary)}
.ast-cases__c{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--asteric-navy)}
.ast-cases__w{font-family:var(--font-body);font-size:15px;color:var(--fg-secondary)}
.ast-cases__tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:4px 10px;border-radius:var(--radius-pill);justify-self:start}
.tag-ai{background:var(--info-bg);color:var(--blue-700)}
.tag-ops{background:#f0e8f5;color:var(--asteric-purple)}
.tag-data{background:var(--success-bg);color:var(--success)}
.ast-cases__arr{font-size:20px;color:var(--fg-tertiary);justify-self:end;transition:transform var(--dur-fast) var(--ease-out)}
.ast-cases li:hover .ast-cases__arr{transform:translateX(4px);color:var(--asteric-blue)}

/* ---------- CTA ---------- */
.ast-cta{position:relative;padding:96px 32px;background:var(--asteric-navy);color:#fff;overflow:hidden}
.ast-cta__bg{position:absolute;right:-80px;top:50%;transform:translateY(-50%);opacity:.10;pointer-events:none}
.ast-cta__bg img{width:560px;max-width:none;height:auto}
.ast-cta__inner{position:relative;display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:center}
.ast-cta__h{font-family:var(--font-display);font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-0.015em;color:#fff;margin:14px 0 16px;max-width:680px}
.ast-cta__p{font-family:var(--font-body);font-size:18px;line-height:1.55;color:var(--navy-200);margin:0;max-width:560px}
.ast-cta__actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* ---------- Footer ---------- */
.ast-footer{background:var(--navy-950);color:var(--navy-200);padding:64px 32px 24px}
.ast-footer__inner{display:grid;grid-template-columns:1.2fr 2fr;gap:48px;align-items:start}
.ast-footer__brand img{height:36px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:16px}
.ast-footer__brand p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--navy-300);margin:0;max-width:340px}
.ast-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ast-footer__cols h4{font-family:var(--font-body);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--asteric-blue);margin:0 0 14px}
.ast-footer__cols a{display:block;font-size:14px;color:var(--navy-200);text-decoration:none;padding:5px 0;transition:color var(--dur-fast) var(--ease-out)}
.ast-footer__cols a:hover{color:#fff}
.ast-footer__base{max-width:1200px;margin:48px auto 0;padding-top:20px;border-top:1px solid var(--navy-800);display:flex;justify-content:space-between;font-size:12px;color:var(--navy-400)}

/* Reverse logo for footer (since we're using filter: invert) */


/* Active nav link */
.ast-nav__links a.is-active{color:var(--asteric-blue)}

/* Page hero */
.ast-page-hero{padding:96px 32px 56px;background:#fff;border-bottom:1px solid var(--border-subtle)}
.ast-page-hero__h{font-family:var(--font-display);font-weight:300;font-size:56px;line-height:1.08;letter-spacing:-0.02em;color:var(--asteric-navy);margin:18px 0 20px;max-width:920px}
.ast-page-hero__sub{font-family:var(--font-body);font-size:19px;line-height:1.55;color:var(--fg-secondary);max-width:740px;margin:0 0 32px}

/* Practices on services page */
.ast-practice{padding:88px 32px;background:#fff}
.ast-practice--alt{background:var(--bg-subtle)}
.ast-practice__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ast-practice__h{font-family:var(--font-display);font-weight:400;font-size:42px;line-height:1.12;letter-spacing:-0.015em;color:var(--asteric-navy);margin:14px 0 18px}
.ast-practice__lede{font-family:var(--font-body);font-size:18px;line-height:1.6;color:var(--fg-secondary);margin:0 0 28px;max-width:520px}
.ast-practice__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;border-left:1px solid var(--border-default);padding-left:32px}
.ast-practice__list li{display:grid;grid-template-columns:24px 1fr;gap:14px;font-size:17px;line-height:1.55;color:var(--asteric-navy)}
.ast-practice__tick{color:var(--asteric-blue);font-weight:700}

/* Principles on company page */
.ast-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px}
.ast-principle{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px 28px}
.ast-principle__n{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--asteric-blue);letter-spacing:.12em;margin-bottom:14px}
.ast-principle__t{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-0.01em;color:var(--asteric-navy);margin:0 0 10px}
.ast-principle__b{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--fg-secondary);margin:0}

/* Facts */
.ast-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px}
.ast-fact{padding:24px 4px;border-top:2px solid var(--asteric-blue)}
.ast-fact__n{font-family:var(--font-display);font-weight:300;font-size:64px;line-height:1;letter-spacing:-0.03em;color:var(--asteric-navy)}
.ast-fact__l{margin-top:10px;font-size:14px;color:var(--fg-secondary);line-height:1.5}

/* Sector list (company) */
.ast-two-col{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.ast-sector-list{display:grid;grid-template-columns:1fr 1fr;gap:0}
.ast-sector-list__item{padding:18px 0;border-top:1px solid var(--border-default);font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--asteric-navy)}

/* Contact */
.ast-page-hero--contact{background:var(--asteric-navy)}
.ast-page-hero--contact .t-eyebrow{color:var(--blue-300)}
.ast-page-hero--contact .ast-page-hero__h{color:#fff}
.ast-page-hero--contact .ast-page-hero__sub{color:var(--navy-200)}

.ast-contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.ast-contact-form{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:40px 36px}
.ast-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ast-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ast-field span{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--asteric-navy);letter-spacing:.02em}
.ast-field input,.ast-field select,.ast-field textarea{font-family:var(--font-body);font-size:15px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;color:var(--asteric-navy);outline:none;transition:border-color var(--dur-fast) var(--ease-out)}
.ast-field input:focus,.ast-field select:focus,.ast-field textarea:focus{border-color:var(--asteric-blue);box-shadow:0 0 0 3px var(--blue-100)}
.ast-field textarea{resize:vertical;min-height:120px;font-family:var(--font-body)}
.ast-form-note{font-size:12px;color:var(--fg-tertiary);margin:14px 0 0;line-height:1.5}
.ast-contact-thanks{padding:24px 0}
.ast-contact-thanks p{font-size:16px;line-height:1.6;color:var(--fg-secondary);margin:16px 0 24px;max-width:480px}

.ast-contact-aside{display:flex;flex-direction:column;gap:16px}
.ast-contact-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px 24px}
.ast-contact-card__h{font-family:var(--font-body);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-tertiary);margin:8px 0 8px}
.ast-contact-card__big{font-family:var(--font-display);font-weight:400;font-size:28px;letter-spacing:-0.01em;color:var(--asteric-navy);text-decoration:none;display:block}
.ast-contact-card__big:hover{color:var(--asteric-blue)}
.ast-contact-card__note{font-size:13px;color:var(--fg-secondary);line-height:1.5;margin:6px 0 0}
.ast-contact-card__addr{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1.5;color:var(--asteric-navy);margin:0}

/* Cta phone link */
.ast-cta__phone{display:flex;align-items:center;gap:10px;color:var(--navy-200);font-size:14px}
.ast-cta__phone span{color:var(--navy-300)}
.ast-cta__phone a{color:#fff;font-family:var(--font-display);font-size:20px;font-weight:500;text-decoration:none;letter-spacing:-0.01em}
.ast-cta__phone a:hover{color:var(--blue-300)}
