/* Gold glass homepage theme with straight edges. Keep content and interaction hooks in landing-v2.html. */
:root {
  --c-bg: #f7f4ed;
  --c-surface: #fffdf8;
  --c-surface2: #eee5d6;
  --c-cream: #f2ece1;
  --c-text: #30291f;
  --c-mid: #6a6053;
  --c-light: #776b5a;
  --c-line: rgba(138, 98, 46, .18);
  --c-sand: #eee4d3;
  --c-gold: #8a622e;
  --glass: linear-gradient(125deg, rgba(255,255,255,.72), rgba(255,250,237,.28) 48%, rgba(255,255,255,.46));
  --glass-edge: rgba(255, 255, 255, .88);
  --glass-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 1px 0 0 rgba(255,255,255,.7), inset -1px -1px 0 rgba(180,139,69,.18), 0 12px 36px -24px rgba(100,74,34,.3);
  --max: 1280px;
}
html { scroll-padding-top: 96px; }
body {
  background: radial-gradient(ellipse at 8% 5%, #f0e3be 0, transparent 24%),
    radial-gradient(ellipse at 96% 30%, #eee0c4 0, transparent 30%), #f7f4ed;
}
.container { width: min(var(--max), 100% - clamp(2rem, 7vw, 7rem)); }
.section { padding: clamp(4rem, 7vw, 7rem) 0; }
h2 { font-size: clamp(2.3rem, 4vw, 3.75rem); letter-spacing: -.035em; }
h3 { letter-spacing: -.02em; }
.eyebrow { font-size: .67rem; letter-spacing: .16em; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, textarea):focus-visible { outline: 3px solid #9a6f35; outline-offset: 5px; }
.btn, .nav__cta {
  border-radius: 0; min-height: 46px; justify-content: center;
  letter-spacing: .025em; text-transform: none; font-size: .85rem;
  transition: background .2s, color .2s, box-shadow .2s, transform .2s;
}
.btn { padding: .9rem 1.65rem; }
/* Gold glass actions: layered highlights with a restrained hover reflection. */
.btn, .nav__cta { position: relative; isolation: isolate; overflow: hidden; }
.btn--primary, .btn--gold, .nav__cta {
  background: linear-gradient(125deg, rgba(159,117,55,.96), rgba(112,76,29,.94) 52%, rgba(153,109,46,.96));
  border: 1px solid #b9955e; color: #fff;
  backdrop-filter: blur(12px) saturate(125%); -webkit-backdrop-filter: blur(12px) saturate(125%);
  box-shadow: inset 0 1px 0 rgba(255,240,201,.65), inset 1px 0 0 rgba(255,231,181,.3), inset 0 -1px 0 rgba(75,48,16,.35), 0 7px 18px -11px rgba(107,72,25,.65);
  text-shadow: 0 1px 2px rgba(58,35,9,.25);
}
.btn::before, .nav__cta::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(165deg, rgba(255,255,255,.2), transparent 46%);
}
.btn::after, .nav__cta::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(110deg, transparent 32%, rgba(255,244,216,.25) 50%, transparent 68%);
  transform: translateX(-115%); transition: transform .65s var(--ease);
}
.btn:hover::after, .nav__cta:hover::after, .btn:focus-visible::after, .nav__cta:focus-visible::after { transform: translateX(115%); }
.btn--primary:hover, .btn--gold:hover, .nav__cta:hover, .nav__links a.nav__cta:hover {
  background: linear-gradient(125deg, #93692f, #69471c 52%, #8a622e); color: #fff; transform: translateY(-1px);
  border-color: #ceab71;
}
.btn--outline {
  background: linear-gradient(125deg, rgba(255,255,255,.74), rgba(255,247,226,.32));
  border-color: rgba(172,135,76,.38); color: var(--c-text);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.7), 0 5px 16px -13px rgba(107,72,25,.35);
}
.btn--outline:hover { background: linear-gradient(125deg, rgba(255,255,255,.86), rgba(237,218,179,.55)); color: var(--c-text); }
/* Blur lives on a pseudo-element so the mobile drawer stays viewport-fixed. */
.nav, .nav.scrolled { top: 0; left: 0; right: 0; border: 0; background: transparent; }
.nav::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: 0;
  background: linear-gradient(110deg, rgba(255,253,248,.86), rgba(255,250,237,.67)); border: 0; border-bottom: 1px solid var(--c-line);
  backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: 0 6px 24px -18px rgba(100,74,34,.28);
}
.nav__inner { width: min(var(--max), 100% - clamp(2rem, 7vw, 7rem)); margin-inline: auto; padding: 0; height: 76px; gap: 1.4rem; }
.nav__links { gap: 1.35rem; align-items: center; }
.nav__links a, .nav__signin { font-size: .76rem; letter-spacing: 0; text-transform: none; }
.nav__logo-text { font-size: 1.25rem; letter-spacing: -.03em; }
.nav__logo-img { height: 35px; }
/* Language switcher: glass button and a frosted menu, same finish as the pills. */
.lang-drop__btn {
  min-height: 36px; border-radius: 0;
  background: linear-gradient(125deg, rgba(255,255,255,.82), rgba(255,250,237,.34) 55%, rgba(255,255,255,.6));
  border: 1px solid rgba(255,255,255,.95);
  backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.22), 0 6px 16px -12px rgba(107,72,25,.45);
}
.lang-drop__btn:hover, .lang-drop.open .lang-drop__btn {
  background: linear-gradient(125deg, rgba(255,255,255,.9), rgba(241,226,190,.5) 55%, rgba(255,255,255,.7));
  border-color: #e2c893; color: var(--c-text);
}
.lang-drop__menu {
  border-radius: 0; padding: 5px;
  background: linear-gradient(150deg, rgba(255,255,255,.88), rgba(255,250,237,.72) 55%, rgba(255,255,255,.84));
  border: 1px solid rgba(255,255,255,.95);
  backdrop-filter: blur(22px) saturate(130%); -webkit-backdrop-filter: blur(22px) saturate(130%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.2), 0 18px 40px -20px rgba(107,72,25,.5);
}
.lang-drop__item { min-height: 36px; border-radius: 0; border: 1px solid transparent; }
.lang-drop__item:hover {
  background: linear-gradient(125deg, rgba(255,255,255,.7), rgba(236,218,179,.6));
  border-color: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 #fff, inset -1px -1px 0 rgba(180,139,69,.18);
}
.hero {
  min-height: min(850px, 100svh); grid-template-columns: 1.1fr 1fr;
  padding: 145px max(24px, calc((100vw - 1280px) / 2)) 75px;
  gap: clamp(2rem, 5vw, 5rem); align-items: center; position: relative;
  background: radial-gradient(ellipse at 85% 55%, #eee3cb 0, transparent 42%),
    radial-gradient(ellipse at 30% 0%, #fcf6e7 0, transparent 55%);
}
.hero__left { padding: 0; border: 0; position: relative; z-index: 1; }
.hero__eyebrow { margin-bottom: 1.5rem; }
.hero__eyebrow .eyebrow { background: rgba(255,255,255,.55); padding: .55rem .9rem; border: 1px solid white; border-radius: 0; font-size: .59rem; }
.hero__title { font-size: clamp(3rem, 4.8vw, 4.55rem); letter-spacing: -.045em; line-height: 1.04; margin-bottom: 1.5rem; animation: heroFadeIn .7s var(--ease) both; }
.hero__title em { color: #9a6f35; }
.hero__subtitle { font-size: .95rem; line-height: 1.8; max-width: 51ch; margin-bottom: 1.8rem; }
.hero__trial-note { font-size: .73rem; max-width: 46ch; }
/* Clean ivory backdrop keeps the glass panel free of decorative light patterns. */
.hero__right { border: 0; background: transparent; padding: 2rem 0; min-width: 0; flex-direction: column; gap: 1.4rem; isolation: isolate; }
.hero__app-preview {
  max-width: 480px; position: relative; border-radius: 0; border: 1px solid rgba(255,255,255,.92);
  background: linear-gradient(120deg, rgba(255,255,255,.65), rgba(255,252,242,.38) 50%, rgba(255,255,255,.56));
  backdrop-filter: blur(22px) saturate(125%); -webkit-backdrop-filter: blur(22px) saturate(125%);
  box-shadow: var(--glass-shadow), 0 24px 50px -35px rgba(125,85,27,.35);
}
.hero__app-preview::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(100deg, transparent 5%, rgba(255,255,255,.98) 22%, transparent 45%) top / 100% 1px no-repeat,
    linear-gradient(100deg, transparent 48%, rgba(255,255,255,.9) 78%, transparent) bottom / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.95), transparent 45%, rgba(232,202,140,.55)) left / 1px 100% no-repeat;
}
.preview__bar { background: transparent; padding: 1.1rem 1.5rem; border-color: var(--c-line); }
.preview__dot { display: none; }
.preview__bar-title { margin: 0; color: var(--c-gold); font-size: .62rem; letter-spacing: .16em; }
.preview__body { padding: 1.5rem; gap: 0; }
.preview__horse { padding: 0 0 1.4rem; background: transparent; border: 0; gap: 1rem; }
.preview__horse-avatar { width: 52px; height: 58px; background: #f0e8d9; box-shadow: none; }
.preview__horse-avatar img { width: 34px; height: 34px; opacity: .7; }
.preview__horse-name { font-size: 1.3rem; letter-spacing: -.03em; margin-bottom: .15rem; }
.preview__horse-meta { font-size: .72rem; }
.preview__horse-badge { border: 0; background: transparent; padding: 0; color: #426343; font-size: .68rem; }
.preview__stats-row { gap: 0; padding: 1.1rem 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); margin-bottom: 1.25rem; }
.preview__stat2 { padding: 0 .8rem; background: transparent; border: 0; text-align: left; }
.preview__stat2:first-child { padding-left: 0; }
.preview__stat2 + .preview__stat2 { border-left: 1px solid var(--c-line); }
.preview__stat2 > i { font-size: .75rem; margin-bottom: .65rem; }
.preview__stat2-lbl { font-size: .56rem; letter-spacing: .07em; margin-bottom: .3rem; }
.preview__stat2-val { font-size: 1rem; }
.preview__alert { padding: .85rem 1rem; border: 0; border-left: 2px solid #bd853d; background: rgba(192,143,62,.08); gap: .7rem; }
.preview__alert > i, .preview__alert-label, .preview__alert-score { color: #94601e; }
.preview__alert-desc { line-height: 1.6; }
.preview__alert-score { font-size: .85rem; }
.preview__ai { padding: 1.25rem 0; border: 0; border-bottom: 1px solid var(--c-line); background: transparent; }
.preview__ai-label { font-size: .8rem; margin-bottom: .15rem; }
.preview__ai-badge { border: 0; padding: .2rem .5rem; background: #eee5d3; }
.preview__chips { padding-top: 1rem; gap: .45rem 1rem; }
.preview__chip { border: 0; background: transparent; padding: 0; font-size: .55rem; letter-spacing: .025em; line-height: 1.8; }
.preview__chip i { color: var(--c-gold); }
.hero__right-tag { position: static; writing-mode: horizontal-tb; transform: none; text-align: center; font-size: .53rem; letter-spacing: .12em; }
.strip { background: rgba(255,255,255,.48); padding: 1.2rem 0; }
.strip__item { font-size: .62rem; letter-spacing: .1em; }
.platform, .modules, .ai-section, .stable-section, .roles-section, .languages-section, .pricing-section, .contact-section, .app-section { background: transparent; border: 0; }
.platform__grid { grid-template-columns: 320px 1fr; gap: clamp(3rem, 7vw, 7rem); }
.platform__left { border: 1px solid var(--glass-edge); border-radius: 0; padding: 1.75rem; background: var(--glass); box-shadow: var(--glass-shadow); }
.stats { border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.stat { padding: .75rem 0; border: 0; }
.stat__num { font-size: 2.5rem; }
.stat__lbl { font-size: .58rem; letter-spacing: .07em; }
.platform__right, .ai-section__text, .stable-section__text { border-top: 0; }
.section-num { font-family: var(--font-sans); font-size: .72rem; font-weight: 500; color: var(--c-gold); margin-bottom: 1rem; border: 1px solid var(--c-line); border-radius: 0; width: 38px; height: 38px; display: grid; place-items: center; background: rgba(255,255,255,.6); }
.modules__hd, .roles__hd, .pricing__hd, .contact__hd { border: 0; padding-top: 0; }
.modules__hd > div, .roles__hd > div { border: 0; padding: 0; }
.modules__hd h2 { max-width: 18ch; }
.modules__grid, .roles__grid { gap: 1rem; border: 0; }
.mod-card, .role-card, .price-card, .ai-card, .stable-card, .contact__form-col {
  border: 1px solid var(--glass-edge); background: var(--glass); border-radius: 0;
  box-shadow: var(--glass-shadow); backdrop-filter: blur(18px) saturate(120%); -webkit-backdrop-filter: blur(18px) saturate(120%);
}
.mod-card { padding: 2rem; display: flex; flex-direction: column; position: relative; transition: background .25s, border-color .25s, box-shadow .25s; }
.mod-card:hover, .role-card:hover { background: rgba(255,255,255,.9); border-color: #d6bc89; box-shadow: 0 22px 48px -28px #94723f; }
.mod-card__num { position: absolute; right: 1.5rem; top: 1.7rem; font-family: var(--font-sans); font-size: .67rem; }
.mod-card__icon { width: 48px; height: 48px; display: grid; place-items: center; font-size: 1.2rem; color: #8a622e; background: #f1e7d2; border: 1px solid #fffaf0; border-radius: 0; margin-bottom: 1.5rem; }
.mod-card h3 { font-size: 1.8rem; }
.mod-card > p { font-size: .85rem; }
.mod-card__list { margin-bottom: 1.5rem; }
.mod-card__list li::before { color: #a78348; }
.mod-card__arrow { margin-top: auto; padding-top: .8rem; font-size: .66rem; }
.ai-section__grid, .stable-section__grid, .contact__body { gap: clamp(2rem, 6vw, 6rem); }
/* 03 and 04 share one transparent backdrop, so their paddings must not stack into a blank band. */
.ai-section + .stable-section { padding-top: 0; }
.ai-card, .stable-card { padding: clamp(1.2rem, 3vw, 2rem); }
.ai-card__row, .ai-card__risk, .stable-card__member, .feat-item { border-radius: 0; }
.ai-card__row, .stable-card__member { background: rgba(255,255,255,.5); }
.ai-card__badge, .stable-card__icon, .role-card__icon { border-radius: 0; }
.ai-card__risk-score, .ai-card__foot-badge, .stable-card__member-role { border-radius: 0; }
.ai-card__type--cond, .ai-card__type--long, .ai-card__type--intv { color: #7752a5; }
.ai-card__type--race { color: #a34c18; }
.role--owner { color: #80539e; } .role--write { color: #226c97; } .role--read { color: #267568; }
.role-card { padding: 1.7rem; }
.role-card__name { text-transform: none; letter-spacing: 0; font-size: .95rem; }
.quote-section { margin: 2rem auto; width: min(1344px, 100% - 2rem); border-radius: 0; border: 1px solid #675338; padding: clamp(4rem, 7vw, 7rem) 1rem; background: radial-gradient(ellipse at 90% 10%, #76603d, transparent 60%), #342b1f; }
.quote-section blockquote em { color: #d8ba7f; }
.quote-section cite { color: #d1c4ae; letter-spacing: .12em; }
.languages-section, .app-section { padding: 4rem 0; }
/* Soft gold wash behind the language row, the hero's colours, so the glass pills have light to blur. */
.languages-section { overflow: hidden; }
.languages__flags { position: relative; isolation: isolate; }
.languages__flags::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  inset: -3.5rem -6%;
  background:
    radial-gradient(ellipse 38% 70% at 22% 50%, rgba(234,211,158,.55), transparent 70%),
    radial-gradient(ellipse 34% 75% at 55% 45%, rgba(240,227,190,.8), transparent 70%),
    radial-gradient(ellipse 36% 70% at 82% 55%, rgba(230,205,150,.5), transparent 70%);
  filter: blur(18px);
}
.lang-pill {
  position: relative; isolation: isolate; overflow: hidden; border-radius: 0; padding: .75rem 1.3rem;
  background: linear-gradient(125deg, rgba(255,255,255,.82), rgba(255,250,237,.34) 55%, rgba(255,255,255,.6));
  border: 1px solid rgba(255,255,255,.95);
  backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.22), 0 10px 26px -18px rgba(107,72,25,.45);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.lang-pill::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(110deg, transparent 32%, rgba(255,255,255,.7) 50%, transparent 68%);
  transform: translateX(-115%); transition: transform .65s var(--ease);
}
.lang-pill:hover { border-color: #e2c893; box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.3), 0 14px 30px -18px rgba(107,72,25,.55); }
.lang-pill:hover::after { transform: translateX(115%); }
.pricing__grid { margin-top: 1rem; }
.price-card { padding: 2.3rem; }
.price-card--pop { background: linear-gradient(145deg, rgba(244,231,198,.9), rgba(255,255,255,.75)); border: 1px solid #c9a96e; }
.price-card__badge { top: 1rem; right: 1rem; border-radius: 0; letter-spacing: .03em; font-size: .6rem; }
.price-card__plan { margin-top: 1rem; }
.price-card__price { font-size: 4rem; letter-spacing: -.04em; font-variant-numeric: lining-nums; }
/* The tight tracking is for the big numeral only: inherited, it is a fixed -2.56px that crushes the small period. */
.price-card__price sup, .price-card__price sub { letter-spacing: 0; }
.price-card__price sup { margin-right: .1rem; }
.price-card__price sub { vertical-align: baseline; margin-left: .45rem; font-size: .85rem; font-weight: 400; }
.contact__body { padding-top: 0; }
/* Contact rows: same glass as the language pills. */
.contact__item {
  position: relative; isolation: isolate; overflow: hidden; border-radius: 0; overflow-wrap: anywhere;
  background: linear-gradient(125deg, rgba(255,255,255,.82), rgba(255,250,237,.34) 55%, rgba(255,255,255,.6));
  border: 1px solid rgba(255,255,255,.95);
  backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.22), 0 10px 26px -18px rgba(107,72,25,.45);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.contact__item::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(110deg, transparent 32%, rgba(255,255,255,.7) 50%, transparent 68%);
  transform: translateX(-115%); transition: transform .65s var(--ease);
}
.contact__item:hover { border-color: #e2c893; transform: translateY(-2px); box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.3), 0 14px 30px -18px rgba(107,72,25,.55); }
.contact__item:hover::after { transform: translateX(115%); }
.contact__form-col { padding: clamp(1.2rem, 3vw, 2.5rem); }
.form-control { border-radius: 0; background: rgba(255,255,255,.62); min-height: 48px; }
.app-badge { background: var(--glass); border-radius: 0; opacity: 1; }
.app-badge__soon { color: #8a622e; }
.cta-section { padding: clamp(4rem, 7vw, 7rem) 0; border: 0; background: radial-gradient(ellipse at 50% 100%, #eee0bd, transparent 70%); }
.cta-section__inner { background: rgba(255,255,255,.48); border: 1px solid white; border-radius: 0; padding: clamp(2rem, 5vw, 5rem) 1.5rem; }
.footer { background: #30291f; border: 0; border-radius: 0; }
.footer__brand p, .footer__col a, .footer__bottom span, .footer__col h4 { color: #d4c7b3; }
.footer__inner { border-color: rgba(255,255,255,.15); }
.feat-modal { border-radius: 0; background: rgba(255,252,245,.96); box-shadow: 0 32px 100px #38290e40; }
.feat-modal__close { min-width: 44px; min-height: 44px; border-radius: 0; background: #f1e7d5; }
/* Content remains visible if observers or motion are unavailable. */
[data-reveal-up], [data-reveal-left], [data-reveal-right], .stat[data-reveal-up], .title-reveal > h2 { opacity: 1; transform: none; }
.title-reveal__bar { display: none; }
.title-reveal > h2.animate { animation: none; }
/* The herd canvas sits between the hero's background and its content; landing-motion.js tints it with this colour. */
.hero { isolation: isolate; }
.hero__left, .hero__right { position: relative; z-index: 1; }
.hero__gallop { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; color: #3b2a14; }
@media (max-width: 1150px) {
  .nav__inner { gap: 1rem; }
  .nav__links { gap: 1rem; }
  .nav__logo-text { font-size: 1.05rem; }
  .nav__cta { padding-inline: 1rem; }
  .hero { padding-inline: 3rem; }
  .platform__grid { grid-template-columns: 270px 1fr; }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .nav__logo-text { display: none; }
}
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding: 135px 2rem 65px; gap: 2rem; }
  .hero__left { max-width: 650px; margin-inline: auto; text-align: center; }
  .hero__eyebrow, .hero__cta { justify-content: center; }
  .hero__title { font-size: clamp(2.9rem, 7vw, 4.5rem); }
  .hero__subtitle, .hero__trial-note { margin-inline: auto; }
  .hero__right { min-height: 0; width: min(460px, 100%); margin-inline: auto; padding: 2rem 0; }
  .platform__grid { grid-template-columns: 1fr; gap: 2rem; }
  .stats { grid-template-columns: repeat(4, 1fr); }
  .pricing__grid { max-width: none; }
  .price-card { padding: 2rem; }
  .ai-section__grid, .stable-section__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .nav, .nav.scrolled { top: 0; left: 0; right: 0; }
  .nav__inner { height: 64px; }
  .nav__logo-text { font-size: 1.12rem; }
  .nav__links { align-items: stretch; width: min(340px, 90vw); padding: 2rem; background: rgba(255,252,245,.98); }
  .nav__links a { padding: .55rem 0; }
  .nav__links .nav__cta { padding: .85rem 1rem; }
  .nav__burger { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; }
  .nav__close { top: 1rem; }
  .hero { padding-inline: 1.25rem; }
  .hero__cta { flex-direction: row; align-items: center; gap: .65rem; }
  .hero__cta .btn { padding: .85rem 1.25rem; }
  .hero__eyebrow .eyebrow { font-size: .52rem; letter-spacing: .08em; }
  .modules__grid, .roles__grid { gap: 1rem; }
  .modules__hd { gap: 1rem; }
  .mod-card { padding: 1.75rem; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .roles__hd p { max-width: none; }
  .feat-overlay { padding: .75rem; }
}
@media (max-width: 380px) {
  .hero__title { font-size: 2.55rem; }
  .preview__body { padding: 1rem; }
  .preview__horse { padding: 0 0 1rem; gap: .65rem; }
  .preview__horse-meta { font-size: .6rem; }
  .hero__cta .btn { width: 100%; }
  .ai-card__risk { flex-wrap: wrap; }
  .ai-card__foot { flex-wrap: wrap; gap: .5rem; }
}
/* Glass chips: small labels, numbers and icon tiles share the panels' frosted
   ivory glass. Tinted badges keep their own colour and get the gloss on top. */
.hero__eyebrow .eyebrow, .section-num, .app-badge {
  background: linear-gradient(125deg, rgba(255,255,255,.8), rgba(255,250,237,.32) 55%, rgba(255,255,255,.58));
  border: 1px solid rgba(255,255,255,.92);
  backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.75), inset -1px -1px 0 rgba(180,139,69,.22), 0 8px 22px -16px rgba(107,72,25,.4);
}
.mod-card__icon {
  background: linear-gradient(125deg, rgba(255,255,255,.72), rgba(241,231,210,.55) 55%, rgba(234,218,184,.72));
  border: 1px solid rgba(255,255,255,.92);
  backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%);
  box-shadow: inset 0 1px 0 #fff, inset 1px 0 0 rgba(255,255,255,.7), inset -1px -1px 0 rgba(180,139,69,.25), 0 8px 20px -15px rgba(107,72,25,.4);
}
.preview__ai-badge, .ai-card__badge, .ai-card__foot-badge, .stable-card__icon, .role-card__icon, .stable-card__member-role {
  background-image: linear-gradient(160deg, rgba(255,255,255,.6), rgba(255,255,255,.12) 55%, rgba(255,255,255,.3));
  backdrop-filter: blur(10px) saturate(125%); -webkit-backdrop-filter: blur(10px) saturate(125%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 1px 0 0 rgba(255,255,255,.5), 0 6px 16px -13px rgba(107,72,25,.4);
}
.ai-card__row, .stable-card__member {
  background: linear-gradient(125deg, rgba(255,255,255,.72), rgba(255,250,237,.3) 55%, rgba(255,255,255,.5));
  border-color: rgba(255,255,255,.9);
  backdrop-filter: blur(10px) saturate(120%); -webkit-backdrop-filter: blur(10px) saturate(120%);
  box-shadow: inset 0 1px 0 #fff, inset -1px -1px 0 rgba(180,139,69,.14);
}
.ai-card__risk, .ai-card__risk-score {
  background-image: linear-gradient(160deg, rgba(255,255,255,.5), rgba(255,255,255,.08) 55%, rgba(255,255,255,.25));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 1px 0 0 rgba(255,255,255,.4);
}
.price-card__badge {
  background: linear-gradient(125deg, rgba(159,117,55,.96), rgba(112,76,29,.94) 52%, rgba(153,109,46,.96));
  box-shadow: inset 0 1px 0 rgba(255,240,201,.6), inset 0 -1px 0 rgba(75,48,16,.35), 0 6px 16px -10px rgba(107,72,25,.6);
  text-shadow: 0 1px 2px rgba(58,35,9,.25);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .hero__app-preview, .mod-card, .role-card, .price-card, .ai-card, .stable-card, .contact__form-col { background: #fcf8f0; }
  .nav::before { background: #fcf8f0; }
  .hero__eyebrow .eyebrow, .section-num, .app-badge { background: #fffdf8; }
  .mod-card__icon { background: #f1e7d2; }
  .lang-pill, .contact__item { background: #fffdf8; }
  .lang-drop__btn, .lang-drop__menu { background: #fffdf8; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Keep every visible component square, including shapes from the base theme. */
.hero__app-preview *, .ai-card *, .stable-card *, .role-card *,
.lang-drop *, .lang-pill img, .app-badge, .feat-modal * { border-radius: 0; }
