/* Shared public-site corrections. Brand references: InsertIT, Reicon.
   Google border inspired by 21st.dev/Shatlyk1011/hover-border-gradient;
   native CSS implementation for the existing PHP site. */
:root { --if-header-height: 80px; }
html { scroll-padding-top: calc(var(--if-header-height) + 20px); }
.landing-body::before { display: none; }
.landing-body .lv2-topbar { min-height: var(--if-header-height); background: #fbf8ff; gap: 20px; }
.landing-body .lv2-topbar-brand { min-width: 0; flex-shrink: 0; }
.landing-body .lv2-topbar-brand img { display: block; width: clamp(158px, 15vw, 214px); height: auto; }
.landing-body .lv2-nav-toggle { width: 46px; height: 46px; padding: 11px; flex-shrink: 0; }
.landing-body .lv2-nav-toggle span { width: 22px; }
.landing-body :where(.lv2-btn,.lv2-plan-btn,.lv2-nav-quote):active { transform: scale(.98); }
.landing-body :where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #6b3fa0; outline-offset: 4px; }
.landing-body :where(section,[id]) { scroll-margin-top: 16px; }
.landing-body :where(.lv2-hero,.lv2-hero-copy,.lv2-hero-visual,.lv2-mockup,.lv2-mockup-main,.lv2-mockup-grid,.lv2-section,.lv2-plan-card,.lv2-course-card,.lv2-footer-grid > *) { min-width: 0; }
.landing-body .lv2-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 620px; padding-block: 64px; }
.landing-body .lv2-hero-title { max-width: 17ch; font-size: clamp(2.75rem,4.3vw,4rem); line-height: 1.08; }
.landing-body .lv2-hero-title .lv2-highlight { color: var(--if-ink); -webkit-text-fill-color: currentColor; text-decoration: none; background: var(--if-lilac); }
.landing-body .lv2-hero-copy { order: 0; }
.landing-body .lv2-hero-visual { order: 1; }
.landing-body .if-showcase { display: grid; align-content: center; min-height: 470px; padding: 32px 0 60px 12%; }
.landing-body .if-showcase .lv2-mockup { position: relative; top: auto; right: auto; width: 100%; animation: none; transform: none; }
.landing-body .lv2-mockup-body { grid-template-columns: 96px minmax(0,1fr); min-height: 300px; }
.landing-body .lv2-mockup-main { padding: 15px; }
.landing-body .lv2-mockup-grid { grid-template-columns: minmax(0,1fr); }
.landing-body .lv2-mockup-dash { display: none; }
.landing-body .lv2-mockup-ticket { padding: 12px; }
.landing-body .if-mockup-demo-link { display: block; padding: 14px; margin-top: 12px; background: var(--if-ink); color: #fff; text-align: center; font-size: .85rem; font-weight: 600; text-decoration: none; border-radius: 6px; }
.landing-body .lv2-mockup-row { gap: 10px; font-size: .82rem; }
.landing-body .lv2-mockup-row strong { white-space: nowrap; }
.landing-body .lv2-mockup :where(.lv2-mockup-row,.lv2-mockup-total,button,.lv2-mockup-toolbar span,.lv2-mockup-status) { animation: none; }
.landing-body .if-insy-hero { bottom: 0; left: -3%; width: 32%; }
.landing-body .if-shop-outline { opacity: .4; }
.landing-body .if-showcase::before { right: -6%; width: 108%; bottom: 20px; }
.landing-body .lv2-social-band { max-width: none; }
.landing-body .lv2-section { padding-block: clamp(64px,6vw,88px); }
.landing-body .lv2-section-head { display: block; max-width: 850px; margin-bottom: 36px; }
.landing-body .lv2-section-head h2 { max-width: 24ch; font-size: clamp(2rem,3.3vw,3.4rem); line-height: 1.12; }
.landing-body .lv2-section-head p { margin-top: 18px; max-width: 65ch; }
.landing-body .lv2-value-card { display: flex; flex-direction: column; min-height: 260px; }
.landing-body .lv2-value-card .lv2-link { margin-top: auto; padding-top: 20px; }
.landing-body .lv2-value-card h3 { font-size: 1.45rem; line-height: 1.25; }
.landing-body .lv2-plan-grid { align-items: stretch; }
.landing-body .lv2-plan-card { border-radius: 12px; overflow: hidden; }
.landing-body .lv2-plan-price { font-family: "Space Grotesk",Arial,sans-serif; font-variant-numeric: tabular-nums; font-size: clamp(2.4rem,3.2vw,3.2rem); letter-spacing: -.04em; }
.landing-body .lv2-plan-monthly { min-height: 2.8em; font-size: .78rem; }
.landing-body .lv2-plan-list { margin-top: 22px; }
.landing-body .lv2-plan-list li { animation: none; }
.landing-body .lv2-plan-list li::before { color: var(--if-success); }
.landing-body .lv2-plan-btn { white-space: nowrap; font-size: .86rem; min-height: 48px; padding-inline: 10px; border-radius: 6px; }
.landing-body .lv2-course-grid { gap: 24px; border: 0; background: transparent; }
.landing-body .lv2-course-card { border: 1px solid var(--if-line); border-radius: 12px; overflow: hidden; }
.landing-body .lv2-course-media { aspect-ratio: 3 / 2; min-height: 0; }
.landing-body .lv2-course-body { min-height: 252px; }
.landing-body .lv2-course-meta { flex-wrap: wrap; gap: 12px; }
.landing-body .lv2-course-action { min-height: 44px; align-items: center; }
.landing-body .lv2-course-card:hover .lv2-course-media img { transform: none; }
.landing-body .if-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: 32px; max-width: 1040px; margin: auto; }
.landing-body .if-contact-grid > * { min-width: 0; }
.landing-body .if-contact-grid > div:last-child { padding: clamp(22px,3vw,40px) !important; border-radius: 12px !important; box-shadow: none !important; }
.landing-body .if-contact-grid > div:first-child > div { border-radius: 12px !important; box-shadow: none !important; }
.landing-body #contact-form { gap: 18px !important; }
.landing-body #contact-form label { font-size: .9rem !important; margin-bottom: 7px !important; }
.landing-body #contact-form :where(input:not([type=hidden]),select,textarea) { font-size: 1rem !important; border-radius: 6px !important; }
.landing-body .if-contact-grid a[href^="https://wa.me"] { color: var(--if-success) !important; }
.landing-body .if-contact-grid a.lv2-btn-primary { color: #fff !important; }
.landing-body .lv2-final-cta { max-width: 1216px; margin-block: 56px; }
.landing-body .lv2-final-cta h2 { font-size: clamp(2rem,3.5vw,3.5rem); line-height: 1.12; }
.landing-body .lv2-footer { padding: 64px max(24px,calc((100vw - 1280px)/2)) 28px; background: var(--if-ink); }
.landing-body .lv2-footer-grid { display: grid; grid-template-columns: minmax(280px,1.6fr) repeat(3,minmax(0,1fr)); gap: 36px; max-width: 1280px; margin: auto; }
.landing-body .if-footer-logo { display: inline-flex; max-width: 100%; padding: 14px 18px; border-radius: 12px; background: #fbf8ff; }
.landing-body .lv2-footer-brand .if-footer-logo img { display: block; width: 250px; max-width: 100%; height: auto; max-height: none; margin: 0; object-fit: contain; filter: none; }
.landing-body .lv2-footer-brand > p { max-width: 36ch; color: #d9cfe4; margin-top: 22px; font-size: .9rem; }
.landing-body .lv2-footer-col h4 { font: 600 .88rem/1.4 "Space Grotesk",Arial,sans-serif; text-transform: none; color: #fff; margin-bottom: 12px; }
.landing-body .lv2-footer-col a { display: block; min-height: 40px; padding-block: 7px; overflow-wrap: anywhere; color: #e3d9ed !important; font-size: .9rem; }
.landing-body .lv2-footer-col p { color: #c9bcd7 !important; }
.landing-body .lv2-footer-col a:hover { color: #fff !important; text-decoration: underline; }
.landing-body .lv2-footer :focus-visible { outline-color: #dbc7f6; }
.landing-body .if-preferred-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 28px; max-width: 1280px; margin: 42px auto 0; padding: 30px 0; border-top: 1px solid #493d59; }
.landing-body .if-preferred-row h4 { font-size: 1.25rem; line-height: 1.3; margin: 0 0 8px; color: #fff; }
.landing-body .if-preferred-row p { font-size: .9rem; margin: 0; color: #d9cfe4; }
.landing-body .if-google-source { position: relative; isolation: isolate; display: inline-flex; max-width: 100%; padding: 2px; border-radius: 12px; color: #fff !important; background: conic-gradient(from 20deg,#4285f4,#34a853,#fbbc05,#ea4335,#4285f4); text-decoration: none; }
.landing-body .if-google-source::before { content: ""; position: absolute; z-index: -1; inset: -4px; border-radius: inherit; background: inherit; filter: blur(10px); opacity: .65; pointer-events: none; transition: opacity 180ms ease-out; }
.landing-body .if-google-source-content { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 17px 22px; border-radius: 10px; background: #211a2d; min-height: 58px; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.landing-body .if-google-source:hover::before { opacity: 1; }
.landing-body .if-google-source:active { transform: scale(.98); }
.if-google-colors { display: grid; flex: 0 0 22px; grid-template-columns: 1fr 1fr; gap: 3px; width: 22px; height: 22px; transform: rotate(-8deg); }
.if-google-colors i { border-radius: 2px; background: #4285f4; }
.if-google-colors i:nth-child(2) { background: #ea4335; }
.if-google-colors i:nth-child(3) { background: #fbbc05; }
.if-google-colors i:nth-child(4) { background: #34a853; }
.landing-body .lv2-footer-bottom { margin: 0 auto; max-width: 1280px; padding-top: 22px; color: #c9bcd7; border-color: #493d59; font-size: .8rem; text-align: left; }
.landing-body .lv2-wa-float { width: 54px; height: 54px; padding: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; bottom: max(20px,env(safe-area-inset-bottom)); right: 20px; background: var(--if-ink); }
.landing-body .lv2-wa-label { display: none; }
.landing-body .lv2-wa-float svg { color: #fff; stroke: currentColor; }
.landing-body.if-footer-visible .lv2-wa-float { visibility: hidden; opacity: 0; pointer-events: none; }
.landing-body.is-legal .landing-nav { gap: 18px; min-height: 80px; }
.landing-body.is-legal .landing-nav img { max-width: 42vw; height: auto !important; }
.landing-body.is-legal .legal-content { padding-block: 64px; }
.landing-body.is-legal .legal-content h1 { font-size: clamp(2.5rem,5vw,4.5rem); max-width: 20ch; line-height: 1.12; }
.landing-body.is-demo .lv2-topbar nav a { min-width: 44px; min-height: 44px; }
.landing-body.is-demo .lv2-topbar nav a[href^="mailto:"] { display: none; }
.landing-body.is-demo .demo-shell { height: auto; min-height: calc(100dvh - 80px); }
@media (hover: hover) and (pointer: fine) {
  .landing-body .lv2-course-card:hover .lv2-course-media img { transform: scale(1.025); }
}
@media (prefers-reduced-motion: no-preference) {
  .if-google-source::before { animation: if-google-glow 3s ease-in-out 2; }
  @keyframes if-google-glow { 0%,100% { opacity: .55; } 50% { opacity: .95; } }
}
@media (max-width: 1100px) {
  .landing-body .lv2-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; padding-inline: 32px; }
  .landing-body .lv2-hero-actions .lv2-btn { font-size: .85rem; }
  .landing-body .lv2-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
  .landing-body .lv2-hero { grid-template-columns: minmax(0,1fr); padding: 44px 28px 52px; gap: 28px; }
  .landing-body .lv2-hero-title { max-width: 20ch; font-size: clamp(2.6rem,6.8vw,3.8rem); }
  .landing-body .lv2-nav { top: 100%; max-height: calc(100dvh - 96px); overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 12px; gap: 2px; }
  .landing-body .lv2-nav.is-open { grid-template-columns: 1fr; }
  .landing-body .lv2-nav > a { min-height: 44px; }
  .landing-body .if-showcase { min-height: 380px; width: min(100%,650px); justify-self: center; padding: 24px 6% 60px 16%; }
  .landing-body .if-showcase .lv2-mockup { top: auto; right: auto; width: 100%; }
  .landing-body .if-simple-insy,.landing-body .lv2-functions-mascot,.landing-body .lv2-acad-hero-art { min-height: 260px; }
  .landing-body .if-simple-insy img { max-width: 280px; }
  .landing-body .if-contact-grid { gap: 24px; }
}
@media (max-width: 720px) {
  :root { --if-header-height: 72px; }
  .landing-body .lv2-topbar { min-height: 72px; padding-block: 10px; }
  .landing-body .lv2-topbar-brand img { width: 158px; height: auto; }
  .landing-body .lv2-hero { padding: 36px 20px 44px; }
  .landing-body .lv2-hero-title { font-size: clamp(2.35rem,9.5vw,3.3rem); max-width: 20ch; }
  .landing-body .lv2-hero-lead { margin-top: 20px; }
  .landing-body .lv2-hero-actions { margin-top: 24px; }
  .landing-body .lv2-hero-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 28px; }
  .landing-body .lv2-hero-stats > div,.landing-body .lv2-hero-stats > div:not(:first-child) { padding: 12px 8px; border-bottom: 0; border-right: 1px solid var(--if-line); }
  .landing-body .lv2-hero-stats > div:last-child { border-right: 0; }
  .landing-body .lv2-hero-stats span { font-family: Inter,Arial,sans-serif; font-size: .75rem; }
  .landing-body .if-showcase { min-height: 0; padding: 22px 0 68px 9%; }
  .landing-body .if-showcase .lv2-mockup { top: auto; right: auto; width: 100%; border-width: 6px; }
  .landing-body .lv2-mockup-body { min-height: 0; grid-template-columns: minmax(0,1fr); }
  .landing-body .lv2-mockup-sidebar,.landing-body .lv2-mockup-dash { display: none; }
  .landing-body .lv2-mockup-grid { grid-template-columns: minmax(0,1fr); }
  .landing-body .lv2-mockup-main { padding: 10px; }
  .landing-body .lv2-mockup-top strong { font-size: .59rem; }
  .landing-body .if-insy-hero { bottom: 0; left: -5%; width: 32%; }
  .landing-body .if-showcase::before { bottom: 20px; right: -4%; width: 108%; height: 140px; }
  .landing-body .if-signal-star { display: none; }
  .landing-body .lv2-section { padding: 52px 20px; }
  .landing-body .lv2-section-head h2 { font-size: clamp(1.9rem,7.4vw,2.7rem); max-width: 24ch; }
  .landing-body .lv2-social-band { gap: 18px; padding: 24px 20px; }
  .landing-body .lv2-social-band > p { font-size: .9rem; }
  .landing-body .lv2-social-icons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .landing-body .if-contact-grid { grid-template-columns: minmax(0,1fr); }
  .landing-body .lv2-course-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .landing-body .lv2-course-body { min-height: 0; padding: 22px; }
  .landing-body .lv2-course-action { margin-top: 20px; }
  .landing-body .lv2-plan-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .landing-body .lv2-plan-card { padding: 26px; }
  .landing-body .lv2-plan-price { font-size: 3rem; }
  .landing-body .lv2-plan-monthly { min-height: 0; }
  .landing-body .lv2-footer { padding: 44px 22px 28px; }
  .landing-body .lv2-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
  .landing-body .lv2-footer-brand,.landing-body .lv2-footer-col:last-child { grid-column: 1 / -1; }
  .landing-body .if-preferred-row { margin-top: 28px; gap: 24px; }
  .landing-body .if-google-source { width: 100%; }
  .landing-body .if-google-source-content { width: 100%; padding: 16px 14px; gap: 12px; text-align: left; font-size: .85rem; }
  .landing-body .if-google-source-content > span:nth-child(2) { flex: 1; }
  .landing-body .lv2-wa-float { width: 48px; height: 48px; right: 14px; bottom: 14px; }
  .landing-body.is-demo .lv2-topbar { gap: 10px; flex-wrap: wrap; }
  .landing-body.is-demo .lv2-topbar nav { margin-left: auto; }
  .landing-body.is-demo .lv2-topbar nav a[href="/"] { display: none; }
  .landing-body.is-demo .lv2-topbar nav .lv2-btn { width: auto; font-size: .75rem !important; padding: 8px 12px !important; }
  .landing-body.is-demo .lv2-topbar nav .lv2-btn svg { display: none; }
  .landing-body.is-demo .demo-workspace { flex-direction: column; }
  .landing-body.is-demo .demo-sidebar { display: flex; flex-direction: row; width: 100%; overflow-x: auto; padding: 8px; gap: 4px; }
  .landing-body.is-demo .demo-sidebar button { flex: 1 0 66px; min-height: 58px; }
  .landing-body.is-demo .demo-content { min-width: 0; padding: 14px; }
  .landing-body.is-demo .demo-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-body.is-demo .demo-catalog-btn { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-body .if-google-source::before { animation: none; }
  .landing-body .lv2-course-card:hover .lv2-course-media img { transform: none; }
}
