/* For Every Kind v64 — smartphone-first finishing layer.
   Loaded last so desktop styling remains intact and mobile behavior is consistent. */

html,
body {
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
main,
section,
.container,
.header-inner,
.footer-grid,
.photo-page-hero-grid,
.seo-hero-grid,
.vc-hero-grid,
.vc-planner-shell,
.split,
.grid {
  min-width: 0;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

button,
a,
input,
select,
textarea,
summary,
label {
  touch-action: manipulation;
}

.seo-comparison,
.volume-table,
.system-tabs,
.fek-product-rail-v43 {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1060px) {
  :root { --header-h: 66px; }

  .site-header,
  .home-v53 .site-header {
    height: var(--header-h);
  }

  .site-header .container,
  .home-v53 .site-header .container {
    width: min(calc(100% - 24px), 1040px);
  }

  .header-inner { gap: 10px; }

  .site-header .brand img,
  .home-v53 .site-header .brand img {
    width: clamp(154px, 28vw, 190px) !important;
  }

  .brand-positioning { display: none !important; }

  .menu-toggle {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.78);
  }

  .main-nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 12px;
    left: 12px;
    max-height: calc(100dvh - var(--header-h) - 20px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(14,47,45,.24);
  }

  .main-nav a:not(.btn),
  .calculator-page .main-nav a:not(.btn),
  .home-v53 .main-nav a:not(.btn) {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: .96rem;
  }

  .main-nav .only-mobile {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
  }

  body.nav-open::before {
    content: "";
    position: fixed;
    z-index: 90;
    inset: 0;
    background: rgba(7,32,30,.24);
    pointer-events: none;
  }

  .header-cta { margin-left: auto; }
  .header-cta .btn { display: none !important; }

  .seo-hero-grid,
  .seo-layout,
  .seo-cta-grid,
  .vc-hero-grid,
  .vc-source-grid {
    gap: 34px;
  }

  .seo-aside { position: static; }
}

@media (max-width: 760px) {
  :root { --header-h: 62px; }

  body { font-size: 16px; line-height: 1.62; }

  .container,
  .home-v53 .site-header .container,
  .site-header .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .section { padding: 62px 0; }
  .section.compact { padding: 48px 0; }
  .section-heading { margin-bottom: 30px; }
  .section-heading.center { text-align: left; }

  h1,
  h2,
  h3,
  h4,
  p,
  li,
  a,
  span,
  strong {
    overflow-wrap: break-word;
  }

  h1 { max-width: 100%; font-size: clamp(2.55rem, 12.5vw, 3.7rem); line-height: .99; }
  h2 { max-width: 100%; font-size: clamp(2rem, 9.6vw, 2.9rem); line-height: 1.03; }
  h3 { line-height: 1.15; }

  .eyebrow { line-height: 1.35; }
  .pill { max-width: 100%; white-space: normal; line-height: 1.3; }

  .btn,
  .btn.small {
    min-height: 48px;
    padding: 12px 17px;
  }

  .button-row { align-items: stretch; }
  .button-row .btn { justify-content: center; text-align: center; }

  .announcement-inner {
    min-height: 0;
    padding: 8px 4px;
    line-height: 1.35;
  }

  .site-header {
    padding-top: env(safe-area-inset-top);
    height: calc(var(--header-h) + env(safe-area-inset-top));
  }

  .site-header .brand img,
  .home-v53 .site-header .brand img {
    width: clamp(146px, 47vw, 178px) !important;
  }

  .main-nav {
    right: 10px;
    left: 10px;
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }

  .photo-page-hero,
  .photo-hero,
  .page-hero,
  .activation-hero {
    padding: 44px 0 56px;
  }

  .photo-page-hero-grid,
  .photo-hero-grid,
  .activation-hero-grid,
  .seo-hero-grid {
    gap: 28px;
  }

  .photo-page-hero h1,
  .photo-hero h1,
  .activation-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12.5vw, 3.65rem);
  }

  .photo-page-hero p,
  .photo-hero p,
  .activation-hero p {
    font-size: 1rem;
  }

  .photo-page-hero figure,
  .photo-hero figure,
  .activation-hero figure,
  .employer-hero-photo figure,
  .founder-about-photo {
    border-radius: 24px;
  }

  .employer-hero-card,
  .activation-product-card {
    position: relative;
    inset: auto;
    width: calc(100% - 20px);
    margin: -28px auto 0;
  }

  .card,
  .form-card,
  .calculator,
  .price-card,
  .cta-card,
  .hr-promise-card,
  .wkr-card,
  .seo-card,
  .seo-related-card,
  .value-stack-card {
    border-radius: 20px;
  }

  .form-card,
  .calculator,
  .price-card,
  .hr-promise-card,
  .wkr-card {
    padding: 24px 20px;
  }

  input,
  select,
  textarea,
  .form-field input,
  .form-field select,
  .form-field textarea,
  .vc-field-grid input,
  .vc-field-grid select,
  .vc-access-input-wrap input {
    font-size: 16px;
  }

  .form-field input,
  .form-field select,
  .vc-field-grid input,
  .vc-field-grid select {
    min-height: 54px;
  }

  .form-check,
  .vc-check,
  .option-card-content {
    min-height: 48px;
  }

  details > summary,
  .faq details > summary,
  .vc-access-help summary,
  .vc-assumptions summary {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding-block: 11px;
    cursor: pointer;
  }

  /* Homepage */
  .home-v53 .fek-hero-v43__copy {
    padding: 34px 20px 27px;
  }

  .home-v53 .fek-hero-v43 h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12vw, 3.5rem);
  }

  .home-v53 .fek-lead-v43 { font-size: 1rem; }
  .home-v53 .fek-actions-v43 { display: grid; grid-template-columns: 1fr; }
  .home-v53 .fek-actions-v43 .btn { width: 100%; justify-content: center; }

  .home-v53 .fek-hero-v43__media {
    min-height: 0;
    overflow: visible;
    padding-bottom: 22px;
    background: #ddd2c4;
  }

  .home-v53 .fek-hero-v43__media > img {
    width: 100%;
    height: 350px;
    min-height: 350px;
    object-position: 56% 46%;
  }

  .home-v53 .fek-price-card-v43 {
    position: relative;
    inset: auto;
    width: calc(100% - 28px);
    margin: -42px auto 0;
    padding: 20px;
    transform: none;
  }

  .home-v53 .fek-benefit-strip-v43__inner {
    width: min(calc(100% - 28px), 680px);
  }

  .home-v53 .fek-benefit-strip-v43 article { padding: 14px 0; }

  .home-v53 .fek-product-rail-v43 {
    gap: 12px;
    margin-right: -14px;
    padding-right: 14px;
    scroll-padding-inline: 0 14px;
    scrollbar-width: none;
  }

  .home-v53 .fek-product-rail-v43::-webkit-scrollbar { display: none; }
  .home-v53 .fek-product-tile-v43 { flex-basis: min(78vw, 260px); }
  .home-v53 .fek-product-tile-v43 img { height: 180px; }

  .founder-home-grid { gap: 28px; }
  .founder-home-photo,
  .founder-home-photo img { min-height: 300px; }

  .hr-impact-grid { gap: 10px; }
  .hr-impact-grid article { padding: 18px; }

  .one-package-visual { min-height: 380px; }
  .one-package-visual figure { inset: 0 10px 64px 0; border-radius: 25px; }
  .one-package-label { width: min(215px, 76%); padding: 18px; }

  .overview-photo-grid { gap: 8px; }
  .product-gallery { gap: 14px; }
  .product-card-copy { padding: 18px; }

  .safety-photo.knowledge-visual,
  .safety-photo.knowledge-visual img {
    min-height: 330px;
  }

  .one-price-card { padding: 24px 20px; }
  .one-price-number { align-items: flex-end; }
  .one-price-number strong { font-size: 3.35rem; }

  .execution-card { grid-template-columns: 1fr 1fr; padding: 16px; gap: 8px; }
  .execution-card > div { padding: 18px 14px; }

  /* Premium package page */
  .luxury-package-hero { padding: 38px 0 54px; }
  .luxury-package-hero .photo-page-hero-grid { gap: 28px; }
  .luxury-package-hero .package-luxury-title,
  .luxury-package-hero .package-luxury-title > span,
  .luxury-package-hero .package-luxury-title > em {
    max-width: 100%;
  }
  .luxury-package-hero .package-luxury-title {
    font-size: clamp(2.45rem, 11.5vw, 3.35rem);
  }
  .luxury-package-hero .package-hero-visual { padding: 0 0 30px; }
  .luxury-package-hero .package-v49-scene { border-radius: 24px; }
  .luxury-package-hero .package-value-stamp {
    right: 4px;
    bottom: -2px;
    width: 106px;
    height: 106px;
  }
  .luxury-package-hero .package-value-stamp strong { font-size: 1.95rem; }
  .package-category-heading { grid-template-columns: 40px 1fr; gap: 12px; }
  .package-category-heading > span { width: 40px; height: 40px; }

  /* Search landing pages */
  .seo-breadcrumbs {
    overflow-x: auto;
    padding: 12px 0;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .seo-breadcrumbs::-webkit-scrollbar { display: none; }

  .seo-hero { padding: 36px 0 58px; }
  .seo-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12.5vw, 3.55rem);
  }
  .seo-hero-lead { font-size: 1rem; }
  .seo-hero-proof { gap: 7px; }
  .seo-hero-proof span { font-size: .72rem; }
  .seo-hero-media { max-width: 100%; }
  .seo-hero-media img { max-height: 340px; }
  .seo-hero-note {
    position: relative;
    inset: auto;
    max-width: none;
    margin: -12px 10px 0;
    border-radius: 15px;
  }

  .seo-answer { margin-top: -24px; }
  .seo-answer-card { padding: 25px 21px; border-radius: 19px; }
  .seo-answer-card h2 { font-size: clamp(1.9rem, 9vw, 2.55rem); }
  .seo-answer-formula { display: flex; line-height: 1.45; }

  .seo-layout { gap: 36px; }
  .seo-copy h2 { font-size: clamp(2rem, 9.5vw, 2.8rem); }
  .seo-copy h3 { margin-top: 28px; }

  .seo-aside { overflow: hidden; padding: 17px; }
  .seo-aside nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .seo-aside nav::-webkit-scrollbar { display: none; }
  .seo-aside a {
    min-height: 42px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    white-space: nowrap;
  }

  .seo-card-grid,
  .seo-related-grid,
  .seo-stat-grid { gap: 12px; }
  .seo-card,
  .seo-related-card { padding: 21px; }
  .seo-related-card { min-height: 178px; }
  .seo-stat { padding: 19px; }
  .seo-step { grid-template-columns: 42px 1fr; padding: 16px; gap: 13px; }
  .seo-step > span { width: 40px; height: 40px; }

  .seo-comparison {
    margin-inline: -2px;
    border-radius: 14px;
  }
  .seo-comparison table { min-width: 610px; }
  .seo-comparison th,
  .seo-comparison td { padding: 14px; }

  .seo-source-list a {
    min-height: 48px;
    align-items: center;
    padding: 12px 14px;
  }

  .seo-related,
  .seo-cta { padding: 54px 0; }
  .seo-cta .btn { width: 100%; justify-content: center; }

  /* Verlofcalculator */
  .vc-hero { padding: 38px 0 66px; }
  .vc-hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12.5vw, 3.55rem);
  }
  .vc-hero-copy > p { font-size: 1rem; }
  .vc-trust { align-items: stretch; gap: 7px; }
  .vc-trust span { text-align: center; }

  .vc-access { margin-top: -28px; padding-bottom: 62px; }
  .vc-access-card {
    width: 100%;
    padding: 28px 18px;
    border-radius: 20px;
  }
  .vc-access-icon { width: 62px; height: 62px; border-radius: 19px; }
  .vc-access-card h2 { font-size: 2.15rem; }
  .vc-access-input-row { grid-template-columns: 1fr; }
  .vc-access-submit { width: 100%; }
  .vc-access-links { align-items: stretch; flex-direction: column; gap: 9px; }
  .vc-access-links a { min-height: 44px; display: flex; align-items: center; }

  .vc-section { padding-bottom: 62px; }
  .vc-planner-shell {
    width: min(calc(100% - 20px), var(--container));
    transform: translateY(-24px);
  }
  .vc-wizard { min-height: 0; border-radius: 20px; }
  .vc-mobile-progress {
    position: sticky;
    z-index: 8;
    top: calc(var(--header-h) + env(safe-area-inset-top));
    padding: 14px 17px;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
  }
  .vc-panel { padding: 30px 17px 22px; }
  .vc-panel h2 { max-width: 100%; font-size: clamp(2rem, 9.5vw, 2.65rem); }
  .vc-lead { margin-bottom: 25px; font-size: .96rem; }
  .vc-field-grid { gap: 15px; }
  .vc-field-grid.one { grid-template-columns: 1fr; }
  .vc-field-grid input,
  .vc-field-grid select { height: 56px; }

  .vc-choice-cards { gap: 10px; margin: 22px 0; }
  .vc-choice-cards label > span { min-height: 0; padding: 16px; }
  .vc-choice-cards input:checked + span { padding: 15px; }
  .vc-priority-scale { margin: 22px 0; padding: 18px 14px; }
  .vc-priority-scale input { min-height: 32px; margin: 16px 0 8px; }
  .vc-scale-labels { gap: 10px; line-height: 1.3; }
  .vc-leave-bank { padding: 17px 14px; }
  .vc-info-box { padding: 16px; }

  .vc-actions {
    position: sticky;
    z-index: 9;
    bottom: 0;
    gap: 9px;
    padding: 13px 16px max(13px, env(safe-area-inset-bottom));
    background: rgba(255,255,255,.97);
    box-shadow: 0 -12px 30px rgba(14,47,45,.08);
    backdrop-filter: blur(12px);
  }
  .vc-actions .btn { min-width: 0; flex: 1; }

  .vc-result-head { gap: 8px; }
  .vc-text-button { min-height: 44px; padding: 9px 0; }
  .vc-recommendation { padding: 21px 18px; }
  .vc-timeline { grid-template-columns: 1fr; }
  .vc-scenario-grid { gap: 12px; }
  .vc-scenario { padding: 17px; }
  .vc-scenario.best { padding: 16px; }
  .vc-scenario dl div { align-items: flex-start; }
  .vc-scenario dt { max-width: 60%; }
  .vc-scenario dd { max-width: 40%; }
  .vc-source-links a { min-height: 48px; align-items: center; }

  /* Activation wizard and forms */
  .wizard { border-radius: 20px; }
  .wizard-progress { overflow-x: auto; scrollbar-width: none; }
  .wizard-progress::-webkit-scrollbar { display: none; }
  .wizard-body { padding: 24px 17px; }
  .wizard-form-grid { grid-template-columns: 1fr; }
  .wizard-actions { gap: 9px; }
  .option-grid { gap: 10px; }

  /* Footer and cookie notice */
  .site-footer {
    padding: 52px 0 max(24px, env(safe-area-inset-bottom));
  }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand img { width: min(220px, 72vw); }
  .footer-links { gap: 2px; }
  .footer-links a {
    min-height: 42px;
    display: flex;
    align-items: center;
    line-height: 1.35;
  }
  .footer-bottom { margin-top: 34px; }

  .cookie-banner {
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 10px;
    width: auto;
    padding: 16px;
    border-radius: 16px;
  }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .button-row { flex-direction: column; }
  .button-row .btn { width: 100%; }

  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-brand { grid-column: auto; }
  .footer-badges { display: grid; grid-template-columns: 1fr; }

  .cookie-actions { grid-template-columns: 1fr; }
  .cookie-actions .btn { width: 100%; }

  .execution-card { grid-template-columns: 1fr; }
  .one-package-visual { min-height: 340px; }
  .one-package-label { width: 200px; }

  .seo-card-grid,
  .seo-related-grid,
  .seo-stat-grid { grid-template-columns: 1fr; }

  .seo-comparison table { min-width: 570px; }
  .seo-source-list a { font-size: .76rem; }

  .vc-actions { flex-direction: row; }
  .vc-actions .btn { padding-inline: 10px; }
  .vc-scale-labels { font-size: .67rem; }
}

@media (max-width: 360px) {
  .container,
  .home-v53 .site-header .container,
  .site-header .container { width: min(calc(100% - 20px), var(--container)); }
  .site-header .brand img,
  .home-v53 .site-header .brand img { width: 138px !important; }
  .menu-toggle { width: 46px; height: 46px; flex-basis: 46px; }
  .vc-actions { flex-direction: column-reverse; }
  .vc-actions .btn { width: 100%; }
}

@media (hover: none) and (pointer: coarse) {
  .btn:hover,
  .seo-related-card:hover,
  .product-card:hover { transform: none; }

  .main-nav a,
  .footer-links a,
  .text-link,
  summary { -webkit-tap-highlight-color: rgba(245,142,115,.22); }
}
