/* ==========================================================================
   Knights of the Attic design system  (kota.css)
   Ported from the landing-page family (tokens, buttons, cards, nav, footer,
   mobile bar, reveal motion) and extended for the whole site.
   Prefix: .kota-*   State: .is-*   JS hooks: data-kota-*
   ========================================================================== */

/* ---------- 0. Font ---------------------------------------------------- */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 1. Tokens -------------------------------------------------- */
:root {
  --kota-navy: #002b47;
  --kota-navy-2: #003a60;
  --kota-navy-deep: #001624;
  --kota-blue: #005891;
  --kota-sky: #5aa9d6;
  --kota-gold: #d4a017;
  --kota-gold-2: #e6b21c;
  --kota-ink: #22303d;
  --kota-body: #435363;
  --kota-line: #e3ebf2;
  --kota-line-2: #d3e0eb;
  --kota-bg-soft: #f5f8fb;
  --kota-white: #fff;
  --kota-muted-on-dark: #c9d8e4;
  --kota-sub-on-dark: #b9cbd9;
  --kota-legal-on-dark: #8aa2b4;
  --kota-nav-text: #eaf1f7;
  --kota-dark-grad: linear-gradient(165deg, #04202f 0%, #001624 55%, #000f1b 100%);
  --kota-dark-grad-2: linear-gradient(160deg, var(--kota-navy-2), var(--kota-navy));
  --kota-header-grad: linear-gradient(180deg, #003a60 0%, #002b47 100%);
  --kota-ok: #1b5e34;  --kota-ok-bg: #e7f6ec;  --kota-ok-line: #b9e4c6;
  --kota-warn: #7a5100; --kota-warn-bg: #fff5e0; --kota-warn-line: #ffe1a3;
  --kota-fail: #9b2c2c; --kota-fail-bg: #fdecec; --kota-fail-line: #f5c2c2;
  --kota-radius: 14px;
  --kota-radius-sm: 10px;
  --kota-radius-btn: 12px;
  --kota-radius-pill: 999px;
  --kota-shadow: 0 10px 26px rgba(0, 43, 71, .10);
  --kota-shadow-lg: 0 18px 40px rgba(0, 43, 71, .16);
  --kota-shadow-dark: 0 30px 70px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .35);
  --kota-shadow-gold: 0 4px 14px rgba(212, 160, 23, .30);
  --kota-shadow-gold-hover: 0 10px 24px rgba(212, 160, 23, .40);
  --kota-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --kota-wrap: 1160px;
  --kota-wrap-wide: 1320px;
  --kota-gutter: 24px;
  --kota-section: clamp(56px, 8vw, 88px);
  --kota-section-tight: clamp(40px, 6vw, 60px);
  --kota-ease: cubic-bezier(.22, .61, .36, 1);
  --kota-dur: .55s;
  --kota-stagger: 70ms;
  --kota-header-h: 72px;
  --kota-mbar-h: 60px;
  /* semantic (flip inside dark sections) */
  --kota-surface: var(--kota-white);
  --kota-text: var(--kota-body);
  --kota-heading: var(--kota-navy);
  --kota-eyebrow: var(--kota-blue);
  --kota-card-bg: var(--kota-white);
  --kota-card-border: var(--kota-line);
  --kota-card-text: var(--kota-body);
}

/* ---------- 2. Base ---------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--kota-header-h) + 12px); }
body.kota-theme { margin: 0; font-family: var(--kota-font); color: var(--kota-body); background: #fff; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.kota-theme.kota-drawer-open { overflow: hidden; }
.kota-theme *, .kota-theme *::before, .kota-theme *::after { box-sizing: border-box; }
:where(.kota-theme) img, :where(.kota-theme) video, :where(.kota-theme) svg { max-width: 100%; }
:where(.kota-theme) img { height: auto; }
.kota-main { display: block; min-width: 0; }
.kota-theme a:focus-visible, .kota-theme button:focus-visible, .kota-theme input:focus-visible, .kota-theme select:focus-visible, .kota-theme textarea:focus-visible, .kota-theme summary:focus-visible, .kota-theme [tabindex]:focus-visible { outline: 3px solid var(--kota-sky); outline-offset: 3px; border-radius: 6px; }
.kota-skip { position: absolute; left: 8px; top: -60px; z-index: 10000; padding: 10px 14px; background: var(--kota-gold); color: var(--kota-navy); font-weight: 800; border-radius: 8px; text-decoration: none; }
.kota-skip:focus { top: 8px; }
.kota-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.kota-nw { white-space: nowrap; }
.reg-symbol { font-size: .62em; vertical-align: super; line-height: 0; }
[hidden] { display: none !important; }

/* ---------- 3. Layout -------------------------------------------------- */
.kota-wrap { width: 100%; max-width: var(--kota-wrap); margin: 0 auto; padding: 0 var(--kota-gutter); }
.kota-wrap--wide { max-width: var(--kota-wrap-wide); }
.kota-wrap--narrow { max-width: 800px; }
.kota-section { position: relative; padding: var(--kota-section) 0; font-family: var(--kota-font); background: var(--kota-surface); color: var(--kota-text); overflow-wrap: break-word; }
.kota-section--tight { padding: var(--kota-section-tight) 0; }
.kota-section--white { --kota-surface: #fff; }
.kota-section--soft { --kota-surface: var(--kota-bg-soft); }
.kota-section--navy { --kota-surface: var(--kota-navy); }
.kota-section--dark, .kota-section--dark-2, .kota-section--navy, .kota-dark {
  --kota-text: var(--kota-muted-on-dark);
  --kota-heading: #fff;
  --kota-eyebrow: var(--kota-gold);
  --kota-card-bg: rgba(255, 255, 255, .06);
  --kota-card-border: rgba(255, 255, 255, .14);
  --kota-card-text: var(--kota-muted-on-dark);
  color: var(--kota-muted-on-dark);
}
.kota-section--dark { background: var(--kota-dark-grad); }
.kota-section--dark-2 { background: var(--kota-dark-grad-2); }
.kota-center { text-align: center; }
.kota-center .kota-rule, .kota-center .kota-lead { margin-left: auto; margin-right: auto; }
.kota-center .kota-cta-row { justify-content: center; }
.kota-section > .kota-wrap > :first-child { margin-top: 0; }
.kota-page { min-width: 0; }
/* Core blocks dropped straight into a page get the content width; sections manage their own. */
.kota-page > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, figure, table, pre, .wp-block-buttons, .wp-block-columns, .wp-block-image, .wp-block-group, .wp-block-media-text, .wp-block-quote, .wp-block-table, .wp-block-embed, .gform_wrapper) { max-width: var(--kota-wrap); margin-left: auto; margin-right: auto; padding-left: var(--kota-gutter); padding-right: var(--kota-gutter); }
/* A core Group (constrained layout) wrapped around KOTA sections, which happens when blocks are pasted into the visual editor,
   must not cap them at the content width: the sections keep their own full-bleed backgrounds and .kota-wrap columns. */
.kota-page > .wp-block-group:has(> .kota-section) { max-width: none; padding-left: 0; padding-right: 0; }
.kota-page .is-layout-constrained > .kota-section, .kota-page .is-layout-flow > .kota-section { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.kota-page > :where(p, ul, ol, blockquote, figure, table):first-child { margin-top: 48px; }
.kota-page > :where(p, ul, ol, blockquote, figure, table):last-child { margin-bottom: 64px; }
.kota-page--landing > :first-child { margin-top: 0; }

/* ---------- 4. Typography cluster -------------------------------------- */
.kota-eyebrow { display: inline-block; margin: 0 0 14px; color: var(--kota-eyebrow); font-family: var(--kota-font); font-weight: 800; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3; }
.kota-h1, .kota-h2, .kota-h3, .kota-h4, .kota-section :where(h1, h2, h3, h4) { font-family: var(--kota-font); color: var(--kota-heading); font-weight: 800; line-height: 1.14; letter-spacing: -.01em; overflow-wrap: break-word; min-width: 0; margin: 0 0 16px; }
.kota-h1, .kota-section :where(h1) { font-size: clamp(32px, 2.2vw + 22px, 56px); line-height: 1.06; letter-spacing: -.02em; }
.kota-h2, .kota-section :where(h2) { font-size: clamp(28px, 3.6vw, 40px); }
.kota-h3, .kota-section :where(h3) { font-size: clamp(20px, 1vw + 14px, 24px); font-weight: 700; line-height: 1.25; margin-bottom: 10px; }
.kota-h4, .kota-section :where(h4) { font-size: 18px; font-weight: 700; line-height: 1.3; margin-bottom: 8px; }
.kota-h1 .kota-accent, .kota-h2 .kota-accent, .kota-hero__accent { display: block; color: var(--kota-gold); }
.kota-rule { width: 56px; height: 4px; margin: 0 0 22px; border-radius: 2px; background: var(--kota-gold); }
.kota-lead { margin: 0 0 40px; max-width: 640px; color: var(--kota-text); font-family: var(--kota-font); font-size: clamp(17px, .3vw + 15px, 18px); line-height: 1.65; }
.kota-text { color: var(--kota-text); font-size: 16px; line-height: 1.65; }
.kota-section :where(p) { margin: 0 0 16px; }
.kota-section :where(p:last-child) { margin-bottom: 0; }
.kota-section :where(a:not([class])) { color: var(--kota-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.kota-dark :where(a:not([class])), .kota-section--dark :where(a:not([class])), .kota-section--dark-2 :where(a:not([class])), .kota-section--navy :where(a:not([class])) { color: #fff; }
.kota-small { font-size: 14px; }
.kota-note { font-size: 13.5px; font-weight: 600; letter-spacing: .01em; color: var(--kota-legal-on-dark); }

/* ---------- 5. Buttons ------------------------------------------------- */
.kota-btn { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 14px 28px; border: 0; border-radius: var(--kota-radius-btn); cursor: pointer; font-family: var(--kota-font); font-weight: 800; font-size: 16px; line-height: 1.1; letter-spacing: .2px; text-decoration: none; text-align: center; color: var(--kota-navy); background: var(--kota-gold); box-shadow: var(--kota-shadow-gold); transition: transform .18s ease, box-shadow .22s ease, background .18s ease, color .18s ease; -webkit-appearance: none; appearance: none; }
.kota-btn:hover { transform: translateY(-3px); background: var(--kota-gold-2); color: var(--kota-navy); box-shadow: var(--kota-shadow-gold-hover); text-decoration: none; }
.kota-btn:active { transform: translateY(-1px); }
.kota-btn::before { content: ""; position: absolute; top: 0; left: -130%; width: 60%; height: 100%; z-index: -1; background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); transition: left .55s ease; pointer-events: none; }
.kota-btn:hover::before, .kota-btn:focus-visible::before { left: 145%; }
.kota-btn .kota-arrow, .kota-arrow { display: inline-block; transition: transform .18s ease; }
.kota-btn:hover .kota-arrow { transform: translateX(4px); }
.kota-btn--lg { min-height: 56px; padding: 17px 34px; font-size: 17px; }
.kota-btn--sm { min-height: 44px; padding: 11px 20px; font-size: 14px; border-radius: 10px; white-space: nowrap; }
.kota-btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55); }
.kota-btn--ghost::before { background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .28), transparent); }
.kota-btn--ghost:hover { background: rgba(255, 255, 255, .10); color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.kota-btn--ghost-navy { background: transparent; color: var(--kota-navy); box-shadow: inset 0 0 0 2px var(--kota-navy); }
.kota-btn--ghost-navy::before { background: linear-gradient(120deg, transparent, rgba(0, 43, 71, .15), transparent); }
.kota-btn--ghost-navy:hover { background: var(--kota-navy); color: #fff; box-shadow: inset 0 0 0 2px var(--kota-navy); }
.kota-btn--navy { background: var(--kota-navy); color: #fff; box-shadow: 0 4px 14px rgba(0, 43, 71, .25); }
.kota-btn--navy:hover { background: var(--kota-navy-2); color: #fff; box-shadow: 0 10px 24px rgba(0, 43, 71, .30); }
.kota-btn--white { background: #fff; color: var(--kota-navy); box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.kota-btn--white:hover { background: #fff; color: var(--kota-blue); }
.kota-btn--block { width: 100%; }
.kota-btn__short { display: none; }
.kota-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 26px 0 0; }
.kota-cta-row:first-child { margin-top: 0; }
.kota-dark .kota-btn--ghost-navy, .kota-section--dark .kota-btn--ghost-navy, .kota-section--dark-2 .kota-btn--ghost-navy { color: #fff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55); }

/* ---------- 6. Cards and grids ----------------------------------------- */
.kota-grid { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
.kota-grid > li { list-style: none !important; }
.kota-grid > li::marker { content: none; }
.kota-grid > li::before { content: none !important; display: none !important; }
.kota-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kota-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kota-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kota-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 28px 26px; background: var(--kota-card-bg); border: 1px solid var(--kota-card-border); border-radius: var(--kota-radius); color: var(--kota-card-text); font-family: var(--kota-font); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.kota-card:hover { transform: translateY(-4px); box-shadow: var(--kota-shadow); border-color: var(--kota-line-2); }
.kota-dark .kota-card:hover, .kota-section--dark .kota-card:hover, .kota-section--dark-2 .kota-card:hover, .kota-section--navy .kota-card:hover { border-color: rgba(255, 255, 255, .3); box-shadow: 0 14px 34px rgba(0, 0, 0, .35); }
.kota-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 14px; background: rgba(0, 88, 145, .08); color: var(--kota-blue); transition: transform .22s ease; }
.kota-card__icon svg { width: 26px; height: 26px; }
.kota-card:hover .kota-card__icon { transform: translateY(-2px); }
.kota-card--gold .kota-card__icon, .kota-dark .kota-card__icon, .kota-section--dark .kota-card__icon, .kota-section--dark-2 .kota-card__icon { background: rgba(212, 160, 23, .14); color: var(--kota-gold); }
.kota-card__title { margin: 0; color: var(--kota-heading); font-size: 18px; font-weight: 800; line-height: 1.3; }
.kota-card__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--kota-card-text); }
.kota-card__media { display: block; margin: -28px -26px 10px; border-radius: var(--kota-radius) var(--kota-radius) 0 0; overflow: hidden; aspect-ratio: 3 / 2; background: var(--kota-bg-soft); }
.kota-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kota-card__num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--kota-gold); color: var(--kota-navy); font-weight: 800; font-size: 16px; }
.kota-card--accent { border-top: 4px solid var(--kota-gold); border-radius: var(--kota-radius-sm); }
.kota-card--navy { --kota-card-bg: var(--kota-navy); --kota-card-border: var(--kota-navy); --kota-card-text: var(--kota-muted-on-dark); --kota-heading: #fff; --kota-eyebrow: var(--kota-gold); color: var(--kota-muted-on-dark); }
.kota-card--soft { --kota-card-bg: var(--kota-bg-soft); }
.kota-card--link { cursor: pointer; }
.kota-card--link:hover .kota-card__title { color: var(--kota-blue); }
.kota-dark .kota-card--link:hover .kota-card__title { color: var(--kota-gold); }
.kota-card--center { align-items: center; text-align: center; }
.kota-card .kota-btn { align-self: flex-start; margin-top: auto; }
.kota-card--center .kota-btn { align-self: center; }
.kota-card__link { margin-top: auto; color: var(--kota-blue); font-weight: 800; font-size: 15px; text-decoration: none; }
.kota-card__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.kota-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.kota-chip { display: inline-block; padding: 4px 10px; border-radius: var(--kota-radius-pill); background: rgba(0, 88, 145, .08); color: var(--kota-blue); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.kota-chip--gold { background: rgba(212, 160, 23, .16); color: #7a5100; }
.kota-chip--ok { background: var(--kota-ok-bg); color: var(--kota-ok); }
.kota-chip--warn { background: var(--kota-warn-bg); color: var(--kota-warn); }
.kota-chip--fail { background: var(--kota-fail-bg); color: var(--kota-fail); }
.kota-dark .kota-chip, .kota-section--dark .kota-chip, .kota-section--dark-2 .kota-chip { background: rgba(255, 255, 255, .12); color: #fff; }

/* ---------- 7. Lists --------------------------------------------------- */
.kota-checks { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 12px; }
.kota-checks li { list-style: none !important; display: flex; gap: 12px; align-items: flex-start; padding-left: 0; color: var(--kota-ink); font-family: var(--kota-font); font-size: 16px; font-weight: 600; line-height: 1.45; }
.kota-checks li::marker { content: none; }
.kota-checks li::before { content: none !important; display: none !important; }
.kota-checks svg { flex: 0 0 auto; margin-top: 1px; color: var(--kota-gold); }
.kota-checks--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.kota-checks--plain li { font-weight: 500; color: var(--kota-text); }
.kota-dark .kota-checks li, .kota-section--dark .kota-checks li, .kota-section--dark-2 .kota-checks li, .kota-section--navy .kota-checks li, .kota-card--navy .kota-checks li { color: #e6eef4; }
.kota-bullets { margin: 0 0 24px; padding-left: 20px; }
.kota-bullets li { margin: 0 0 8px; }

/* ---------- 8. Media frames ------------------------------------------- */
.kota-stage { position: relative; margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .09); box-shadow: var(--kota-shadow-dark); background: #000f1b; }
.kota-stage--light { border: 1px solid var(--kota-line); box-shadow: var(--kota-shadow-lg); background: var(--kota-bg-soft); }
.kota-stage video, .kota-stage img { display: block; width: 100%; height: auto; max-width: 100%; }
.kota-stage--ratio-16-9 video, .kota-stage--ratio-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.kota-stage--ratio-4-3 video, .kota-stage--ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; }
.kota-stage--ratio-1-1 video, .kota-stage--ratio-1-1 img { aspect-ratio: 1 / 1; object-fit: cover; }
.kota-stage__caption { position: absolute; left: 14px; bottom: 14px; padding: 8px 12px; border-radius: 8px; background: rgba(0, 22, 36, .78); color: #fff; font-size: 13px; font-weight: 700; }
.kota-media-caption { margin: 10px 0 0; font-size: 13.5px; color: var(--kota-text); }

/* ---------- 9. Split layouts ------------------------------------------ */
.kota-split { display: grid; grid-template-columns: 50fr 50fr; gap: 56px; align-items: center; }
.kota-split--55 { grid-template-columns: 55fr 45fr; }
.kota-split--45 { grid-template-columns: 45fr 55fr; }
.kota-split--media-left .kota-split__media { order: -1; }
.kota-split__copy, .kota-split__media { min-width: 0; }
.kota-split__copy .kota-lead { margin-bottom: 28px; }
.kota-split__copy .kota-checks { margin-bottom: 26px; }

/* ---------- 10. Process steps ----------------------------------------- */
.kota-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: kotaStep; text-align: left; }
.kota-step { list-style: none !important; position: relative; min-width: 0; padding: 28px 24px 26px; background: var(--kota-card-bg); border: 1px solid var(--kota-card-border); border-radius: var(--kota-radius); font-family: var(--kota-font); transition: transform .22s ease, box-shadow .22s ease; }
.kota-step::marker { content: none; }
.kota-step::before { content: none !important; display: none !important; }
.kota-step:hover { transform: translateY(-4px); box-shadow: var(--kota-shadow); }
.kota-step__num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 14px; border-radius: 50%; background: var(--kota-gold); color: var(--kota-navy); font-weight: 800; font-size: 17px; }
.kota-step__title { margin: 0 0 8px; color: var(--kota-heading); font-size: 17px; font-weight: 800; line-height: 1.3; }
.kota-step__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--kota-card-text); }
.kota-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kota-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* ---------- 11. Comparison table -------------------------------------- */
.kota-compare { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; font-family: var(--kota-font); background: #fff; border: 1px solid var(--kota-line); border-radius: var(--kota-radius); overflow: hidden; }
.kota-compare caption { text-align: left; padding: 0 0 14px; font-weight: 700; color: var(--kota-text); }
.kota-compare th, .kota-compare td { padding: 16px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--kota-line); font-size: 15px; line-height: 1.5; color: var(--kota-body); }
.kota-compare thead th { background: var(--kota-navy); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-bottom: 0; }
.kota-compare tbody th { width: 28%; font-weight: 800; color: var(--kota-navy); background: var(--kota-bg-soft); }
.kota-compare tbody td { width: 36%; }
.kota-compare tbody tr:last-child th, .kota-compare tbody tr:last-child td { border-bottom: 0; }
.kota-compare .is-best { background: rgba(212, 160, 23, .10); font-weight: 600; color: var(--kota-ink); }
.kota-compare thead .is-best { background: var(--kota-gold); color: var(--kota-navy); }
.kota-compare__tag { display: none; }
.kota-dark .kota-compare, .kota-section--dark .kota-compare, .kota-section--dark-2 .kota-compare { border-color: rgba(255, 255, 255, .14); }

/* ---------- 12. Interactive checklist --------------------------------- */
.kota-checklist { max-width: 680px; margin: 0 auto; padding: 40px 32px; background: #fff; border: 1px solid var(--kota-line); border-radius: var(--kota-radius); box-shadow: var(--kota-shadow); font-family: var(--kota-font); color: var(--kota-body); }
.kota-checklist__title { margin: 0 0 10px; text-align: center; color: var(--kota-navy); font-size: clamp(22px, 3vw, 28px); font-weight: 800; line-height: 1.2; }
.kota-checklist__intro { margin: 0 0 24px; text-align: center; font-size: 15px; }
.kota-checklist__list { margin: 0; padding: 0; list-style: none; }
.kota-checklist__list li { list-style: none !important; }
.kota-checklist__list li::marker { content: none; }
.kota-checklist__list li::before { content: none !important; display: none !important; }
.kota-checklist__list label { display: flex; align-items: center; gap: 12px; min-height: 52px; margin: 8px 0; padding: 12px 16px; background: var(--kota-bg-soft); border: 1px solid var(--kota-line); border-radius: var(--kota-radius-sm); color: var(--kota-navy); font-size: 16px; font-weight: 500; cursor: pointer; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.kota-checklist__list label:hover { background: #edf3f8; border-color: #cfe0ec; }
.kota-checklist__list label.is-checked { background: #eaf4fb; border-color: var(--kota-sky); box-shadow: 0 2px 10px rgba(0, 88, 145, .12); }
.kota-checklist__list input { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: var(--kota-gold); cursor: pointer; }
.kota-checklist__result { margin: 20px 0 0; padding: 14px 18px; border-radius: var(--kota-radius-sm); font-size: 16px; font-weight: 600; line-height: 1.5; }
.kota-checklist__result:empty { display: none; }
.kota-checklist__result.is-strong { background: var(--kota-ok-bg); color: var(--kota-ok); border: 1px solid var(--kota-ok-line); }
.kota-checklist__result.is-some { background: var(--kota-warn-bg); color: var(--kota-warn); border: 1px solid var(--kota-warn-line); }
.kota-checklist__result.is-none { background: #eaf1f7; color: var(--kota-navy); border: 1px solid #cfe0ec; }
.kota-checklist__cta { display: flex; width: fit-content; margin: 18px auto 0; }

/* ---------- 13. FAQ (native details, no JS required) ------------------ */
.kota-faq { display: grid; gap: 10px; margin: 0; padding: 0; }
.kota-faq__item { background: var(--kota-card-bg); border: 1px solid var(--kota-card-border); border-radius: var(--kota-radius-sm); font-family: var(--kota-font); transition: box-shadow .22s ease, border-color .22s ease; }
.kota-faq__item[open] { box-shadow: var(--kota-shadow); border-color: var(--kota-line-2); }
.kota-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; list-style: none; color: var(--kota-heading); font-size: 17px; font-weight: 800; line-height: 1.35; }
.kota-faq__item summary::-webkit-details-marker { display: none; }
.kota-faq__item summary::after { content: ""; flex: 0 0 auto; width: 12px; height: 12px; border-right: 3px solid var(--kota-gold); border-bottom: 3px solid var(--kota-gold); transform: rotate(45deg); transition: transform .22s ease; margin-right: 4px; }
.kota-faq__item[open] summary::after { transform: rotate(225deg); }
.kota-faq__body { padding: 0 20px 20px; color: var(--kota-card-text); font-size: 15.5px; line-height: 1.65; }
.kota-faq__body > :first-child { margin-top: 0; }
.kota-faq__body > :last-child { margin-bottom: 0; }

/* ---------- 14. Trust: reviews, service area, guarantees, stats, CTA band, badges, diagrams */
.kota-reviews { width: 100%; max-width: var(--kota-wrap); margin: 0 auto; overflow: visible; min-height: 0; }
.kota-reviews * { box-sizing: border-box; }
.kota-reviews .ti-widget { margin-left: auto; margin-right: auto; max-width: 100%; }
.kota-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kota-review { padding: 24px 22px; }
.kota-review__stars { color: var(--kota-gold); display: flex; gap: 2px; margin-bottom: 8px; }
.kota-review__text { margin: 0 0 12px; font-size: 15px; line-height: 1.6; }
.kota-review__name { margin: 0; font-size: 14px; font-weight: 800; color: var(--kota-heading); }

.kota-area { display: grid; grid-template-columns: 55fr 45fr; gap: 56px; align-items: center; }
.kota-cities { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.kota-cities li { list-style: none !important; display: block; padding: 9px 18px; background: rgba(212, 160, 23, .08); border: 1px solid var(--kota-gold); border-radius: var(--kota-radius-pill); color: var(--kota-navy); font-family: var(--kota-font); font-size: 14.5px; font-weight: 700; }
.kota-cities li::marker { content: none; }
.kota-cities li::before { content: none !important; display: none !important; }
.kota-cities li.kota-city--hot { border-color: var(--kota-gold); background: rgba(212, 160, 23, .08); }
.kota-area__note { font-size: 14px; }
.kota-area__map { padding: 10px; }
.kota-area__map svg { width: 100%; height: auto; display: block; }

.kota-guarantees { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 4px 0 0; padding: 0; list-style: none; }
.kota-guarantee { list-style: none !important; min-width: 0; padding: 22px 20px; background: #fff; border: 1px solid var(--kota-line); border-top: 4px solid var(--kota-gold); border-radius: var(--kota-radius-sm); font-family: var(--kota-font); text-align: left; color: var(--kota-body); }
.kota-guarantee::marker { content: none; }
.kota-guarantee::before { content: none !important; display: none !important; }
.kota-guarantee__title { margin: 0 0 8px; color: var(--kota-navy); font-size: 15.5px; font-weight: 800; overflow-wrap: anywhere; }
.kota-guarantee__text { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }

.kota-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.kota-stat { list-style: none !important; padding: 22px 20px; border-radius: var(--kota-radius-sm); background: var(--kota-card-bg); border: 1px solid var(--kota-card-border); text-align: center; }
.kota-stat::marker { content: none; }
.kota-stat::before { content: none !important; display: none !important; }
.kota-stat__value { display: block; color: var(--kota-gold); font-size: clamp(30px, 3vw, 42px); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.kota-stat__label { display: block; margin-top: 6px; color: var(--kota-heading); font-size: 14px; font-weight: 700; }
.kota-stat__note { display: block; margin-top: 4px; font-size: 12.5px; color: var(--kota-card-text); }

.kota-cta-band { text-align: center; }
.kota-cta-band .kota-h2 { max-width: 24ch; margin-left: auto; margin-right: auto; }
.kota-cta-band .kota-rule { margin-left: auto; margin-right: auto; }
.kota-cta-band__sub { max-width: 56ch; margin: 0 auto 34px; color: var(--kota-sub-on-dark); font-size: 17px; line-height: 1.7; }
.kota-cta-band .kota-cta-row { justify-content: center; }
.kota-cta-band__note { max-width: 64ch; margin: 22px auto 0; color: var(--kota-legal-on-dark); font-size: 13.5px; font-weight: 600; letter-spacing: .01em; line-height: 1.6; }

.kota-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 30px; }
.kota-badges img { max-height: 44px; width: auto; }

.kota-diagram { position: relative; margin: 0; padding: clamp(18px, 3vw, 32px); border-radius: 16px; background: var(--kota-card-bg); border: 1px solid var(--kota-card-border); box-shadow: var(--kota-shadow); font-family: var(--kota-font); }
.kota-diagram svg { display: block; width: 100%; height: auto; }
.kota-diagram__caption { margin: 14px 0 0; font-size: 13.5px; color: var(--kota-card-text); }
.kota-diagram__legend { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 13.5px; font-weight: 700; color: var(--kota-heading); }
.kota-diagram__legend li { list-style: none !important; display: inline-flex; align-items: center; gap: 8px; }
.kota-diagram__legend li::before { content: none !important; }
.kota-swatch { width: 14px; height: 14px; border-radius: 4px; background: var(--kota-gold); }
.kota-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: var(--kota-radius-pill); background: rgba(0, 88, 145, .08); color: var(--kota-blue); font-size: 13px; font-weight: 800; }

/* ---------- 15. Heroes ------------------------------------------------- */
.kota-hero { position: relative; overflow: hidden; padding: clamp(72px, 10vw, 128px) 0 clamp(64px, 8vw, 104px); background: var(--kota-dark-grad); font-family: var(--kota-font); --kota-text: var(--kota-sub-on-dark); --kota-heading: #fff; --kota-eyebrow: var(--kota-gold); color: var(--kota-sub-on-dark); }
.kota-hero--light { background: var(--kota-bg-soft); --kota-text: var(--kota-body); --kota-heading: var(--kota-navy); --kota-eyebrow: var(--kota-blue); color: var(--kota-body); }
.kota-hero__grid { display: grid; grid-template-columns: 50fr 50fr; gap: 56px; align-items: center; }
.kota-hero--centered .kota-hero__grid { grid-template-columns: 1fr; text-align: center; }
.kota-hero--centered .kota-hero__copy { max-width: 820px; margin: 0 auto; }
.kota-hero--centered .kota-cta-row, .kota-hero--centered .kota-badges { justify-content: center; }
.kota-hero--centered .kota-hero__sub { margin-left: auto; margin-right: auto; }
.kota-hero__eyebrow { display: inline-block; margin: 0 0 16px; color: var(--kota-gold); font-weight: 800; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.kota-hero__title { margin: 0 0 18px; color: #fff; font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; overflow-wrap: break-word; }
.kota-hero--light .kota-hero__title { color: var(--kota-navy); }
.kota-hero__sub { margin: 0 0 30px; max-width: 52ch; font-size: 17px; line-height: 1.7; color: var(--kota-sub-on-dark); }
.kota-hero--light .kota-hero__sub { color: var(--kota-body); }
.kota-hero__media { position: relative; min-width: 0; }
.kota-hero__media video, .kota-hero__media img { aspect-ratio: 16 / 9; object-fit: cover; }
.kota-hero__bg { position: absolute; inset: 0; z-index: 0; object-fit: cover; width: 100%; height: 100%; opacity: .35; pointer-events: none; }
.kota-hero__scrim { position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(0, 22, 36, .92), rgba(0, 22, 36, .70) 55%, rgba(0, 22, 36, .88)); pointer-events: none; }
.kota-hero > .kota-wrap { position: relative; z-index: 1; }
/* staged intro (opt in with data-kota-intro on the hero) */
html.kota-intro-pending .kota-hero[data-kota-intro] .kota-seq { opacity: 0; transform: translateY(18px); }
html.kota-intro-pending .kota-hero[data-kota-intro] .kota-seq--media { transform: translateY(30px) scale(.985); }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq { opacity: 1; transform: none; transition: opacity .75s ease, transform .85s var(--kota-ease); }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--media { transition-delay: .15s; transition-duration: .95s; }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--title { transition-delay: .85s; }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--eyebrow { transition-delay: 1.15s; }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--sub { transition-delay: 1.35s; }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--ctas { transition-delay: 1.6s; }
html.kota-intro-go .kota-hero[data-kota-intro] .kota-seq--badges { transition-delay: 1.8s; }

/* Title band for standard pages (replaces the WebFX masthead) */
.kota-page-hero { position: relative; overflow: hidden; padding: clamp(44px, 6vw, 72px) 0 clamp(40px, 5vw, 60px); background: var(--kota-dark-grad-2); color: var(--kota-sub-on-dark); font-family: var(--kota-font); }
.kota-page-hero.has-image::before { content: ""; position: absolute; inset: 0; background-image: var(--kota-page-hero-image); background-size: cover; background-position: center; opacity: .28; }
.kota-page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--kota-gold), transparent 60%); }
.kota-page-hero > .kota-wrap { position: relative; }
.kota-page-hero__title { margin: 10px 0 0; color: #fff; font-size: clamp(30px, 1.8vw + 20px, 44px); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; overflow-wrap: break-word; }
.kota-page-hero__sub { margin: 14px 0 0; max-width: 64ch; font-size: 17px; line-height: 1.65; color: var(--kota-sub-on-dark); }
.kota-page-hero__kicker { display: block; margin: 10px 0 0; font-size: clamp(16px, .6vw + 13px, 21px); font-weight: 700; line-height: 1.35; letter-spacing: 0; color: var(--kota-sub-on-dark); }
.kota-page-hero__meta { margin: 14px 0 0; font-size: 14px; font-weight: 600; color: var(--kota-muted-on-dark); }
.kota-page-hero__cat { color: var(--kota-gold); text-decoration: none; }
.kota-page-hero__cat:hover { text-decoration: underline; }
.kota-breadcrumbs { font-size: 13.5px; font-weight: 600; color: var(--kota-muted-on-dark); overflow-wrap: anywhere; }
.kota-breadcrumbs ul, .kota-breadcrumbs ol, .kota-breadcrumbs > span { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; margin: 0; padding: 0; list-style: none; }
.kota-breadcrumbs li { list-style: none !important; display: inline-flex; align-items: center; margin: 0; padding: 0; }
.kota-breadcrumbs li::marker { content: none; }
.kota-breadcrumbs li::before { content: none !important; }
.kota-breadcrumbs span { display: inline; }
.kota-breadcrumbs a { color: #fff; text-decoration: none; }
.kota-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kota-breadcrumbs__sep { margin: 0 8px; color: var(--kota-gold); }
.kota-breadcrumbs .breadcrumb_last { color: var(--kota-muted-on-dark); }

/* ---------- 16. Header ------------------------------------------------- */
.kota-sentinel { position: absolute; top: 0; height: 1px; width: 1px; }
.kota-header { position: sticky; top: 0; z-index: 9990; font-family: var(--kota-font); background: var(--kota-header-grad); border-bottom: 2px solid var(--kota-gold); box-shadow: 0 2px 14px rgba(0, 0, 0, .18); }
.kota-header.is-scrolled { box-shadow: 0 4px 18px rgba(0, 0, 0, .28); }
.admin-bar .kota-header { top: 32px; }
/* Utility bar: ROC numbers and phone stay visible on desktop at all times (it never collapses). */
.kota-header__utility { background: var(--kota-navy-deep); border-bottom: 1px solid rgba(255, 255, 255, .06); font-size: 12.5px; color: var(--kota-muted-on-dark); }
.kota-header__utility-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 34px; max-width: none; padding: 0 28px; }
.kota-header__utility-text { font-weight: 700; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kota-header__utility-right { display: flex; align-items: center; gap: 18px; }
.kota-header__roc-list, .kota-footer__roc, .kota-drawer__roc { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; list-style: none; }
.kota-header__roc-list li, .kota-footer__roc li, .kota-drawer__roc li { list-style: none !important; }
.kota-header__roc-list li::before, .kota-footer__roc li::before, .kota-drawer__roc li::before { content: none !important; }
.kota-header__roc-list a, .kota-footer__roc a, .kota-drawer__roc a { color: var(--kota-muted-on-dark); text-decoration: none; font-weight: 700; }
.kota-header__roc-list a:hover, .kota-footer__roc a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.kota-header__utility-phone { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 800; text-decoration: none; }
.kota-header__utility-phone svg { color: var(--kota-gold); }
.kota-header__bar { transition: padding .25s ease; padding: 12px 0; }
.kota-header.is-scrolled .kota-header__bar { padding: 7px 0; }
/* The main bar uses the full viewport width so logo, nav, phone and Book Now never overlap. */
.kota-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; max-width: none; padding: 0 28px; }
.kota-header__brand { display: inline-flex; flex: 0 0 auto; margin-right: 10px; line-height: 0; }
.kota-header__logo { height: 44px; width: auto; max-width: min(60vw, 280px); object-fit: contain; object-position: left center; transition: height .25s ease; }
.kota-header.is-scrolled .kota-header__logo { height: 36px; }
.kota-header__right { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-left: 10px; }
/* One phone number on desktop: the utility bar carries it. The main-bar phone appears only
   on tablets (utility bar hidden) and gives way to the Call button in the mobile bar below 820px. */
.kota-header__phone { display: none; align-items: center; gap: 7px; padding: 10px 2px; color: var(--kota-nav-text); font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.kota-header--landing .kota-header__phone { display: inline-flex; }
.kota-header__phone svg { color: var(--kota-gold); }
.kota-header__phone:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.kota-header__cta { flex: 0 0 auto; }
.kota-header__icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--kota-nav-text); cursor: pointer; transition: background .18s ease, color .18s ease; }
.kota-header__icon-btn:hover, .kota-header__icon-btn[aria-expanded="true"] { background: rgba(255, 255, 255, .10); color: #fff; }
.kota-header__burger { display: none; }

/* Mega navigation */
.kota-nav { flex: 1 1 auto; min-width: 0; }
.kota-nav__list { display: flex; flex-wrap: nowrap; justify-content: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.kota-nav__item { position: relative; list-style: none !important; display: flex; align-items: center; }
.kota-nav__item::before { content: none !important; }
.kota-nav__link { position: relative; display: inline-block; padding: 12px 9px; color: var(--kota-nav-text); font-size: 14.5px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kota-nav__link::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; height: 2px; width: auto; background: var(--kota-sky); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.kota-nav__link:hover::after, .kota-nav__link:focus-visible::after, .kota-nav__item.is-current > .kota-nav__link::after, .kota-nav__item.is-open > .kota-nav__link::after, .kota-nav__item:hover > .kota-nav__link::after { transform: scaleX(1); }
.kota-nav__toggle { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-left: -6px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--kota-nav-text); cursor: pointer; transition: transform .22s ease, background .18s ease; }
.kota-nav__toggle:hover { background: rgba(255, 255, 255, .10); }
.kota-nav__item.is-open > .kota-nav__toggle, .kota-nav__item:hover > .kota-nav__toggle { transform: rotate(180deg); }
/* The panel starts exactly at the bottom of the menu item (its top padding is the visual gap),
   so the pointer never crosses a dead zone on the way down. */
.kota-nav__panel { position: absolute; top: 100%; left: 0; z-index: 5; display: none; min-width: 280px; padding: 14px 0 0; }
.kota-nav__item.has-children::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; }
.kota-nav__panel-inner { display: flex; flex-wrap: wrap; gap: 8px 0; width: max-content; max-width: min(920px, calc(100vw - 56px)); padding: 18px; background: #fff; border: 1px solid var(--kota-line); border-top: 4px solid var(--kota-gold); border-radius: var(--kota-radius); box-shadow: var(--kota-shadow-lg); }
.kota-nav__item:hover > .kota-nav__panel, .kota-nav__item.is-open > .kota-nav__panel, .kota-nav__item:focus-within > .kota-nav__panel { display: block; }
.kota-nav__item.is-closing > .kota-nav__panel { display: none; }
.kota-nav__col { flex: 0 0 220px; min-width: 0; padding: 6px 12px; border-left: 1px solid var(--kota-line); }
.kota-nav__col:first-child { border-left: 0; }
.kota-nav__col-title { overflow-wrap: anywhere; }
.kota-nav__col-title { display: block; padding: 8px 10px; border-radius: 8px; color: var(--kota-navy); font-size: 15px; font-weight: 800; text-decoration: none; }
.kota-nav__col-title:hover { background: var(--kota-bg-soft); color: var(--kota-blue); }
.kota-nav__col-desc { margin: 0 10px 6px; font-size: 12.5px; color: var(--kota-body); }
.kota-nav__sublist { margin: 4px 0 0; padding: 0; list-style: none; }
.kota-nav__sublist li { list-style: none !important; }
.kota-nav__sublist li::before { content: none !important; }
.kota-nav__sublist a { display: block; padding: 7px 10px; border-radius: 8px; color: var(--kota-body); font-size: 14px; font-weight: 600; text-decoration: none; }
.kota-nav__sublist a:hover, .kota-nav__sublist a[aria-current="page"] { background: var(--kota-bg-soft); color: var(--kota-blue); }
.kota-nav__item:nth-last-child(-n+2) .kota-nav__panel { left: auto; right: 0; }
.kota-nav__item.is-shifted .kota-nav__panel { left: var(--kota-panel-shift, 0); right: auto; }

/* Landing-page anchor nav */
.kota-lpnav { display: flex; gap: 22px; flex: 1 1 auto; justify-content: center; min-width: 0; }
.kota-lpnav a { position: relative; padding: 12px 2px; color: var(--kota-nav-text); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kota-lpnav a::after { content: ""; position: absolute; left: 0; bottom: 6px; width: 0; height: 2px; background: var(--kota-sky); transition: width .22s ease; }
.kota-lpnav a:hover::after, .kota-lpnav a:focus-visible::after, .kota-lpnav a.is-active::after { width: 100%; }

/* Search panel */
.kota-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 4; background: var(--kota-navy-2); border-bottom: 2px solid var(--kota-gold); box-shadow: 0 12px 30px rgba(0, 0, 0, .25); }
.kota-search__inner { display: flex; align-items: center; gap: 12px; padding-top: 16px; padding-bottom: 16px; }
.kota-search__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; }
.kota-searchform { position: relative; display: flex; flex: 1 1 auto; align-items: center; }
.kota-searchform__input { flex: 1 1 auto; min-width: 0; height: 50px; padding: 0 56px 0 18px; border: 1px solid var(--kota-line); border-radius: var(--kota-radius-btn); background: #fff; color: var(--kota-ink); font-family: var(--kota-font); font-size: 16px; -webkit-appearance: none; appearance: none; }
.kota-searchform__btn { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 9px; background: var(--kota-gold); color: var(--kota-navy); cursor: pointer; }
.kota-searchform__btn:hover { background: var(--kota-gold-2); }
.searchwp-live-search-results { font-family: var(--kota-font); }

/* Drawer (mobile menu) */
.kota-drawer { position: fixed; inset: 0; z-index: 9995; font-family: var(--kota-font); }
.kota-drawer__backdrop { position: absolute; inset: 0; z-index: 1; border: 0; padding: 0; margin: 0; background: rgba(0, 15, 27, .62); opacity: 0; transition: opacity .3s ease; cursor: default; }
.kota-drawer__panel { position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; width: min(420px, 90vw); display: flex; flex-direction: column; background: var(--kota-navy); color: #fff; box-shadow: -10px 0 40px rgba(0, 0, 0, .4); transform: translateX(100%); transition: transform .32s var(--kota-ease); overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom, 0); }
.kota-drawer.is-open .kota-drawer__backdrop { opacity: 1; }
.kota-drawer.is-open .kota-drawer__panel { transform: none; }
.kota-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.kota-drawer__logo { height: 36px; width: auto; max-width: 220px; object-fit: contain; object-position: left center; }
.kota-drawer__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; }
.kota-drawer__nav { flex: 1 1 auto; padding: 8px 0; }
.kota-drawer__list, .kota-drawer__sub { margin: 0; padding: 0; list-style: none; }
.kota-drawer__sub { background: rgba(0, 0, 0, .18); }
.kota-drawer__item { list-style: none !important; }
.kota-drawer__item::before { content: none !important; }
.kota-drawer__row { display: flex; align-items: stretch; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.kota-drawer__row a { flex: 1 1 auto; display: block; padding: 15px 18px; color: #fff; font-size: 17px; font-weight: 700; text-decoration: none; }
.depth-1 .kota-drawer__row a { padding-left: 30px; font-size: 15.5px; font-weight: 700; color: var(--kota-nav-text); }
.depth-2 .kota-drawer__row a { padding-left: 44px; font-size: 15px; font-weight: 600; color: var(--kota-muted-on-dark); }
.kota-drawer__row a[aria-current="page"] { color: var(--kota-gold); }
.kota-drawer__toggle { flex: 0 0 56px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-left: 1px solid rgba(255, 255, 255, .08); background: transparent; color: #fff; cursor: pointer; transition: transform .22s ease; }
.kota-drawer__toggle[aria-expanded="true"] { transform: rotate(180deg); }
.kota-drawer__foot { display: grid; gap: 10px; padding: 16px; border-top: 1px solid rgba(255, 255, 255, .10); }
.kota-drawer__search { padding: 12px 16px 4px; }
.kota-drawer__search .kota-searchform__input { height: 46px; }
.kota-drawer__foot .kota-btn { width: 100%; }
.kota-drawer__roc { justify-content: center; margin-top: 6px; font-size: 13px; }

/* ---------- 17. Footer ------------------------------------------------ */
.kota-footer { background: var(--kota-navy-deep); border-top: 2px solid var(--kota-gold); padding: 56px 0 36px; color: var(--kota-muted-on-dark); font-family: var(--kota-font); --kota-heading: #fff; }
.kota-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.kota-footer__logo { display: block; height: 52px; width: auto; max-width: min(80vw, 300px); object-fit: contain; object-position: left center; margin: 0 0 18px; }
.kota-footer__tagline { margin: 0 0 18px; max-width: 34ch; font-size: 15px; line-height: 1.6; }
.kota-footer__social { display: flex; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.kota-footer__social li { list-style: none !important; }
.kota-footer__social li::before { content: none !important; }
.kota-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; transition: background .18s ease, color .18s ease, transform .18s ease; }
.kota-footer__social a:hover { background: var(--kota-gold); color: var(--kota-navy); transform: translateY(-2px); }
.kota-footer__roc { font-size: 13px; }
.kota-footer__title { margin: 0 0 14px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.kota-footer__title a { color: inherit; text-decoration: none; }
.kota-footer__title a:hover { color: var(--kota-gold); }
.kota-footer__links { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.kota-footer__links li { list-style: none !important; }
.kota-footer__links li::marker { content: none; }
.kota-footer__links li::before { content: none !important; display: none !important; }
.kota-footer__links a { display: inline-block; padding: 6px 0; color: var(--kota-muted-on-dark); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.kota-footer__links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.kota-footer__links--inline { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; margin: 0 0 20px; }
.kota-footer__contact { display: grid; grid-template-columns: 1.4fr auto 1fr; gap: 32px; align-items: center; padding: 34px 0; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.kota-footer__contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; }
.kota-footer__contact-item { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; }
.kota-footer__contact-item svg { flex: 0 0 auto; color: var(--kota-gold); margin-top: 2px; }
.kota-footer__contact-item a { color: #fff; font-weight: 700; text-decoration: none; }
.kota-footer__contact-item a:hover { text-decoration: underline; text-underline-offset: 4px; }
.kota-footer__newsletter .kota-footer__title { margin-bottom: 10px; }
.kota-footer__compact { text-align: center; padding-bottom: 28px; border-bottom: 1px solid rgba(255, 255, 255, .10); }
.kota-footer__compact .kota-footer__logo { margin: 0 auto 22px; }
.kota-footer__compact-cta { margin: 0 0 22px; }
.kota-footer__line { margin: 0 0 8px; font-size: 14.5px; line-height: 1.7; }
.kota-footer__line a { color: #fff; font-weight: 700; text-decoration: none; }
.kota-footer__line a:hover { text-decoration: underline; text-underline-offset: 4px; }
.kota-footer__roc--center { justify-content: center; }
.kota-footer__legal { display: grid; grid-template-columns: 1fr auto; gap: 10px 24px; align-items: start; padding-top: 24px; font-size: 12.5px; line-height: 1.7; color: var(--kota-legal-on-dark); }
.kota-footer__copy, .kota-footer__disclaimer { margin: 0; }
.kota-footer__copy a { color: var(--kota-sub-on-dark); text-decoration: none; }
.kota-footer__copy a:hover { color: #fff; text-decoration: underline; }
.kota-footer__disclaimer { grid-column: 1; max-width: 90ch; }
.kota-footer__top { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; font-weight: 800; font-size: 13px; text-decoration: none; }
.kota-footer__top:hover { background: var(--kota-gold); color: var(--kota-navy); }

/* ---------- 18. Mobile sticky booking bar ----------------------------- */
.kota-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980; display: none; gap: 1px; background: var(--kota-navy); padding-bottom: env(safe-area-inset-bottom, 0); box-shadow: 0 -4px 18px rgba(0, 0, 0, .22); font-family: var(--kota-font); transition: transform .45s var(--kota-ease), visibility .45s; }
.kota-mbar.is-armed { transform: translateY(110%); visibility: hidden; }
.kota-mbar.is-armed.is-shown { transform: none; visibility: visible; }
.kota-mbar.is-form-visible, .kota-drawer-open .kota-mbar { transform: translateY(110%); visibility: hidden; }
html.kota-intro-pending .kota-mbar { transform: translateY(110%); }
.kota-mbar__btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; padding: 6px 10px; border: 0; cursor: pointer; font-family: inherit; font-weight: 800; font-size: 14px; letter-spacing: .2px; line-height: 1.2; text-align: center; text-decoration: none; -webkit-appearance: none; appearance: none; }
.kota-mbar__btn--call { flex: 0 0 31%; background: var(--kota-navy); color: #fff; }
.kota-mbar__btn--book { background: var(--kota-gold); color: var(--kota-navy); }
.kota-mbar__btn:focus-visible { outline: 3px solid var(--kota-sky); outline-offset: -3px; }
.kota-mbar-spacer { height: 0; }

/* ---------- 19. Motion: reveals and stagger --------------------------- */
.kota-reveal, [data-kota-reveal] { opacity: 1; transform: none; }
.kota-reveal.is-pre, [data-kota-reveal].is-pre { opacity: 0; transform: translateY(16px); transition: opacity var(--kota-dur) ease, transform var(--kota-dur) var(--kota-ease); }
.kota-reveal.is-pre.is-in, [data-kota-reveal].is-pre.is-in { opacity: 1; transform: none; }
.kota-stagger > .is-pre:nth-child(2) { transition-delay: calc(var(--kota-stagger) * 1); }
.kota-stagger > .is-pre:nth-child(3) { transition-delay: calc(var(--kota-stagger) * 2); }
.kota-stagger > .is-pre:nth-child(4) { transition-delay: calc(var(--kota-stagger) * 3); }
.kota-stagger > .is-pre:nth-child(5) { transition-delay: calc(var(--kota-stagger) * 4); }
.kota-stagger > .is-pre:nth-child(6) { transition-delay: calc(var(--kota-stagger) * 5); }
.kota-stagger > .is-pre:nth-child(7) { transition-delay: calc(var(--kota-stagger) * 6); }
.kota-stagger > .is-pre:nth-child(8) { transition-delay: calc(var(--kota-stagger) * 7); }
.kota-stagger > .is-pre:nth-child(n+9) { transition-delay: calc(var(--kota-stagger) * 8); }
/* SVG line draw helper for page diagrams: add pathLength="1" and .kota-draw to a path */
.kota-draw { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.2s var(--kota-ease); }
.is-in .kota-draw, .is-in.kota-draw { stroke-dashoffset: 0; }
@keyframes kota-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .55; } }
.kota-pulse { animation: kota-pulse 1.8s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes kota-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.kota-float { animation: kota-float 4s ease-in-out infinite; }

/* ---------- 20. Blog, prose, forms, pagination ------------------------ */
.kota-prose { font-size: 17px; line-height: 1.75; color: var(--kota-body); max-width: 72ch; }
.kota-prose > * { margin-top: 0; }
.kota-prose p, .kota-prose ul, .kota-prose ol, .kota-prose blockquote, .kota-prose figure, .kota-prose table { margin-bottom: 1.4em; }
.kota-prose h2 { margin: 2em 0 .6em; color: var(--kota-navy); font-size: clamp(24px, 2.4vw, 30px); font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.kota-prose h3 { margin: 1.6em 0 .5em; color: var(--kota-navy); font-size: 21px; font-weight: 700; line-height: 1.3; }
.kota-prose h4 { margin: 1.4em 0 .4em; color: var(--kota-navy); font-size: 18px; font-weight: 700; }
.kota-prose a { color: var(--kota-blue); font-weight: 700; }
.kota-prose ul, .kota-prose ol { padding-left: 1.4em; }
.kota-prose li { margin-bottom: .45em; }
.kota-prose li::marker { color: var(--kota-gold); font-weight: 800; }
.kota-prose blockquote { margin-left: 0; padding: 16px 22px; border-left: 4px solid var(--kota-gold); background: var(--kota-bg-soft); border-radius: 0 var(--kota-radius-sm) var(--kota-radius-sm) 0; font-weight: 600; color: var(--kota-ink); }
.kota-prose img { border-radius: var(--kota-radius-sm); }
.kota-prose figcaption { font-size: 13.5px; color: var(--kota-body); margin-top: 8px; }
.kota-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.kota-prose th, .kota-prose td { padding: 10px 12px; border-bottom: 1px solid var(--kota-line); text-align: left; }
.kota-prose th { background: var(--kota-bg-soft); color: var(--kota-navy); }
.kota-prose .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 14px 28px; border-radius: var(--kota-radius-btn); background: var(--kota-gold); color: var(--kota-navy); font-weight: 800; text-decoration: none; box-shadow: var(--kota-shadow-gold); }
.kota-post__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.kota-post__thumb { margin: 0 0 32px; }
.kota-post__aside { position: sticky; top: calc(var(--kota-header-h) + 24px); }
.kota-post__cta .kota-btn { width: 100%; margin-top: 10px; }
.kota-post__share { display: flex; align-items: center; gap: 8px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--kota-line); }
.kota-post__share-label { font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--kota-navy); margin-right: 6px; }
.kota-post__share a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: var(--kota-bg-soft); color: var(--kota-navy); transition: background .18s ease, color .18s ease; }
.kota-post__share a:hover { background: var(--kota-navy); color: #fff; }
.kota-post-card { padding: 0; overflow: hidden; }
.kota-post-card__media { display: block; aspect-ratio: 3 / 2; background: var(--kota-bg-soft); overflow: hidden; }
.kota-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.kota-post-card:hover .kota-post-card__media img { transform: scale(1.03); }
.kota-post-card__placeholder { display: block; width: 100%; height: 100%; background: var(--kota-dark-grad-2); }
.kota-post-card__body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; }
.kota-post-card__cat { margin: 0; font-size: 12px; }
.kota-post-card__title { margin: 0; font-size: 18px; font-weight: 800; line-height: 1.3; }
.kota-post-card__title a { color: var(--kota-navy); text-decoration: none; }
.kota-post-card__title a:hover { color: var(--kota-blue); }
.kota-post-card__excerpt { margin: 0; font-size: 14.5px; line-height: 1.6; }
.kota-post-card__meta { margin: auto 0 0; padding-top: 8px; font-size: 13px; font-weight: 600; color: var(--kota-body); }
/* Post format (v1.1.17): key takeaways box, "what we measure" callout, booking card, back link, category chips on the archive. */
.kota-post-key { margin: 0 0 32px; padding: 22px 24px; border-radius: var(--kota-radius); background: var(--kota-bg-soft); border: 1px solid var(--kota-line); border-left: 6px solid var(--kota-gold); }
.kota-post-key__k, .kota-post-callout__k, .kota-post-book__k { margin: 0 0 10px; color: var(--kota-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; line-height: 1.3; }
.kota-prose .kota-post-key .kota-checks { margin: 0; padding: 0; gap: 10px; }
.kota-prose .kota-post-key .kota-checks li { margin: 0; font-size: 15.5px; line-height: 1.5; }
.kota-post-callout { margin: 0 0 1.6em; padding: 22px 26px; border-radius: var(--kota-radius); background: var(--kota-navy); color: var(--kota-muted-on-dark); }
.kota-post-callout__k { color: var(--kota-gold); }
.kota-prose .kota-post-callout p { margin: 0; font-size: 15.5px; line-height: 1.6; }
.kota-prose .kota-post-callout p + p { margin-top: 10px; }
.kota-post-callout strong { color: #fff; }
.kota-post-book { margin: 2.2em 0 0; padding: 26px 28px; border-radius: var(--kota-radius); background: var(--kota-bg-soft); border: 1px solid var(--kota-line); }
.kota-post-book__t { margin: 0 0 8px; color: var(--kota-navy); font-size: 22px; font-weight: 800; line-height: 1.25; }
.kota-prose .kota-post-book p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.6; }
.kota-prose .kota-post-book .kota-post-book__k { margin-bottom: 10px; }
.kota-post-book .kota-cta-row { margin: 0; }
.kota-post__back { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; color: var(--kota-blue); font-size: 14px; font-weight: 800; text-decoration: none; }
.kota-post__back:hover { text-decoration: underline; }
.kota-archive__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; padding: 0; list-style: none; }
.kota-archive__chips li { list-style: none !important; }
.kota-archive__chips li::marker { content: none; }
.kota-archive__chips li::before { content: none !important; display: none !important; }
.kota-archive__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border: 1px solid var(--kota-line-2); border-radius: 999px; background: #fff; color: var(--kota-navy); font-family: var(--kota-font); font-size: 14px; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .18s ease; }
.kota-archive__chip:hover { transform: translateY(-2px); border-color: var(--kota-gold); }
.kota-archive__chip[aria-pressed="true"], .kota-archive__chip.is-current { background: var(--kota-gold); border-color: var(--kota-gold); color: var(--kota-navy); box-shadow: var(--kota-shadow-gold); }
.kota-archive__chip:focus-visible { outline: 3px solid var(--kota-gold); outline-offset: 2px; }
.kota-archive__chip small { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: rgba(0, 88, 145, .08); color: var(--kota-blue); font-size: 11.5px; font-weight: 800; }
.kota-archive__chip[aria-pressed="true"] small, .kota-archive__chip.is-current small { background: var(--kota-navy); color: #fff; }
.kota-archive__chip { text-decoration: none !important; }
.kota-post-card.is-hidden { display: none; }
.kota-archive__empty { margin: 0; color: var(--kota-body); font-size: 16px; }
.kota-pagination { margin-top: 40px; }
.kota-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.kota-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--kota-line); color: var(--kota-navy); font-weight: 800; text-decoration: none; }
.kota-pagination .page-numbers.current, .kota-pagination .page-numbers:hover { background: var(--kota-navy); border-color: var(--kota-navy); color: #fff; }
.kota-archive__search { max-width: 560px; margin: 0 0 32px; }

/* Gravity Forms: honeypot and hidden fields are never visible, whatever the plugin's CSS setting. */
.gform_wrapper .gfield--type-honeypot, .gform_wrapper .gform_validation_container, .gform_wrapper .gform_hidden, .gform_wrapper .gfield_visibility_hidden, .gform_wrapper .gfield--type-hidden { display: none !important; position: absolute !important; left: -9999px !important; }
/* Gravity Forms inside .kota-form (and the footer newsletter). v1.1.17: the plugin's orbital theme is steered through its own variables so the gold button and the site's radius win. */
.kota-form .gform_wrapper { font-family: var(--kota-font); --gf-ctrl-btn-bg-color-primary: var(--kota-gold); --gf-ctrl-btn-bg-color-hover-primary: var(--kota-gold-2); --gf-ctrl-btn-color-primary: var(--kota-navy); --gf-ctrl-btn-color-hover-primary: var(--kota-navy); --gf-ctrl-btn-border-color-primary: var(--kota-gold); --gf-ctrl-btn-border-color-hover-primary: var(--kota-gold-2); --gf-ctrl-btn-border-radius: var(--kota-radius-btn); --gf-ctrl-btn-font-weight: 800; --gf-ctrl-border-radius: var(--kota-radius-btn); --gf-ctrl-border-color: var(--kota-line); --gf-ctrl-border-color-focus: var(--kota-sky); --gf-ctrl-shadow-focus: 0 0 0 3px rgba(90, 169, 214, .35); --gf-label-color-primary: var(--kota-heading); --gf-label-font-weight-primary: 700; }
.kota-form .gform_wrapper .gform_button, .kota-form .gform_wrapper button[type="submit"] { background: var(--kota-gold) !important; border-color: var(--kota-gold) !important; color: var(--kota-navy) !important; }
.kota-form .gform_wrapper .gform_button:hover, .kota-form .gform_wrapper button[type="submit"]:hover { background: var(--kota-gold-2) !important; border-color: var(--kota-gold-2) !important; }
.kota-form .gform_wrapper .gform_title { color: var(--kota-heading); font-weight: 800; }
.kota-form .gform_wrapper .gfield_label { color: var(--kota-heading); font-weight: 700; font-size: 14px; }
.kota-form .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .kota-form .gform_wrapper select, .kota-form .gform_wrapper textarea { width: 100%; height: auto; min-height: 50px; line-height: 1.35; padding: 12px 16px; border: 1px solid var(--kota-line); border-radius: var(--kota-radius-btn); background: #fff; color: var(--kota-ink); font-family: var(--kota-font); font-size: 16px; }
.kota-form .gform_wrapper textarea { min-height: 140px; }
.kota-form .gform_wrapper input:focus, .kota-form .gform_wrapper select:focus, .kota-form .gform_wrapper textarea:focus { outline: 3px solid var(--kota-sky); outline-offset: 2px; border-color: var(--kota-sky); }
.kota-form .gform_wrapper .gform_button, .kota-form .gform_wrapper input[type="submit"], .kota-form .gform_wrapper button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 28px; border: 0; border-radius: var(--kota-radius-btn); background: var(--kota-gold); color: var(--kota-navy); font-family: var(--kota-font); font-weight: 800; font-size: 16px; cursor: pointer; box-shadow: var(--kota-shadow-gold); transition: transform .18s ease, background .18s ease, box-shadow .22s ease; }
.kota-form .gform_wrapper .gform_button:hover, .kota-form .gform_wrapper input[type="submit"]:hover, .kota-form .gform_wrapper button[type="submit"]:hover { background: var(--kota-gold-2); transform: translateY(-2px); box-shadow: var(--kota-shadow-gold-hover); }
.kota-form .gform_wrapper .gform_validation_errors, .kota-form .gform_wrapper .validation_message { border-radius: var(--kota-radius-sm); font-size: 14px; }
.kota-form .gform_wrapper .gform_confirmation_message { padding: 16px 18px; border-radius: var(--kota-radius-sm); background: var(--kota-ok-bg); color: var(--kota-ok); border: 1px solid var(--kota-ok-line); font-weight: 600; }
.kota-form .kota-form__done { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; align-items: start; padding: 22px 22px 20px; border-radius: var(--kota-radius-sm); background: var(--kota-ok-bg); border: 1px solid var(--kota-ok-line); color: var(--kota-ink); }
.kota-form .kota-form__done svg { grid-row: span 3; width: 34px; height: 34px; color: var(--kota-ok); }
.kota-form .kota-form__done h3 { margin: 0; color: var(--kota-heading); font-size: 20px; font-weight: 800; line-height: 1.25; }
.kota-form .kota-form__done p { margin: 0; font-size: 15.5px; line-height: 1.55; }
.kota-form .kota-form__done p a { color: var(--kota-blue); font-weight: 800; text-decoration: none; }
.kota-form .kota-form__done p a:hover { text-decoration: underline; }
.kota-form .kota-form__done .kota-form__done-sub { font-size: 14px; color: var(--kota-muted); }
.kota-form--inline .gform_wrapper .gform_body, .kota-form--inline .gform_wrapper .gform_fields { gap: 10px; }
.kota-footer .kota-form .gform_wrapper .gfield_label { color: #fff; }
.kota-footer .kota-form .gform_wrapper .gform_footer { margin-top: 8px; padding: 0; }
.kota-form--card { padding: 32px 28px; background: #fff; border: 1px solid var(--kota-line); border-radius: var(--kota-radius); box-shadow: var(--kota-shadow); }

/* ---------- 21. Responsive ------------------------------------------- */
@media (max-width: 1440px) {
  .kota-nav__link { padding: 12px 8px; font-size: 14px; }
  .kota-header--landing .kota-header__phone { display: none; }
}
@media (max-width: 1280px) {
  .kota-nav, .kota-lpnav { display: none; }
  .kota-header__burger { display: inline-flex; }
  .kota-header--landing .kota-header__phone { display: inline-flex; }
}
@media (max-width: 1100px) {
  .kota-header__utility { display: none; }
  .kota-header__phone { display: inline-flex; }
  .kota-header__logo { height: 38px; }
  .kota-header.is-scrolled .kota-header__logo { height: 34px; }
  .kota-footer__grid { grid-template-columns: 1fr 1fr; }
  .kota-footer__brand { grid-column: 1 / -1; }
  .kota-footer__contact { grid-template-columns: 1fr; }
  .kota-footer__contact-cta { justify-self: start; }
}
@media (max-width: 980px) {
  .kota-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kota-guarantees { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kota-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kota-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .kota-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kota-split, .kota-split--55, .kota-split--45, .kota-hero__grid, .kota-area { grid-template-columns: 1fr; gap: 36px; }
  .kota-split__media, .kota-split--media-left .kota-split__media, .kota-hero__media { order: -1; }
  .kota-hero .kota-btn--lg { width: 100%; }
  .kota-hero .kota-badges { justify-content: center; }
  .kota-hero .kota-badges img { max-height: 38px; }
  .kota-post__layout { grid-template-columns: 1fr; gap: 36px; }
  .kota-post__aside { position: static; }
  /* comparison table collapses to row cards; tbody-scoped and border-box on purpose */
  .kota-compare, .kota-compare tbody, .kota-compare tr { display: block; width: 100%; }
  .kota-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .kota-compare tbody tr { margin: 0 0 12px; border: 1px solid var(--kota-line); border-radius: var(--kota-radius-sm); overflow: hidden; background: #fff; }
  .kota-compare tbody th, .kota-compare tbody td { display: block; width: 100%; box-sizing: border-box; border-bottom: 1px solid var(--kota-line); }
  .kota-compare tbody tr > :last-child { border-bottom: 0; }
  .kota-compare__tag { display: block; margin-bottom: 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--kota-blue); }
  .kota-compare .is-best .kota-compare__tag { color: #7a5100; }
  .kota-footer__legal { grid-template-columns: 1fr; }
  .kota-footer__top { grid-column: 1; grid-row: auto; justify-self: start; }
}
@media (max-width: 820px) {
  .kota-header__phone { display: none; }
  .kota-has-mbar .kota-mbar { display: flex; }
  .kota-has-mbar .kota-mbar-spacer { height: var(--kota-mbar-h); }
  .kota-has-mbar .kota-footer { padding-bottom: 40px; }
  html { scroll-padding-bottom: var(--kota-mbar-h); }
}
@media (max-width: 700px) {
  :root { --kota-header-h: 62px; }
  .kota-section { padding: 56px 0; }
  .kota-section--tight { padding: 40px 0; }
  .kota-grid--2, .kota-grid--3, .kota-grid--4, .kota-steps, .kota-guarantees, .kota-review-grid, .kota-checks--2col { grid-template-columns: minmax(0, 1fr); }
  .kota-stagger > .is-pre { transition-delay: 0s !important; }
  .kota-card:hover, .kota-step:hover { transform: none; }
  .kota-cta-row .kota-btn { width: 100%; }
  .kota-hero__media video, .kota-hero__media img { aspect-ratio: 4 / 3; }
  .kota-checklist { padding: 28px 18px; }
  .kota-checklist__cta { width: 100%; }
  .kota-cta-band__note { font-size: 12.5px; }
  .kota-footer { padding: 44px 0 30px; }
  .kota-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .kota-footer__logo { height: 44px; }
  .kota-footer__contact-grid { grid-template-columns: 1fr; }
  .kota-footer__contact-cta .kota-btn { width: 100%; }
  .kota-page-hero { padding: 36px 0 32px; }
  .kota-prose { font-size: 16.5px; }
}
@media (max-width: 560px) {
  .kota-header--landing .kota-header__cta .kota-btn__full { display: none; }
  .kota-header--landing .kota-header__cta .kota-btn__short { display: inline; }
  .kota-header__logo { height: 32px; }
  .kota-header.is-scrolled .kota-header__logo { height: 30px; }
  .kota-header__inner { gap: 10px; }
}
@media (max-width: 480px) {
  /* Small phones (down to 320px): the row must never exceed the screen. Search moves into the drawer. */
  .kota-header__inner { gap: 8px; padding: 0 14px; }
  .kota-header__brand { margin-right: 0; }
  .kota-header__logo, .kota-header.is-scrolled .kota-header__logo { height: 26px; max-width: 42vw; }
  .kota-header__right { gap: 6px; margin-left: 0; }
  .kota-header__cta { min-height: 40px; padding: 9px 12px; font-size: 13px; }
  .kota-header__cta .kota-arrow { display: none; }
  .kota-header__search-toggle { display: none; }
  .kota-header__icon-btn { width: 40px; height: 40px; }
  .kota-wrap { padding: 0 18px; }
  .kota-mbar__btn { font-size: 13px; }
  .kota-mbar__btn--call { flex-basis: 34%; }
}
@media (max-width: 782px) {
  .admin-bar .kota-header { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar .kota-header { top: 0; }
}
/* Belt and braces against sideways scroll from any stray element. */
body.kota-theme { overflow-x: hidden; }
.kota-main { overflow-x: clip; }

/* ---------- 22. Reduced motion --------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .kota-reveal.is-pre, [data-kota-reveal].is-pre { opacity: 1; transform: none; transition: none; }
  .kota-btn, .kota-card, .kota-step, .kota-btn .kota-arrow, .kota-btn::before, .kota-card__icon, .kota-faq__item, .kota-faq__item summary::after, .kota-nav__link::after, .kota-nav__toggle, .kota-lpnav a::after, .kota-drawer__panel, .kota-drawer__backdrop, .kota-drawer__toggle, .kota-footer__social a, .kota-post-card__media img, .kota-header__bar, .kota-header__logo, .kota-header__utility, .kota-checklist__list label { transition: none !important; }
  .kota-btn:hover, .kota-card:hover, .kota-step:hover, .kota-footer__social a:hover { transform: none; }
  .kota-btn:hover::before { left: -130%; }
  html.kota-intro-pending .kota-hero[data-kota-intro] .kota-seq { opacity: 1; transform: none; }
  html.kota-intro-pending .kota-mbar { transform: none; }
  .kota-mbar { transition: none; }
  .kota-draw { stroke-dashoffset: 0; transition: none; }
  .kota-pulse, .kota-float { animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ---------- 23. Fallback for pages that still contain WebFX blocks ----- */
.kota-legacy__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; min-width: 0; }
.kota-legacy__body.has-media { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.kota-legacy__body > * { min-width: 0; max-width: 100%; }
.kota-legacy__text.kota-prose { max-width: none; font-size: 16px; min-width: 0; overflow-x: auto; }
.kota-legacy__text table { display: block; max-width: 100%; overflow-x: auto; width: auto; }
.kota-legacy__text img, .kota-legacy__text iframe, .kota-legacy__text video { max-width: 100%; height: auto; }
.kota-legacy__text h2, .kota-legacy__text h3 { margin-top: 0; }
.kota-legacy__text h2 + *, .kota-legacy__text h3 + * { margin-top: 0; }
.kota-legacy__text .sub-heading { color: var(--kota-blue); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 10px; }
.kota-legacy__media { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.kota-legacy__media img { max-width: min(100%, 420px); height: auto; border-radius: var(--kota-radius); border: 1px solid var(--kota-line); box-shadow: var(--kota-shadow); background: #fff; }
.kota-legacy__text, .kota-legacy__text p, .kota-legacy__text li { color: var(--kota-body); opacity: 1; }
.kota-legacy__text h1, .kota-legacy__text h2, .kota-legacy__text h3, .kota-legacy__text h4 { color: var(--kota-navy); }
.kota-legacy__flag { margin: 0 0 18px; padding: 8px 12px; border-radius: 8px; background: #fff5e0; border: 1px solid #ffe1a3; color: #7a5100; font-size: 12.5px; font-weight: 700; }
@media (max-width: 900px) { .kota-legacy__body.has-media { grid-template-columns: minmax(0, 1fr); } }
