/* TheDriveBooker public marketing design. Intentionally scoped to marketing surfaces. */
.marketing-body {
  --mkt-ink: #0f1b2d;
  --mkt-muted: #667079;
  --mkt-gold: #aa8445;
  --mkt-warm: #faf9f6;
  --mkt-paper: #ffffff;
  --mkt-line: #e9e7e1;
  --mkt-radius: 18px;
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  font-family: "Google Sans Flex";
  color: var(--mkt-ink);
  background: var(--mkt-warm);
  -webkit-font-smoothing: antialiased;
}
.marketing-body h1, .marketing-body h2, .marketing-body h3, .marketing-body p { overflow-wrap: break-word; }
.marketing-body :focus-visible { outline: 3px solid rgba(170,132,69,.55); outline-offset: 3px; }
.marketing-body .container { width: min(100% - 48px, 1110px); max-width: none; margin-inline: auto; }
.marketing-body a { text-underline-offset: .2em; }
.marketing-body .button { min-height: 44px; gap: .7rem; padding: .75rem 1.22rem; border-radius: 10px; background: var(--mkt-ink); border-color: var(--mkt-ink); color: white; font-size: .94rem; font-weight: 650; box-shadow: 0 4px 8px rgba(15,27,45,.08); transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.marketing-body .button:hover { background: #16253c; border-color: #16253c; color: #fff; transform: translateY(-1px); }
.marketing-body .button--secondary { background: #fff; color: var(--mkt-ink); border-color: #dededb; box-shadow: none; }
.marketing-body .button--secondary:hover { color: var(--mkt-ink); background: #f3f2ef; border-color: #c4c4c1; }

/* Site-wide marketing chrome */
.mkt-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(15,27,45,.07); background: rgba(255,255,255,.93); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.mkt-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 72px; }
.mkt-brand { color: var(--mkt-ink); font-size: 1.26rem; font-weight: 800; letter-spacing: -.052em; text-decoration: none; white-space: nowrap; }
.mkt-brand:hover, .mkt-brand:focus-visible { color: var(--mkt-gold); }
.mkt-nav { display: flex; align-items: center; gap: clamp(.65rem, 1.9vw, 1.65rem); }
.mkt-nav a:not(.button) { display: inline-flex; align-items: center; min-height: 42px; text-decoration: none; color: #525b65; font-size: .84rem; font-weight: 580; white-space: nowrap; transition: color .16s ease; }
.mkt-nav a:not(.button):hover, .mkt-nav a[aria-current="page"] { color: var(--mkt-ink); }
.mkt-nav__signin { margin-left: .5rem; }
.mkt-nav .button { font-size: .83rem; min-height: 42px; padding: .6rem .9rem; }
.mkt-mobile-menu { display: none; }

/* Shared editorial language */
.mkt-kicker, .mkt-overline { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.1rem; font-size: .73rem; font-weight: 800; letter-spacing: .14em; color: #80582b; text-transform: uppercase; }
.mkt-kicker__dot { width: 9px; height: 9px; border-radius: 50%; background: #b28d54; box-shadow: 0 0 0 5px rgba(178,141,84,.12); }
.marketing-body h1, .marketing-body h2, .marketing-body h3 { font-weight: 760; letter-spacing: -.045em; color: var(--mkt-ink); }
.marketing-body h1 em, .marketing-body h2 em { color: var(--mkt-gold); font-style: italic; font-weight: 500; }
.mkt-section { padding-block: clamp(4.5rem, 7.5vw, 7rem); }
.mkt-section--surface { background: #fff; border-block: 1px solid #f0efeb; }
.mkt-section__header { max-width: 690px; margin-bottom: 2.3rem; }
.mkt-section__header--center { margin-inline: auto; text-align: center; }
.mkt-section__header--center .mkt-overline { justify-content: center; }
.mkt-section__header h1, .mkt-section__header h2, .mkt-split__copy h2 { margin: 0 0 1rem; line-height: 1.12; }
.mkt-section h1 { font-size: clamp(2.7rem, 5vw, 4.35rem); }
.mkt-section h2 { font-size: clamp(2rem, 3.9vw, 3.25rem); }
.mkt-section h3 { font-size: 1.22rem; margin: 0 0 .75rem; }
.mkt-section__lead, .mkt-prose { max-width: 610px; margin: 0; color: var(--mkt-muted); font-size: 1.02rem; line-height: 1.75; }
.mkt-section__header--center .mkt-section__lead { margin-inline: auto; }
.mkt-prose + .mkt-prose { margin-top: 1rem; }
.mkt-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; align-items: center; }
.mkt-cta--center { justify-content: center; }
.mkt-grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.mkt-card { min-width: 0; padding: clamp(1.35rem, 2.3vw, 2rem); border: 1px solid var(--mkt-line); border-radius: var(--mkt-radius); background: var(--mkt-paper); box-shadow: 0 7px 26px rgba(15,27,45,.035), 0 1px 2px rgba(15,27,45,.025); }
.mkt-card p { margin: 0; color: var(--mkt-muted); line-height: 1.65; }
.mkt-link-row { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin-top: 1.7rem; }
.mkt-link-row--center { justify-content: center; margin-top: 2rem; }
.mkt-text-link { font-size: .94rem; font-weight: 650; color: var(--mkt-ink); text-decoration: underline; text-decoration-color: #b9b3a5; }
.mkt-text-link:hover { text-decoration-color: var(--mkt-ink); }

/* Home hero: editorial headline and illustrative product dashboard */
.mkt-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5.5rem, 8vw, 8.5rem) 0 3.3rem; background: radial-gradient(ellipse 60% 39% at 50% 1%,rgba(170,132,69,.09),transparent 85%),#faf9f6; }
.mkt-hero::before { content:""; position: absolute; z-index:-1; inset:0 0 22%; opacity:.36; background-image:radial-gradient(#b1a99a .8px,transparent .8px); background-size:22px 22px; mask-image:linear-gradient(to bottom,transparent 0%,black 24%,transparent 100%); pointer-events:none; }
.mkt-hero__inner { position: relative; }
.mkt-hero__copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
.mkt-hero h1 { margin:0; max-width: 880px; font-size:clamp(3.55rem,7.4vw,6.4rem); line-height:.99; letter-spacing:-.068em; }
.mkt-hero__lead { max-width: 645px; margin: 1.65rem auto 0; color:var(--mkt-muted); font-size:clamp(1rem,1.65vw,1.17rem); line-height:1.75; }
.mkt-hero__fineprint { margin: 1.05rem 0 0; color:#606b75; font-size:.82rem; }
.mkt-hero__fineprint span { padding:0 .35rem; color:#a6a59f; }
.mkt-product-demo { max-width: 855px; margin: 4.3rem auto 0; background:#fff; border:1px solid #e5e5e0; border-radius:20px; box-shadow:0 34px 85px rgba(15,27,45,.12),0 4px 14px rgba(15,27,45,.04); overflow:hidden; transform:perspective(1600px) rotateX(1deg); }
.mkt-product-demo__topbar { min-height:46px; padding:0 1.15rem; display:flex; align-items:center; gap:.95rem; border-bottom:1px solid #ebeae7; background:#fbfbfa; color:#7d8288; font-size:.71rem; }
.mkt-window-dots { display:inline-flex; gap:5px; }
.mkt-window-dots i { width:8px; height:8px; background:#e5c6bb; border-radius:50%; }
.mkt-window-dots i:nth-child(2) { background:#e9d49b; }
.mkt-window-dots i:nth-child(3) { background:#b8d6c0; }
.mkt-product-demo__address { margin-inline:auto; padding:.26rem .7rem; border-radius:6px; background:#f1f1ef; white-space:nowrap; }
.mkt-product-demo__sample { font-weight:700; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.mkt-product-demo__body { padding:clamp(1.2rem,3vw,2.4rem); }
.mkt-product-demo__heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.mkt-product-demo__eyebrow { font-size:.67rem; color:#987c56; letter-spacing:.1em; font-weight:750; }
.mkt-product-demo h2 { margin:.3rem 0 0; font-size:clamp(1.25rem,2vw,1.7rem); letter-spacing:-.04em; }
.mkt-product-demo__live { display:inline-flex; align-items:center; gap:.4rem; color:#27644a; font-size:.77rem; font-weight:700; white-space:nowrap; }
.mkt-product-demo__live span { width:7px; height:7px; background:#38a06b; border-radius:50%; }
.mkt-product-demo__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; }
.mkt-demo-panel { position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:1.2rem; min-height:206px; border:1px solid #e7e7e4; border-radius:13px; background:#fcfcfb; }
.mkt-demo-panel__label { margin-bottom:1.4rem; color:#8a7771; font-size:.67rem; font-weight:760; letter-spacing:.08em; }
.mkt-demo-panel strong { font-size:1.06rem; letter-spacing:-.02em; }
.mkt-demo-panel p { margin:.55rem 0 1rem; color:#677077; font-size:.81rem; line-height:1.55; }
.mkt-demo-pill { margin-top:auto; border-radius:7px; padding:.36rem .62rem; font-size:.72rem; font-weight:700; }
.mkt-demo-pill--gold { background:#f6eede; color:#916a2f; }
.mkt-demo-pill--blue { background:#e6edf7; color:#335478; }
.mkt-demo-pill--green { background:#e1f5e8; color:#21613b; }
.mkt-hero__below { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1.4rem; margin-top:2.5rem; color:#636d73; font-size:.75rem; }
.mkt-hero__below>span:first-child { font-size:.65rem; font-weight:750; letter-spacing:.12em; }
.mkt-hero__below>span:last-child { display:flex; gap:.65rem; align-items:center; font-weight:600; }
.mkt-hero__below i { width:3px; height:3px; background:#ae8e5b; border-radius:50%; }

/* Industry chips and step cards */
.mkt-audience { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.65rem; list-style:none; padding:0; margin:0 auto; max-width:900px; }
.mkt-audience li { padding:.7rem 1.05rem; border-radius:999px; background:#fff; border:1px solid #e8e6df; color:#45505b; font-size:.9rem; font-weight:630; }
.mkt-grid--steps { grid-template-columns:repeat(3,minmax(0,1fr)); counter-reset:mkt-steps; }
.mkt-step { min-height:260px; padding:2rem 1.6rem; }
.mkt-step::before { content:counter(mkt-steps,decimal-leading-zero); counter-increment:mkt-steps; display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin-bottom:2rem; border-radius:50%; color:#80582b; background:#f7f0e4; font-weight:750; font-size:.84rem; }
.mkt-step h3 { font-size:1.16rem; }

/* Hosted booking split / illustration */
.mkt-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.96fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.mkt-split__copy h2 { font-size:clamp(2.25rem,4.15vw,3.6rem); }
.mkt-booking-illustration { position:relative; padding:1rem; border:1px solid #e8e6e0; border-radius:22px; background:#eeece6; box-shadow:0 18px 32px rgba(15,27,45,.05); }
.mkt-booking-illustration__head { display:flex; align-items:center; gap:.65rem; padding:.7rem .7rem 1rem; font-size:.68rem; font-weight:800; letter-spacing:.06em; }
.mkt-booking-illustration__mark { width:22px; height:22px; border:6px solid #b79a6d; border-radius:7px; }
.mkt-booking-illustration__badge { margin-left:auto; color:#775e36; background:#e4dbca; padding:.4rem .55rem; border-radius:6px; letter-spacing:0; white-space:nowrap; }
.mkt-booking-illustration__content { background:#fff; border-radius:14px; padding:clamp(1.25rem,3vw,2.2rem); box-shadow:0 6px 18px rgba(15,27,45,.035); }
.mkt-booking-illustration__content h3 { font-size:1.45rem; margin-bottom:1.5rem; }
.mkt-booking-illustration__field { border:1px solid #e7e7e2; border-radius:9px; padding:.7rem .8rem; margin-bottom:.8rem; }
.mkt-booking-illustration__field span { display:block; margin-bottom:.3rem; font-size:.72rem; color:#7a8086; }
.mkt-booking-illustration__field strong { font-size:.86rem; font-weight:550; color:#424b56; }
.mkt-booking-illustration__fakebutton { display:flex; align-items:center; justify-content:space-between; border-radius:9px; background:var(--mkt-ink); color:#fff; padding:.88rem 1rem; margin-top:1.4rem; font-weight:700; font-size:.89rem; }
.mkt-booking-illustration__caption { position:absolute; bottom:-1.5rem; right:0; font-size:.68rem; color:#777f83; }

/* Feature tiles and integrations */
.mkt-grid--bento { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mkt-feature-tile { display:flex; flex-direction:column; min-height:240px; padding:1.8rem; }
.mkt-feature-tile--large { grid-column:span 2; background:linear-gradient(140deg,#f4f0e8 0%,#fff 83%); }
.mkt-feature-tile--wide { grid-column:span 2; min-height:220px; background:#f9faf8; }
.mkt-feature-tile__number { display:block; margin-bottom:2.1rem; font-size:.72rem; font-weight:770; letter-spacing:.09em; color:#79562e; }
.mkt-feature-tile h3 { font-size:clamp(1.25rem,2vw,1.65rem); }
.mkt-feature-tile p { max-width:520px; }
.mkt-feature-tile__accent { margin-top:auto; padding-top:1.5rem; font-size:.7rem; font-weight:750; letter-spacing:.1em; color:#79562e; }
.mkt-feature-tile__accent span { padding:0 .6rem; }
.mkt-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mkt-trust-card { padding:2rem; }
.mkt-trust-card__mark { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:1.6rem; border-radius:11px; background:#f5efe5; color:#79562e; font-size:1.2rem; font-weight:800; }
.mkt-section--pricing-teaser { background:#f1f0ed; border-block:1px solid #e9e7e1; }
.mkt-pricing-teaser__inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.mkt-pricing-teaser__inner h2 { max-width:630px; }
.mkt-pricing-teaser__actions { display:flex; flex-direction:column; gap:.7rem; flex-shrink:0; }

/* FAQ and CTA */
.mkt-faq { max-width:750px; margin:0 auto; display:grid; gap:.65rem; }
.mkt-faq details { border:1px solid var(--mkt-line); border-radius:12px; background:#fff; padding:0 1.25rem; }
.mkt-faq summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:64px; padding:.95rem 0; color:var(--mkt-ink); font-weight:670; cursor:pointer; list-style:none; }
.mkt-faq summary::-webkit-details-marker { display:none; }
.mkt-faq summary::after { content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#86653a; background:#f0eae0; font-size:1.1rem; font-weight:500; }
.mkt-faq details[open] summary::after { content:"−"; }
.mkt-faq p { margin:0 0 1.3rem; padding-right:2.2rem; color:var(--mkt-muted); font-size:.95rem; line-height:1.7; }
.mkt-final { padding-top:1rem; padding-bottom:5.5rem; }
.mkt-final__panel { position:relative; isolation:isolate; overflow:hidden; min-height:355px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:clamp(2.3rem,7vw,5rem); border-radius:25px; background:linear-gradient(140deg,#0e1725,#101e24 94%); color:#fff; }
.mkt-final__panel::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 88% 100%,rgba(174,139,78,.13),transparent 46%); }
.mkt-final__panel .mkt-overline { color:#ccb48b; }
.mkt-final__panel h2 { margin:0 0 1rem; color:#fff; font-size:clamp(2.3rem,4.7vw,4rem); }
.mkt-final__panel h2 em { color:#d5b582; }
.mkt-final__panel p:not(.mkt-overline) { margin:0; max-width:540px; color:#b9c0c5; line-height:1.65; }
.mkt-final__panel .button { background:#fff; color:#132033; border-color:#fff; }
.mkt-final__panel .button:hover { background:#edeae4; color:#132033; }
.mkt-final__panel .button--secondary { background:transparent; border-color:rgba(255,255,255,.32); color:#fff; }
.mkt-final__panel .button--secondary:hover { background:rgba(255,255,255,.12); color:#fff; }

/* Subpage intros, feature grid, pricing */
.mkt-page-intro { padding-top:clamp(5rem,7vw,7.5rem); padding-bottom:clamp(4rem,6vw,5.5rem); }
.mkt-page-intro .mkt-section__header { max-width:740px; }
.mkt-page-intro h1 { font-size:clamp(2.9rem,5.75vw,5.1rem); }
.mkt-highlight-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #eae8e2; background:#fff; border-radius:15px; overflow:hidden; max-width:885px; margin:3rem auto 0; }
.mkt-highlight-strip span { text-align:center; padding:1.25rem .7rem; font-weight:720; color:#515a65; font-size:.87rem; }
.mkt-highlight-strip span + span { border-left:1px solid #eae8e2; }
.mkt-feature-block { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.mkt-feature-block article { min-width:0; border:1px solid #eae8e2; border-radius:16px; background:#fff; padding:2rem; }
.mkt-feature-block__number { display:block; margin-bottom:2rem; color:#79562e; font-size:.71rem; font-weight:800; letter-spacing:.1em; }
.mkt-feature-block h3 { font-size:1.45rem; }
.mkt-feature-block p { color:var(--mkt-muted); line-height:1.75; margin:0; }
.mkt-page-cta__panel { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(2rem,4vw,3.4rem); border-radius:20px; background:#f0eeea; border:1px solid #e8e5df; }
.mkt-page-cta h2 { margin:0 0 .6rem; font-size:clamp(1.8rem,3vw,2.75rem); }
.mkt-page-cta p:not(.mkt-overline) { max-width:580px; margin:0; color:var(--mkt-muted); line-height:1.65; }
.mkt-page-cta .mkt-cta { margin:0; flex:none; }
.mkt-pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.mkt-plan-card { display:flex; flex-direction:column; align-items:stretch; padding:clamp(1.5rem,2.4vw,2.2rem); }
.mkt-plan-card__eyebrow { margin:0 0 .75rem !important; font-size:.7rem; font-weight:780; letter-spacing:.12em; color:#80582b !important; }
.mkt-plan-card h2 { margin:0 0 1.1rem; font-size:1.6rem; }
.mkt-price { display:flex; align-items:baseline; gap:.4rem; flex-wrap:wrap; margin:0 0 .65rem; font-size:clamp(2rem,3.2vw,2.7rem); font-weight:800; letter-spacing:-.06em; line-height:1.15; color:var(--mkt-ink); }
.mkt-price span { font-size:.91rem; font-weight:550; letter-spacing:0; color:var(--mkt-muted); }
.mkt-plan-card__caption { color:var(--mkt-muted); margin:0 0 1.6rem !important; font-size:.88rem; }
.mkt-plan-card .button { width:100%; }
.mkt-plan-card__divider { height:1px; background:#eae8e2; margin:1.7rem 0 1.25rem; }
.mkt-plan-card__inclusion { color:var(--mkt-ink) !important; font-weight:730; font-size:.91rem; margin:0 0 1rem !important; }
.mkt-plan-list { display:grid; gap:.9rem; margin:0; padding:0; list-style:none; }
.mkt-plan-list li { position:relative; padding-left:1.3rem; font-size:.87rem; line-height:1.5; color:#535b61; }
.mkt-plan-list li::before { content:"✓"; position:absolute; left:0; top:0; font-weight:800; color:#987447; }
.mkt-pricing-note { max-width:890px; margin:2rem auto 0; padding:1.4rem 1.6rem; border:1px solid #e9e7e1; border-radius:12px; color:#626a70; line-height:1.7; background:#faf9f7; font-size:.9rem; }
.mkt-pricing-note strong { color:var(--mkt-ink); }
.mkt-empty { max-width:600px; margin:auto; text-align:center; }
.mkt-empty h2 { margin:0 0 .6rem; font-size:1.5rem; }
.mkt-empty a { color:var(--mkt-ink); }

/* Contact & website-request: same two-column architecture, untouched POST contracts */
.mkt-contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,6vw,5.5rem); align-items:start; }
.mkt-contact-aside { position:sticky; top:110px; }
.mkt-contact-aside h1 { max-width:12ch; line-height:1.06; margin:0 0 1.5rem; }
.mkt-contact-aside .mkt-section__lead { max-width:450px; }
.mkt-contact-info { margin-top:2.5rem; padding:1.4rem 0 0; border-top:1px solid #e8e5df; }
.mkt-contact-info>span { display:block; margin-bottom:.65rem; color:#80582b; font-size:.72rem; font-weight:780; letter-spacing:.12em; }
.mkt-contact-info>a, .mkt-contact-info>strong { color:var(--mkt-ink); font-weight:750; font-size:1.05rem; overflow-wrap:anywhere; }
.mkt-contact-info>p { max-width:400px; margin:.9rem 0 0; color:var(--mkt-muted); font-size:.9rem; line-height:1.65; }
.mkt-contact-form-card { padding:clamp(1.5rem,3vw,2.6rem); border:1px solid var(--mkt-line); border-radius:20px; background:#fff; box-shadow:0 14px 32px rgba(15,27,45,.035); }
.mkt-form-heading { margin-bottom:1.65rem; }
.mkt-form-heading h2 { margin:0 0 .45rem; font-size:1.65rem; }
.mkt-form-heading p:not(.mkt-overline) { margin:0; color:var(--mkt-muted); font-size:.9rem; line-height:1.65; }
.mkt-form { margin:0; max-width:none; }
.mkt-form .form-group { margin:0 0 1.2rem; }
.mkt-form label { display:block; margin:0 0 .45rem; font-size:.86rem; font-weight:690; color:var(--mkt-ink); }
.mkt-form input, .mkt-form textarea { display:block; width:100%; min-height:46px; padding:.74rem .82rem; border-radius:9px; border:1px solid #dfdfdb; background:#fff; color:var(--mkt-ink); font:inherit; font-size:1rem; transition:border-color .15s ease,box-shadow .15s ease; }
.mkt-form textarea { min-height:128px; resize:vertical; }
.mkt-form input:hover, .mkt-form textarea:hover { border-color:#b7b5ae; }
.mkt-form input:focus, .mkt-form textarea:focus { border-color:#a98c62; outline:0; box-shadow:0 0 0 3px rgba(170,132,69,.16); }
.mkt-form__actions { margin-top:1.5rem; }
.mkt-form__privacy { color:#71777d; font-size:.84rem; line-height:1.65; margin:1rem 0 0; }
.mkt-contact-form-card .alert { margin-bottom:1.25rem; }
.mkt-hp { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.mkt-legal { max-width:820px; padding:clamp(2rem,5vw,4rem); margin-inline:auto; }
.mkt-legal h1 { margin:0 0 1.5rem; font-size:clamp(2rem,4vw,3.3rem); }
.mkt-draft { display:inline-block; margin-bottom:1.4rem; border:1px solid #d6bba0; background:#fbf1e5; border-radius:100px; padding:.45rem .75rem; color:#805b32; font-size:.79rem; font-weight:750; }
.mkt-legal__body { margin:0; white-space:pre-wrap; line-height:1.85; color:#525a64; }

/* Footer */
.mkt-footer { margin-top:0; border-top:1px solid #eceae5; background:#fff; }
.mkt-footer__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1.6fr); gap:clamp(2rem,6vw,5rem); padding:4.5rem 0 3.2rem; }
.mkt-footer__brand { margin:0 0 .85rem; font-weight:800; font-size:1.33rem; letter-spacing:-.04em; color:var(--mkt-ink); }
.mkt-footer__copy { margin:0; max-width:325px; color:var(--mkt-muted); line-height:1.7; font-size:.91rem; }
.mkt-footer__cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; }
.mkt-footer__cols h2 { margin:0 0 1.15rem; font-size:.75rem; font-weight:790; letter-spacing:.1em; text-transform:uppercase; color:#626c72; }
.mkt-footer__cols ul { display:grid; gap:.8rem; list-style:none; margin:0; padding:0; }
.mkt-footer__cols a { display:inline-block; color:#515b65; font-size:.88rem; text-decoration:none; line-height:1.45; overflow-wrap:anywhere; }
.mkt-footer__cols a:hover, .mkt-footer__cols a:focus-visible { color:var(--mkt-ink); text-decoration:underline; }
.mkt-footer__bottom { padding:1.25rem 0 1.7rem; border-top:1px solid #efede8; color:#626c72; font-size:.81rem; }
.mkt-footer__bottom p { margin:0; }

@media (max-width:1060px) {
  .mkt-nav--desktop { gap:.75rem; }
  .mkt-nav--desktop a:not(.button) { font-size:.79rem; }
  .mkt-nav--desktop .button { padding:.6rem .7rem; }
  .mkt-page-cta__panel { flex-wrap:wrap; }
}
@media (max-width:860px) {
  .mkt-nav--desktop { display:none; }
  .mkt-header__inner { min-height:66px; }
  .mkt-mobile-menu { display:block; position:relative; margin-left:auto; }
  .mkt-mobile-menu summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:.8rem; min-height:44px; padding:.55rem .9rem; border:1px solid #deded9; border-radius:9px; background:#fff; color:var(--mkt-ink); font-size:.85rem; font-weight:700; }
  .mkt-mobile-menu summary::-webkit-details-marker { display:none; }
  .mkt-mobile-menu__chevron { width:8px; height:8px; display:block; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .15s ease; }
  .mkt-mobile-menu[open] .mkt-mobile-menu__chevron { transform:rotate(225deg) translateY(-1px); }
  .mkt-nav--mobile { position:absolute; right:0; top:calc(100% + 10px); display:grid; gap:.2rem; min-width:min(295px,calc(100vw - 40px)); padding:.65rem; border:1px solid #e3e1da; border-radius:13px; background:#fff; box-shadow:0 15px 32px rgba(15,27,45,.14); }
  .mkt-nav--mobile a:not(.button) { padding:.5rem .8rem; border-radius:7px; }
  .mkt-nav--mobile a:not(.button):hover { background:#f4f3f0; }
  .mkt-nav--mobile .button { margin-top:.45rem; justify-content:center; }
  .mkt-split { grid-template-columns:1fr; }
  .mkt-split__copy { max-width:650px; }
  .mkt-pricing-teaser__inner { align-items:flex-start; flex-direction:column; }
  .mkt-pricing-teaser__actions { flex-direction:row; flex-wrap:wrap; }
  .mkt-contact-layout { grid-template-columns:1fr; }
  .mkt-contact-aside { position:static; }
  .mkt-contact-aside h1 { max-width:660px; }
  .mkt-contact-info { margin-top:1.5rem; }
  .mkt-footer__grid { grid-template-columns:1fr; }
  .mkt-pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .marketing-body .container { width:min(100% - 32px,1110px); }
  .mkt-section { padding-block:4.3rem; }
  .mkt-page-intro { padding-top:4.5rem; padding-bottom:3rem; }
  .mkt-hero { padding:4.5rem 0 2.6rem; }
  .mkt-hero h1 { font-size:clamp(3rem,11vw,4.8rem); }
  .mkt-product-demo { margin-top:3rem; border-radius:14px; }
  .mkt-product-demo__grid { grid-template-columns:1fr; }
  .mkt-demo-panel { min-height:0; }
  .mkt-demo-panel__label { margin-bottom:.65rem; }
  .mkt-demo-panel p { margin:.35rem 0 .7rem; }
  .mkt-product-demo__heading { align-items:flex-start; flex-direction:column; }
  .mkt-product-demo__sample { display:none; }
  .mkt-hero__below { gap:.6rem; flex-direction:column; }
  .mkt-grid, .mkt-grid--steps, .mkt-grid--bento, .mkt-grid--two, .mkt-feature-block, .mkt-pricing-grid { grid-template-columns:1fr; }
  .mkt-feature-tile--large, .mkt-feature-tile--wide { grid-column:auto; }
  .mkt-step, .mkt-feature-tile { min-height:0; }
  .mkt-feature-tile__number { margin-bottom:1.2rem; }
  .mkt-highlight-strip { grid-template-columns:1fr; }
  .mkt-highlight-strip span + span { border-left:0; border-top:1px solid #eae8e2; }
  .mkt-footer__cols { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
  .mkt-footer__cols a { font-size:.82rem; }
  .mkt-final { padding-top:0; }
  .mkt-final__panel { min-height:0; padding:3rem 1.2rem; }
  .mkt-page-cta__panel { padding:2rem 1.4rem; }
  .mkt-page-cta .mkt-cta { width:100%; }
  .mkt-page-cta .mkt-cta .button { flex:1 1 auto; }
}
@media (max-width:390px) {
  .mkt-brand { font-size:1.1rem; }
  .mkt-hero__fineprint { max-width:260px; line-height:1.7; }
  .mkt-footer__cols { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:1.8rem; }
  .mkt-cta--center .button { width:100%; }
  .mkt-hero h1 { font-size:3rem; }
}
@media (prefers-reduced-motion:reduce) {
  .marketing-body .button, .mkt-nav a, .mkt-mobile-menu__chevron { transition:none; }
  .marketing-body .button:hover { transform:none; }
}

/* Marketing V2 / Batch 1. Scoped visual system: marketing pages only. */
.marketing-body {
  --mkt-ink: #0f1b2d;
  --mkt-muted: #657180;
  --mkt-gold: #b38b50;
  --mkt-warm: #faf8f4;
  --mkt-line: #e8e6e1;
  background: var(--mkt-warm);
}
.marketing-body .container { width:min(100% - 48px, 1160px); }
.marketing-body .button { border-radius:11px; font-weight:690; }
.marketing-body .button--secondary { border-color:#d9d5cd; }
.mkt-header { border-bottom-color:#e8e5df; background:rgba(255,255,255,.96); }
.mkt-header__inner { min-height:76px; }
.mkt-brand { display:inline-flex; align-items:center; gap:.35rem; font-size:1.22rem; letter-spacing:-.052em; }
.mkt-brand__mark { display:block; width:42px; height:42px; object-fit:contain; flex:none; }
.mkt-brand span { display:inline-block; }
.mkt-brand:hover, .mkt-brand:focus-visible { color:#0f1b2d; }
.mkt-footer__brand { display:flex; align-items:center; gap:.3rem; }
.mkt-brand__mark--footer { width:38px; height:38px; }
.mkt-footer { background:#fff; }
.mkt-footer__grid { padding:4.25rem 0 3rem; }
.mkt-hero--v2 { padding:clamp(4.8rem,7.8vw,7.8rem) 0 3.7rem; background:radial-gradient(ellipse 70% 43% at 50% 0%,rgba(179,139,80,.1),transparent 77%),#faf8f4; }
.mkt-hero--v2::before { opacity:.52; }
.mkt-hero--v2 h1 { max-width:1060px; font-size:clamp(3.1rem,6.6vw,6.4rem); line-height:1.045; letter-spacing:-.069em; }
.mkt-hero--v2 .mkt-hero__lead { max-width:710px; margin-top:1.85rem; font-size:clamp(1rem,1.7vw,1.19rem); line-height:1.72; }
.mkt-hero--v2 .mkt-hero__fineprint { margin-top:1.35rem; }
.mkt-showcase { position:relative; width:min(100%,990px); margin:4.5rem auto 0; padding:0 0 1rem; }
.mkt-showcase__glow { position:absolute; inset:22% -4% 8%; background:radial-gradient(ellipse,rgba(179,139,80,.15),transparent 68%); filter:blur(32px); pointer-events:none; }
.mkt-showcase__window { position:relative; background:#fff; border:1px solid #e1dfd9; border-radius:17px; box-shadow:0 34px 85px rgba(15,27,45,.12),0 4px 20px rgba(15,27,45,.04); overflow:hidden; }
.mkt-showcase__browserbar { display:flex; align-items:center; gap:.9rem; min-height:43px; padding:0 1.15rem; background:#fbfbfa; border-bottom:1px solid #e8e6e1; }
.mkt-showcase__url { margin:auto; padding:.35rem 1.4rem; min-width:200px; border-radius:6px; background:#f0efec; color:#717984; text-align:center; font-size:.7rem; }
.mkt-showcase__browser-label { color:#899099; font-size:.61rem; letter-spacing:.09em; font-weight:770; }
.mkt-showcase__app { display:grid; grid-template-columns:170px minmax(0,1fr); min-height:370px; font-size:.86rem; }
.mkt-showcase__sidebar { display:flex; flex-direction:column; gap:.3rem; padding:1.25rem .8rem; background:#fff; border-right:1px solid #eeece7; }
.mkt-showcase__sidebar strong { padding:.45rem .6rem 1.2rem; font-size:.92rem; font-weight:800; letter-spacing:-.035em; }
.mkt-showcase__navitem { color:#596572; padding:.64rem .75rem; border-radius:7px; font-size:.75rem; }
.mkt-showcase__navitem--active { color:#fff; background:#0f1b2d; font-weight:730; }
.mkt-showcase__content { min-width:0; padding:1.4rem 1.65rem 1.8rem; background:#fbfaf8; }
.mkt-showcase__pagehead { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.35rem; }
.mkt-showcase__eyebrow { display:block; color:#a07d4b; font-size:.58rem; letter-spacing:.1em; font-weight:800; }
.mkt-showcase__pagehead h2 { margin:.24rem 0 0; font-size:1.5rem; line-height:1.16; }
.mkt-showcase__date { color:#606c79; font-size:.75rem; }
.mkt-showcase__metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin-bottom:1rem; }
.mkt-showcase__metrics>div { min-width:0; padding:.85rem .9rem; background:#fff; border:1px solid #e9e7e2; border-radius:9px; }
.mkt-showcase__metrics span { display:block; color:#747b82; font-size:.69rem; }
.mkt-showcase__metrics strong { display:block; margin-top:.35rem; font-size:1.45rem; line-height:1.1; color:#0f1b2d; }
.mkt-showcase__table { background:#fff; border:1px solid #e9e7e2; border-radius:10px; overflow:hidden; }
.mkt-showcase__tablehead { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; }
.mkt-showcase__tablehead strong { font-size:.85rem; }
.mkt-showcase__tablehead>span { color:#7a838e; font-size:.7rem; }
.mkt-showcase__tablerow { display:grid; grid-template-columns:1.15fr 1fr auto; align-items:center; gap:.6rem; padding:.75rem 1.1rem; border-top:1px solid #eeece8; color:#475569; font-size:.72rem; }
.mkt-showcase__tablerow strong { color:#172337; font-weight:700; }
.mkt-showcase__tablerow--labels { background:#fbfbfa; color:#87909a; font-weight:730; font-size:.59rem; letter-spacing:.06em; }
.mkt-showcase__status { justify-self:start; border-radius:5px; padding:.31rem .45rem; font-weight:720; font-size:.68rem; white-space:nowrap; }
.mkt-showcase__status--green { background:#e0f6e8; color:#16613c; }
.mkt-showcase__status--gold { background:#faf0d9; color:#89692c; }
.mkt-showcase__float { position:absolute; right:-1.5rem; bottom:2.15rem; display:flex; align-items:center; gap:.7rem; padding:.8rem 1.1rem; background:#fff; border:1px solid #e5e3dc; border-radius:11px; box-shadow:0 12px 28px rgba(15,27,45,.12); }
.mkt-showcase__float-icon { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:9px; background:#e5f5eb; color:#206946; font-size:1.1rem; font-weight:800; }
.mkt-showcase__float strong,.mkt-showcase__float small { display:block; }
.mkt-showcase__float strong { font-size:.75rem; }
.mkt-showcase__float small { margin-top:.13rem; font-size:.68rem; color:#747c86; }
.mkt-showcase__disclaimer { margin:1.2rem 0 0; text-align:center; font-size:.69rem; color:#777c81; }
@media (max-width:860px) {
  .mkt-brand { font-size:1.17rem; }
  .mkt-showcase__float { right:.8rem; bottom:2rem; }
}
@media (max-width:680px) {
  .marketing-body .container { width:min(100% - 32px,1160px); }
  .mkt-hero--v2 { padding:4.25rem 0 2.6rem; }
  .mkt-hero--v2 h1 { font-size:clamp(2.45rem,9.7vw,4.5rem); line-height:1.065; }
  .mkt-showcase { margin-top:3.1rem; }
  .mkt-showcase__app { grid-template-columns:1fr; min-height:0; }
  .mkt-showcase__sidebar { display:none; }
  .mkt-showcase__content { padding:1rem; }
  .mkt-showcase__pagehead h2 { font-size:1.2rem; }
  .mkt-showcase__date,.mkt-showcase__browser-label { display:none; }
  .mkt-showcase__url { min-width:0; max-width:65%; padding:.3rem .45rem; }
  .mkt-showcase__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mkt-showcase__tablerow { grid-template-columns:1fr auto; gap:.4rem; font-size:.69rem; }
  .mkt-showcase__tablerow >:nth-child(2) { display:none; }
  .mkt-showcase__tablehead { padding:.85rem; }
  .mkt-showcase__tablerow { padding:.7rem .85rem; }
  .mkt-showcase__float { position:relative; right:auto; bottom:auto; width:max-content; max-width:100%; margin:-.7rem 1rem 0 auto; }
  .mkt-showcase__float strong { font-size:.7rem; }
  .mkt-hero__below>span:last-child { flex-wrap:wrap; justify-content:center; }
}
@media (max-width:390px) {
  .mkt-brand { font-size:1.04rem; gap:.05rem; }
  .mkt-brand__mark { width:36px; height:36px; }
  .mkt-showcase__pagehead h2 { font-size:1.05rem; }
  .mkt-showcase__metrics>div { padding:.75rem .7rem; }
  .mkt-showcase__tablerow { font-size:.64rem; }
}
@media (prefers-reduced-motion:reduce) {
  .mkt-showcase__float { transition:none; }
}

/* Marketing V2 / Batch 2: premium feature, pricing and inquiry experiences.
   All selectors are marketing-scoped and preserve the existing form contracts. */
.mkt-page-intro--v2 {
  position:relative;
  padding-top:clamp(5rem,8vw,8rem);
  padding-bottom:clamp(3.7rem,5.5vw,5.8rem);
  isolation:isolate;
}
.mkt-page-intro--v2::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(ellipse 65% 60% at 50% 4%,rgba(179,139,80,.085),transparent 100%);
  pointer-events:none;
}
.mkt-page-intro--v2 .mkt-section__header { max-width:940px; }
.mkt-page-intro--v2 h1 { font-size:clamp(3.1rem,6vw,5.7rem); line-height:1.065; letter-spacing:-.064em; }
.mkt-page-intro--v2 .mkt-section__lead { max-width:710px; margin-top:1.35rem; font-size:clamp(1rem,1.6vw,1.15rem); }
.mkt-page-intro--v2 .mkt-highlight-strip { margin-top:3rem; box-shadow:0 8px 25px rgba(15,27,45,.025); }
.mkt-page-intro--v2 .mkt-highlight-strip span { padding:1.3rem .8rem; font-size:.88rem; }
.mkt-page-intro--v2 .mkt-highlight-strip span::before { content:"✓"; display:inline-grid; place-items:center; margin-right:.65rem; width:21px; height:21px; border-radius:50%; background:#eff6ee; color:#276248; font-size:.69rem; font-weight:800; }
.mkt-page-cta__panel--v2 { position:relative; isolation:isolate; overflow:hidden; background:#0f1b2d; border-color:#0f1b2d; min-height:260px; padding:clamp(2.3rem,4vw,3.8rem); }
.mkt-page-cta__panel--v2::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse 50% 100% at 90% 110%,rgba(179,139,80,.22),transparent 100%); }
.mkt-page-cta__panel--v2 .mkt-overline { color:#d2b688; }
.mkt-page-cta__panel--v2 h2 { color:#fff; max-width:590px; line-height:1.1; }
.mkt-page-cta__panel--v2 h2 em { color:#d6b98a; }
.mkt-page-cta__panel--v2 p:not(.mkt-overline) { color:#c3c9d0; }
.mkt-page-cta__panel--v2 .button { background:#fff; border-color:#fff; color:#0f1b2d; }
.mkt-page-cta__panel--v2 .button:hover { background:#f1eee8; border-color:#f1eee8; color:#0f1b2d; }
.mkt-page-cta__panel--v2 .button--secondary { background:transparent; border-color:rgba(255,255,255,.46); color:#fff; }
.mkt-page-cta__panel--v2 .button--secondary:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.7); color:#fff; }

/* Features: editorial content beside a bespoke CSS-only product flow. */
.mkt-features-flow { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(2rem,6.7vw,6.5rem); align-items:center; }
.mkt-features-flow__copy h2 { margin:0 0 1.35rem; line-height:1.1; }
.mkt-features-flow__copy .mkt-prose { max-width:500px; }
.mkt-check-list { display:grid; gap:1.1rem; margin:1.8rem 0 0; padding:0; list-style:none; }
.mkt-check-list li { position:relative; padding-left:2.2rem; color:#415062; line-height:1.6; }
.mkt-check-list li::before { content:"✓"; position:absolute; left:0; top:.05rem; display:grid; place-items:center; width:24px; height:24px; border-radius:8px; font-size:.8rem; background:#e7f4eb; color:#246b47; font-weight:800; }
.mkt-flow-visual { position:relative; padding:1.6rem; border:1px solid #e4e2da; border-radius:19px; background:#fdfcfb; box-shadow:0 23px 65px rgba(15,27,45,.07),0 2px 6px rgba(15,27,45,.025); }
.mkt-flow-visual__top { display:flex; align-items:center; gap:.5rem; padding:.3rem .1rem 1.3rem; font-size:.67rem; letter-spacing:.1em; font-weight:800; color:#7a8089; }
.mkt-flow-visual__top>span:last-child { margin-left:auto; font-size:.6rem; color:#ac987b; }
.mkt-flow-visual__dot { width:8px; height:8px; border-radius:50%; background:#b38b50; }
.mkt-flow-visual__row { display:flex; align-items:center; gap:1rem; min-width:0; padding:1.2rem; background:#fff; border:1px solid #e9e6e0; border-radius:12px; }
.mkt-flow-visual__number { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:11px; color:#846234; background:#f8f1e7; font-size:.77rem; font-weight:800; }
.mkt-flow-visual__row>div { flex:1; min-width:0; }
.mkt-flow-visual__row strong { font-size:.97rem; color:#182537; }
.mkt-flow-visual__row p { margin:.3rem 0 0; color:#717982; font-size:.79rem; line-height:1.45; }
.mkt-flow-visual__state { flex:none; padding:.42rem .56rem; font-size:.7rem; font-weight:700; border-radius:6px; color:#476079; background:#eaf0f7; }
.mkt-flow-visual__state--gold { color:#886626; background:#f9eed6; }
.mkt-flow-visual__state--green { color:#237144; background:#e6f7ed; }
.mkt-flow-visual__line { height:19px; width:2px; margin:0 0 0 2.48rem; background:#dedbd3; }
.mkt-flow-visual__caption { margin:1.1rem 0 0; font-size:.71rem; text-align:center; color:#7c828a; }
.mkt-feature-block--v2 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.mkt-feature-block--v2 article { display:flex; flex-direction:column; grid-column:span 2; min-height:255px; padding:clamp(1.5rem,2.35vw,2.3rem); border-radius:18px; box-shadow:0 8px 24px rgba(15,27,45,.025); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.mkt-feature-block--v2 article:hover { transform:translateY(-3px); box-shadow:0 15px 33px rgba(15,27,45,.055); border-color:#dcd5c8; }
.mkt-feature-block--v2 h3 { margin-bottom:.75rem; line-height:1.2; font-size:clamp(1.18rem,1.7vw,1.52rem); }
.mkt-feature-block--v2 .mkt-feature-block__number { margin-bottom:clamp(1.7rem,3vw,3rem); }
.mkt-feature-block--v2 .mkt-feature-block--featured { grid-column:span 4; min-height:270px; background:#f4f0e9; border-color:#e9e0d1; }
.mkt-feature-block--featured h3 { max-width:690px; font-size:clamp(1.65rem,2.4vw,2.2rem); }
.mkt-feature-block--featured p { max-width:810px; }
.mkt-feature-block__detail { margin-top:auto; padding-top:1.3rem; font-size:.69rem; letter-spacing:.07em; font-weight:790; color:#906c3e; }
.mkt-feature-block__detail span { padding:0 .6rem; }
.mkt-value-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.mkt-value-row h2 { line-height:1.15; margin:0; }
.mkt-value-row .mkt-text-link { display:inline-flex; margin-top:1.3rem; }

/* Pricing: dynamic catalog remains the single source of prices and limits. */
.mkt-pricing-surface { padding-top:clamp(4.2rem,6vw,6rem); }
.mkt-pricing-surface__intro { margin-bottom:3.2rem; }
.mkt-pricing-grid--v2 { gap:1rem; align-items:stretch; }
.mkt-pricing-grid--v2 .mkt-plan-card { position:relative; padding:clamp(1.55rem,2.4vw,2.15rem); border-radius:18px; overflow:hidden; }
.mkt-pricing-grid--v2 .mkt-plan-card h3 { margin:0 0 1.3rem; font-size:1.68rem; }
.mkt-plan-card--featured { border:1.5px solid #b38b50; background:#fffdfa; box-shadow:0 16px 42px rgba(15,27,45,.065); }
.mkt-plan-card__popular { width:max-content; max-width:100%; background:#0f1b2d; color:#fff; border-radius:0 0 7px 7px; padding:.43rem .78rem; position:absolute; top:0; right:1.6rem; font-size:.64rem; font-weight:800; letter-spacing:.09em; }
.mkt-pricing-grid--v2 .mkt-plan-card__eyebrow { margin:0 0 .8rem !important; padding-top:.65rem; }
.mkt-pricing-grid--v2 .mkt-price { margin-bottom:.7rem; font-size:clamp(2rem,3vw,2.95rem); }
.mkt-pricing-grid--v2 .mkt-plan-card__caption { min-height:2.7rem; margin-bottom:1.3rem !important; }
.mkt-pricing-grid--v2 .mkt-plan-card .button { justify-content:center; text-align:center; }
.mkt-pricing-grid--v2 .mkt-plan-list { gap:.78rem; }
.mkt-pricing-grid--v2 .mkt-plan-list li { font-size:.86rem; }
.mkt-pricing-note { max-width:none; margin-top:2rem; padding:1.35rem 1.7rem; background:#fbf9f5; border-radius:13px; }
.mkt-pricing-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mkt-pricing-benefits .mkt-card { min-height:220px; }
.mkt-pricing-benefits h3 { margin-top:1.7rem; }
.mkt-pricing-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.mkt-pricing-faq-layout h2 { margin:0 0 1rem; line-height:1.14; }
.mkt-pricing-faq-layout .mkt-faq { width:100%; max-width:none; }
.mkt-pricing-faq-layout .mkt-faq a { color:#243c59; text-underline-offset:.18em; }

/* Contact and website request: keep original CSRF/POST/field names intact. */
.mkt-contact-page--v2 { padding-top:clamp(4rem,6vw,6.8rem); padding-bottom:clamp(4.5rem,7vw,7.2rem); }
.mkt-contact-page--v2 .mkt-contact-layout { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(2rem,5.5vw,5.6rem); }
.mkt-contact-page--v2 .mkt-contact-aside { top:125px; }
.mkt-contact-page--v2 .mkt-contact-aside h1 { font-size:clamp(2.65rem,4.45vw,4.3rem); line-height:1.07; max-width:15ch; letter-spacing:-.059em; margin-bottom:1.4rem; }
.mkt-contact-page--v2 .mkt-contact-aside .mkt-section__lead { font-size:1.04rem; }
.mkt-contact-reasons { display:grid; gap:1.4rem; margin-top:2.8rem; }
.mkt-contact-reasons>div { display:flex; gap:1rem; align-items:flex-start; }
.mkt-contact-reasons__icon { flex:none; display:grid; place-items:center; width:37px; height:37px; border-radius:10px; background:#f2e9da; color:#8c6a37; font-size:.75rem; font-weight:800; }
.mkt-contact-reasons strong { color:#15233b; font-size:.95rem; }
.mkt-contact-reasons p { margin:.33rem 0 0; color:#67717d; font-size:.88rem; line-height:1.6; }
.mkt-contact-reasons a { color:#213955; font-weight:700; }
.mkt-contact-page--v2 .mkt-contact-info { margin-top:2.6rem; padding-top:1.7rem; }
.mkt-contact-page--v2 .mkt-contact-form-card { padding:clamp(1.6rem,3vw,2.6rem); box-shadow:0 20px 55px rgba(15,27,45,.045); }
.mkt-contact-page--v2 .mkt-form-heading { margin-bottom:2rem; }
.mkt-contact-page--v2 .mkt-form-heading h2 { font-size:clamp(1.7rem,2.5vw,2.2rem); letter-spacing:-.055em; }
.mkt-contact-page--v2 .mkt-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.mkt-contact-page--v2 .mkt-form-row .form-group { min-width:0; }
.mkt-contact-page--v2 .mkt-form input,
.mkt-contact-page--v2 .mkt-form textarea { border-radius:11px; min-height:48px; font-size:.96rem; background:#fdfcfb; border-color:#e2dfd8; }
.mkt-contact-page--v2 .mkt-form textarea { min-height:150px; line-height:1.6; }
.mkt-contact-page--v2 .mkt-form input::placeholder,
.mkt-contact-page--v2 .mkt-form textarea::placeholder { color:#91969d; opacity:1; }
.mkt-contact-page--v2 .mkt-form label { font-size:.85rem; }
.mkt-contact-page--v2 .mkt-form__actions .button { width:100%; justify-content:center; }
.mkt-contact-page--v2 .mkt-form__privacy a { color:#1d3b5c; font-weight:690; }
.mkt-optional { color:#78828b; font-weight:500; font-size:.78rem; }
.mkt-website-includes { margin-top:2.1rem; padding:1.4rem 1.6rem; border:1px solid #e4ddd0; border-radius:14px; background:#fffdf8; }
.mkt-website-includes__label { color:#957044; font-size:.67rem; font-weight:800; letter-spacing:.08em; }
.mkt-website-includes h2 { margin:.8rem 0 .6rem; font-size:1.42rem; }
.mkt-website-includes p { margin:0; color:#67717d; line-height:1.65; font-size:.9rem; }
.mkt-website-includes__status { display:inline-flex; margin-top:1.15rem; padding:.44rem .7rem; border-radius:7px; color:#276644; background:#eaf5ec; font-size:.77rem; font-weight:730; }
.mkt-contact-reasons--compact { margin-top:2rem; }

@media (max-width:1020px) {
  .mkt-feature-block--v2 article { min-height:225px; }
  .mkt-features-flow { gap:2.5rem; }
  .mkt-contact-page--v2 .mkt-contact-layout { gap:2rem; }
  .mkt-contact-page--v2 .mkt-form-row { grid-template-columns:1fr; gap:0; }
  .mkt-pricing-grid--v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .mkt-features-flow,
  .mkt-value-row,
  .mkt-pricing-faq-layout,
  .mkt-contact-page--v2 .mkt-contact-layout { grid-template-columns:1fr; }
  .mkt-features-flow__copy { max-width:690px; }
  .mkt-pricing-faq-layout { gap:2.5rem; }
  .mkt-contact-page--v2 .mkt-contact-aside { position:static; }
  .mkt-contact-page--v2 .mkt-contact-aside h1 { max-width:720px; }
  .mkt-contact-page--v2 .mkt-form-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .mkt-contact-reasons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mkt-contact-info { max-width:570px; }
}
@media (max-width:680px) {
  .mkt-page-intro--v2 { padding-top:4rem; padding-bottom:2.8rem; }
  .mkt-page-intro--v2 h1 { font-size:clamp(2.45rem,9vw,3.6rem); }
  .mkt-page-intro--v2 .mkt-highlight-strip span { padding:1rem .7rem; }
  .mkt-features-flow__copy h2 { font-size:2.5rem; }
  .mkt-flow-visual { padding:.95rem; }
  .mkt-flow-visual__row { gap:.6rem; padding:.8rem; }
  .mkt-flow-visual__number { width:34px; height:34px; }
  .mkt-flow-visual__row strong { font-size:.85rem; }
  .mkt-flow-visual__row p { font-size:.72rem; }
  .mkt-flow-visual__state { font-size:.64rem; padding:.32rem .4rem; }
  .mkt-feature-block--v2 { grid-template-columns:1fr; }
  .mkt-feature-block--v2 article,
  .mkt-feature-block--v2 .mkt-feature-block--featured { grid-column:auto; min-height:0; }
  .mkt-feature-block--v2 article { padding:1.55rem; }
  .mkt-feature-block--v2 .mkt-feature-block__number { margin-bottom:1.6rem; }
  .mkt-pricing-grid--v2,
  .mkt-pricing-benefits { grid-template-columns:1fr; }
  .mkt-pricing-benefits .mkt-card { min-height:0; }
  .mkt-contact-page--v2 .mkt-form-row,
  .mkt-contact-reasons { grid-template-columns:1fr; gap:0; }
  .mkt-contact-reasons { gap:1.2rem; }
  .mkt-contact-page--v2 .mkt-contact-form-card { padding:1.4rem; }
  .mkt-contact-page--v2 .mkt-contact-aside h1 { font-size:clamp(2.5rem,10vw,3.6rem); }
  .mkt-page-cta__panel--v2 { padding:2.2rem 1.3rem; }
  .mkt-page-cta__panel--v2 .mkt-cta { flex-direction:column; }
  .mkt-page-cta__panel--v2 .mkt-cta .button { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .mkt-feature-block--v2 article { transition:none; }
  .mkt-feature-block--v2 article:hover { transform:none; }
}

/* Marketing V2 / Batch 3 — Legal documents. Scoped, no product-layout changes. */
.mkt-legal-page__hero { padding:clamp(4.6rem,7vw,7.5rem) 0 clamp(3.5rem,5.8vw,5.4rem); position:relative; overflow:hidden; }
.mkt-legal-page__hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.32fr); align-items:center; gap:clamp(2rem,6vw,7rem); }
.mkt-legal-page__hero-copy { min-width:0; max-width:900px; }
.mkt-legal-page__hero .mkt-overline { color:#80582b; letter-spacing:.13em; }
.mkt-legal-page__hero h1 { margin:.85rem 0 1.2rem; font-size:clamp(3rem,6.3vw,5.65rem); line-height:1.05; letter-spacing:-.068em; color:#0f1b2d; }
.mkt-legal-page__title-period { color:#b38b50; }
.mkt-legal-page__intro { margin:0; max-width:730px; line-height:1.7; color:#626e7b; font-size:clamp(1.02rem,1.5vw,1.16rem); }
.mkt-legal-page__meta { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.4rem; margin-top:2rem; font-size:.75rem; color:#5c6673; }
.mkt-legal-page__status { color:#846436; background:#f8edda; border:1px solid #e9d9b9; padding:.45rem .65rem; border-radius:7px; font-weight:750; }
.mkt-legal-page__hero-art { position:relative; width:100%; max-width:270px; aspect-ratio:1/1; margin-inline:auto; border-radius:26px; border:1px solid #e8e1d6; background:radial-gradient(circle at 77% 21%,#f3e7d3,transparent 37%),#fbf9f5; overflow:hidden; }
.mkt-legal-page__art-line { position:absolute; height:1px; width:140%; left:-20%; top:50%; background:#e1d5c2; transform:rotate(-35deg); }
.mkt-legal-page__art-ring { position:absolute; width:64%; aspect-ratio:1; border:1px solid #c5a77f; border-radius:50%; left:17%; top:18%; box-shadow:0 0 0 23px rgba(179,139,80,.055),0 0 0 49px rgba(179,139,80,.035); }
.mkt-legal-page__art-text { position:absolute; left:21%; bottom:16%; letter-spacing:.16em; line-height:1.55; font-size:.68rem; font-weight:800; color:#73542d; }
.mkt-legal-page__content { padding:clamp(3.4rem,5vw,5rem) 0 clamp(5rem,7vw,8rem); }
.mkt-legal-page__layout { display:grid; grid-template-columns:minmax(215px,.30fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.mkt-legal-page__sidebar { min-width:0; }
.mkt-legal-page__sidebar-inner { position:sticky; top:112px; max-height:calc(100vh - 130px); overflow-y:auto; overscroll-behavior:contain; padding-right:.4rem; scrollbar-width:thin; scrollbar-color:#c2bbb0 transparent; }
.mkt-legal-page__toc-title { margin:0 0 1.2rem; font-size:.72rem; font-weight:800; letter-spacing:.13em; color:#98764a; }
.mkt-legal-page__toc { display:grid; gap:0; padding:0; margin:0; list-style:none; border-left:1px solid #e2ded6; }
.mkt-legal-page__toc a { display:flex; align-items:flex-start; gap:.75rem; padding:.52rem .75rem; border-left:2px solid transparent; margin-left:-1px; color:#5f6975; text-decoration:none; font-size:.82rem; line-height:1.48; transition:color .16s ease,background .16s ease,border-color .16s ease; }
.mkt-legal-page__toc a span { flex:none; color:#596470; font-variant-numeric:tabular-nums; font-size:.7rem; }
.mkt-legal-page__toc a:hover,.mkt-legal-page__toc a:focus-visible { color:#0f1b2d; background:#f5f0e9; border-left-color:#b38b50; }
.mkt-legal-page__sidebar-help { margin-top:2rem; padding:1.3rem; border:1px solid #e6e1d9; background:#fff; border-radius:12px; }
.mkt-legal-page__sidebar-help strong { color:#16243a; font-size:.93rem; }
.mkt-legal-page__sidebar-help p { color:#68727e; line-height:1.6; font-size:.79rem; }
.mkt-legal-page__sidebar-help a { font-size:.8rem; font-weight:750; text-decoration:none; color:#7c5e36; }
.mkt-legal-page__document { min-width:0; padding:clamp(1.45rem,3.25vw,3.4rem); background:#fff; border:1px solid #e8e3dd; border-radius:20px; box-shadow:0 12px 38px rgba(15,27,45,.028); }
.mkt-legal-page__notice { display:flex; gap:1rem; padding:1.25rem 1.35rem; border-radius:12px; border:1px solid #e9d7b8; background:#fffbf4; color:#584a36; margin:0 0 3.2rem; }
.mkt-legal-page__notice-mark { display:grid; place-items:center; flex:none; height:27px; width:27px; border-radius:50%; background:#eed7b7; color:#6e5030; font-weight:800; }
.mkt-legal-page__notice strong { color:#6d512c; font-size:.92rem; }
.mkt-legal-page__notice p { font-size:.84rem; line-height:1.65; margin:.48rem 0 0; color:#72614c; }
.mkt-legal-page__section { scroll-margin-top:105px; padding:0 0 2.2rem; margin:0 0 2.2rem; border-bottom:1px solid #efede9; }
.mkt-legal-page__section-number { font-size:.67rem !important; font-weight:800; letter-spacing:.13em; color:#80582b !important; margin:0 0 .65rem !important; }
.mkt-legal-page__section h2 { font-size:clamp(1.35rem,2.25vw,1.83rem); line-height:1.24; letter-spacing:-.045em; margin:0 0 1rem; color:#112137; }
.mkt-legal-page__section p { color:#596470; font-size:.94rem; line-height:1.88; margin:0 0 1rem; max-width:75ch; }
.mkt-legal-page__section p:last-child { margin-bottom:0; }
.mkt-legal-page__bullets { list-style:none; display:grid; gap:.8rem; padding:0 0 0 .15rem; margin:1.1rem 0 0; }
.mkt-legal-page__bullets li { position:relative; padding-left:1.35rem; font-size:.93rem; line-height:1.72; color:#596470; }
.mkt-legal-page__bullets li::before { content:""; position:absolute; width:6px; height:6px; left:.13rem; top:.7rem; border-radius:50%; background:#b38b50; }
.mkt-legal-page__review { padding:clamp(1.35rem,2.4vw,2rem); background:#f8f6f1; border:1px solid #ebe4d8; border-radius:13px; }
.mkt-legal-page__review h2 { margin:.5rem 0 1rem; font-size:1.5rem; letter-spacing:-.045em; }
.mkt-legal-page__review p:not(.mkt-overline) { color:#637080; font-size:.9rem; line-height:1.65; }
.mkt-legal-page__review ul { padding-left:1.3rem; margin:1.2rem 0 0; display:grid; gap:.7rem; font-size:.86rem; line-height:1.6; color:#525e6b; }
.mkt-legal-page__review li::marker { color:#a0804c; }
.mkt-legal-page__endnav { display:flex; justify-content:space-between; align-items:start; flex-wrap:wrap; gap:1.6rem; padding-top:2.7rem; }
.mkt-legal-page__endnav h2 { margin:.35rem 0 0; font-size:1.4rem; }
.mkt-legal-page__endlinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; width:min(100%,420px); }
.mkt-legal-page__endlinks a { display:flex; justify-content:space-between; align-items:center; gap:.75rem; text-decoration:none; padding:.85rem .95rem; border:1px solid #e9e3dc; border-radius:9px; color:#15253a; font-size:.8rem; font-weight:730; transition:border-color .16s ease,background .16s ease; }
.mkt-legal-page__endlinks a:hover { border-color:#d1b58c; background:#faf7f1; }
@media (max-width:1050px) {
  .mkt-legal-page__layout { grid-template-columns:minmax(175px,.28fr) minmax(0,1fr); gap:1.6rem; }
  .mkt-legal-page__sidebar-help { padding:1rem; }
}
@media (max-width:800px) {
  .mkt-legal-page__hero-inner { grid-template-columns:1fr; }
  .mkt-legal-page__hero-art { display:none; }
  .mkt-legal-page__layout { grid-template-columns:1fr; }
  .mkt-legal-page__sidebar-inner { position:static; max-height:none; overflow:visible; padding-right:0; }
  .mkt-legal-page__sidebar-help { display:none; }
  .mkt-legal-page__toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-left:0; gap:.35rem; }
  .mkt-legal-page__toc a { margin:0; border:1px solid #e5dfd7; border-radius:8px; padding:.55rem .65rem; background:#fff; }
  .mkt-legal-page__toc a:hover,.mkt-legal-page__toc a:focus-visible { border-color:#c4a376; }
}
@media (max-width:520px) {
  .mkt-legal-page__hero { padding:3.2rem 0 3rem; }
  .mkt-legal-page__hero h1 { font-size:clamp(2.5rem,11vw,3.4rem); }
  .mkt-legal-page__meta { gap:.65rem; }
  .mkt-legal-page__content { padding:2.7rem 0 4.5rem; }
  .mkt-legal-page__toc { grid-template-columns:1fr; }
  .mkt-legal-page__document { padding:1.2rem; }
  .mkt-legal-page__notice { padding:1rem; }
  .mkt-legal-page__section { padding-bottom:1.65rem; margin-bottom:1.75rem; }
  .mkt-legal-page__endlinks { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .mkt-legal-page__toc a,.mkt-legal-page__endlinks a { transition:none; }
}

/* Cross-portal final UI QA: mobile navigation touch targets. */
@media (max-width: 860px) {
  .mkt-nav--mobile a:not(.button), .mkt-nav--mobile .button { min-height: 44px; }
  .mkt-footer__cols a { display: inline-flex; align-items: center; min-height: 44px; }
  .mkt-footer__cols ul { gap: .35rem; }
}
